HL7 OUL_R23 Specimen Container-Oriented Observation

HL7 message structure OUL_R23 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 No
OUL_R23.PIDPD1NTE_SUPPGRP
Pidpd1nte Suppgrp group No No
Patient Identification Yes No
Patient Additional Demographic No No
Notes and Comments No Yes
OUL_R23.PV1PV2_SUPPGRP
Pv1pv2 Suppgrp group No No
Patient Visit Yes No
Patient Visit - Additional Information No No
OUL_R23.SPMOBXSACINVOBRORCNTETQ1TQ2OBXTCDSIDNTECTI_SUPPGRP
Spmobxsacinvobrorcntetq1tq2obxtcdsidntecti Suppgrp group Yes Yes
Specimen Yes No
Observation/Result No Yes
OUL_R23.CONTAINER
Container group Yes Yes
Specimen Container detail Yes No
Inventory Detail No No
OUL_R23.ORDER
Order group Yes Yes
Observation Request Yes No
Common Order No No
Notes and Comments No Yes
OUL_R23.TQ1TQ2_SUPPGRP
Tq1tq2 Suppgrp group No Yes
Timing/Quantity Yes No
Timing/Quantity Relationship No Yes
OUL_R23.OBXTCDSIDNTE_SUPPGRP
Obxtcdsidnte Suppgrp group No Yes
Observation/Result Yes No
Test Code Detail No No
Substance Identifier No Yes
Notes and Comments No Yes
Clinical Trial Identification No Yes
Continuation Pointer No No

OUL_R23 is an unsolicited laboratory observation message organized around specimen containers. It is useful in lab automation when one or more containers, tubes, aliquots, racks, or quality-control materials are part of the result story.

Compared with OUL_R22, R23 pushes container identity higher in the structure. That makes it a better fit when the receiver needs to know exactly which container produced which order and observation detail.

A small OUL_R23 example

MSH|^~\&|LABAUTO|CITYLAB|LIS|CITYLAB|20260715130000||OUL^R23^OUL_R23|OUL230001|P|2.5.1 PID|1||123456^^^CITYHOSP^MR||Smith^Jane^Anne^^Ms^^L||19800314|F PV1|1|O|LAB^DRAW^1^CITYHOSP||||12345^Careful^Clara SPM|1|SPEC20260715001^CITYLAB||BLD^Blood^HL70487|||||||||||||20260715114000 SAC|||TUBE778899^CITYLAB||||SER^Serum tube^L OBR|1|ORD448812^EHR|LAB998878^CITYLAB|24323-8^Comprehensive metabolic panel^LN|||20260715114500 OBX|1|NM|2951-2^Sodium^LN||139|mmol/L|135-145|N|||F

What systems do with it

The sender is usually automation middleware, analyzer management, or a LIS. Receivers use R23 to file patient or non-patient results while keeping container and specimen traceability intact. That matters for quality control, reagent lots, container tracking, and investigations into how a result was produced.

How to read the structure

The message can include optional patient and visit groups. The required specimen/container group starts with SPM, can include specimen-level OBX, then repeats container groups with required SAC and optional INV. Under each container, order groups contain OBR, optional ORC, timing, observations, TCD, SID, notes, and clinical trial identifiers.

Implementation traps

The trap is throwing away the container layer because the receiving EHR only displays patient/order/result. If you must down-map R23, decide where SAC container ID, INV inventory detail, SID substance identifiers, and specimen metadata land before go-live.

Also remember patient segments are optional for some laboratory automation use cases, including non-patient samples. Do not hard-code PID as required if your trading partner sends QC or environmental results.

Reference notes

The HL7 v2+ OUL_R23 page describes this message as specimen container-oriented and notes support for non-patient samples, QC samples, lot/manufacturer detail, and reagent/substance identification.