ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

ORU^R31 — Specimen Container Observation

The message that transmits observations tied to the specimen container rather than its content: insufficient volume, hemolysis, premature clotting, unreadable label. Pivot of automated pre-analytical quality control.

Purpose

The pre-analytical phase is the main source of errors in clinical chemistry (>60% of errors before analysis). Modern pre-analytical robots (centrifuges, aliquoters, sorters) inspect each tube and flag anomalies: insufficient volume, wrong tube, hemolysis, icterus, lipemia, label defects.

R31 is the HL7 channel dedicated to these container-centric observations. It relies on the SPM (Specimen) and SAC (Specimen and Container Detail) segments introduced in v2.5 to structure that information.

Segment structure

ORU_R30 (reused for R31)
  MSH                    Message Header
  [ SFT ]
  PID                    Patient Identification
  [ PD1 ]
  [ PV1 ]
  [ PV2 ]
  { SPM                  Specimen (1..*)
    [ { SAC } ]          Specimen and Container Detail
    OBR                  Observation Request
    [ { NTE } ]
    { OBX                Observation/Result
      [ { NTE } ]
    }
  }

Real-world example

EDTA lavender tube with insufficient volume (2.3 mL instead of the required 3.0 mL), detected pre-analytically:

plaintext oru-r31-example.hl7
MSH|^~\&|LAB|HOSP01|HIS|HOSP01|20260516110000||ORU^R31^ORU_R30|MSG-CNT-2026-456|P|2.5.1|||AL|NE
PID|1||MRN789012^^^HOSP^MR||SMITH^ROBERT^P^^MR.||19580615|M
SPM|1|SPEC2026-789^LAB|||BLD^Blood^HL70487|||LVN^Venipuncture^HL70488|RA^Right arm^HL70163||P^Pre-analytic^L||4.5^mL^UCUM|||20260516103000|20260516104500|N^Normal^HL70485
SAC|||CONT-001^TUBE-LAVENDER|TUBE^Lavender top EDTA^L|||1|||||||N|VL^Volume Low^L|2.3^mL^UCUM|||3.0^mL^UCUM
OBR|1|CBC-456|||CBC^Complete Blood Count^L|||20260516104500
OBX|1|CE|41653-7^Container Status^LN||INV^Invalid container fill^L|||A|||F
  • SPM-2 = specimen identifier.
  • SPM-4 = type (BLD — whole blood).
  • SPM-12 = collected quantity (4.5 mL).
  • SAC-4 = tube type (TUBE — Lavender top EDTA).
  • SAC-14 = state (VL — Volume Low).
  • SAC-15 = current volume (2.3 mL).
  • SAC-18 = required minimum volume (3.0 mL).
  • OBX-3 = LOINC Container Status, value INV Invalid.

Acknowledgment (ACK)

plaintext ack-r31-example.hl7
MSH|^~\&|HIS|HOSP01|LAB|HOSP01|20260516110001||ACK^R31^ACK|ACK-CNT-2026-456|P|2.5.1
MSA|AA|MSG-CNT-2026-456

Common errors

  • SAC missing: in R31, SAC is central. Its absence makes the message unusable.
  • SPM-12 vs SAC-15 mismatched: both represent volume but SPM = initial collection, SAC = current volume after pre-analytics. They must remain consistent.
  • No OBX observation: SAC carries the structured data, OBX carries the interpretation. Always include an OBX.
  • Confusion with ORU^R30: R30 = patient POC result. R31 = container state. Distinguish carefully.
  • Anomaly without cause: document the cause via NTE to support manual reconciliation.
CodeTrigger eventDescription
ORU^R01Unsolicited Lab ObservationLab result.
ORU^R30Point-Of-Care ObservationPOC measurement.
ORU^R31Specimen Container ObservationThis page.
OUL^R21Unsolicited Lab Observation (POC variant)Unified variant.

See also: ORU^R30 — point-of-care and FHIR Specimen — R5 equivalent.