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

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

ConceptMap: Message VXU_V04 to Bundle Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/message-vxu-v04-to-bundle Version: 1.0.0-ballot
Active as of 2023-12-19 Computable Name: MessageVXU_V04ToBundle

Copyright/Legal: Copyright (c) 2020, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Message VXU_V04 to the FHIR Message Bundle.

This ConceptMap represents the mapping from the HL7 V2 VXU_V04 Message to the FHIR Message Bundle. See also the FHIR Shorthand or the CSV Source.

</thead> </table>
HL7 v2Condition (IF True, args)HL7 FHIRComments
Sort OrderIdentifierSyntaxNameCardinality - MinCardinality - MaxComputable ANTLRComputable FHIRPathNarrativePrimary TargetSegment MapReferences
1VXU_V04.MSHMSHMessage Header11BundleMSH[Bundle]
1VXU_V04.MSHMSHMessage Header Segment11MessageHeaderMSH[MessageHeader]Processing of the MSH segment results in the creation of a new MessageHeader resource
1VXU_V04.MSHMSHMessage Header Segment11If there is a source in MSH-4, or known based on the configuration.ProvenanceMSH[Provenance-Source]Provenance[1].target.reference=Bundle.id; Provenance[1].target.reference=MessageHeader[1].idIf the FHIR transformation does not yield a FHIR message, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
1VXU_V04.MSHMSHMessage Header Segment11ProvenanceMSH[Provenance-Transformation]Provenance[2].target.reference=Bundle.idIf the FHIR transformation does not yield a FHIR Bunlde, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
2VXU_V04.SFT[{ SFT }]Software0-1If the software does represent not the original source systemProvenance.entity.what(Device)SFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="derivation"
2VXU_V04.SFT[{ SFT }]Software0-1If the software represents the original source systemProvenance.entity.what(Device)SFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="source"
3VXU_V04.UAC[ UAC ]User Authentication Credential01
4VXU_V04.PIDPIDPatient Identification Segment11PatientPID[Patient]Processing of the PID segment results in the creation of a new Patient resource
4VXU_V04.PIDPIDPatient Identification Segment11IF PID-33 AND PID-34 VALUEDOne may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date.ProvenancePID[Provenance-Patient]Provenance.target.reference=Patient[1].id
5VXU_V04.PD1[ PD1 ]Additional Demographics01PatientPD1[Patient]Incorporate PD1 content into the Patient created from the PID segment.
6VXU_V04.NK1[{ NK1 }]Next of Kin/Associated Parties0-1RelatedPersonNK1[RelatedPerson]RelatedPerson.patient.reference=Patient[PID].idTypically, each NK1 will be translated to either a new RelatedPerson resource or added as a new occurrence of Patient.contact, but it's possible to insert the NK1 data into both structures.
6VXU_V04.NK1[{ NK1 }]Next of Kin/Associated Parties0-1PatientNK1[Patient]
7VXU_V04.ARV[{ ARV }]Access Restrictions0-1
8VXU_V04.PATIENT_VISIT[--- PATIENT_VISIT begin01
8.1VXU_V04.PATIENT_VISIT.PV1PV1Patient Visit11Only if the system wants to know about the encounter related to the immunization eventEncounterPV1[Encounter]Encounter.subject.reference=Patient[PID].idProcessing of the PV1 segment results in the creation of a new Encounter resource
8.1VXU_V04.PATIENT_VISIT.PV1PV1Patient Visit11PatientPV1[Patient]
8.2VXU_V04.PATIENT_VISIT.PV2[ PV2 ]Patient Visit – Additional Info01EncounterPV2[Encounter]Incorporate PV2 content into the Encounter created from the PV1 segment.
8.3VXU_V04.PATIENT_VISIT.ARV[{ ARV }]Access Restrictions0-1
8.4/VXU_V04.PATIENT_VISIT]--- PATIENT_VISIT end
9VXU_V04.GT1[{ GT1 }]Guarantor0-1
10VXU_V04.INSURANCE[{--- INSURANCE begin0-1
10.1VXU_V04.INSURANCEIN1Insurance11Processing of the IN1 segment results in the creation of a new Coverage resource
10.2VXU_V04.INSURANCE[ IN2 ]Insurance Additional Information01Incorporate IN2 content into the Coverage created from the IN1 segment.
10.3VXU_V04.INSURANCE[ IN3 ]Insurance Additional Information, Certification01Incorporate IN3 content into the Coverage created from the IN1 segment.
10.4/VXU_V04.INSURANCE}]--- INSURANCE end
11VXU_V04.PERSON_OBSERVATION[{--- PERSON_OBSERVATION begin0-1
11.1VXU_V04.PERSON_OBSERVATION.OBXOBXObservation/Result11IF OBX-5 LST.count LESS THAN OR EQUALS 1ObservationOBX[Observation]Observation.subject.reference=Patient[1].id
11.1VXU_V04.PERSON_OBSERVATION.OBXOBXObservation/Result11IF OBX-5 LST.count GREATER THAN 1ObservationOBX[Observation-Component]Observation.subject.reference=Patient[1].id
11.2VXU_V04.PERSON_OBSERVATION.PRT[{ PRT }]Participation (for Observation)0-1IF PRT-10 VALUEDDevicePRT[Device]Observation[1].device.reference=Device.id
11.2VXU_V04.PERSON_OBSERVATION.PRT[{ PRT }]Participation (for Observation)0-1IF PRT-9 VALUED OR IF PRT-14 VALUEDObservationPRT[Observation-Location]At this time we don't know of a use case for sending a location PRT to a patient level observations. We've provided a mapping from PRT to Location but not way to link it to other resources in the Bundle. If there is a known use case, please comment on it so that we can develop a solution.
11.2VXU_V04.PERSON_OBSERVATION.PRT[{ PRT }]Participation (for Observation)0-1IF PRT-5 VALUEDPractitionerRolePRT[PractitionerRole]Observation.performer.reference=PractitionerRole[1].id
11.3VXU_V04.PERSON_OBSERVATION.NTE[{ NTE }]Notes (Regarding Patient Observation)0-1Observation.noteNTE[ServiceRequest]
11.4/VXU_V04.PERSON_OBSERVATION}]--- PERSON_OBSERVATION end
12VXU_V04.ORDER[{--- ORDER begin0-1
12.1VXU_V04.ORDER.ORCORCCommon Order11ImmunizationORC[Immunization]Immunzation.patient.reference=Patient[1].idProcessing of each ORC segment results in the creation of a new Immunization resource
12.1VXU_V04.ORDER.ORCORCCommon Order11Only if the system wants to know about the order that lead to the immunization eventServiceRequestORC[ServiceRequest]ServiceRequest.subject.reference=Patient[1].idProcessing of each ORC segment results in the creation of a new ServiceRequest resource if the receiving system wants to know about the order that lead to the immunization event
12.2VXU_V04.ORDER.PRT[{PRT}]Participation (for ORC)0-1IF PRT-4.1 EQUALS "OP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="OP")and(element("4.3")="HL70443")PractitionerRolePRT[PractitionerRole]Immunization.performer.actor.reference=PractitionerRole[2].idProcessing of each PRT segment typically results in the creation of a new Practitioner or PractitionerRole resource. The decision between creating a Practitioner or PractitionerRole resource may depend on the availability of data related to the practitioner's role elsewhere in the message. It may be possible to reuse a Practitioner resource in the bundle created from somewhere else in the bundle rather than creating a new resource for each PRT segment (eg, the same administering practictioner resource could be pointed to from multiple order segment groups) - if an implementer decides to do this, the system must be certain that it's the same person (same name, ID, etc) potentially even playing the same role (if the bundle uses PractitionerRole in addition to Practitioner).
12.2VXU_V04.ORDER.PRT[{PRT}]Participation (for ORC)0-1IF PRT-4.1 EQUALS "OP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="OP")and(element("4.3")="HL70443")Immunization.performer.function.coding.code
12.2VXU_V04.ORDER.PRT[{PRT}]Participation (for ORC)0-1IF PRT-4.1 EQUALS "OP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="OP")and(element("4.3")="HL70443")Immunization.performer.function.coding.system
12.2VXU_V04.ORDER.PRT[{PRT}]Participation (for ORC)0-1IF PRT-4.1 EQUALS "AP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="AP")and(element("4.3")="HL70443")PractitionerRolePRT[PractitionerRole]Immunization.performer.actor.reference=PractitionerRole[3].id
12.2VXU_V04.ORDER.PRT[{PRT}]Participation (for ORC)0-1IF PRT-4.1 EQUALS "AP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="AP")and(element("4.3")="HL70443")Immunization.performer.function.coding.code
12.2VXU_V04.ORDER.PRT[{PRT}]Participation (for ORC)0-1IF PRT-4.1 EQUALS "AP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="AP")and(element("4.3")="HL70443")Immunization.performer.function.coding.system
12.3VXU_V04.ORDER.TIMING[{--- TIMING begin0-1
12.3.1VXU_V04.ORDER.TIMING.TQ1TQ1Timing/Quantity11
12.3.2VXU_V04.ORDER.TIMING.TQ2[{ TQ2 }]Timing/Quantity Order Sequence0-1
12.3.3/VXU_V04.ORDER.TIMING}]--- TIMING end
12.4VXU_V04.ORDER.RXARXAPharmacy Administration Segment11ImmunizationRXA[Immunization]Incorporate RXA content into the Immunization created from the ORC segment in the same segment group.
12.5VXU_V04.ORDER.RXR[ RXR ]Pharmacy Route01ImmunizationRXR[Immunization]Incorporate RXR content into the Immunization created from the ORC segment in the same segment group.
12.6VXU_V04.ORDER.OBSERVATION[{--- OBSERVATION begin0-1
12.6.1VXU_V04.ORDER.OBSERVATION.OBXOBXObservation/Result11IF OBX-5 LST.count LESS THAN OR EQUALS 1Some observations about the immunization may map to elements within the Immuniation resource rather than an independent Observation resource. For example, funding source, patient eligibility and educational material are often sent as OBX segments but map to Immunization elements. Specific guidance on how to map, e.g., the US CDC implementation guide on immunizations, will be provided separately at a future time TBD.ObservationOBX[Observation]Observation.subject.reference=Patient[1].id; Observation.partOf.reference=Immunization[1].id
12.6.1VXU_V04.ORDER.OBSERVATION.OBXOBXObservation/Result11IF OBX-5 LST.count GREATER THAN 1Some observations about the immunization may map to elements within the Immuniation resource rather than an independent Observation resource. For example, funding source, patient eligibility and educational material are often sent as OBX segments but map to Immunization elements. Specific guidance on how to map, e.g., the US CDC implementation guide on immunizations, will be provided separately at a future time TBD.ObservationOBX[Observation-Component]Observation.subject.reference=Patient[1].id; Observation.partOf.reference=Immunization[1].id
12.6.2VXU_V04.ORDER.OBSERVATION.PRT[{ PRT }]Participation (for Observation)0-1IF PRT-10 VALUEDDevicePRT[Device]Observation[1].device.reference=Device.id
12.6.2VXU_V04.ORDER.OBSERVATION.PRT[{ PRT }]Participation (for Observation)0-1IF PRT-9 VALUED OR IF PRT-14 VALUEDObservationPRT[Observation-Location]
12.6.2VXU_V04.ORDER.OBSERVATION.PRT[{ PRT }]Participation (for Observation)0-1IF PRT-5 VALUEDPractitionerRolePRT[PractitionerRole]Observation.performer.reference=PractitionerRole[1].id
12.6.3VXU_V04.ORDER.OBSERVATION.NTE[{ NTE }]Notes (Regarding Immunization)0-1Observation.noteNTE[ServiceRequest]
12.6.4/VXU_V04.ORDER.OBSERVATION}]--- OBSERVATION end
12.7/VXU_V04.ORDER}]--- ORDER end

