HL7 ORB messages acknowledge or respond to a blood product order (OMB). An ORB message is sent from the blood bank information system (BBIS) or laboratory application back to the ordering application (such as an EHR or clinical system) to confirm that a blood transfusion order (such as packed red blood cells or fresh frozen plasma) has been received, verified, or rejected by the blood bank. This page explains what an ORB message represents, the trigger event that carries it, every segment the message can contain and what each one holds, and how an ORB response relates to FHIR. Sample content is constructed for illustration with fictional identifiers.
What an ORB message represents
An ORB message — ORB stands for Blood Product Order Response — communicates a blood bank system's response to a blood order. The core of the message is the MSA segment, which provides the transaction-level acknowledgement status, and one or more repeating ORDER groups containing an echoed BPO segment to identify the specific blood product ordered, the blood group/Rh type, and the quantity requested.
The sender is the blood bank system or laboratory application, and the receiver is the clinical application or EHR that placed the blood product order. The ORB message acts as the matching response in a request-response exchange: the clinician orders a blood product using an OMB^O27, and the blood bank returns an ORB^O28 to confirm that the order has been accepted and matches active inventory.
When an ORB message is sent
An ORB message is sent after a blood bank information system processes a blood product order. It fires when the blood bank system validates the product code, checks active inventory for type-specific blood units, and accepts or rejects the order.
Trigger event
The ORB message type carries a single trigger event:
ORB^O28– Blood Product Order Response message.
The trigger O28 pairs with the OMB^O27 blood product order. The receiving application matches the response to the original order using the placer order number in ORC-2 and the message control ID echoed in MSA-2.
Integration topology
The diagram shows the blood bank system returning an order response through the integration engine to the clinical system that placed the order.
{{diagram: blood bank system → ORB message → integration engine → clinical system (EHR)}}
Typical senders: blood bank information system (BBIS), laboratory information system (LIS), blood tracking software.
Typical receivers: EHR, clinical order entry system, computerized physician order entry (CPOE) terminal.
Direction: response in a request-response pattern — the blood bank system responds to the ordering system's blood product order.
Segments in an ORB message
The ORB_O28 message opens with a header block (MSH, MSA, and optional ERR segments) followed by optional patient/visit context and one or more repeating ORDER groups. 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.
| Segment | Description |
|---|---|
MSH | Message Header. Opens every ORB message. It names the sending and receiving applications, stamps the creation time, declares the trigger event in MSH-9 (ORB^O28), carries the message control id in MSH-10, and pins the HL7 version. |
MSA | Message Acknowledgement. Required. Echoes the original OMB message control id in MSA-2 and carries the acknowledgement code (e.g., AA accepted, AE error). |
[{ERR}] | Error. Details validation or application errors encountered when processing the blood product order. Optional and repeating. |
[{NTE}] | Notes and Comments. Header-level comments or text notes. Optional and repeating. |
[PID] | Patient Identification. Patient associated with the blood product order. Optional. |
[PV1] | Patient Visit. Encounter details related to the patient. Optional. |
ORC | Common Order. Opens each ORDER group. It carries the order status, the placer order number, and the filler order number (assigned by the blood bank system). Required within each repeating order group. |
[{TQ1}] | Timing/Quantity. Timing and frequency schedule for the blood product order. Optional and repeating. |
BPO | Blood Product Order. Echoes the blood product detail from the request: the product type code, requested blood group/Rh type, and the quantity requested. Required. |
[{NTE}] | Notes and Comments (Line). Comments or blood bank instructions for this specific blood line. Optional. |
[ ] = optional, { } = repeating
Sample ORB message
Note. Constructed for illustration. Blood product codes, order numbers, and patient identifiers are fictional.
MSH|^~&|BLOODSYS|MERCY|EHRSYS|MERCY|20260604090000||ORB^O28^ORB_O28|MSG00048|P|2.5.1
MSA|AA|MSG00047
PID|1||MR98765^^^MERCY^MR||SMITH^PATRICIA^A||19720315|F
ORC|OK|REQ20260604-004^EHRSYS|FIL20260604-004^BLOODSYS||||||20260604090000|||ATT001^JONES^CAROL^^^^MD
BPO|1|PC^Packed Cells^L|A_POS^A Positive^L|2|U
NTE|1||Order verified by blood bank; crossmatch in progress.
What this sample shows
The ORB^O28 in MSH-9 marks a blood product order response. MSA carries acknowledgement code AA (Application Accept) and acknowledges the original request control ID MSG00047. PID associates the response with patient MR98765. ORC carries order status OK (Order Accepted), links to placer order number REQ20260604-004, and supplies the blood bank filler order number FIL20260604-004. The BPO echoes the blood product Packed Cells and blood group A Positive with a quantity of 2 units. The NTE confirms that the order has been verified and crossmatching is underway.
Working with ORB messages
Matching and Verification
When an ORB response is received, the ordering system correlates MSA-2 with the outbound request. The placer order number in ORC-2 is used to match individual lines. This correlation is essential for clinical staff to verify that the blood bank has reviewed and verified the order before transfusion begins.
Handling Inventory Shortages and Rejections
If the blood bank rejects an order (due to typing discrepancies, invalid patient identifiers, or inventory shortages), ORC-5 will carry a status of UA (Unable to Accept) or RE (Rejected), and the message will carry explanatory details in NTE or ERR. Receiving applications should process these status updates to alert the prescribing physician, ensuring that orders are corrected.
Vendor variance. Blood bank systems differ in how they communicate crossmatch results. Some systems return an ORB message showing a status of
SC(Status Changed) and update the BPO segment fields, while others send separate event-driven update messages when compatibility testing completes. Check your BBIS documentation to handle crossmatch status updates correctly.
FHIR equivalent
A blood product order response maps conceptually to status changes on the FHIR ServiceRequest resource, representing updates to the status field (e.g. from draft to active or completed).
The HL7 v2-to-FHIR Implementation Guide publishes no message map for ORB_O28 and no ConceptMap for the BPO segment. Consequently, any FHIR translation must be mapped manually, using MSA-2 and ORC-2 to locate the existing ServiceRequest resource and updating its status or adding blood bank filler identifiers as identifier elements.
Common pitfalls
Pitfall. Assuming the order is active without checking
ORC-5orMSA-1. Presuming blood bank acceptance on an error or rejection response can lead to clinical staff attempting to retrieve blood products that were never prepared.
Pitfall. Overlooking compatibility check status. Transfusion order statuses in the PIS must be verified against blood compatibility results before administration.
How Vorro handles ORB messages
Vorro ingests ORB responses over MLLP, validates the application acknowledgement code in MSA, and correlates each response to its originating OMB request. Vorro updates the status of the blood product line items in the ordering EHR based on ORC-5 (Order Status) and passes through the blood bank filler order number from ORC-3. Where a FHIR destination is configured, Vorro updates the corresponding ServiceRequest resource state manually, since the HL7 v2-to-FHIR guide provides no published map for this message.
Related messages
- OMB — the blood product order message that initiates this response.
- BPS — the blood product dispense status message.
- BTS — the blood product transfusion status message.
