HL7 v2.5.1 Specificationsv2.5.1

to moveEnter to openTry PID-5, ADT, 0004

ORM: Order Message

ORM places, changes and cancels orders. It is the message that says "do this test" and, through the order control code in ORC-1, the message that later says "actually, do not".

Recognising ORM messages

ORM announces itself in MSH-9 like this:

MSH-9ORM^O01^ORM_O01
  1. MSH-9.1ORMmessage code: what kind of message this is (order message)
  2. MSH-9.2O01trigger event: what happened in the real world: general order message
  3. MSH-9.3ORM_O01message structure: which segments to expect, and in what order

How to use these specifications explains MSH-9 in full, with a worked example.

Here it is in a real message. Look at the first line.

ORM, as sent. MSH is the header; the segments under it are the content.
MSH|^~\&|EPIC|STJOSEPH|LABSYS|STJOSEPH|20240314102958||ORM^O01^ORM_O01|ORD20240314-4471|P|2.5.1
PID|1||1000345678^^^STJOSEPH^MR||CARTWRIGHT^ELEANOR^MAY^^^^L||19510822|F
ORC|NW|ORD8842^EPIC|||||^^^20240314103000^^R||20240314102958|USER22^PATEL^NIRAV||1447312^OKONKWO^ADAEZE^^^^MD|3W^^^STJOSEPH|^PRN^PH^^1^503^5550199
OBR|1|ORD8842^EPIC||58410-2^CBC PANEL^LN|||20240314103000

Message structures

ORM takes 1 structure.

ORM_O01: general order message

Sent when one thing happens: O01: general order message.

You must always send: MSH, ORC. Everything else is optional, or required only inside a group you chose to send.

SegmentNameOPTCardinality
MSHMessage HeaderR1..1
NTENotes and Comments (for Results)O0..*
PATIENTa group of 7 segments, repeated togetherO0..1
PIDin PATIENTPatient IdentificationR1..1
PD1in PATIENTAdditional DemographicsO0..1
NTEin PATIENTNotes and Comments (for Results)O0..*
PATIENT_VISITin PATIENTa group of 2 segments, repeated togetherO0..1
PV1in PATIENT_VISITPatient VisitR1..1
PV2in PATIENT_VISITPatient Visit- Additional InfoO0..1
INSURANCEin PATIENTa group of 3 segments, repeated togetherO0..*
IN1in INSURANCEInsuranceR1..1
IN2in INSURANCEInsurance Additional InfoO0..1
IN3in INSURANCEInsurance Add'l Info – Cert.O0..1
GT1in PATIENTGuarantorO0..1
AL1in PATIENTAllergy InformationO0..*
ORDERa group of 5 segments, repeated togetherR1..*
ORCCommon OrderR1..1
ORDER_DETAILa group of 5 segments, repeated togetherO0..1
CHOICEin ORDER_DETAILa group of 0 segments, repeated togetherR1..1
NTEin ORDER_DETAILNotes and Comments (for Results)O0..*
CTDin ORDER_DETAILContact DataO0..1
DG1in ORDER_DETAILDiagnosisO0..*
OBSERVATIONin ORDER_DETAILa group of 2 segments, repeated togetherO0..*
OBXin OBSERVATIONObservation/ResultR1..1
NTEin OBSERVATIONNotes and Comments (for Results)O0..*
FT1Financial TransactionO0..*
CTIClinical Trial IdentificationO0..*
BLGBilling SegmentO0..1

R inside a group means required of that group. Send the group and you must include that segment; leave the group out and it never appears. This structure has 7 such groups: PATIENT, PATIENT_VISIT, INSURANCE, ORDER, ORDER_DETAIL, CHOICE, OBSERVATION.

Trigger events

The trigger event is the real-world thing that made the message get sent. ORM defines 1.

EventNameStructure
O01general order messageORM_O01