Mapping from VXU_V04 to Bundle

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 Message VXU_V04 to the FHIR Message Bundle.


Group 1Mapping from unspecified code system to unspecified code system

Source Concept DetailsRelationshipTarget Concept DetailsCommentProperties
Codes from segmentmapreferencesCodes from narrativeantlrfhirpath
VXU_V04.MSHMessage HeaderMSH[Bundle]is equivalent toBundleBundle
VXU_V04.MSHMessage Header SegmentMSH[MessageHeader]is equivalent toMessageHeader[1]MessageHeader[1]Processing of the MSH segment results in the creation of a new MessageHeader resource
VXU_V04.MSHMessage Header SegmentMSH[Provenance-Source]Provenance[1].target.reference=Bundle.id; Provenance[1].target.reference=MessageHeader[1].idis equivalent toProvenance[1]Provenance[1]If there is a source in MSH-4, or known based on the configuration.If the FHIR transformation does not yield a FHIR message, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
VXU_V04.MSHMessage Header SegmentMSH[Provenance-Transformation]Provenance[2].target.reference=Bundle.idis equivalent toProvenance[2]Provenance[2]If the FHIR transformation does not yield a FHIR Bunlde, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
VXU_V04.SFTSoftwareSFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="derivation"\is equivalent toProvenance[1].entity.what(Device)Provenance[1].entity.what(Device)If the software does represent not the original source system
VXU_V04.SFTSoftwareSFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="source"\is equivalent toProvenance[1].entity.what(Device)Provenance[1].entity.what(Device)If the software represents the original source system
VXU_V04.PIDPatient Identification SegmentPID[Patient]is equivalent toPatient[1]Patient[1]Processing of the PID segment results in the creation of a new Patient resource
VXU_V04.PIDPatient Identification SegmentPID[Provenance-Patient]Provenance.target.reference=Patient[1].idis equivalent toProvenance[4]Provenance[4]One may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date.IF PID-33 AND PID-34 VALUED
VXU_V04.PD1Additional DemographicsPD1[Patient]is equivalent toPatient[1]Patient[1]Incorporate PD1 content into the Patient created from the PID segment.
VXU_V04.NK1Next of Kin/Associated PartiesNK1[RelatedPerson]RelatedPerson.patient.reference=Patient[PID].idis equivalent toRelatedPerson[1]RelatedPerson[1]Typically, each NK1 will be translated to either a new RelatedPerson resource or added as a new occurrence of Patient.contact, but it's possible to insert the NK1 data into both structures.
VXU_V04.NK1Next of Kin/Associated PartiesNK1[Patient]is equivalent toPatient[1]Patient[1]
VXU_V04.PATIENT_VISIT.PV1Patient VisitPV1[Encounter]Encounter.subject.reference=Patient[PID].idis equivalent toEncounter[1]Encounter[1]Only if the system wants to know about the encounter related to the immunization eventProcessing of the PV1 segment results in the creation of a new Encounter resource
VXU_V04.PATIENT_VISIT.PV1Patient VisitPV1[Patient]is equivalent toPatient[1]Patient[1]
VXU_V04.PATIENT_VISIT.PV2Patient Visit – Additional InfoPV2[Encounter]is equivalent toEncounter[1]Encounter[1]Incorporate PV2 content into the Encounter created from the PV1 segment.
VXU_V04.PERSON_OBSERVATION.OBXObservation/ResultOBX[Observation]Observation.subject.reference=Patient[1].idis equivalent toObservation[1]Observation[1]IF OBX-5 LST.count LESS THAN OR EQUALS 1
VXU_V04.PERSON_OBSERVATION.OBXObservation/ResultOBX[Observation-Component]Observation.subject.reference=Patient[1].idis equivalent toObservation[1]Observation[1]IF OBX-5 LST.count GREATER THAN 1
VXU_V04.PERSON_OBSERVATION.PRTParticipation (for Observation)PRT[Device]Observation[1].device.reference=Device.idis equivalent toDevice[1]Device[1]IF PRT-10 VALUED
VXU_V04.PERSON_OBSERVATION.PRTParticipation (for Observation)PRT[Observation-Location]is equivalent toObservation[1]Observation[1]IF PRT-9 VALUED OR IF PRT-14 VALUEDAt this time we don't know of a use case for sending a location PRT to a patient level observations. We've provided a mapping from PRT to Location but not way to link it to other resources in the Bundle. If there is a known use case, please comment on it so that we can develop a solution.
VXU_V04.PERSON_OBSERVATION.PRTParticipation (for Observation)PRT[PractitionerRole]Observation.performer.reference=PractitionerRole[1].idis equivalent toPractitionerRole[1]PractitionerRole[1]IF PRT-5 VALUED
VXU_V04.PERSON_OBSERVATION.NTENotes (Regarding Patient Observation)NTE[ServiceRequest]is equivalent toObservation[1].noteObservation[1].note
VXU_V04.ORDER.ORCCommon OrderORC[Immunization]Immunzation.patient.reference=Patient[1].idis equivalent toImmunization[1]Immunization[1]Processing of each ORC segment results in the creation of a new Immunization resource
VXU_V04.ORDER.ORCCommon OrderORC[ServiceRequest]ServiceRequest.subject.reference=Patient[1].idis equivalent toServiceRequest[1]ServiceRequest[1]Only if the system wants to know about the order that lead to the immunization eventProcessing of each ORC segment results in the creation of a new ServiceRequest resource if the receiving system wants to know about the order that lead to the immunization event
VXU_V04.ORDER.PRTParticipation (for ORC)PRT[PractitionerRole]Immunization.performer.actor.reference=PractitionerRole[2].idis equivalent toPractitionerRole[2]PractitionerRole[2]IF PRT-4.1 EQUALS "OP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="OP")and(element("4.3")="HL70443")Processing of each PRT segment typically results in the creation of a new Practitioner or PractitionerRole resource. The decision between creating a Practitioner or PractitionerRole resource may depend on the availability of data related to the practitioner's role elsewhere in the message. It may be possible to reuse a Practitioner resource in the bundle created from somewhere else in the bundle rather than creating a new resource for each PRT segment (eg, the same administering practictioner resource could be pointed to from multiple order segment groups) - if an implementer decides to do this, the system must be certain that it's the same person (same name, ID, etc) potentially even playing the same role (if the bundle uses PractitionerRole in addition to Practitioner).\
VXU_V04.ORDER.PRTParticipation (for ORC)is equivalent toImmunization[1].performer.function.coding.code= "OP'"IF PRT-4.1 EQUALS "OP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="OP")and(element("4.3")="HL70443")
VXU_V04.ORDER.PRTParticipation (for ORC)is equivalent toImmunization[1].performer.function.coding.system= "http://terminology.hl7.org/CodeSystem/v2-0443"IF PRT-4.1 EQUALS "OP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="OP")and(element("4.3")="HL70443")
VXU_V04.ORDER.PRTParticipation (for ORC)PRT[PractitionerRole]Immunization.performer.actor.reference=PractitionerRole[3].idis equivalent toPractitionerRole[3]PractitionerRole[3]IF PRT-4.1 EQUALS "AP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="AP")and(element("4.3")="HL70443")
VXU_V04.ORDER.PRTParticipation (for ORC)is equivalent toImmunization[1].performer.function.coding.code= "AP'"IF PRT-4.1 EQUALS "AP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="AP")and(element("4.3")="HL70443")
VXU_V04.ORDER.PRTParticipation (for ORC)is equivalent toImmunization[1].performer.function.coding.system= "http://terminology.hl7.org/CodeSystem/v2-0443"IF PRT-4.1 EQUALS "AP" AND PRT-4.3 EQUALS "HL70443"(element("4.1")="AP")and(element("4.3")="HL70443")
VXU_V04.ORDER.RXAPharmacy Administration SegmentRXA[Immunization]is equivalent toImmunization[1]Immunization[1]Incorporate RXA content into the Immunization created from the ORC segment in the same segment group.
VXU_V04.ORDER.RXRPharmacy RouteRXR[Immunization]is equivalent toImmunization[1]Immunization[1]Incorporate RXR content into the Immunization created from the ORC segment in the same segment group.
VXU_V04.ORDER.OBSERVATION.OBXObservation/ResultOBX[Observation]Observation.subject.reference=Patient[1].id; Observation.partOf.reference=Immunization[1].idis equivalent toObservation[2]Observation[2]Some observations about the immunization may map to elements within the Immuniation resource rather than an independent Observation resource. For example, funding source, patient eligibility and educational material are often sent as OBX segments but map to Immunization elements. Specific guidance on how to map, e.g., the US CDC implementation guide on immunizations, will be provided separately at a future time TBD.IF OBX-5 LST.count LESS THAN OR EQUALS 1
VXU_V04.ORDER.OBSERVATION.OBXObservation/ResultOBX[Observation-Component]Observation.subject.reference=Patient[1].id; Observation.partOf.reference=Immunization[1].idis equivalent toObservation[2]Observation[2]Some observations about the immunization may map to elements within the Immuniation resource rather than an independent Observation resource. For example, funding source, patient eligibility and educational material are often sent as OBX segments but map to Immunization elements. Specific guidance on how to map, e.g., the US CDC implementation guide on immunizations, will be provided separately at a future time TBD.IF OBX-5 LST.count GREATER THAN 1
VXU_V04.ORDER.OBSERVATION.PRTParticipation (for Observation)PRT[Device]Observation[1].device.reference=Device.idis equivalent toDevice[2]Device[2]IF PRT-10 VALUED
VXU_V04.ORDER.OBSERVATION.PRTParticipation (for Observation)PRT[Observation-Location]is equivalent toObservation[2]Observation[2]IF PRT-9 VALUED OR IF PRT-14 VALUED
VXU_V04.ORDER.OBSERVATION.PRTParticipation (for Observation)PRT[PractitionerRole]Observation.performer.reference=PractitionerRole[1].idis equivalent toPractitionerRole[4]PractitionerRole[4]IF PRT-5 VALUED
VXU_V04.ORDER.OBSERVATION.NTENotes (Regarding Immunization)NTE[ServiceRequest]is equivalent toObservation[2].noteObservation[2].note

Notes: