HL7 Version 2 to FHIR
1.0.0-ballot - ballot International flag

This page is part of the HL7 Version 2 to FHIR (v1.0.0-ballot: STU1 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

ConceptMap: Segment OBX to Observation Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/segment-obx-to-observation Version: 1.0.0-ballot
Active as of 2023-12-19 Computable Name: SegmentOBXToObservation

Copyright/Legal: 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.

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 v2Condition (IF True, args)HL7 FHIRComments
Sort OrderIdentifierNameData TypeCardinality - MinCardinality - MaxComputable ANTLRComputable FHIRPathNarrativeFHIR AttributeExtensionData TypeCardinality - MinCardinality - MaxData Type MappingAssignmentVocabulary Mapping
(IS, ID, CE, CEN, CWE)
1OBX-1Set ID – OBXSI01
2OBX-2Value TypeID01ValueType
3OBX-3Observation IdentifierCWE11Observation.codeObservation.CodeableConcept11CWE[CodeableConcept]
4OBX-4Observation Sub-IDOG01Map to Observation.partOf or Observation.hasMember or Observation.DerivedFrom according to the implementation guidance for the v2 message at hand, otherwise map to the extension-sub-id to enable the final destination to determine how to structure the observations.extension??-subId
5OBX-5Observation Valuevaries0-1IF OBX-5 LST.count GREATER THAN 1
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "NM"Observation.valueQuantity.valueObservation.quantity01NM[Quantity]
5OBX-5Observation Valuevaries0-1IF 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 typeObservation.valueStringObservation.string01
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "CF"Observation.valueCodeableConceptObservation.CodeableConcept01CF[CodeableConcept]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "CNE"Observation.valueCodeableConceptObservation.CodeableConcept01CNE[CodeableConcept]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "CE"Observation.valueCodeableConceptObservation.CodeableConcept01CE[CodeableConcept]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "CWE"Observation.valueCodeableConceptObservation.CodeableConcept01CWE[CodeableConcept]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "IS"Observation.valueCodeableConceptObservation.CodeableConcept01IS[CodeableConcept]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "DR"Observation.valuePeriodObservation.Period01DR[Period]
5OBX-5Observation Valuevaries0-1IF OBX-2 IN ("DTM", "DT")Observation.valueDateTimeObservation.dateTime01
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "NR"Observation.valueRangeObservation.Range01NR[Range]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "VR"Observation.valueStringObservation.string01OBX-5.1+"-"+OBX-5.2
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "TM"Observation.valueTimeObservation.time01
5OBX-5Observation Valuevaries0-1IF (OBX-2 EQUALS "SN" AND OBX-5.3 IN (":", "/")Observation.valueRatioObservation.Ratio01SN[Ratio]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "-"Observation.valueRangeObservation.Range01SN[Range]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "+"Observation.valueStringObservation.string01OBX-5.1+" "+OBX-5.2+" "+OBX-5.3+" "+OBX-5.4
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+")Observation.valueQuantityObservation.Quantity01SN[Quantity]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "NA"Observation.valueSampledDataObservation.SampledData
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64"Observation.extension.urlObservation.uri11"https://hl7.org/fhir/R5/StructureDefinition/extension-Observation.valueAttachment
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64"Observation.extension.valueAttachmentObservation.Attachment11ED[Attachment]
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "EI"
OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "RP"Observation.extension.urlObservation.uri11"https://hl7.org/fhir/R5/StructureDefinition/extension-Observation.valueAttachment
5OBX-5Observation Valuevaries0-1IF OBX-2 EQUALS "RP"Observation.extension.valueAttachmentObservation.Attachment11ED[Attachment]
6OBX-6UnitsCWE01IF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+")Observation.valueQuantityObservation.QuantityCWE[Quantity]
6OBX-6UnitsCWE01IF OBX-2 IN ("NA", "NM")Observation.valueQuantityObservation.QuantityCWE[Quantity]
6OBX-6UnitsCWE01IF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-"Observation.valueRange.lowObservation.SimpleQuantityCWE[Quantity]
6OBX-6UnitsCWE01IF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-"Observation.valueRange.highObservation.SimpleQuantityCWE[Quantity]
6OBX-6UnitsCWE01IF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/"))Observation.valueRatio.numeratorObservation.QuantityCWE[Quantity]
6OBX-6UnitsCWE01IF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/"))Observation.valueRatio.denominatorObservation.QuantityCWE[Quantity]
7OBX-7References RangeST01Observation.referenceRange.textObservation.string0-1
8OBX-8Interpretation CodesCWE0-1Observation.interpretationObservation.CodeableConcept0-1CWE[CodeableConcept]InterpretationCode
9OBX-9ProbabilityNM01
10OBX-10Nature of Abnormal TestID0-1Observation.extension.uriObservation.uri0-1"http://hl7.org/fhir/StructureDefinition/observation-nature-of-abnormal-test"
10OBX-10Nature of Abnormal TestID0-1Observation.extension.valueCodeableConceptObservation.CodeableConcept0-1CWE[CodeableConcept]NatureOfAbnormalTesting
11OBX-11Observation Result StatusID11Observation.statusObservation.code11ObservationStatus
11OBX-11Observation Result StatusID11IF OBX-11 IS "X"Observation.dataAbsentReason.coding.codeObservation.CodeableConcept/cannot-be-obtained/
11OBX-11Observation Result StatusID11IF OBX-11 IS "X"Observation.dataAbsentReason.coding.systemObservation.uri"http://terminology.hl7.org/CodeSystem/data-absent-reason"
11OBX-11Observation Result StatusID11IF OBX-11 IS "N"Observation.dataAbsentReason.coding.code"not-asked"
11OBX-11Observation Result StatusID11IF OBX-11 IS "N"Observation.dataAbsentReason.coding.system"http://terminology.hl7.org/CodeSystem/data-absent-reason"
12OBX-12Effective Date of Reference RangeDTM01
13OBX-13User Defined Access ChecksST01
14OBX-14Date/Time of the ObservationDTM01Observation.effectiveDateTimeObservation.dateTime01
15OBX-15Producer's IDCWE01Observation.performer(Observation.Organization)Observation.identifier01CWE[Organization]
15OBX-15Producer's IDCWE01Observation.performer(Observation.PractitionerRole)
16OBX-16Responsible ObserverXCN0-1Observation.performer(Observation.PractitionerRole.practitioner(Observation.Practitioner)Reference(Observation.PractitionerRole)0-1XCN[Practitioner]
16OBX-16Responsible ObserverXCN0-1Observation.performer(Observation.PractitionerRole.code.coding.code)Observation.CodeableConcept0-1"responsibleObserver"
16OBX-16Responsible ObserverXCN0-1Observation.performer(Observation.PractitionerRole.code.coding.system)Observation.CodeableConcept0-1"http://terminology.hl7.org/CodeSystem/practitioner-role"
17OBX-17Observation MethodCWE0-1Observation.methodObservation.CodeableConcept01CWE[CodeableConcept]
18OBX-18Equipment Instance IdentifierEI0-1Observation.device(Observation.Device.identifier)Observation.Identifier01EI[Identifier-Extension]
19OBX-19Date/Time of the AnalysisDTM01Observation.extension.urlObservation.uri01
19OBX-19Date/Time of the AnalysisDTM01Observation.extension.valueDateTimeObservation.dateTime01
20OBX-20Observation SiteCWE0-1Observation.bodySiteObservation.CodeableConcept01CWE[CodeableConcept]
21OBX-21Observation Instance IdentifierEI01Observation.identifierObservation.Identifier0-1EI[Identifier-Extension]
21OBX-21Observation Instance IdentifierEI01Observation.identifier.type.coding.codeObservation.code01"FILL"
22OBX-22Mood CodeCNE01
23OBX-23Performing Organization NameXON01IF OBX-25 NOT VALUEDObservation.performer(Observation.Organization)Reference(Observation.Organization)0-1XON[Organization]
23OBX-23Performing Organization NameXON01IF OBX-25 VALUEDObservation.performer(Observation.PractitionerRole.organization(Observation.Organization)Reference(Observation.Organization)0-1XON[Organization]
24OBX-24Performing Organization AddressXAD01IF OBX-25 NOT VALUEDObservation.performer(Observation.Organization.address)Observation.Address0-1XAD[Address]
24OBX-24Performing Organization AddressXAD01IF OBX-25 VALUEDObservation.performer(Observation.PractitionerRole.organization(Observation.Organization.address)Observation.Address0-1XAD[Address]
25OBX-25Performing Organization Medical DirectorXCN01Observation.performer(Observation.PractitionerRole.practitioner)Reference(Observation.PractitionerRole)01XCN[PractitionerRole]
25OBX-25Performing Organization Medical DirectorXCN01Observation.performer(Observation.PractitionerRole.code.coding.code)Observation.code"MDIR"
25OBX-25Performing Organization Medical DirectorXCN01Observation.performer(Observation.PractitionerRole.code.coding.system)"http://terminology.hl7.org/CodeSystem/v2-0912"
26OBX-26Patient Results Release CategoryID01
27OBX-27Root CauseCWE01
28OBX-28Local Process ControlCWE0-1
29OBX-29Observation TypeID01
30OBX-30Observation Sub-TypeID01extension??-subTypeObservation.code01
31OBX-31Action CodeID01
32OBX-32Observation Value Absent ReasonCWE0-1
33OBX-33Observation Related Specimen IdentifierEIP0-1IF OBX-33 COUNT>1Observation.extension.uriReference01"http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.specimen
33OBX-33Observation Related Specimen IdentifierEIP0-1IF OBX-33 COUNT>1Observation.extension.valueReference(Observation.Group.member.entity(Observation.Specimen.identifier)01
33OBX-33Observation Related Specimen IdentifierEIP0-1IF OBX-33 COUNT>1Observation.extension.uri01"http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.specimen
33OBX-33Observation Related Specimen IdentifierEIP0-1IF OBX-33 COUNT>1Observation.extension.valueReference(Observation.Group.member.entity(Observation.Specimen.identifier)01
33OBX-33Observation Related Specimen IdentifierEIP0-1IF OBX-33 COUNT=1Observation.specimen(Observation.Specimen.identifier)Observation.IdentifierEIP[Identifier-PlacerAssignedIdentifier]
33OBX-33Observation Related Specimen IdentifierEIP0-1IF OBX-33 COUNT=1Observation.specimen(Observation.Specimen.identifier)Observation.IdentifierEIP[Identifier-FillerAssignedIdentifier]

Mapping from OBX to Observation

ACTIVE (not intended for production usage). Published on 2023-12-19 by HL7 International / Orders and Observations (HL7 Orders and Observations Workgroup: http://www.hl7.org/Special/com..., Keith W. Boone: kboone@ainq.com, Rob Hausam: rrhausam@gmail.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.


Group 1Mapping from unspecified code system to unspecified code system

Source Concept DetailsRelationshipTarget Concept DetailsProperties
Codes from vocabularymapdatatypemapvalueCodes from antlrnarrative
OBX-3Observation IdentifierCWE[CodeableConcept]is equivalent tocodecode
OBX-5Observation ValueNM[Quantity]is equivalent tovalueQuantity.valuevalueQuantity.valueIF OBX-2 EQUALS "NM"
OBX-5Observation Valueis equivalent tovalueStringvalueStringIF 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-5Observation ValueCF[CodeableConcept]is equivalent tovalueCodeableConceptvalueCodeableConceptIF OBX-2 EQUALS "CF"
OBX-5Observation ValueCNE[CodeableConcept]is equivalent tovalueCodeableConceptvalueCodeableConceptIF OBX-2 EQUALS "CNE"
OBX-5Observation ValueCE[CodeableConcept]is equivalent tovalueCodeableConceptvalueCodeableConceptIF OBX-2 EQUALS "CE"
OBX-5Observation ValueCWE[CodeableConcept]is equivalent tovalueCodeableConceptvalueCodeableConceptIF OBX-2 EQUALS "CWE"
OBX-5Observation ValueIS[CodeableConcept]is equivalent tovalueCodeableConceptvalueCodeableConceptIF OBX-2 EQUALS "IS"
OBX-5Observation ValueDR[Period]is equivalent tovaluePeriodvaluePeriodIF OBX-2 EQUALS "DR"
OBX-5Observation Valueis equivalent tovalueDateTimevalueDateTimeIF OBX-2 IN ("DTM", "DT")
OBX-5Observation ValueNR[Range]is equivalent tovalueRangevalueRangeIF OBX-2 EQUALS "NR"
OBX-5Observation ValueOBX-5.1+"-"+OBX-5.2is equivalent tovalueStringvalueStringIF OBX-2 EQUALS "VR"
OBX-5Observation Valueis equivalent tovalueTimevalueTimeIF OBX-2 EQUALS "TM"
OBX-5Observation ValueSN[Ratio]is equivalent tovalueRatiovalueRatioIF (OBX-2 EQUALS "SN" AND OBX-5.3 IN (":", "/")
OBX-5Observation ValueSN[Range]is equivalent tovalueRangevalueRangeIF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "-"
OBX-5Observation ValueOBX-5.1+" "+OBX-5.2+" "+OBX-5.3+" "+OBX-5.4is equivalent tovalueStringvalueStringIF OBX-2 EQUALS "SN" and OBX-5.3 EQUALS "+"
OBX-5Observation ValueSN[Quantity]is equivalent tovalueQuantityvalueQuantityIF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+")
OBX-5Observation Valueis equivalent tovalueSampledDatavalueSampledDataIF OBX-2 EQUALS "NA"
OBX-5Observation Value"https://hl7.org/fhir/R5/StructureDefinition/extension-Observation.valueAttachmentis equivalent toextension[1].urlextension[1].urlIF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64"
OBX-5Observation ValueED[Attachment]is equivalent toextension[1].valueAttachmentextension[1].valueAttachmentIF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64"
OBX-5Observation Value"https://hl7.org/fhir/R5/StructureDefinition/extension-Observation.valueAttachmentis equivalent toextension[1].urlextension[1].urlIF OBX-2 EQUALS "RP"
OBX-5Observation ValueED[Attachment]is equivalent toextension[1].valueAttachmentextension[1].valueAttachmentIF OBX-2 EQUALS "RP"
OBX-6UnitsCWE[Quantity]is equivalent tovalueQuantityvalueQuantityIF OBX-2 EQUALS "SN" and OBX-5.3 NOT IN (":", "/", "-", "+")
OBX-6UnitsCWE[Quantity]is equivalent tovalueQuantityvalueQuantityIF OBX-2 IN ("NA", "NM")
OBX-6UnitsCWE[Quantity]is equivalent tovalueRange.lowvalueRange.lowIF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-"
OBX-6UnitsCWE[Quantity]is equivalent tovalueRange.highvalueRange.highIF OBX-2 EQUALS "SN" AND OBX-5.3 EQUALS "-"
OBX-6UnitsCWE[Quantity]is equivalent tovalueRatio.numeratorvalueRatio.numeratorIF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/"))
OBX-6UnitsCWE[Quantity]is equivalent tovalueRatio.denominatorvalueRatio.denominatorIF (OBX-2 EQUALS "SN" AND (OBX-5.3 IN (":", "/"))
OBX-7References Rangeis equivalent toreferenceRange.textreferenceRange.text
OBX-8Interpretation CodesInterpretationCodeCWE[CodeableConcept]is equivalent tointerpretationinterpretation
OBX-10Nature of Abnormal Test"http://hl7.org/fhir/StructureDefinition/observation-nature-of-abnormal-test"is equivalent toextension[2].uriextension[2].uri
OBX-10Nature of Abnormal TestNatureOfAbnormalTestingCWE[CodeableConcept]is equivalent toextension[2].valueCodeableConceptextension[2].valueCodeableConcept
OBX-11Observation Result StatusObservationStatusis equivalent tostatusstatus
OBX-11Observation Result Status/cannot-be-obtained/is equivalent todataAbsentReason.coding[1].codedataAbsentReason.coding[1].codeIF OBX-11 IS "X"
OBX-11Observation Result Status"http://terminology.hl7.org/CodeSystem/data-absent-reason"is equivalent todataAbsentReason.coding[1].systemdataAbsentReason.coding[1].systemIF OBX-11 IS "X"
OBX-11Observation Result Status"not-asked"is equivalent todataAbsentReason.coding[2].codedataAbsentReason.coding[2].codeIF OBX-11 IS "N"
OBX-11Observation Result Status"http://terminology.hl7.org/CodeSystem/data-absent-reason"is equivalent todataAbsentReason.coding[2].systemdataAbsentReason.coding[2].systemIF OBX-11 IS "N"
OBX-14Date/Time of the Observationis equivalent toeffectiveDateTimeeffectiveDateTime
OBX-15Producer's IDCWE[Organization]is equivalent toperformer[2](Organization)performer[2](Organization)
OBX-15Producer's IDis equivalent toperformer[2](PractitionerRole)performer[2](PractitionerRole)
OBX-16Responsible ObserverXCN[Practitioner]is equivalent toperformer[1](PractitionerRole.practitioner(Practitioner))performer[1](PractitionerRole.practitioner(Practitioner))
OBX-16Responsible Observer"responsibleObserver"is equivalent toperformer[1](PractitionerRole.code.coding.code)performer[1](PractitionerRole.code.coding.code)
OBX-16Responsible Observer"http://terminology.hl7.org/CodeSystem/practitioner-role"is equivalent toperformer[1](PractitionerRole.code.coding.system)performer[1](PractitionerRole.code.coding.system)
OBX-17Observation MethodCWE[CodeableConcept]is equivalent tomethodmethod
OBX-18Equipment Instance IdentifierEI[Identifier-Extension]is equivalent todevice(Device.identifier)device(Device.identifier)
OBX-19Date/Time of the Analysisis equivalent toextension[2].urlextension[2].url
OBX-19Date/Time of the Analysisis equivalent toextension[2].valueDateTimeextension[2].valueDateTime
OBX-20Observation SiteCWE[CodeableConcept]is equivalent tobodySitebodySite
OBX-21Observation Instance IdentifierEI[Identifier-Extension]is equivalent toidentifieridentifier
OBX-21Observation Instance Identifier"FILL"is equivalent toidentifier.type.coding.codeidentifier.type.coding.code
OBX-23Performing Organization NameXON[Organization]is equivalent toperformer[2](Organization)performer[2](Organization)IF OBX-25 NOT VALUED
OBX-23Performing Organization NameXON[Organization]is equivalent toperformer[2](PractitionerRole[1].organization(Organization))performer[2](PractitionerRole[1].organization(Organization))IF OBX-25 VALUED
OBX-24Performing Organization AddressXAD[Address]is equivalent toperformer[2](Organization.address)performer[2](Organization.address)IF OBX-25 NOT VALUED
OBX-24Performing Organization AddressXAD[Address]is equivalent toperformer[2](PractitionerRole[1].organization(Organization.address))performer[2](PractitionerRole[1].organization(Organization.address))IF OBX-25 VALUED
OBX-25Performing Organization Medical DirectorXCN[PractitionerRole]is equivalent toperformer[2](PractitionerRole[1].practitioner)performer[2](PractitionerRole[1].practitioner)
OBX-25Performing Organization Medical Director"MDIR"is equivalent toperformer[2](PractitionerRole[1].code.coding.code)performer[2](PractitionerRole[1].code.coding.code)
OBX-25Performing Organization Medical Director"http://terminology.hl7.org/CodeSystem/v2-0912"is equivalent toperformer[2](PractitionerRole[1].code.coding.system)performer[2](PractitionerRole[1].code.coding.system)
OBX-33Observation Related Specimen Identifier"http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.specimenis equivalent toextension[1].uriextension[1].uriIF OBX-33 COUNT>1
OBX-33Observation Related Specimen Identifieris equivalent toextension[1].valueReference(Group.member.entity(Specimen.identifier[1])extension[1].valueReference(Group.member.entity(Specimen.identifier[1])IF OBX-33 COUNT>1
OBX-33Observation Related Specimen Identifier"http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.specimenis equivalent toextension[2].uriextension[2].uriIF OBX-33 COUNT>1
OBX-33Observation Related Specimen Identifieris equivalent toextension[2].valueReference(Group.member.entity(Specimen.identifier[2]))extension[2].valueReference(Group.member.entity(Specimen.identifier[2]))IF OBX-33 COUNT>1
OBX-33Observation Related Specimen IdentifierEIP[Identifier-PlacerAssignedIdentifier]is equivalent tospecimen(Specimen.identifier[1])specimen(Specimen.identifier[1])IF OBX-33 COUNT=1
OBX-33Observation Related Specimen IdentifierEIP[Identifier-FillerAssignedIdentifier]is equivalent tospecimen(Specimen.identifier[2])specimen(Specimen.identifier[2])IF OBX-33 COUNT=1

Notes: