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_O01indica 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:
NWnuovo ordine,CArichiesta di annullamento,OCordine annullato,HDsospendi,RLrilascia,SCstato modificato,OKordine accettato,UAimpossibile accettare,XOmodifica ordine,DCinterrompi. 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à (Rroutine,Sstat,Aasap). 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:
CAdeve 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:
STATin 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
- Messaggi HL7 v2 spiegati: ADT e ORU
- HL7 vs FHIR
- PACS vs RIS vs VNA
- Connettore di laboratorio: HL7 v2, CSV o JSON a FHIR
- Cos'è un codice LOINC?
- Mappatura da HL7 v2 a FHIR (sviluppatori)
- Come integrare un sistema informativo di laboratorio con un EHR
- Motori di interfaccia spiegati
Fonti
- Suite di prodotti HL7 Version 2
- Riferimento HL7 v2.5.1 ORM_O01 (Caristix)
- Riferimento HL7 v2.5.1 OML_O21 (Caristix)
- Guida all'implementazione da HL7 v2 a FHIR
- HL7 FHIR R4: ServiceRequest
- IHE Laboratory Testing Workflow (LTW)
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.
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

