NEWFree ROI Calculators — quantify what prior auth and siloed data are costing your organization.Prior Auth ROI Siloed Data ROI
HL7 v2Message7 min read

HL7 ORN Messages: Non-Stock Requisition Response

HL7 ORN messages acknowledge or respond to a non-stock requisition order (OMN). An ORN message is sent from the materials management or supply chain system back to the requesting application (such as an EHR or clinical system) to confirm that the requisition has been accepted, rejected, or updated with details like procurement purchase orders or expected delivery dates. This page explains what an ORN message represents, the trigger event that carries it, every segment the message can contain and what each one holds, and how an ORN response relates to FHIR. Sample content is constructed for illustration with fictional identifiers.

What an ORN message represents

An ORN message — ORN stands for Non-Stock Requisition Response — communicates a responding system's status update regarding a non-catalogue supply order. The core of the message is the MSA segment, which provides a high-level application-level acknowledgement (such as Application Accept AA or Application Error AE), and one or more repeating ORDER groups containing an echoed RQD segment to identify the specific requisitioned line items.

The sender is the materials management system or procurement engine that received the initial non-stock requisition, and the receiver is the clinical system or EHR that raised the request. ORN matches a request-response exchange: the EHR sends an OMN^O07 to request a specialty device or non-stock item, and the procurement system returns an ORN^O08 with the filler order number or procurement details. This allows the clinical area to track the status of its custom procurement.

When an ORN message is sent

An ORN message is sent synchronously or asynchronously after a materials management system receives and processes a non-stock order. It fires when the procurement system creates a purchase order for the vendor, rejects the order due to invalid accounts or item codes, or receives shipping updates that change the expected delivery date of the items.

Trigger event

The ORN message type carries a single trigger event:

  • ORN^O08 – Non-stock requisition response message.

The trigger O08 pairs with the OMN^O07 non-stock requisition. The receiver matches the response to the originating request using the message control ID echoed in MSA-2 and the placer order number in ORC-2.

Integration topology

The diagram shows the materials management system returning a response through the integration engine to the clinical system that raised the requisition.

{{diagram: materials management system → ORN message → integration engine → clinical system (EHR)}}

Typical senders: materials management system, procurement platform, supply chain management application.

Typical receivers: EHR, clinical or departmental ordering system, research management platform.

Direction: response in a request-response pattern — the procurement system responds to the ordering system's initial request.

Segments in an ORN message

The ORN_O08 message opens with a header block (MSH, MSA, and optional ERR segments) followed by optional patient and visit segments and one or more ORDER groups containing the echoed order detail. Cardinality follows HL7 notation: [X] optional, {X} repeating, [{X}] optional and repeating; a bare code is required. Each segment code links to its canonical field-by-field reference.

SegmentDescription
MSHMessage Header. Opens every ORN message. It names the sending and receiving applications, stamps the creation time, declares the trigger event in MSH-9 (ORN^O08), carries the message control id in MSH-10, and pins the HL7 version.
MSAMessage Acknowledgement. Required. Echoes the original OMN message control id in MSA-2 and carries the acknowledgement code (e.g., AA accepted, AE error).
[{ERR}]Error. Carries details of any validation or application-level errors encountered when processing the order. Optional and repeating.
[{NTE}]Notes and Comments. Header-level comments or text notes. Optional and repeating.
[PID]Patient Identification. Identifies the patient associated with the requisition, when patient-specific billing applies. Optional.
[PV1]Patient Visit. Encounter details related to the patient. Optional.
ORCCommon Order. Opens each ORDER group. It carries the order status, the placer order number, and the filler order number (assigned by the supply system). Required within each repeating order group.
RQDRequisition Detail. Echoes the line-item details from the request: the line number, item codes, quantity, and unit of measure. Required.
[RQ1]Requisition Detail-1. Echoes manufacturer and catalogue details for the requisitioned line. Optional.
[{NTE}]Notes and Comments (Line). Comments or procurement status updates for this specific line. Optional.

[ ] = optional, { } = repeating

Sample ORN message

Note. Constructed for illustration. Patient identifiers, order numbers, and names are fictional.

