HL7 v2.5.1 Specificationsv2.5.1

to moveEnter to openTry PID-5, ADT, 0004

OBX: Observation result

A blood test comes back as a sheet with one line per measurement: what was measured, the number, the units, the normal range, and a flag if it is out of range. OBX is one of those lines. A panel of ten results is ten OBX segments.

OBX carries exactly one observation: what was measured, what the answer was, what units it is in, and how confident the sender is that the answer is final.

The shape of one line

OBXsegmentwhat kind of line this is
1OBX-1Set ID – OBX
NMOBX-2Value Type
718-7^HEMOGLOBIN^LNOBX-3Observation Identifier
 OBX-4Observation Sub-ID
11.8OBX-5Observation Value
g/dLOBX-6Units
12.0-15.5OBX-7References Range
LOBX-8Abnormal Flags

required empty in this messageevery box is one | apart

Where OBX appears

MessageSegment order
ORU^R01 resultMSH → {PID → {OBR → {OBX → [{NTE}]}}}
ADT^A01 admitMSH → EVN → PID → PV1 → [{OBX}]
ORM^O01 orderMSH → PID → {ORC → OBR → [{OBX}]}
MDM^T02 documentMSH → EVN → PID → PV1 → TXA → {OBX}

OBX appears in 68 of the 202 message structures the standard defines.

A whole message

Three OBX segments under one OBR, carrying a complete blood count panel
MSH|^~\&|LABSYS|STJOSEPH|EPIC|STJOSEPH|20240314141207||ORU^R01^ORU_R01|LR20240314-88412|P|2.5.1
PID|1||1000345678^^^STJOSEPH^MR||CARTWRIGHT^ELEANOR^MAY^^^^L||19510822|F
OBR|1|ORD8842^EPIC|LAB77213^LABSYS|58410-2^CBC PANEL^LN|||20240314103000|||||||||1447312^OKONKWO^ADAEZE^^^^MD||||||20240314141000|||F
OBX|1|NM|718-7^HEMOGLOBIN^LN||11.8|g/dL|12.0-15.5|L|||F|||20240314141000
OBX|2|NM|6690-2^LEUKOCYTES^LN||14.2|g/dL|4.0-11.0|H|||F|||20240314141000
OBX|3|ST|33914-3^INTERPRETATION^LN||Mild anaemia with leukocytosis|g/dL|||||F|||20240314141000
NTE|1|L|Specimen slightly haemolysed. Result confirmed on repeat.

Every field

SEQLENDTOPTRP/#TBL#ITEM#Element nameCardinality
OBX-14SIO00569Set ID – OBX0..1
OBX-22IDC012500570Value Type0..1
250CER00571Observation Identifier1..1

OBX-3 is a CE, which holds 6 components separated by carets.

SEQLENDTOPTTBL#Component name
CE.120STOIdentifier
CE.2199STOText
CE.320IDO0396Name of Coding System
CE.420STOAlternate Identifier
CE.5199STOAlternate Text
CE.620IDO0396Name of Alternate Coding System
OBX-420STC00572Observation Sub-ID0..1
OBX-59999VARIESCY00573Observation Value0..*
250CEO00574Units0..1

OBX-6 is a CE, which holds 6 components separated by carets.

SEQLENDTOPTTBL#Component name
CE.120STOIdentifier
CE.2199STOText
CE.320IDO0396Name of Coding System
CE.420STOAlternate Identifier
CE.5199STOAlternate Text
CE.620IDO0396Name of Alternate Coding System
OBX-760STO00575References Range0..1
OBX-85ISOY007800576Abnormal Flags0..*
OBX-95NMO00577Probability0..1
OBX-102IDOY008000578Nature of Abnormal Test0..*
OBX-111IDR008500579Observation Result Status1..1
26TSO00580Effective Date of Reference Range Values0..1

OBX-12 is a TS, which holds 2 components separated by carets.

SEQLENDTOPTTBL#Component name
TS.124DTMRTime
TS.21IDB0529Degree of Precision
OBX-1320STO00581User Defined Access Checks0..1
26TSO00582Date/Time of the Observation0..1

OBX-14 is a TS, which holds 2 components separated by carets.

SEQLENDTOPTTBL#Component name
TS.124DTMRTime
TS.21IDB0529Degree of Precision
250CEO00583Producer's Reference0..1

OBX-15 is a CE, which holds 6 components separated by carets.

SEQLENDTOPTTBL#Component name
CE.120STOIdentifier
CE.2199STOText
CE.320IDO0396Name of Coding System
CE.420STOAlternate Identifier
CE.5199STOAlternate Text
CE.620IDO0396Name of Alternate Coding System
250XCNOY00584Responsible Observer0..*

OBX-16 is a XCN, which holds 23 components separated by carets.

SEQLENDTOPTTBL#Component name
XCN.115STOID Number
XCN.2194FNOFamily Name
XCN.330STOGiven Name
XCN.430STOSecond and Further Given Names or Initials Thereof
XCN.520STOSuffix (e.g., JR or III)
XCN.620STOPrefix (e.g., DR)
XCN.75ISB0360Degree (e.g., MD)
XCN.84ISC0297Source Table
XCN.9227HDO0363Assigning Authority
XCN.101IDO0200Name Type Code
XCN.111STOIdentifier Check Digit
XCN.123IDC0061Check Digit Scheme
XCN.135IDO0203Identifier Type Code
XCN.14227HDOAssigning Facility
XCN.151IDO0465Name Representation Code
XCN.16483CEO0448Name Context
XCN.1753DRBName Validity Range
XCN.181IDO0444Name Assembly Order
XCN.1926TSOEffective Date
XCN.2026TSOExpiration Date
XCN.21199STOProfessional Suffix
XCN.22705CWEOAssigning Jurisdiction
XCN.23705CWEOAssigning Agency or Department
250CEOY00936Observation Method0..*

