HL7 ORM^O01 (General Order Message)
ORM^O01 is the general order message used to place, change, or cancel an order (lab, radiology, pharmacy, etc.). ORC carries the common order control information and OBR (or RXO for pharmacy) carries the order detail.
When is ORM^O01 sent?
Sent by an ordering system to a fulfilling/ancillary system to communicate a new or changed order. Note: ORM^O01 was deprecated in HL7 v2.5 in favor of the OMG/OML/OMP order families, but it remains widely used in older interfaces.
Key segments
The segments below are the ones most relevant to ORM^O01. Real messages may carry additional optional segments depending on the sending system’s configuration.
| Segment | Usage | Role |
|---|---|---|
| MSH | Required | Message header: sending/receiving application & facility, message type, control id, version. |
| PID | Required | Patient identification: identifiers (MRN), name, date of birth, sex, address, phone. |
| PV1 | Optional | Patient visit: patient class, assigned location, attending provider, admit/discharge details. |
| ORC | Required | Common order: order control code (NW new, CA cancel, etc.), placer/filler order numbers, ordering provider. |
| OBR | Optional | Observation request: the ordered service/test (universal service id), specimen, and timing. |
Example ORM^O01 message
A realistic, well-formed example. Segments are separated by carriage returns; fields by the pipe (|) delimiter.
MSH|^~\&|ORDERS|HOSP|LAB|LAB|20240115083000||ORM^O01|MSGCTRL1100|P|2.4
PID|1||MRN12345^^^EPIC^MR||DOE^JOHN^A||19800101|M
PV1|1|I|ICU^101^A
ORC|NW|PLAC1234|FILL5678|||||||
OBR|1|PLAC1234|FILL5678|GLU^Glucose^L|||20240115083000Frequently asked questions
What is an HL7 ORM^O01 message?
ORM^O01 is the general order message. ORC carries the order control information (new, cancel, hold, etc.) and OBR (or RXO for pharmacy orders) carries the order detail such as the test ordered.
Is ORM^O01 still used?
ORM^O01 was deprecated in HL7 v2.5 in favor of the OMG/OML/OMP/ORM-replacement order families, but it is still very common in production v2.3/2.4 interfaces, so most engines must still support it.
What is the ORC order control code?
ORC-1 is the order control code: NW = new order, CA = cancel, DC = discontinue, HD = hold, RP = replace, among others. It tells the receiver what action the order message represents.
How do I validate an ORM^O01 message?
Paste it into the HL7v2 validator to parse the ORC/OBR structure and confirm the order segments are well-formed, in your browser.