MSH|^~&|MATMGMT|GENERALHOSPITAL|EHRSYS|GENERALHOSPITAL|20260604090000||ORN^O08^ORN_O08|MSG00048|P|2.5.1
MSA|AA|MSG00047
PID|1||PT98765^^^GENERALHOSPITAL^MR||SMITH^MARY^A||19750315|F
ORC|OK|REQ20260604001^EHRSYS|PO99182^MATMGMT||||||20260604090000|||DR99^JONES^PAUL^^^DR
RQD|1|INT4892^Custom Wound VAC Canister^L|EXT77341^VAC Canister 300cc^MFR||2|EA|||4NORTH^412^A|20260605
RQ1||MFR001^Smith Medical^L|CAT-VAC-300||6200.0000
NTE|1||Item ordered from vendor; expected delivery 2026-06-05.

What this sample shows

The ORN^O08 in MSH-9 identifies the message as a non-stock requisition response. MSA carries acknowledgement code AA (Application Accept) and acknowledges the original request control ID MSG00047. PID associates the response with patient PT98765. ORC carries order status OK (Order Accepted), links to placer order number REQ20260604001, and supplies the filler order/purchase number PO99182. The RQD echoes the requisition line item code INT4892 and the quantity 2. The NTE notes that the item has been ordered from the manufacturer and confirms the target delivery date.

Working with ORN messages

Correlate using MSA-2 and Placer Order Numbers

When an ORN response arrives, the receiving application must match MSA-2 against its log of outbound message control IDs. Once the message context is matched, the parser iterates through the order groups and matches each group to the corresponding clinical order using the placer order number in ORC-2.

Track Status Transitions

ORC-1 (Order Control) and ORC-5 (Order Status) dictate how the receiving system should update the requisition status. A status of IP (In Progress) indicates procurement is underway; OK confirms the order has been acknowledged, and CM (Completed) indicates delivery. Rejection codes in MSA-1 (AE or AR) or status codes in ORC (like UA for Unable to Accept) must trigger clinical notifications so clinicians can select alternative supplies.

Vendor variance. Procurement systems differ in how they communicate vendor cancellations. Some systems send a separate ORN message with a status of CA (Cancelled) for the line item; others simply send an error acknowledgement (AE or AR) with error details in the ERR segment. Check your MMIS vendor specification to configure error routing correctly.

FHIR equivalent

A non-stock requisition response maps conceptually to status updates on the FHIR SupplyRequest resource, reflecting changes in the status field (e.g. from draft to active or completed).

The HL7 v2-to-FHIR Implementation Guide publishes no message map for ORN_O08 and no ConceptMap for the RQD segment. Therefore, any FHIR translation must be mapped manually, using MSA-2 and ORC-2 to locate the existing SupplyRequest resource and updating its status or adding procurement identifiers as identifier elements.

Common pitfalls

Pitfall. Discarding the filler order number in ORC-3. The filler order number is often the purchase order (PO) reference. Failing to record it makes it impossible for clinicians to trace the status of their specialty order in the inventory warehouse.

Pitfall. Processing responses without checking the MSA status. Parsing an ORN response under the assumption of success when MSA-1 is AE (Application Error) can lead to the clinical system falsely showing a supply order as accepted, while it was rejected by supply chain.

How Vorro handles ORN messages

Vorro ingests ORN responses over MLLP, validates the application acknowledgement code in MSA, and correlates each response to its originating OMN request. Vorro updates the status of the requisition line items in the ordering EHR based on ORC-5 (Order Status) and passes through the purchase order number from ORC-3. Where a FHIR destination is configured, Vorro updates the corresponding SupplyRequest resource state manually, since the HL7 v2-to-FHIR guide provides no published map for this message.

  • OMN — the non-stock requisition order message that initiates this response.
  • ORS — the stock requisition response message.
  • ORM — the general order message.

Sources

← Back to HL7 v2 Guide

Ready to Integrate This Into Your Workflow?

Talk to a Vorro expert about implementing HL7 v2 in your specific environment.

Browse HL7 v2 Guides
HL7 ORN Messages: Non-Stock Requisition Response | Vorro Academy | Vorro