HL7 v2

Messaggi di ordine HL7 v2 ORM e OML spiegati: ORC, OBR e un ordine di laboratorio completo

Come viaggia un ordine in HL7 v2: il messaggio di ordine generale ORM^O01 e il più recente ordine di laboratorio OML^O21, il segmento ORC che controlla l'ordine (nuovo, annulla, stato), il segmento OBR che indica cosa è stato ordinato, le risposte ORR e ACK e come lo stesso ordine appare come una FHIR ServiceRequest.

di Pubblicato 7 min di lettura

Risposta breve: in HL7 v2, un ordine (un esame di laboratorio, un esame di imaging, un farmaco) viene inviato come messaggio ORM^O01 nelle versioni fino alla 2.5.1, o come messaggio di ordine di laboratorio OML^O21 dalla versione 2.4 in poi. Entrambi trasportano il paziente (PID), la visita (PV1), il segmento ORC che controlla l'ordine (nuovo, annulla, sospendi, cambio stato, con numeri di placer e filler) e il segmento OBR che indica cosa è stato ordinato, da chi e per quando. Il sistema che esegue l'ordine risponde con un ORR (o ORL per OML) e successivamente restituisce i risultati come ORU. L'equivalente FHIR di ORC+OBR è una ServiceRequest.

Un ordine di laboratorio, segmento per segmento

Un messaggio di ordine di laboratorio HL7 v2 (ORM^O01) è composto da segmenti: MSH indica il tipo e la versione del messaggio, PID identifica il paziente, PV1 descrive la visita, ORC contiene il codice di controllo dell'ordine, i numeri d'ordine del committente e dell'esecutore, la priorità e il medico prescrittore, OBR indica il test richiesto con un codice LOINC e l'ora di raccolta, e DG1 fornisce la diagnosi giustificativa.

MSH|^~\&|EHR|GENHOSP|LIS|CENTRALLAB|20260314091200||ORM^O01^ORM_O01|MSG0001|P|2.5.1
PID|1||MRN-00012345^^^GENHOSP^MR||DOE^JANE||19800523|F|||12 High Street^^Leeds^^LS1 4AB^GB
PV1|1|O|CLINIC-3^^^GENHOSP||||42^SMITH^JOHN^^^Dr
ORC|NW|PLC-778812^EHR|||||^^^20260314093000^^R||20260314091200|42^SMITH^JOHN
OBR|1|PLC-778812^EHR||4548-4^Hemoglobin A1c/Hemoglobin.total in Blood^LN|||20260314093000||||||||42^SMITH^JOHN
DG1|1||E11.9^Type 2 diabetes mellitus without complications^I10
  • MSH-9 ORM^O01^ORM_O01 indica il tipo di messaggio, l'evento di innesco e la struttura. MSH-12 fornisce la versione.
  • PID identifica il paziente; PID-3 contiene l'identificatore con la sua autorità di assegnazione e il tipo (MR, numero di cartella clinica).
  • PV1 fornisce i dettagli della visita: ambulatoriale (O), la sede, il medico curante.
  • ORC-1 è il codice di controllo dell'ordine: NW nuovo ordine, CA richiesta di annullamento, OC ordine annullato, HD sospendi, RL rilascia, SC stato modificato, OK ordine accettato, UA impossibile accettare, XO modifica ordine, DC interrompi. ORC-2 è il numero d'ordine del placer (assegnato dal sistema ordinante), ORC-3 il numero d'ordine del filler (assegnato dal laboratorio, vuoto finché non risponde). ORC-7 contiene la tempistica e la priorità (R routine, S stat, A asap). ORC-12 è il medico ordinante.
  • OBR-4 è l'identificatore universale del servizio: cosa è stato ordinato, codificato (qui LOINC, LN). OBR-7 è la data-ora della raccolta o dell'osservazione. OBR-16 ripete il medico ordinante. Negli ordini di laboratorio, i dettagli del campione si trovano in OBR-15 nelle versioni più vecchie e in un segmento dedicato SPM dalla versione 2.5.
  • DG1 trasporta la diagnosi che giustifica l'ordine.

Lo stesso ordine con più test ripete la coppia ORC/OBR una volta per test, ognuno con il proprio ID impostato OBR-1.

ORM vs OML

ORM^O01 è il messaggio di ordine generale HL7 v2, una struttura flessibile per laboratorio, radiologia, farmacia e forniture. OML, introdotto nella versione 2.4, è il messaggio di ordine specifico per il laboratorio con trigger O21, O33 e O35 e segmenti SPM e SAC espliciti per campioni e contenitori. La maggior parte delle interfacce ospedale-laboratorio utilizza ancora ORM^O01; OML compare nei sistemi di laboratorio più recenti e nei profili IHE.

ORM^O01 è il messaggio di ordine generale: una struttura per laboratorio, radiologia, farmacia, dietetica e forniture, il che lo rendeva generico. Dalla versione 2.4, HL7 ha introdotto OML (ordine di laboratorio) con diversi trigger, O21 (ordine per test), O33 (ordine per campione) e O35 (ordine per campione e contenitore), e una struttura più rigorosa con segmenti SPM e SAC per campioni e contenitori. Sono seguiti OMG (ordine clinico generale), OMI (imaging), OMP (farmacia) con lo stesso schema. In pratica, la maggior parte delle interfacce ospedale-laboratorio funziona ancora su ORM^O01 nelle versioni 2.3.1 o 2.5.1, e OML appare nei sistemi di laboratorio più recenti e nel profilo Laboratory Testing Workflow di IHE.

