Integrazione

Come integrare un sistema informativo di laboratorio con un EHR: HL7 v2, FHIR e le insidie, passo dopo passo

Un'interfaccia di laboratorio è l'integrazione ospedaliera più comune e la più facile da sbagliare. I flussi di ordini e risultati in HL7 v2 (ORM/OML, ORR, ORU), i campi per stato, flag, unità e intervalli, microbiologia e risultati testuali, l'alternativa FHIR, la mappatura dei codici, i test e i fallimenti nella progettazione.

di Pubblicato 9 min di lettura

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 (P preliminare, F finale, C corretto, X cancellato).
  • OBX-2: tipo di valore (NM numerico, ST stringa, TX testo, CE/CWE codificato, SN numerico strutturato come <^5). OBX-3: l'analita, codificato. OBX-5: il valore. OBX-6: unità, idealmente UCUM (10*3/uL, non K/µ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, D eliminato). 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 C in 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 da F (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

Fonti

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.

Anpheros Platform

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

Questa guida è informativa e non sostituisce il consulto medico. Per le decisioni sulla tua salute parla con il tuo medico. In caso di emergenza, chiama il numero di emergenza locale (112 in Europa).
Scritto da
Il team Anpheros

Anpheros sviluppa una cartella clinica che il paziente controlla e può condividere con qualsiasi studio medico, su una piattaforma HL7 FHIR R4, con sede in UE. Queste guide ti aiutano a comprendere e organizzare la tua salute; non sostituiscono il tuo medico.

Chi siamo →