Risposta breve: un'interfaccia di laboratorio ha due direzioni. Gli ordini vanno dall'EHR al sistema informativo di laboratorio (LIS) come messaggi HL7 v2 ORM^O01 o OML^O21 (o come FHIR ServiceRequest), e il LIS risponde con ORR/ORL e successivamente con i risultati come ORU^R01 (o FHIR DiagnosticReport con Observations). Le parti difficili non sono i messaggi, ma i dettagli al loro interno: numeri placer e filler che collegano i risultati agli ordini, stato del risultato (preliminare, finale, corretto), flag di anomalia, unità e intervalli di riferimento, informazioni sul campione, microbiologia con i suoi risultati multipartiti e mappatura dei codici a LOINC. Se fatto bene, ogni risultato arriva al paziente giusto, all'ordine giusto e nel posto giusto della cartella clinica, con il suo significato intatto.
Fase 1: accordarsi sui flussi
Il primo passo per integrare un sistema informativo di laboratorio con un EHR è accordarsi con il laboratorio sui flussi esistenti: ordini in uscita, aggiornamenti sullo stato degli ordini, risultati in entrata, correzioni, cancellazioni, test aggiuntivi e riflessi, e un feed demografico ADT al LIS. Le parti definiscono anche la versione HL7, solitamente 2.3.1 o 2.5.1, e il trasporto, tipicamente MLLP con conferme di ricezione.
Decidere con il laboratorio quali flussi esistono: ordini in uscita (o il laboratorio riceve carta e si registra da solo?), aggiornamenti dello stato dell'ordine, risultati in ingresso, correzioni, cancellazioni, test aggiuntivi, test riflessi e dati demografici (flusso ADT al LIS in modo che conosca il paziente prima che arrivi il campione). Disegnare la sequenza per un risultato normale, un risultato corretto e un ordine cancellato. Decidere la versione HL7 (2.3.1 e 2.5.1 sono le più comuni) e il trasporto (MLLP con ACK; a volte file). Vedere Messaggi di ordine HL7 v2.
Fase 2: il messaggio del risultato, campo per campo
Un risultato di laboratorio arriva all'EHR come un messaggio HL7 v2 ORU^R01: MSH identifica mittente e destinatario, PID il paziente, PV1 la visita, ORC e OBR contengono i numeri d'ordine del placer e del filler, il pannello ordinato e lo stato del referto, e ogni OBX contiene un singolo analita con il suo codice LOINC, valore, unità, intervallo di riferimento, flag di anomalia e stato del risultato.
MSH|^~\&|LIS|CENTRALLAB|EHR|GENHOSP|20260314130500||ORU^R01^ORU_R01|RES0001|P|2.5.1
PID|1||MRN-00012345^^^GENHOSP^MR||DOE^JANE||19800523|F
PV1|1|O|CLINIC-3^^^GENHOSP
ORC|RE|PLC-778812^EHR|FIL-556701^LIS|||||||||42^SMITH^JOHN
OBR|1|PLC-778812^EHR|FIL-556701^LIS|58410-2^CBC panel - Blood by Automated count^LN|||20260314084000|||||||||42^SMITH^JOHN||||||20260314130000|||F
OBX|1|NM|718-7^Hemoglobin [Mass/volume] in Blood^LN||10.9|g/dL|12.0-15.5|L|||F|||20260314125800
OBX|2|NM|6690-2^Leukocytes [#/volume] in Blood by Automated count^LN||6.4|10*3/uL|4.0-10.0|N|||F|||20260314125800
OBX|3|NM|777-3^Platelets [#/volume] in Blood by Automated count^LN||230|10*3/uL|150-400|N|||F|||20260314125800
NTE|1||Mild normocytic anaemia; suggest iron studies if clinically indicated.
- ORC-2 / OBR-2 numero placer e ORC-3 / OBR-3 numero filler: il collegamento all'ordine. OBR-4: il pannello, codificato (LOINC
LN). OBR-7: ora di raccolta del campione. OBR-22: ora del referto dei risultati. OBR-25: stato del risultato per l'intero ordine (Ppreliminare,Ffinale,Ccorretto,Xcancellato). - OBX-2: tipo di valore (
NMnumerico,STstringa,TXtesto,CE/CWEcodificato,SNnumerico strutturato come<^5). OBX-3: l'analita, codificato. OBX-5: il valore. OBX-6: unità, idealmente UCUM (10*3/uL, nonK/µL). OBX-7: intervallo di riferimento come testo. OBX-8: flag di anomalia (L,H,LL,HH,A,N). OBX-11: stato del risultato per analita (P,F,C,X,Deliminato). OBX-14: ora dell'osservazione. OBX-19: ora dell'analisi. - NTE: commenti, allegati all'OBR o a un OBX specifico per posizione.
- SPM (2.5+): tipo di campione (SNOMED CT), ora di raccolta, ora di ricezione, condizione.
Fase 3: i casi speciali
I casi speciali che un'interfaccia di laboratorio deve gestire sono i risultati corretti (stato C con i numeri d'ordine originali, che sostituiscono e avvisano anziché eliminare), i risultati preliminari e poi finali, la microbiologia con organismi e suscettibilità collegati tramite sub-ID, i risultati testuali e i PDF incorporati, i test riflessi e aggiuntivi, le cancellazioni e le unità e gli intervalli di riferimento che cambiano quando il laboratorio cambia analizzatori.
- Correzioni: un nuovo ORU con
Cin OBR-25 e OBX-11 e gli stessi numeri placer/filler; l'EHR deve sostituire, segnalare la modifica e avvisare il clinico. Non eliminare mai l'originale silenziosamente. - Preliminare poi finale: risultati
P(una colorazione di Gram) seguiti daF(la coltura); la cartella clinica deve mostrare lo stato. - Microbiologia: un OBX per l'organismo identificato (codificato, SNOMED CT), quindi i risultati di suscettibilità come OBX per antibiotico con l'organismo come sotto-ID (OBX-4), spesso attraverso diversi messaggi. È qui che si nascondono la maggior parte dei bug dell'interfaccia.
- Risultati testuali e PDF: commenti di patologia e alcuni di chimica arrivano come righe TX o come PDF incorporato (OBX-2
ED); la cartella clinica necessita sia del testo che del file. - Test riflessi e aggiuntivi: nuovi OBR sotto l'ordine originale, o un nuovo ordine creato dal laboratorio; accordarsi su come vengono numerati.
- Cancellazioni: stato
X, con i numeri originali. - Unità e intervalli per analizzatore: lo stesso test può cambiare unità quando il laboratorio cambia analizzatori; l'interfaccia deve riportare l'intervallo con ogni risultato, non darlo per scontato.
Fase 4: codici
La mappatura dei codici in un'interfaccia di laboratorio significa tradurre i codici dei test locali del laboratorio in LOINC una volta, in una tabella mantenuta, e inviare sia il codice locale che quello LOINC in OBX-3, normalizzando le unità a UCUM e codificando i tipi di campione e gli organismi in SNOMED CT. Senza questa mappatura, i risultati non possono essere monitorati tra laboratori o letti da sistemi esterni.
Mappare i codici dei test del laboratorio a LOINC una volta, in una tabella mantenuta, e inviare sia i codici locali che LOINC in OBX-3 (GLU^Glucose^L~2345-7^Glucose [Mass/volume] in Serum or Plasma^LN). Normalizzare le unità a UCUM. Tipi di campione e organismi in SNOMED CT. Il metodo è in Come mappare i codici di laboratorio locali a LOINC; senza di esso, i risultati non possono essere tracciati tra laboratori o letti da alcun sistema esterno.
Fase 5: l'alternativa FHIR
L'alternativa FHIR a un'interfaccia di laboratorio HL7 v2 utilizza un ServiceRequest per l'ordine, un Observation per ogni analita con un codice LOINC, una quantità UCUM, un intervallo di riferimento e un'interpretazione, e un DiagnosticReport che li raggruppa con stato, esecutore, ora di emissione, conclusione e PDF. La consegna avviene tramite REST writes, un transaction Bundle per referto, o FHIR Subscriptions.
Con FHIR, l'ordine è un ServiceRequest, i risultati sono Observations (uno per analita, codice LOINC, quantità UCUM, referenceRange, interpretazione) raggruppati da un DiagnosticReport che riporta stato, esecutore, ora di emissione, conclusione e PDF, con basedOn che punta al ServiceRequest. Le correzioni sono versioni delle stesse risorse con stato amended o corrected. La consegna avviene tramite scritture REST sul server FHIR dell'EHR, un Bundle di transazione per referto, o Subscription. La guida HL7 v2-to-FHIR mappa ogni campo sopra; molti laboratori ora offrono entrambi. Vedere DiagnosticReport FHIR spiegato e Observation FHIR spiegato.
Fase 6: test e go-live
Testare un'interfaccia di laboratorio prima del go-live significa eseguire pazienti sintetici attraverso ogni caso speciale, confrontare un giorno di risultati paralleli tra il referto del laboratorio e la cartella dell'EHR, controllare i fusi orari e le transizioni dell'ora legale, verificare la gestione delle conferme di ricezione e il replay dopo un'interruzione, e concordare una procedura di reperibilità per i messaggi falliti, utilizzando il profilo Laboratory Testing Workflow di IHE come base.
Testare con pazienti sintetici attraverso ogni caso nella fase 3; confrontare un giorno di risultati paralleli tra il referto cartaceo o PDF e la cartella clinica; verificare i fusi orari e le transizioni dell'ora legale; verificare la gestione degli ACK e il replay dopo un'interruzione; concordare una procedura di reperibilità per i messaggi falliti. Il profilo Laboratory Testing Workflow di IHE e le suite di conformità nazionali forniscono una base testata.
Fallimenti da considerare nella progettazione
I fallimenti contro cui un'interfaccia di laboratorio deve essere progettata sono risultati archiviati in un incontro precedente, fusioni di pazienti non applicate al LIS, cambiamenti di unità dopo un aggiornamento dell'analizzatore che spostano i trend, risultati corretti che sovrascrivono senza un avviso, suscettibilità microbiologiche associate all'organismo sbagliato e risultati di test per i quali l'EHR non ha un codice che scompaiono in una coda di errore.
Risultati archiviati in un incontro precedente perché PV1 era obsoleto; una fusione (ADT A40) non applicata al LIS; un cambio di unità dopo un aggiornamento dell'analizzatore che ha spostato silenziosamente i trend; risultati corretti che sovrascrivono senza un avviso; suscettibilità microbiologiche allegate all'organismo sbagliato; un laboratorio che invia risultati per un test per cui l'EHR non ha un codice, che poi svaniscono in una coda di errori.
In Anpheros
Il connettore di laboratorio di Anpheros accetta ORU^R01, CSV e JSON e produce Observations sotto un DiagnosticReport con LOINC e UCUM, mantenendo i codici locali e il file originale; la guida per sviluppatori su importazione dei risultati di laboratorio lo illustra rispetto al sandbox gratuito.
Pagine correlate
- Messaggi di ordine HL7 v2 ORM e OML
- Messaggi HL7 v2 spiegati: ADT e ORU
- Come mappare i codici di laboratorio locali a LOINC
- DiagnosticReport FHIR spiegato
- Connettore di laboratorio: HL7 v2, CSV o JSON a FHIR
- Motori di interfaccia spiegati
- Importazione risultati di laboratorio in FHIR (sito sviluppatori)
Fonti
- Riferimento HL7 v2.5.1 ORU_R01 (Caristix)
- Segmento HL7 v2.5.1 OBX (Caristix)
- Framework tecnico IHE Laboratorio (LTW)
- Guida all'implementazione da HL7 v2 a FHIR
- HL7 FHIR R4: DiagnosticReport
Domande frequenti
Quale versione HL7 dovrebbe utilizzare una nuova interfaccia di laboratorio?
2.5.1 se entrambi i lati la supportano: ha SPM per i campioni e una gestione dello stato più chiara. Molti laboratori eseguono ancora la 2.3.1 e l'interfaccia si adatta al lato più vecchio.
Come vengono abbinati i risultati agli ordini?
Tramite il numero d'ordine placer (assegnato dall'EHR) e il numero d'ordine filler (assegnato dal LIS), riportati in ORC-2/3 e OBR-2/3 sia della risposta all'ordine che del risultato. Se l'EHR non ha mai registrato il numero filler, l'abbinamento torna al numero placer.
Cosa succede se il laboratorio non può inviare codici LOINC?
Mappare i loro codici locali a LOINC dalla vostra parte, nel motore o nel connettore, e mantenere entrambi. Insistere sul fatto che il sistema di codici locale sia stabile e che i nuovi test vengano annunciati.
FHIR è pronto per le interfacce di laboratorio?
Sì per le nuove connessioni, specialmente al di fuori dell'ospedale: ServiceRequest, Observation e DiagnosticReport coprono ordini e risultati completamente, e le guide nazionali li profilano. All'interno dell'ospedale, il LIS e gli analizzatori parleranno HL7 v2 per anni.
Provalo gratis nella sandbox
La tua prima chiamata FHIR in 5 minuti. Un'API HL7 FHIR R4 con il consenso del paziente integrato: provala nella sandbox, poi collega la tua app o il sistema della tua clinica.
Gratis · 30 pazienti sintetici · senza carta

