Table 0085 is the per-observation lifecycle flag. While OBR-25 (HL70123) reports the status of the whole order, OBX-11 reports the status of a single result inside that order — and the two often disagree. A glucose can be F (final) while the rest of the metabolic panel is still P (preliminary); a single corrected potassium can carry C while the report header stays F. Receivers that ignore OBX-11 and rely only on the order-level status will mis-chart corrections and miss deletes.
The table is small — twelve codes — but it encodes three different workflow concepts: the result's analytical state (I, R, S, P, F), the operator's intent (C, D, W, U), and a handful of negative-result modes (N, O, X). Engines must treat each code as a directive about how to merge the inbound OBX into the patient's chart, not as a label to display.
Purpose
Table 0085 carries the lifecycle status of a single observation — whether an OBX result is in the lab, preliminary, final, corrected, deleted, or was never asked for. It is the directive a receiver reads to decide how to merge an inbound OBX into the patient's chart.
Because the table is HL7-defined, conformant receivers are expected to recognise its codes without local negotiation. Each code is an instruction about charting behaviour, not merely a label to display.
Where it's used
| Field | Segment | Cardinality | Notes |
|---|---|---|---|
| OBX-11 | OBX Observation/Result | 1 | The canonical use. Required on every OBX; receivers must parse it before charting the value. |
OBX-11 is the only standard location. Local profiles occasionally reuse 0085 on Z-segments that mirror OBX semantics, but those are out-of-spec extensions.
Code list
The complete list below reflects the v2.8.1 publication of table 0085 as hosted on terminology.hl7.org. Codes are case-sensitive single letters.
| Code | Display | Comment |
|---|---|---|
| C | Record coming over is a correction and replaces a final result | |
| D | Deletes the OBX record | |
| F | Final results — can only be changed with a corrected result | |
| I | Specimen in lab; results pending | |
| N | Not asked; affirmatively documents this observation was not sought | |
| O | Order detail description only (no result) | |
| P | Preliminary results | |
| R | Results entered — not verified | |
| S | Partial results | |
| U | Results status change to final without retransmitting results | |
| W | Post original as wrong (e.g. wrong patient) | |
| X | Results cannot be obtained for this observation |
Code groupings
The 0085 alphabet collapses several workflow concepts into one field:
- Analytical progress —
I(in lab),S(partial),R(entered, not verified),P(preliminary),F(final). The forward lifecycle of a result as it moves from accession through verification. - Amendments —
C(correction replacing a prior final),U(silent upgrade to final without resending the value). - Retractions —
D(delete this OBX),W(the original was wrong — e.g., wrong patient). - Negative-result modes —
N(not asked),O(order detail only, no result),X(cannot be obtained).
Code system OID
- OID:
2.16.840.1.113883.18.27 - Canonical URI:
http://terminology.hl7.org/CodeSystem/v2-0085
Table 0085 was first introduced in HL7 v2.2 and remains active — the canonical per-observation status vocabulary in HL7 v2, with FHIR Observation.status the strategic target for cross-paradigm exchange. Vorro emits this OID in CWE.14 when a downstream profile demands OID-bound coded values.
HL7-defined vs user-defined
Table 0085 is HL7-defined. Its number falls inside the HL7-reserved range (HL70001–HL70999) and the code set is normative — receivers are expected to accept the published codes without local extension, and senders must not invent additional codes inside this table. Sites needing a concept not covered by 0085 should carry it on a CWE field bound to a different coding system rather than extending 0085 locally.
Examples
- Preliminary then final —
OBX|1|NM|...|F|||Pfollowed later byOBX|1|NM|...|F|||F. - Correction —
OBX|2|NM|2823-3^Potassium^LN||5.8|mmol/L|3.5-5.1|H|||C— replaces the previously transmitted final. - Delete —
OBX|3|NM|...|||||||D— receiver removes the prior OBX with the same sub-ID. - Cannot obtain —
OBX|4|ST|...|||||||X— specimen unsuitable, hemolyzed, QNS. - Not asked —
OBX|5|ST|72166-2^Smoking status^LN||||||||N— affirmative absence, not a missing field. - Wrong patient —
OBX|6|NM|...|||||||W— the original posting was on the wrong chart; retract.
Version differences
- v2.2 — Original list:
F,P,C,D,R,S,I,O,X. - v2.3 — Added
U(silent upgrade to final) to support batch-finalization workflows. - v2.4 — Added
W(post original as wrong) to distinguish operator error from amendment. - v2.5 — Added
N(not asked) for affirmative documentation of absent observations. - v2.6–v2.8.1 — No new codes; descriptions refined and OID/system URI formally registered on terminology.hl7.org.
Common mistakes
- Treating
Cas "another result" —Cis a replacement. Receivers that append rather than replace will end up with duplicate charted values. - Ignoring
DandW— both retract a prior posting. Engines that silently acceptDwithout removing the original leave the wrong value on the chart. - Confusing
Nwith a missing field —Nis an affirmative "we did not ask." Empty OBX-5 with statusFmeans the test was done and had no value;Nmeans the question was never posed. - Charting
Rresults as final —Rmeans "entered but not verified" — typically a tech's first pass before the pathologist signs out. ChartingRas final shortcuts the lab's verification workflow. - Confusing OBX-11
R(entered, not verified) with HL70078R(resistant) or HL70123R(results stored, not verified) — three tables, same letter, different fields. Key off the field position, not the code.
FHIR mapping
OBX-11 maps to Observation.status in FHIR R4, bound to the observation-status value set. The v2-to-FHIR IG publishes ConceptMap-table-hl70085-to-observation-status.
| HL7 v2 0085 | FHIR Observation.status |
|---|---|
| I | registered |
| R | preliminary |
| S | preliminary |
| P | preliminary |
| F | final |
| C | corrected |
| U | final |
| D | entered-in-error |
| W | entered-in-error |
| X | cancelled |
| N | cancelled (with note) |
| O | registered |
The mapping collapses some distinctions: D and W both land on entered-in-error; R, S, and P all collapse to preliminary. Receivers that need to preserve the v2 distinction should retain the original code in an extension.
Engine considerations
- Sub-ID-keyed replacement —
C,D,U, andWall reference a prior OBX. The match key is OBR identifiers + OBX-3 (Observation Identifier) + OBX-4 (Sub-ID). Engines must implement this lookup or corrections will silently fail. - Status conflict with OBR-25 — OBX-11 and OBR-25 (HL70123) often disagree mid-workflow. Trust OBX-11 for the individual result; OBR-25 reflects the report header.
- Idempotency of
U—Uupgrades a previously transmittedPvalue toFwithout resending the value. Receivers must look up the prior OBX and change its status in place; if no prior exists,Uis a no-op (log and ignore). - Case sensitivity — codes are single upper-case letters. Lower-case
fis notF; reject or correct with a warning.
How Vorro handles HL70085
Vorro parses OBX-11 as a directive, not a label. Each inbound OBX is classified as create, amend, retract, or noop based on the status code, and the engine maintains a result-keyed store so corrections (C), deletes (D), wrong-patient retractions (W), and silent upgrades (U) resolve against the right prior posting. The original v2 code is preserved on the event payload alongside the FHIR Observation.status projection so downstream consumers can choose either vocabulary.
Related pages
- OBX segment
- HL70078 Abnormal Flags / Interpretation Codes
- HL70123 Result Status (OBR-25)
- CWE data type — Coded With Exceptions
