HL7 OBX Segment: Observation/Result
The HL7 OBX segment (Observation/Result) carries individual observation values within ORU (result), ORM (order), and other HL7 v2 message types. Each OBX segment holds a single result value — a lab measurement, a radiology finding, a vital sign, or an embedded document.
OBX Field Reference
Section titled “OBX Field Reference”| Seq | Name | Type | Opt | Description |
|---|---|---|---|---|
OBX-1 | Set ID | SI | O | Sequence number (1, 2, 3...) |
★ OBX-2 | Value Type | ID | R | Data type of OBX-5 (NM, ST, CE, TX, ED) |
| Determines how to parse OBX-5. Common types: NM (numeric), ST (string), CE (coded entry), TX (text), ED (embedded document like PDF). | ||||
★ OBX-3 | Observation Identifier | CE | R | LOINC code or local test code |
| Best practice: use LOINC codes (e.g., 2345-7^Glucose^LN). Integration engines map between local and standard codes. | ||||
OBX-4 | Observation Sub-ID | ST | O | Distinguishes repeated observations |
| Used when multiple OBX segments share the same OBX-3. Common in microbiology cultures and panels. | ||||
★ OBX-5 | Observation Value | varies | R | The actual result value |
| Data type varies based on OBX-2. Can contain numeric values, coded entries, text, or Base64-encoded embedded documents. | ||||
★ OBX-6 | Units | CE | O | UCUM or local unit of measure |
★ OBX-7 | Reference Range | ST | O | Normal range (e.g., "70-100") |
★ OBX-8 | Abnormal Flags | IS | O | N, L, H, LL, HH, A, AA |
| N=Normal, L/H=Low/High, LL/HH=Critical Low/High, A/AA=Abnormal/Critically Abnormal. Critical flags (LL, HH, AA) trigger automated notifications per CLIA. | ||||
OBX-9 | Probability | NM | O | Statistical probability of result |
OBX-10 | Nature of Abnormal Test | ID | O | Age-based, sex-based, or race-based |
★ OBX-11 | Observation Result Status | ID | R | F, P, C, A, R, I, X, W |
| F=Final, P=Preliminary, C=Correction, A=Amended, X=Cancelled. Receiving systems must handle corrections (C) by updating the original result. | ||||
OBX-12 | Effective Date | TS | O | When the reference range was established |
OBX-13 | User Defined Access Checks | ST | O | Access control codes |
★ OBX-14 | Date/Time of Observation | TS | O | When the observation was made |
| When the observation was actually made. Critical for time-sensitive results. Also used as the correction timestamp on corrected results. | ||||
OBX-15 | Producer's ID | CE | O | Lab/department that produced the result |
OBX-16 | Responsible Observer | XCN | O | Person who made the observation |
OBX-17 | Observation Method | CE | O | Methodology used |
OBX-18 | Equipment Instance Identifier | EI | O | Analyzer/instrument ID |
OBX-19 | Date/Time of Analysis | TS | O | When the analysis was performed |
★ OBX-2 R Data type of OBX-5 (NM, ST, CE, TX, ED)
Determines how to parse OBX-5. Common types: NM (numeric), ST (string), CE (coded entry), TX (text), ED (embedded document like PDF).
★ OBX-3 R LOINC code or local test code
Best practice: use LOINC codes (e.g., 2345-7^Glucose^LN). Integration engines map between local and standard codes.
OBX-4 O Distinguishes repeated observations
Used when multiple OBX segments share the same OBX-3. Common in microbiology cultures and panels.
★ OBX-5 R The actual result value
Data type varies based on OBX-2. Can contain numeric values, coded entries, text, or Base64-encoded embedded documents.
★ OBX-8 O N, L, H, LL, HH, A, AA
N=Normal, L/H=Low/High, LL/HH=Critical Low/High, A/AA=Abnormal/Critically Abnormal. Critical flags (LL, HH, AA) trigger automated notifications per CLIA.
★ OBX-11 R F, P, C, A, R, I, X, W
F=Final, P=Preliminary, C=Correction, A=Amended, X=Cancelled. Receiving systems must handle corrections (C) by updating the original result.
★ OBX-14 O When the observation was made
When the observation was actually made. Critical for time-sensitive results. Also used as the correction timestamp on corrected results.
R = Required, O = Optional, C = Conditional, W = Withdrawn (backward compatibility only)
OBX-2: Value Types
Section titled “OBX-2: Value Types”The value type in OBX-2 tells the receiving system how to parse OBX-5:
| Type | Name | OBX-5 Example | Use Case |
|---|---|---|---|
| NM | Numeric | 98 | Lab values: glucose, creatinine, WBC |
| ST | String | Positive | Text results, culture results |
| CE | Coded Entry | 260373001^Detected^SCT | SNOMED or LOINC coded results |
| CWE | Coded With Exceptions | 260373001^Detected^SCT | v2.5+ replacement for CE |
| TX | Text | No acute cardiopulmonary disease | Radiology impressions, narrative results |
| FT | Formatted Text | \.br\Line 1\.br\Line 2 | Multi-line formatted results |
| ED | Encapsulated Data | ^APPLICATION^PDF^Base64^JVBERi... | Embedded PDF reports, images |
| SN | Structured Numeric | >^10 or 1^:^256 | Ranges, ratios, comparators |
| TS | Timestamp | 20260301143000 | Date/time observations |
| NR | Numeric Range | 3.5^5.0 | Low-high range pair |
OBX-8: Abnormal Flags
Section titled “OBX-8: Abnormal Flags”| Flag | Meaning | Action |
|---|---|---|
| N | Normal | No alert |
| L | Low | Below normal range |
| H | High | Above normal range |
| LL | Critical Low | Below panic limit — immediate notification |
| HH | Critical High | Above panic limit — immediate notification |
| A | Abnormal | Outside normal limits (non-numeric) |
| AA | Critically Abnormal | Critical deviation — immediate notification |
< | Below absolute low | Off-scale low |
> | Above absolute high | Off-scale high |
Critical flags (LL, HH, AA) typically trigger automated notification workflows per CLIA regulations.
OBX-11: Result Status Codes
Section titled “OBX-11: Result Status Codes”| Status | Meaning | Description |
|---|---|---|
| F | Final | Verified result, no changes expected |
| P | Preliminary | Initial result, final pending |
| C | Correction | Previously final result corrected |
| A | Amended | Result amended after finalization |
| R | Entered (Not Verified) | Result entered, not yet reviewed |
| I | Pending | Specimen in, result pending |
| X | Cancelled | Test cancelled |
| W | Post Original as Wrong | Original result was wrong |
OBX-3: Observation Identifier (LOINC Coding)
Section titled “OBX-3: Observation Identifier (LOINC Coding)”OBX-3 identifies what was measured. Best practice is to use LOINC codes:
OBX|1|NM|2345-7^Glucose^LN||98|mg/dL|70-100|N|||F| Component | Value | Meaning |
|---|---|---|
| CE.1 | 2345-7 | LOINC code |
| CE.2 | Glucose | Display name |
| CE.3 | LN | LOINC coding system |
Common LOINC codes in OBX segments:
| LOINC | Test Name |
|---|---|
| 2345-7 | Glucose |
| 2160-0 | Creatinine |
| 3094-0 | BUN |
| 2951-2 | Sodium |
| 2823-3 | Potassium |
| 6690-2 | WBC |
| 718-7 | Hemoglobin |
| 4544-3 | Hematocrit |
| 777-3 | Platelet Count |
Key Implementation Considerations
Section titled “Key Implementation Considerations”Embedded Documents (ED Value Type)
Section titled “Embedded Documents (ED Value Type)”Radiology and pathology systems often embed full reports as PDFs in OBX-5:
OBX|1|ED|PDF_REPORT^Radiology Report^LOCAL||^APPLICATION^PDF^Base64^JVBERi0xLjQ...||||||FThe ED data type structure in OBX-5:
- Source application (optional)
- Type:
APPLICATION,IMAGE,TEXT - Subtype:
PDF,RTF,JPEG,TIFF - Encoding:
Base64,Hex - Data: The encoded content
OBX-4: Observation Sub-ID
Section titled “OBX-4: Observation Sub-ID”When multiple OBX segments share the same OBX-3 identifier, OBX-4 (Sub-ID) distinguishes them. Common scenarios:
- Microbiology: Culture results with multiple organisms, each with sensitivity panels
- Blood bank: Multiple components from a single draw
- Panels: Repeated measurements over time within a single order
Result Corrections
Section titled “Result Corrections”When correcting a finalized result, send a new ORU with:
- Same OBR-3 (filler order number) to match the original order
- OBX-11 =
C(Correction) on the corrected result - Updated OBX-5 with the correct value
- OBX-14 with the correction timestamp
The receiving system should display the corrected value while maintaining an audit trail of the original.