HL7 OMP_O09 Pharmacy/Treatment Order

HL7 message structure OMP_O09 groups and segments from HL7 v2.5.1 Hide structure

These are the generated groups and segments for the version selected at the top of the page. The article explains the workflow, and this panel follows the chosen HL7 version.

Message Structure

SegmentNameRequiredRepeatable
Message Header Yes No
Software Segment No Yes
Notes and Comments No Yes
OMP_O09.PATIENT
Patient group No No
Patient Identification Yes No
Patient Additional Demographic No No
Notes and Comments No Yes
OMP_O09.PATIENT_VISIT
Patient Visit group No No
Patient Visit Yes No
Patient Visit - Additional Information No No
OMP_O09.INSURANCE
Insurance group No Yes
Insurance Yes No
Insurance Additional Information No No
Insurance Additional Information, Certification No No
Guarantor No No
Patient Allergy Information No Yes
OMP_O09.ORDER
Order group Yes Yes
Common Order Yes No
OMP_O09.TIMING
Timing group No Yes
Timing/Quantity Yes No
Timing/Quantity Relationship No Yes
Pharmacy/Treatment Order Yes No
Notes and Comments No Yes
Pharmacy/Treatment Route Yes Yes
OMP_O09.COMPONENT
Component group No Yes
Pharmacy/Treatment Component Order Yes No
Notes and Comments No Yes
OMP_O09.OBSERVATION
Observation group No Yes
Observation/Result Yes No
Notes and Comments No Yes
Financial Transaction No Yes
Billing No No

OMP_O09 is a pharmacy/treatment order message. It is used when a placer sends a medication, infusion, compound, or treatment order to a pharmacy or treatment-management system. It is more specific than a generic ORM because the order detail is carried in pharmacy segments.

The order still starts with ORC, because order control is shared across HL7 order workflows. The medication/treatment detail lives in RXO, route in RXR, and compound components in RXC when needed.

A small OMP pharmacy order example

MSH|^~\&|EHR|CITYHOSP|PHARM|CITYHOSP|20260718110000||OMP^O09^OMP_O09|OMP090001|P|2.5.1 PID|1||123456^^^CITYHOSP^MR||Smith^Jane^Anne^^Ms^^L||19800314|F PV1|1|I|WARD5^501^1^CITYHOSP||||12345^Careful^Clara ORC|NW|RX550001^EHR|||||^^^20260718120000|||12345^Careful^Clara TQ1|1|1^dose|QID^Four times daily^HL70335|||20260718120000 RXO|AMOX500^Amoxicillin 500 mg capsule^L|500|mg|PO^Oral^HL70162 RXR|PO^Oral^HL70162 OBX|1|ST|INDICATION^Indication^L||Community acquired pneumonia

What systems do with it

The sender is usually an EHR, CPOE, or medication-management system. The receiver may be an inpatient pharmacy, dispensing system, infusion platform, or integration engine. The receiver evaluates the order, checks medication and route details, and may respond with ORP_O10.

OMP can represent new orders and order changes. As always, ORC-1 drives the action. RXO tells the receiver what is ordered. RXR tells it how the medication or treatment should be given. RXC matters when the order is compound-like.

How to read the structure

The patient and visit group gives the medication order clinical context. The required order group starts with ORC, optional timing, required RXO, notes, required RXR, optional RXC components, optional OBX observations, and finance/billing details.

Use OBX for supporting clinical information such as indication, safety checks, or order questions. Do not use it as a substitute for the structured medication fields the receiver actually maps.

Implementation traps

Medication interfaces are unforgiving. Dose, strength, route, frequency, units, and components must be mapped deliberately. A readable text instruction is not enough if the receiving system makes dispensing or administration decisions from structured fields.

Also agree what system owns changes. A pharmacy may modify, substitute, or reject an order. If the placer ignores pharmacy responses, medication status will drift quickly.

Reference notes

HL7 lists OMP_O09 as the pharmacy/treatment order message. The local v2.5.1 structure shows the ORC, RXO, RXR, RXC, OBX, FT1, and BLG groups used by this order type. See HL7 Europe OMP_O09.