This page is part of the HL7 Version 2 to FHIR (v0.1.0: STU 1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions
This ConceptMap represents the mapping from the HL7 V2 OBX Segment to the FHIR Observation Resource. See also the FHIR Shorthand or the CSV Source.
HL7 v2 | Condition (IF True, args) | HL7 FHIR | Comments | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sort Order | Identifier | Name | Data Type | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | FHIR Attribute | Extension | Data Type | Cardinality - Min | Cardinality - Max | Data Type Mapping | Assignment | Vocabulary Mapping (IS, ID, CE, CEN, CWE) | |
1 | OBX-1 | Set ID – OBX | SI | 0 | 1 | ||||||||||||
2 | OBX-2 | Value Type | ID | 0 | 1 | ValueType | |||||||||||
3 | OBX-3 | Observation Identifier | CWE | 1 | 1 | Observation.code | Observation.CodeableConcept | 1 | 1 | CWE[CodeableConcept] | |||||||
3 | OBX-3 | Observation Identifier | CWE | 1 | 1 | Observation.component.code | Observation.CodeableConcept | 1 | 1 | CWE[CodeableConcept] | |||||||
4 | OBX-4 | Observation Sub-ID | ST | 0 | 1 | If OBX represents a part of a structure. See implementation guide where sub-id is used for additional guidance | Observation.partOf or Observation.hasMember or Observation.DerivedFrom | ||||||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "NM" | Observation.component.valueQuantity | Observation.quantity | 0 | 1 | |||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 IN ("ST", "FT", "TX") | Any markup in ST, FT or TX data may not present properly given that valueString is a string data type | Observation.component.valueString | Observation.string | 0 | 1 | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 IN ("CF", "CNE", "CWE", "CE") | Observation.component.valueCodeableConcept | Observation.CodeableConcept | 0 | 1 | CWE[CodeableConcept] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "IS" | Observation.component.valueCodeableConcept | Observation.CodeableConcept | 0 | 1 | IS[CodeableConcept] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "DR" | Observation.component.valuePeriod | Observation.Period | 0 | 1 | DR[Period] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 IN ("DTM", "DT") | Observation.component.valueDateTime | Observation.dateTime | 0 | 1 | |||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "NR" | Observation.component.valueRange | Observation.Range | 0 | 1 | NR[Range] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "VR" | Observation.component.valueString | Observation.string | 0 | 1 | OBX-5.1+"-"+OBX-5.2 | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "TM" | Observation.component.valueTime | Observation.time | 0 | 1 | |||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF (OBX-2 EQUALS "SN" AND OBX-5.3 IN (":", "/") | Observation.component.valueRatio | Observation.Ratio | 0 | 1 | SN[Ratio] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "-" | Observation.component.valueRange | Observation.Range | 0 | 1 | SN[Range] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "+" | Observation.component.valueString | Observation.string | 0 | 1 | OBX-5.1+" "+OBX-5.2+" "+OBX-5.3+" "+OBX-5.4 | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+") | Observation.component.valueQuantity | Observation.Quantity | 0 | 1 | SN[Quantity] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "NA" | Observation.component.valueSampledData | Observation.SampledData | 0 | 1 | |||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64" | Observation.component[forEachOBX-5Instance].#ext-valueAttachment# | Observation.Attachment | 0 | 1 | ED[Attachment] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "EI" | |||||||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "RP" | Observation.component[forEachOBX-5Instance]#ext-valueAttachment# | Observation.Attachment | 0 | 1 | RP[Attachment] | ||||||
6 | OBX-6 | Units | CWE | 0 | 1 | IF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+") | Observation.component.valueQuantity | Observation.Quantity | CWE[Quantity] | ||||||||
6 | OBX-6 | Units | CWE | 0 | 1 | IF OBX-2 IN ("NA", "NM") | Observation.component.valueQuantity | Observation.Quantity | CWE[Quantity] | ||||||||
6 | OBX-6 | Units | CWE | 0 | 1 | IF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-" | Observation.component.valueRange.low | Observation.SimpleQuantity | CWE[Quantity] | ||||||||
6 | OBX-6 | Units | CWE | 0 | 1 | IF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-" | Observation.component.valueRange.high | Observation.SimpleQuantity | CWE[Quantity] | ||||||||
6 | OBX-6 | Units | CWE | 0 | 1 | IF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/")) | Observation.component.valueRatio.numerator | Observation.Quantity | CWE[Quantity] | ||||||||
6 | OBX-6 | Units | CWE | 0 | 1 | IF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/")) | Observation.component.valueRatio.denominator | Observation.Quantity | CWE[Quantity] | ||||||||
7 | OBX-7 | References Range | ST | 0 | 1 | Observation.component.referenceRange.text | |||||||||||
8 | OBX-8 | Interpretation Codes | CWE | 0 | -1 | Observation.interpretation | Observation.CodeableConcept | 0 | -1 | CWE[CodeableConcept] | InterpretationCode | ||||||
9 | OBX-9 | Probability | NM | 0 | 1 | ||||||||||||
10 | OBX-10 | Nature of Abnormal Test | ID | 0 | -1 | Observation.component.#ext-natureOfAbnormalTest# | Observation.CodeableConcept | 0 | -1 | CWE[CodeableConcept] | NatureOfAbnormalTesting | ||||||
11 | OBX-11 | Observation Result Status | ID | 1 | 1 | Observation.status | Observation.code | 1 | 1 | ObservationStatus | |||||||
12 | OBX-12 | Effective Date of Reference Range | DTM | 0 | 1 | ||||||||||||
13 | OBX-13 | User Defined Access Checks | ST | 0 | 1 | ||||||||||||
14 | OBX-14 | Date/Time of the Observation | DTM | 0 | 1 | Observation.effectiveDateTime | Observation.dateTime | 0 | 1 | ||||||||
15 | OBX-15 | Producer's ID | CWE | 0 | 1 | Observation.#ext-producerIdentifier# | Observation.CodeableConcept | 0 | 1 | CWE[CodeableConcept] | |||||||
16 | OBX-16 | Responsible Observer | XCN | 0 | -1 | Observation.performer(Observation.PractitionerRole.practitioner(Observation.Practitioner) | Reference(Observation.PractitionerRole) | 0 | -1 | XCN[PractitionerRole] | |||||||
16 | OBX-16 | Responsible Observer | XCN | 0 | -1 | Observation.performer(Observation.PractitionerRole.code | Observation.CodeableConcept | 0 | -1 | ||||||||
17 | OBX-17 | Observation Method | CWE | 0 | -1 | Observation.method | Observation.CodeableConcept | 0 | 1 | CWE[CodeableConcept] | |||||||
18 | OBX-18 | Equipment Instance Identifier | EI | 0 | -1 | Observation.device(Observation.Device.identifier) | Observation.Identifier | 0 | -1 | EI[Identifier] | |||||||
19 | OBX-19 | Date/Time of the Analysis | DTM | 0 | 1 | Observation.#ext-analysisDateTime# | Observation.dateTime | 0 | 1 | ||||||||
20 | OBX-20 | Observation Site | CWE | 0 | -1 | Observation.bodySite | Observation.CodeableConcept | 0 | 1 | CWE[CodeableConcept] | |||||||
21 | OBX-21 | Observation Instance Identifier | EI | 0 | 1 | Observation.identifier | Observation.Identifier | 0 | -1 | EI[Identifier] | |||||||
21 | OBX-21 | Observation Instance Identifier | EI | 0 | 1 | Observation.identifier.type.coding.code | Observation.code | 0 | 1 | "FILL" | |||||||
22 | OBX-22 | Mood Code | CNE | 0 | 1 | ||||||||||||
23 | OBX-23 | Performing Organization Name | XON | 0 | 1 | Observation.performer(Observation.Organization) | Reference(Observation.Organization) | 0 | -1 | XON[Organization] | |||||||
23 | OBX-23 | Performing Organization Name | XON | 0 | 1 | IF OBX-25 VALUED | Observation.performer(Observation.PractitionerRole.organization(Observation.Organization) | Reference(Observation.Organization) | 0 | -1 | XON[Organization] | ||||||
24 | OBX-24 | Performing Organization Address | XAD | 0 | 1 | Observation.performer(Observation.Organization.address) | Observation.Address | 0 | -1 | XAD[Address] | |||||||
24 | OBX-24 | Performing Organization Address | XAD | 0 | 1 | IF OBX-25 VALUED | Observation.performer(Observation.PractitionerRole.organization(Observation.Organization.address) | Observation.Address | 0 | -1 | XAD[Address] | ||||||
25 | OBX-25 | Performing Organization Medical Director | XCN | 0 | 1 | Observation.performer(Observation.PractitionerRole) | Reference(Observation.PractitionerRole) | 0 | 1 | XCN[PractitionerRole] | |||||||
25 | OBX-25 | Performing Organization Medical Director | XCN | 0 | 1 | Observation.performer(Observation.PractitionerRole.code | Observation.code | "#ext-LabMedicalDirector#" | |||||||||
26 | OBX-26 | Patient Results Release Category | ID | 0 | 1 | ||||||||||||
27 | OBX-27 | Root Cause | CWE | 0 | 1 | ||||||||||||
28 | OBX-28 | Local Process Control | CWE | 0 | -1 | ||||||||||||
29 | OBX-29 | Observation Type | ID | 0 | 1 | Observation.#ext-type# | Observation.code | 0 | 1 | ||||||||
30 | OBX-30 | Observation Sub-Type | ID | 0 | 1 | Observation.#ext-subType# | Observation.code | 0 | 1 |
Mapping from OBX to Observation
ACTIVE (not intended for production usage). Published on 2020-08-12 by HL7 International (HL7 Orders and Observations Workgroup: http://hl7.org/Special/committ..., Keith W. Boone: kboone@ainq.com). Copyright (c) 2020, HL7 International, Inc., All Rights Reserved.
This ConceptMap represents a mapping from the HL7 V2 Segment OBX to the FHIR Observation Resource.
Source Concept Details | Relationship | Destination Concept Details | |||||||
Code from | Code from | Code from | Code from | Code from | Code from | Code from | |||
OBX-3 | CWE[CodeableConcept] | is equivalent to | code | ||||||
OBX-3 | CWE[CodeableConcept] | is equivalent to | component[forEachOBX-5Instance].code | ||||||
OBX-5 | is equivalent to | component[forEachOBX-5Instance].valueQuantity | IF OBX-2 EQUALS "NM" | ||||||
OBX-5 | is equivalent to | component[forEachOBX-5Instance].valueString | IF OBX-2 IN ("ST", "FT", "TX") | Any markup in ST, FT or TX data may not present properly given that valueString is a string data type | |||||
OBX-5 | CWE[CodeableConcept] | is equivalent to | component[forEachOBX-5Instance].valueCodeableConcept | IF OBX-2 IN ("CF", "CNE", "CWE", "CE") | |||||
OBX-5 | IS[CodeableConcept] | is equivalent to | component[forEachOBX-5Instance].valueCodeableConcept | IF OBX-2 EQUALS "IS" | |||||
OBX-5 | DR[Period] | is equivalent to | component[forEachOBX-5Instance].valuePeriod | IF OBX-2 EQUALS "DR" | |||||
OBX-5 | is equivalent to | component[forEachOBX-5Instance].valueDateTime | IF OBX-2 IN ("DTM", "DT") | ||||||
OBX-5 | NR[Range] | is equivalent to | component[forEachOBX-5Instance].valueRange | IF OBX-2 EQUALS "NR" | |||||
OBX-5 | OBX-5.1+"-"+OBX-5.2 | is equivalent to | component[forEachOBX-5Instance].valueString | IF OBX-2 EQUALS "VR" | |||||
OBX-5 | is equivalent to | component[forEachOBX-5Instance].valueTime | IF OBX-2 EQUALS "TM" | ||||||
OBX-5 | SN[Ratio] | is equivalent to | component[forEachOBX-5Instance].valueRatio | IF (OBX-2 EQUALS "SN" AND OBX-5.3 IN (":", "/") | |||||
OBX-5 | SN[Range] | is equivalent to | component[forEachOBX-5Instance].valueRange | IF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "-" | |||||
OBX-5 | OBX-5.1+" "+OBX-5.2+" "+OBX-5.3+" "+OBX-5.4 | is equivalent to | component[forEachOBX-5Instance].valueString | IF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "+" | |||||
OBX-5 | SN[Quantity] | is equivalent to | component[forEachOBX-5Instance].valueQuantity | IF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+") | |||||
OBX-5 | is equivalent to | component[forEachOBX-5Instance].valueSampledData | IF OBX-2 EQUALS "NA" | ||||||
OBX-6 | CWE[Quantity] | is equivalent to | component[forEachOBX-5Instance].valueQuantity | IF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+") | |||||
OBX-6 | CWE[Quantity] | is equivalent to | component[forEachOBX-5Instance].valueQuantity | IF OBX-2 IN ("NA", "NM") | |||||
OBX-6 | CWE[Quantity] | is equivalent to | component[forEachOBX-5Instance].valueRange.low | IF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-" | |||||
OBX-6 | CWE[Quantity] | is equivalent to | component[forEachOBX-5Instance].valueRange.high | IF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-" | |||||
OBX-6 | CWE[Quantity] | is equivalent to | component[forEachOBX-5Instance].valueRatio.numerator | IF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/")) | |||||
OBX-6 | CWE[Quantity] | is equivalent to | component[forEachOBX-5Instance].valueRatio.denominator | IF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/")) | |||||
OBX-7 | is equivalent to | component[forEachOBX-5Instance].referenceRange.text | |||||||
OBX-8 | CWE[CodeableConcept] | InterpretationCode | is equivalent to | interpretation | |||||
OBX-11 | ObservationStatus | is equivalent to | status | ||||||
OBX-14 | is equivalent to | effectiveDateTime | |||||||
OBX-16 | XCN[PractitionerRole] | is equivalent to | performer[1](PractitionerRole.practitioner(Practitioner)) | ||||||
OBX-16 | is equivalent to | performer[1](PractitionerRole.code | |||||||
OBX-17 | CWE[CodeableConcept] | is equivalent to | method | ||||||
OBX-18 | EI[Identifier] | is equivalent to | device(Device.identifier) | ||||||
OBX-20 | CWE[CodeableConcept] | is equivalent to | bodySite | ||||||
OBX-21 | EI[Identifier] | is equivalent to | identifier | ||||||
OBX-21 | "FILL" | is equivalent to | identifier.type.coding.code | ||||||
OBX-23 | XON[Organization] | is equivalent to | performer[2](Organization) | ||||||
OBX-23 | XON[Organization] | is equivalent to | performer[3](PractitionerRole.organization(Organization)) | IF OBX-25 VALUED | |||||
OBX-24 | XAD[Address] | is equivalent to | performer[2](Organization.address) | ||||||
OBX-24 | XAD[Address] | is equivalent to | performer[3](PractitionerRole.organization(Organization.address)) | IF OBX-25 VALUED | |||||
OBX-25 | XCN[PractitionerRole] | is equivalent to | performer[3](PractitionerRole) | ||||||
OBX-25 | "#ext-LabMedicalDirector#" | is equivalent to | performer[3](PractitionerRole.code |