OBX-17 is a CE, which holds 6 components separated by carets.

SEQLENDTOPTTBL#Component name
CE.120STOIdentifier
CE.2199STOText
CE.320IDO0396Name of Coding System
CE.420STOAlternate Identifier
CE.5199STOAlternate Text
CE.620IDO0396Name of Alternate Coding System
22EIOY01479Equipment Instance Identifier0..*

OBX-18 is a EI, which holds 4 components separated by carets.

SEQLENDTOPTTBL#Component name
EI.1199STOEntity Identifier
EI.220ISO0363Namespace ID
EI.3199STCUniversal ID
EI.46IDC0301Universal ID Type
26TSO01480Date/Time of the Analysis0..1

OBX-19 is a TS, which holds 2 components separated by carets.

SEQLENDTOPTTBL#Component name
TS.124DTMRTime
TS.21IDB0529Degree of Precision
OBX-20VARIESU09999Reserved for harmonization with V2.60..1
OBX-21VARIESU09999Reserved for harmonization with V2.60..1
OBX-22VARIESU09999Reserved for harmonization with V2.60..1
567XONON02283Performing Organization Name0..1

OBX-23 is a XON, which holds 10 components separated by carets.

SEQLENDTOPTTBL#Component name
XON.150STOOrganization Name
XON.220ISO0204Organization Name Type Code
XON.34NMBID Number
XON.41NMOCheck Digit
XON.53IDO0061Check Digit Scheme
XON.6227HDO0363Assigning Authority
XON.75IDO0203Identifier Type Code
XON.8227HDOAssigning Facility
XON.91IDO0465Name Representation Code
XON.1020STOOrganization Identifier
631XADON02284Performing Organization Address0..1

OBX-24 is a XAD, which holds 14 components separated by carets.

SEQLENDTOPTTBL#Component name
XAD.1184SADOStreet Address
XAD.2120STOOther Designation
XAD.350STOCity
XAD.450STOState or Province
XAD.512STOZip or Postal Code
XAD.63IDO0399Country
XAD.73IDO0190Address Type
XAD.850STOOther Geographic Designation
XAD.920ISO0289County/Parish Code
XAD.1020ISO0288Census Tract
XAD.111IDO0465Address Representation Code
XAD.1253DRBAddress Validity Range
XAD.1326TSOEffective Date
XAD.1426TSOExpiration Date
3002XCNON02285Performing Organization Medical Director0..1

OBX-25 is a XCN, which holds 23 components separated by carets.

SEQLENDTOPTTBL#Component name
XCN.115STOID Number
XCN.2194FNOFamily Name
XCN.330STOGiven Name
XCN.430STOSecond and Further Given Names or Initials Thereof
XCN.520STOSuffix (e.g., JR or III)
XCN.620STOPrefix (e.g., DR)
XCN.75ISB0360Degree (e.g., MD)
XCN.84ISC0297Source Table
XCN.9227HDO0363Assigning Authority
XCN.101IDO0200Name Type Code
XCN.111STOIdentifier Check Digit
XCN.123IDC0061Check Digit Scheme
XCN.135IDO0203Identifier Type Code
XCN.14227HDOAssigning Facility
XCN.151IDO0465Name Representation Code
XCN.16483CEO0448Name Context
XCN.1753DRBName Validity Range
XCN.181IDO0444Name Assembly Order
XCN.1926TSOEffective Date
XCN.2026TSOExpiration Date
XCN.21199STOProfessional Suffix
XCN.22705CWEOAssigning Jurisdiction
XCN.23705CWEOAssigning Agency or Department

Open this OBX message in HL7 Studio

Field notes

Vendor behaviour

What follows describes patterns common to these systems' standard interfaces. Every installation is configured, so confirm against the interface specification for the site you are integrating with.

Epic

Epic sends narrative results as a TX value spread across repetitions of OBX-5 or across several OBX segments sharing an observation sub-ID, depending on how the interface was built. Confirm which form a given feed uses before writing the reassembly, because the two need different code and both look correct on a single sample.

Mapping to FHIR

One OBX becomes one FHIR Observation, and OBX-2 decides which Observation.value[x] to use: NM becomes valueQuantity, ST and TX become valueString, CE and CWE become valueCodeableConcept, SN becomes valueQuantity with a comparator. The parent OBR becomes either a DiagnosticReport that references these Observations or a member Observation with hasMember entries, and which of the two is right depends on whether the OBR represents a report or a panel.

HL7 v2FHIR R4Note
OBX-3Observation.code
OBX-5Observation.value[x]the type is chosen by OBX-2
OBX-6Observation.valueQuantity.unit and .codesystem is UCUM where the code is UCUM
OBX-7Observation.referenceRange.textparse to low and high where it is numeric
OBX-8Observation.interpretation
OBX-11Observation.statusF becomes final, P preliminary, C corrected, D entered-in-error
OBX-14Observation.effectiveDateTime

Parsing pitfalls

Message types carrying OBX

OBX appears in 68 message structures, belonging to 44 message types.