HL7 ORD_O04 Diet Order Acknowledgment

HL7 message structure ORD_O04 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
Message Acknowledgment Yes No
Error No Yes
Software Segment No Yes
Notes and Comments No Yes
ORD_O04.RESPONSE
Response group No No
ORD_O04.PATIENT
Patient group No No
Patient Identification Yes No
Notes and Comments No Yes
ORD_O04.ORDER_DIET
Order Diet group Yes Yes
Common Order Yes No
ORD_O04.TIMING_DIET
Timing Diet group No Yes
Timing/Quantity Yes No
Timing/Quantity Relationship No Yes
Dietary Orders, Supplements, and Preferences No Yes
Notes and Comments No Yes
ORD_O04.ORDER_TRAY
Order Tray group No Yes
Common Order Yes No
ORD_O04.TIMING_TRAY
Timing Tray group No Yes
Timing/Quantity Yes No
Timing/Quantity Relationship No Yes
Diet Tray Instructions No Yes
Notes and Comments No Yes

ORD_O04 is the acknowledgment response for a diet order. A dietary system receives an OMD_O03 and returns ORD_O04 to say whether the message was accepted, rejected, or accepted with order-level details.

This is more useful than a bare ACK when the sender needs dietary-order context back. MSA acknowledges the message. ERR explains problems. The response group can echo patient and order detail so the sender can reconcile which diet or tray order was accepted.

A small ORD O04 example

MSH|^~\&|DIETARY|CITYHOSP|EHR|CITYHOSP|20260717120003||ORD^O04^ORD_O04|ORD040001|P|2.5.1 MSA|AA|OMD030001 PID|1||123456^^^CITYHOSP^MR||Smith^Jane^Anne^^Ms^^L ORC|OK|DIET1001^EHR|D35291^DIETARY|||||20260717120002 TQ1|1||||||20260717123000 ODS|D|DINNER^Dinner^L|DM2LOWNA^Diabetic low sodium^L|No added sugar desserts ORC|OK|TRAY1001^EHR|T66771^DIETARY ODT|WARD^Ward tray^L|DINNER^Dinner^L|Deliver to nursing station

What systems do with it

The original sender uses ORD_O04 to close or update the order state. If the dietary application assigns filler order numbers, this response is where those identifiers should become visible. After that, future change or cancel messages should carry both placer and filler identifiers when possible.

If the order is rejected, ERR should be specific enough for a user or support analyst to fix the problem. "Invalid diet" is less useful than identifying the bad ODS code, unavailable service period, or missing patient location.

How to read the structure

MSH, MSA, optional ERR, software details, and notes form the response header. The optional RESPONSE group can include a patient group and one or more ORDER_DIET groups. ORDER_TRAY can repeat when tray handling is acknowledged separately.

ORC is the state line. OK, reject-style controls, filler numbers, and timestamps tell the sending side what changed. ODS and ODT identify the diet and tray content being acknowledged.

Implementation traps

Do not treat ORD_O04 as a second application acknowledgment that needs another application acknowledgment in return. The HL7 acknowledgment choreography for these response messages is meant to stop the loop.

Also do not discard the filler number. If dietary services accepts the order and assigns its own ID, that value is what later support calls and cancel requests will need.

Reference notes

The HL7 v2+ ORD_O04 page shows MSA, ERR, an optional response group, patient detail, diet order detail, and tray order detail. Its acknowledgment notes caution that an application-level acknowledgment message should not itself require another application-level acknowledgment.