HL7 RRG_O16 Pharmacy/Treatment Give Acknowledgment

HL7 message structure RRG_O16 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
RRG_O16.RESPONSE
Response group No No
RRG_O16.PATIENT
Patient group No No
Patient Identification Yes No
Notes and Comments No Yes
RRG_O16.ORDER
Order group Yes Yes
Common Order Yes No
RRG_O16.TIMING
Timing group No Yes
Timing/Quantity Yes No
Timing/Quantity Relationship No Yes
RRG_O16.GIVE
Give group No No
Pharmacy/Treatment Give Yes No
RRG_O16.TIMING_GIVE
Timing Give group Yes Yes
Timing/Quantity Yes No
Timing/Quantity Relationship No Yes
Pharmacy/Treatment Route Yes Yes
Pharmacy/Treatment Component Order No Yes

RRG_O16 is the application response to an RGV_O15 pharmacy/treatment give message. RGV says what is to be given, often as a dose or supply instruction. RRG tells the sender whether the receiving application accepted that give message and, when useful, echoes the give detail that was processed.

This shows up around medication administration preparation, cart fill, automated dispensing, and systems that need a schedule or give instruction before the bedside administration record is created. It is not the same thing as recording that the patient actually received the medication. That is the RAS_O17 administration workflow.

A small RRG example

MSH|^~\&|MAR|CITYHOSP|PHARM|CITYHOSP|20260715124700||RRG^O16^RRG_O16|RRG00001|P|2.5.1 MSA|AA|RGV00001 PID|1||123456^^^CITYHOSP^MR||Smith^Jane^Anne^^Ms^^L||19800314|F ORC|OK|MED448811^EHR|RX998877^PHARM RXG|1|1|20260715140000|AMOX500^Amoxicillin 500 mg capsule^L|1|CAP^capsule^UCUM|30|CAP^capsule^UCUM TQ1|1|||TID^Three times daily^HL70335||20260715140000 RXR|PO^Oral^HL70162

What systems do with it

The sender is usually the application that received the RGV. The receiver is the system that originated the give instruction, often pharmacy or pharmacy middleware. MSA tells whether the application accepted the message. ERR tells why it did not, ideally in terms the sending application can act on.

When the response includes detail, RXG is the give segment, TQ1 carries timing, RXR carries route, and RXC can carry component information. ORC is still the anchor that connects the response to the real order.

How to read the structure

The required core is MSH and MSA, with optional ERR, software, notes, and an optional response group. If the response group appears, it can include patient context and one or more order groups. The give group is optional, but when present it requires RXG, one or more timing-give groups, one or more RXR segments, and optional RXC components.

That optional detail lets a receiver be terse for simple success cases and more explicit when the sender needs to reconcile a schedule, dose, route, or component.

Implementation traps

The common misunderstanding is mixing "give" with "administered." RRG can acknowledge that a give instruction was accepted; it does not prove the patient took the dose. Use RRA/RAS around actual administration history.

Another trap is ignoring timing. A receiver may accept the medication but reject a schedule pattern, start time, or dependent timing relationship. If timing matters to downstream safety checks, put the rejection in ERR and do not bury it in a free-text note.

Reference notes

The HL7 v2+ RRG_O16 page lists this as the pharmacy/treatment give acknowledgment and shows the response, patient, order, timing, give, RXG, timing-give, RXR, and RXC structure.