HL7 Version 2 to FHIR, published by HL7 International / Orders and Observations. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/v2-to-fhir/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/uv/v2mappings/segment-obx-component-to-observation | Version: 1.0.0-ballot | |||
Active as of 2024-12-20 | Computable Name: SegmentOBXComponentToObservation | |||
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 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 | Vocabulary Mapping (IS, ID, CE, CEN, CWE) | Assignment | |
1 | OBX-1 | Set ID – OBX | SI | 0 | 1 | ||||||||||||
2 | OBX-2 | Value Type | ID | 0 | 1 | OBX-2 determines the flavor of Observation.value[x] is used in OBX-5 | |||||||||||
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 | Map 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. | Observation.$this | OG[Extension-Subidentifier] | OBX-4 Sub Identifier would determine how to use Observation.partOf or Observation.hasMember or Observation.DerivedFrom, but is highly dependent on the local implementation of OBX-4 or an implementation guide (e.g., LRI, Clinical Genomics). That is not known at the standard level, so we cannot provide specific mapping guidance here. However, if the mapper does not have access to the syntax used and its meaning, we need to be able to pass on OBX-4 Sub Identifier to the final destination that should know how to then structure it using FHIR attributes. | ||||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "NM" | Observation.component.valueQuantity | Observation.quantity | 0 | 1 | NM[Quantity] | ||||||
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 EQUALS "CF" | Observation.component.valueCodeableConcept | Observation.CodeableConcept | 0 | 1 | CF[CodeableConcept] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "CNE" | Observation.component.valueCodeableConcept | Observation.CodeableConcept | 0 | 1 | CNE[CodeableConcept] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "CE" | Observation.component.valueCodeableConcept | Observation.CodeableConcept | 0 | 1 | CE[CodeableConcept] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "CWE" | 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.1 EQUALS "<>" | Observation.component.valueString | Observation.string | 0 | 1 | OBX-5.1+" "+OBX-5.2+" "+OBX-5.3+" "+OBX-5.4" "OBX-6" | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "SN" AND OBX-5.1 NOT EQUALS "<>" 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.1 NOT EQUALS "<>" 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.1 NOT EQUALS "<>" AND OBX-5.3 EQUALS "+" | Observation.component.valueString | Observation.string | 0 | 1 | OBX-5.1+" "+OBX-5.2+" "+OBX-5.3+" "+OBX-5.4" "OBX-6" | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "SN" AND OBX-5.1 NOT EQUALS "<>" AND OBX-5.3 NOT IN (":", "/", "-", "+") | Observation.component.valueQuantity | Observation.Quantity | 0 | 1 | SN[Quantity] | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | If line 19 through 23 all fail while OBX-2 = SN | Observation.component.valueString | Observation.string | 0 | 1 | OBX-5.1+" "+OBX-5.2+" "+OBX-5.3+" "+OBX-5.4" "OBX-6" | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "NA" | Observation.component.valueSampledData | Observation.SampledData | 0 | 1 | Need to add text on converting from NA to SampledData | ||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64" | If none of the other observations in OBX-5 are not derived from the documentation included | Observation.component.extension.url | Observation.uri | 1 | 1 | "https://hl7.org/fhir/R5/StructureDefinition/extension-Observation.valueAttachment | Some implementers may include in OBX-5 the documentation that the other OBX-5 components are derived from. In that situations | ||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64" | If none of the other observations in OBX-5 are not derived from the documentation included | Observation.component.extension.valueAttachment | Observation.Attachment | 1 | 1 | ED[Attachment] | We are for now addressing Base64 that cover .pdf, pictures and other binaries. If somebody does this, we will address those. | ||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "ED" AND IF OBX-5.4 EQUALS "Base64" | And if other observation in OBX-5 are derived from the documentation included | Observation.derivedFrom(Observation.DocumentReference) | Reference | ED[DocumentReference] | |||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "EI" | Requires more work to properly map. Use case: An OBX under OBR that points to the calibration/quality control/etc. settings/values/result/etc. that the other OBX-s under the OBR would be "subject" to. | ||||||||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "RP" | If none of the other observations in OBX-5 are not derived from the documentation referenced | Observation.component.extension.url | Observation.uri | 1 | 1 | "https://hl7.org/fhir/R5/StructureDefinition/extension-Observation.valueAttachment | |||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "RP" | If none of the other observations in OBX-5 are not derived from the documentation referenced | Observation.component.extension.valueAttachment | Observation.Attachment | 1 | 1 | RP[Attachment] | To be resolved when we resolve DocumentReference and valueAttachment | ||||
5 | OBX-5 | Observation Value | varies | 0 | -1 | IF OBX-2 EQUALS "RP" | And if other observation in OBX-5 are derived from the documentation being referenced | Observation.derivedFrom(Observation.DocumentReference) | Reference | RP[DocumentReference] | |||||||
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.1 NOT EQUALS "<>" AND OBX-5.3 NOT IN (":", "/", "-", "+") | Observation.component.valueQuantity | Observation.Quantity | CWE[Quantity] | Note that OBX-5 and OBX-6 resolve to different components for the same Quantity data type. | |||||||
6 | OBX-6 | Units | CWE | 0 | 1 | IF OBX-2 EQUALS "SN" AND OBX-5.1 NOT EQUALS "<>" 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.1 NOT EQUALS "<>" 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.1 NOT EQUALS "<>" 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.1 NOT EQUALS "<>" 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 | If OBX-7 is sufficiently parseable, then the low, high, type, appliesTo, and/or age may be used. | ||||||||||
8 | OBX-8 | Interpretation Codes | CWE | 0 | -1 | Observation.interpretation | Observation.CodeableConcept | 0 | -1 | CWE[CodeableConcept] | InterpretationCodes | ||||||
9 | OBX-9 | Probability | NM | 0 | 1 | ||||||||||||
10 | OBX-10 | Nature of Abnormal Test | ID | 0 | -1 | Observation.extension.uri | Observation.uri | 0 | -1 | "http://hl7.org/fhir/StructureDefinition/observation-nature-of-abnormal-test" | |||||||
10 | OBX-10 | Nature of Abnormal Test | ID | 0 | -1 | Observation.extension.valueCodeableConcept | Observation.CodeableConcept | 0 | -1 | CWE[CodeableConcept] | NatureOfAbnormalTesting | ||||||
11 | OBX-11 | Observation Result Status | ID | 1 | 1 | Observation.status | Observation.code | 1 | 1 | ObservationResultStatusCodesInterpretation | |||||||
11 | OBX-11 | Observation Result Status | ID | 1 | 1 | IF OBX-11 IS "X" | Observation.status.extension.url | Observation.uri | "http://hl7.org/fhir/StructureDefinition/alternate-codes" | ||||||||
11 | OBX-11 | Observation Result Status | ID | 1 | 1 | IF OBX-11 IS "X" | Observation.status.extension.valueCodeableConcept.coding.code | Observation.CodeableConcept | "X" | ||||||||
11 | OBX-11 | Observation Result Status | ID | 1 | 1 | IF OBX-11 IS "X" | Observation.status.extension.valueCodeableConcept.coding.system | Observation.string | "http://terminology.hl7.org/CodeSystem/v2-0085" | ||||||||
11 | OBX-11 | Observation Result Status | ID | 1 | 1 | IF OBX-11 IS "N" | Observation.dataAbsentReason.coding.code | "not-asked" | |||||||||
11 | OBX-11 | Observation Result Status | ID | 1 | 1 | IF OBX-11 IS "N" | Observation.dataAbsentReason.coding.system | "http://terminology.hl7.org/CodeSystem/data-absent-reason" | |||||||||
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 | extension??-producerIdentifier | Observation.identifier | 0 | 1 | CWE[Identifier] | |||||||
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.coding.code) | Observation.string | 0 | -1 | "responsibleObserver" | |||||||
16 | OBX-16 | Responsible Observer | XCN | 0 | -1 | Observation.performer(Observation.PractitionerRole.code.coding.system) | Observation.uri | "http://terminology.hl7.org/CodeSystem/practitioner-role" | |||||||||
17 | OBX-17 | Observation Method | CWE | 0 | -1 | Observation.method | Observation.CodeableConcept | 0 | 1 | CWE[CodeableConcept] | The cardinality of Observation.method is 0..1 while the source allows for multiple methods. As we are not aware of anybody populating multiples in HL7 v2, we did not provide further mapping guidance. If you need to support multiples, please submit a gForge to OO for the HL7 v2 to FHIR mapping Implementation Guide. | ||||||
18 | OBX-18 | Equipment Instance Identifier | EI | 0 | -1 | Observation.device(Observation.Device.identifier) | Observation.Identifier | 0 | -1 | EI[Identifier-Extension] | |||||||
19 | OBX-19 | Date/Time of the Analysis | DTM | 0 | 1 | Observation.extension.url | Observation.uri | 0 | 1 | "http://hl7.org/fhir/StructureDefinition/observation-analysis-date-time" | |||||||
19 | OBX-19 | Date/Time of the Analysis | DTM | 0 | 1 | Observation.extension.valueDateTime | Observation.dateTime | 0 | 1 | ||||||||
20 | OBX-20 | Observation Site | CWE | 0 | -1 | Observation.bodySite | Observation.CodeableConcept | 0 | 1 | CWE[CodeableConcept] | The cardinality of Observation.bodySite is 0..1 while the source allows for multiple body sites. As we are not aware of anybody populating multiples in HL7 v2, we did not provide further mapping guidance. If you need to support multiples, please submit a gForge to OO for the HL7 v2 to FHIR mapping Implementation Guide. | ||||||
21 | OBX-21 | Observation Instance Identifier | EI | 0 | 1 | Observation.identifier | Observation.Identifier | 0 | -1 | EI[Identifier-Extension] | |||||||
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.coding.value) | Observation.string | "MDIR" | |||||||||
25 | OBX-25 | Performing Organization Medical Director | XCN | 0 | 1 | Observation.performer(Observation.PractitionerRole.code.coding.system) | Observation.uri | "http://terminology.hl7.org/CodeSystem/v2-0912" | |||||||||
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.category.coding.code | Observation.code | 0 | -1 | ||||||||
29 | OBX-29 | Observation Type | ID | 0 | 1 | Observation.category.coding.system | Observation.uri | 0 | -1 | ||||||||
30 | OBX-30 | Observation Sub-Type | ID | 0 | 1 | Observation.extension.url | Observation.uri | 0 | 1 | "http://hl7.org/fhir/StructureDefinition/observation-structure-type" | |||||||
30 | OBX-30 | Observation Sub-Type | ID | 0 | 1 | Observation.extension.valueCodeableConcept.coding.code | Observation.code | 0 | 1 | ||||||||
30 | OBX-30 | Observation Sub-Type | ID | 0 | 1 | Observation.extension.valueCodeableConcept.coding.system | Observation.uri | 0 | 1 | "http://hl7.org/fhir/StructureDefinition/observation-structure-type" | |||||||
31 | OBX-31 | Action Code | ID | 0 | 1 | ||||||||||||
32 | OBX-32 | Observation Value Absent Reason | CWE | 0 | -1 | ||||||||||||
33 | OBX-33 | Observation Related Specimen Identifier | EIP | 0 | -1 | IF OBX-33 COUNT>1 | Observation.extension.uri | Reference | 0 | 1 | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.specimen | Note that in v2 messages the observations that a calculated observation is derived from on and involve multiple specimens are typically not included with the message. To enable relating the calculated observation to the correct specimens it relates to, the v2 message should include the originating observations that in turn use OBX-33 to link to the correct specimens. Without that, and if there are multiple specimens in OBX-33, there is no standard method to correctly associate the observation with the correct specimens. The implementer will have to devise an appropriate method for that in their context. | |||||
33 | OBX-33 | Observation Related Specimen Identifier | EIP | 0 | -1 | IF OBX-33 COUNT>1 | Observation.extension.valueReference(Observation.Group.member.entity(Observation.Specimen.identifier) | 0 | 1 | ||||||||
33 | OBX-33 | Observation Related Specimen Identifier | EIP | 0 | -1 | IF OBX-33 COUNT>1 | Observation.extension.uri | 0 | 1 | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.specimen | |||||||
33 | OBX-33 | Observation Related Specimen Identifier | EIP | 0 | -1 | IF OBX-33 COUNT>1 | Observation.extension.valueReference(Observation.Group.member.entity(Observation.Specimen.identifier) | 0 | 1 | ||||||||
33 | OBX-33 | Observation Related Specimen Identifier | EIP | 0 | -1 | IF OBX-33 COUNT=1 | Observation.specimen(Observation.Specimen.identifier) | Observation.Identifier | EIP[Identifier-PlacerAssignedIdentifier] | ||||||||
33 | OBX-33 | Observation Related Specimen Identifier | EIP | 0 | -1 | IF OBX-33 COUNT=1 | Observation.specimen(Observation.Specimen.identifier) | Observation.Identifier | EIP[Identifier-FillerAssignedIdentifier] |
Generated Narrative: ConceptMap segment-obx-component-to-observation
Mapping from OBX to Observation
Group 1 Mapping from unspecified code system
to unspecified code system
Source Code | Relationship | Target Code | Comment |
OBX-3 (Observation Identifier) | is equivalent to | code | |
OBX-3 (Observation Identifier) | is equivalent to | component[each].code | |
OBX-4 (Observation Sub-ID) | is equivalent to | $this | OBX-4 Sub Identifier would determine how to use Observation.partOf or Observation.hasMember or Observation.DerivedFrom, but is highly dependent on the local implementation of OBX-4 or an implementation guide (e.g., LRI, Clinical Genomics). That is not known at the standard level, so we cannot provide specific mapping guidance here. However, if the mapper does not have access to the syntax used and its meaning, we need to be able to pass on OBX-4 Sub Identifier to the final destination that should know how to then structure it using FHIR attributes. |
OBX-5 (Observation Value) | is equivalent to | component[each].valueQuantity | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueString | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueCodeableConcept | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueCodeableConcept | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueCodeableConcept | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueCodeableConcept | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueCodeableConcept | |
OBX-5 (Observation Value) | is equivalent to | component[each].valuePeriod | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueDateTime | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueRange | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueString | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueTime | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueString | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueRatio[1] | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueRange[1] | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueString | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueQuantity[1] | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueString | |
OBX-5 (Observation Value) | is equivalent to | component[each].valueSampledData | Need to add text on converting from NA to SampledData |
OBX-5 (Observation Value) | is equivalent to | component[each].extension[1].url | Some implementers may include in OBX-5 the documentation that the other OBX-5 components are derived from. In that situations |
OBX-5 (Observation Value) | is equivalent to | component[each].extension[1].valueAttachment | We are for now addressing Base64 that cover .pdf, pictures and other binaries. If somebody does this, we will address those. |
OBX-5 (Observation Value) | is equivalent to | derivedFrom(DocumentReference) | |
OBX-5 (Observation Value) | is equivalent to | component[each].extension[1].url | |
OBX-5 (Observation Value) | is equivalent to | component[each].extension[1].valueAttachment | To be resolved when we resolve DocumentReference and valueAttachment |
OBX-5 (Observation Value) | is equivalent to | derivedFrom(DocumentReference) | |
OBX-6 (Units) | is equivalent to | component[each].valueQuantity | |
OBX-6 (Units) | is equivalent to | component[each].valueQuantity[1] | Note that OBX-5 and OBX-6 resolve to different components for the same Quantity data type. |
OBX-6 (Units) | is equivalent to | component[each].valueRange[1].low | |
OBX-6 (Units) | is equivalent to | component[each].valueRange[1].high | |
OBX-6 (Units) | is equivalent to | component[each].valueRatio[1].numerator | |
OBX-6 (Units) | is equivalent to | component[each].valueRatio[1].denominator | |
OBX-7 (References Range) | is equivalent to | component[each].referenceRange.text | If OBX-7 is sufficiently parseable, then the low, high, type, appliesTo, and/or age may be used. |
OBX-8 (Interpretation Codes) | is equivalent to | interpretation | |
OBX-10 (Nature of Abnormal Test) | is equivalent to | extension[2].uri | |
OBX-10 (Nature of Abnormal Test) | is equivalent to | extension[2].valueCodeableConcept | |
OBX-11 (Observation Result Status) | is equivalent to | status | |
OBX-11 (Observation Result Status) | is equivalent to | status.extension[1].url | |
OBX-11 (Observation Result Status) | is equivalent to | status.extension[1].valueCodeableConcept.coding.code | |
OBX-11 (Observation Result Status) | is equivalent to | status.extension[1].valueCodeableConcept.coding.system | |
OBX-11 (Observation Result Status) | is equivalent to | dataAbsentReason.coding[2].code | |
OBX-11 (Observation Result Status) | is equivalent to | dataAbsentReason.coding[2].system | |
OBX-14 (Date/Time of the Observation) | is equivalent to | effectiveDateTime | |
OBX-16 (Responsible Observer) | is equivalent to | performer[1](PractitionerRole.practitioner(Practitioner)) | |
OBX-16 (Responsible Observer) | is equivalent to | performer[1](PractitionerRole.code.coding.code) | |
OBX-16 (Responsible Observer) | is equivalent to | performer[1](PractitionerRole.code.coding.system) | |
OBX-17 (Observation Method) | is equivalent to | method | The cardinality of Observation.method is 0..1 while the source allows for multiple methods. As we are not aware of anybody populating multiples in HL7 v2, we did not provide further mapping guidance. If you need to support multiples, please submit a gForge to OO for the HL7 v2 to FHIR mapping Implementation Guide. |
OBX-18 (Equipment Instance Identifier) | is equivalent to | device(Device.identifier) | |
OBX-19 (Date/Time of the Analysis) | is equivalent to | extension[1].url | "http://hl7.org/fhir/StructureDefinition/observation-analysis-date-time" |
OBX-19 (Date/Time of the Analysis) | is equivalent to | extension[1].valueDateTime | |
OBX-20 (Observation Site) | is equivalent to | bodySite | The cardinality of Observation.bodySite is 0..1 while the source allows for multiple body sites. As we are not aware of anybody populating multiples in HL7 v2, we did not provide further mapping guidance. If you need to support multiples, please submit a gForge to OO for the HL7 v2 to FHIR mapping Implementation Guide. |
OBX-21 (Observation Instance Identifier) | is equivalent to | identifier | |
OBX-21 (Observation Instance Identifier) | is equivalent to | identifier.type.coding.code | |
OBX-23 (Performing Organization Name) | is equivalent to | performer[2](Organization) | |
OBX-23 (Performing Organization Name) | is equivalent to | performer[2](PractitionerRole.organization(Organization)) | |
OBX-24 (Performing Organization Address) | is equivalent to | performer[2](Organization.address) | |
OBX-24 (Performing Organization Address) | is equivalent to | performer[2](PractitionerRole.organization(Organization.address)) | |
OBX-25 (Performing Organization Medical Director) | is equivalent to | performer[2](PractitionerRole) | |
OBX-25 (Performing Organization Medical Director) | is equivalent to | performer[2](PractitionerRole.code.coding.value) | |
OBX-25 (Performing Organization Medical Director) | is equivalent to | performer[2](PractitionerRole.code.coding.system) | |
OBX-29 (Observation Type) | is equivalent to | category[1].coding.code | |
OBX-29 (Observation Type) | is equivalent to | category[1].coding.system | |
OBX-30 (Observation Sub-Type) | is equivalent to | extension[2].url | |
OBX-30 (Observation Sub-Type) | is equivalent to | extension[2].valueCodeableConcept.coding.code | |
OBX-30 (Observation Sub-Type) | is equivalent to | extension[2].valueCodeableConcept.coding.system | |
OBX-33 (Observation Related Specimen Identifier) | is equivalent to | extension[1].uri | Note that in v2 messages the observations that a calculated observation is derived from on and involve multiple specimens are typically not included with the message. To enable relating the calculated observation to the correct specimens it relates to, the v2 message should include the originating observations that in turn use OBX-33 to link to the correct specimens. Without that, and if there are multiple specimens in OBX-33, there is no standard method to correctly associate the observation with the correct specimens. The implementer will have to devise an appropriate method for that in their context. |
OBX-33 (Observation Related Specimen Identifier) | is equivalent to | extension[1].valueReference(Group.member.entity(Specimen.identifier[1]) | |
OBX-33 (Observation Related Specimen Identifier) | is equivalent to | extension[2].uri | |
OBX-33 (Observation Related Specimen Identifier) | is equivalent to | extension[2].valueReference(Group.member.entity(Specimen.identifier[2])) | |
OBX-33 (Observation Related Specimen Identifier) | is equivalent to | specimen(Specimen.identifier[1]) | |
OBX-33 (Observation Related Specimen Identifier) | is equivalent to | specimen(Specimen.identifier[2]) |