Risposte

Un ordine HL7 v2 riceve due risposte. Un ACK immediato (MSA-1 AA, AE o AR) conferma che il messaggio è stato ricevuto e analizzato. Quindi una risposta applicativa, ORR^O02 per ORM o ORL^O22 per OML, ripete l'ORC con OK o UA e compila l'ORC-3, il numero d'ordine dell'esecutore. I risultati vengono poi restituiti come ORU^R01 riportando entrambi i numeri d'ordine.

Il sistema ricevente risponde due volte. Immediatamente, con un ACK (MSA-1 AA accetta, AE errore, AR rifiuta) che conferma che il messaggio è stato ricevuto e analizzato. Quindi, come risposta applicativa, con ORR^O02 (per ORM) o ORL^O22 (per OML), ripetendo l'ORC con OK o UA e compilando ORC-3, il numero d'ordine del filler, che entrambe le parti utilizzano da quel momento in poi. I risultati tornano come ORU^R01, con gli stessi numeri di placer e filler in OBR-2 e OBR-3, che è il modo in cui un risultato trova il suo ordine. Vedi Messaggi HL7 v2 spiegati: ADT e ORU.

Dove gli ordini si interrompono

Gli ordini HL7 v2 si interrompono più spesso a causa di numeri del committente e dell'esecutore non corrispondenti quando l'ORR non è stato elaborato, codici di test locali in OBR-4 senza codice LOINC, cancellazioni inviate senza il numero del committente originale, discrepanze di versione come un segmento SPM inviato a un ricevitore 2.3.1 e priorità scritta in un campo libero NTE invece che in ORC-7 o OBR-5.

  • Numeri che non corrispondono: l'ORU torna con un numero di filler che l'EHR non ha mai visto, di solito perché l'ORR non è stato elaborato.
  • Codici locali in OBR-4: il codice di test interno di un laboratorio invece di (o senza) un codice LOINC, in modo che il record ricevente non possa mappare il test. La soluzione è un codice con entrambi: GLU^Glucose^L~2345-7^Glucose [Mass/volume] in Serum or Plasma^LN.
  • Annullamenti senza i numeri originali: CA deve trasportare il numero del placer dell'ordine che annulla.
  • Mancanza di corrispondenza delle versioni: un segmento SPM inviato a un ricevitore 2.3.1 viene scartato o rifiutato.
  • Priorità nel campo sbagliato: STAT in un NTE di testo libero invece che in ORC-7 o OBR-5.

Lo stesso ordine in FHIR

In FHIR, i segmenti ORC e OBR di un ordine HL7 v2 confluiscono in un unico ServiceRequest con stato, intenzione d'ordine, priorità, un codice LOINC, soggetto, incontro, richiedente, occurrenceDateTime, reasonCode per la diagnosi e identificatori per i numeri del committente e dell'esecutore. L'Observation e il DiagnosticReport risultanti vi fanno riferimento tramite basedOn, come mappato dalla guida all'implementazione da HL7 v2 a FHIR.

In FHIR, ORC e OBR si fondono in un'unica ServiceRequest: status (active, on-hold, revoked, completed), intent (order), priority (routine, urgent, asap, stat), code (il test LOINC), subject, encounter, requester, occurrenceDateTime, reasonCode (la diagnosi ICD-10) e identifier per i numeri di placer e filler. L'Observation e il DiagnosticReport del risultato puntano indietro con basedOn. HL7 pubblica la mappatura campo per campo nella guida all'implementazione da v2 a FHIR.

Anpheros Platform supporta ServiceRequest, Observation e DiagnosticReport, e il suo connettore di laboratorio accetta risultati come HL7 v2 ORU, CSV o JSON. Non invia né riceve ordini; gli ordini rimangono nei sistemi dell'ospedale o del laboratorio, e il risultato completato si unisce al record del paziente.

Pagine correlate

Fonti

Domande frequenti

Qual è la differenza tra ORC e OBR?

ORC riguarda l'ordine come oggetto amministrativo: chi l'ha emesso, i suoi numeri, il suo stato, la sua priorità. OBR riguarda il servizio richiesto: quale test, su quale campione, quando. Ogni OBR è preceduto dal suo ORC.

Cos'è un placer e un filler?

Il placer è il sistema che richiede il servizio (l'EHR o il sistema del medico ordinante); il filler è il sistema che lo esegue (il laboratorio o il sistema di radiologia). Ciascuno assegna il proprio numero d'ordine, e i messaggi trasportano entrambi in modo che entrambe le parti possano trovare l'ordine.

Dovrei implementare ORM o OML per una nuova interfaccia di laboratorio?

Se il partner supporta OML^O21 nella versione 2.5.1 o successiva, preferiscilo: la gestione dei campioni è esplicita e i profili IHE sono basati su di essa. Se il partner è un LIS più vecchio, ORM^O01 è ciò che parla, e tu ti adatti.

Come viene mappato un ordine HL7 v2 in FHIR?

ORC e OBR insieme diventano una ServiceRequest; i numeri di placer e filler diventano identificatori; ORC-1 e ORC-5 vengono mappati allo stato; OBR-4 al codice; DG1 a reasonCode; il medico ordinante a requester. La guida da HL7 v2 a FHIR pubblica le tabelle dettagliate.

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 →