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 2024-12-20 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.

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.
5VXU_V04.PD1[ PD1 ]Additional Demographics01IF PD1-7 VALUEDObservationPD1[Observation-LivingWill]Observation[3].subject.reference=Patient[1].id
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 Visit11IF PV1-43 VALUEDBasicPV1[Basic-EncounterHistory]Basic.extension-EncounterHistory.subject.reference=Patient[1].id
8.1VXU_V04.PATIENT_VISIT.PV1PV1Patient Visit11PatientPV1[Patient]
8.1VXU_V04.PATIENT_VISIT.PV1PV1Patient Visit11IF PV1-20 VALUECoveragePV1[Coverage]Coverage.beneficiary.reference=Patient[1].id
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[1].subject.reference=Patient[1].id
11.1VXU_V04.PERSON_OBSERVATION.OBXOBXObservation/Result11IF OBX-5 LST.count GREATER THAN 1ObservationOBX[Observation-Component]Observation[1].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[2].subject.reference=Patient[1].id; Observation[2].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[2].subject.reference=Patient[1].id; Observation[2].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[2].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

Generated Narrative: ConceptMap message-vxu-v04-to-bundle

Mapping from VXU_V04 to Bundle


Group 1 Mapping from unspecified code system to unspecified code system

Source CodeRelationshipTarget CodeComment
VXU_V04.MSH (Message Header)is equivalent toBundle
VXU_V04.MSH (Message Header Segment)is equivalent toMessageHeader[1]Processing of the MSH segment results in the creation of a new MessageHeader resource
VXU_V04.MSH (Message Header Segment)is equivalent toProvenance[1]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.MSH (Message Header Segment)is equivalent toProvenance[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.SFT (Software)is equivalent toProvenance[1].entity.what(Device)
VXU_V04.SFT (Software)is equivalent toProvenance[1].entity.what(Device)
VXU_V04.PID (Patient Identification Segment)is equivalent toPatient[1]Processing of the PID segment results in the creation of a new Patient resource
VXU_V04.PID (Patient Identification Segment)is equivalent toProvenance[4]
VXU_V04.PD1 (Additional Demographics)is equivalent toPatient[1]Incorporate PD1 content into the Patient created from the PID segment.
VXU_V04.PD1 (Additional Demographics)is equivalent toObservation[3]
VXU_V04.NK1 (Next of Kin/Associated Parties)is equivalent toRelatedPerson[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.NK1 (Next of Kin/Associated Parties)is equivalent toPatient[1]
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit)is equivalent toEncounter[1]Processing of the PV1 segment results in the creation of a new Encounter resource
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit)is equivalent toBasic
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit)is equivalent toPatient[1]
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit)is equivalent toCoverage[1]
VXU_V04.PATIENT_VISIT.PV2 (Patient Visit – Additional Info)is equivalent toEncounter[1]Incorporate PV2 content into the Encounter created from the PV1 segment.
VXU_V04.PERSON_OBSERVATION.OBX (Observation/Result)is equivalent toObservation[1]
VXU_V04.PERSON_OBSERVATION.OBX (Observation/Result)is equivalent toObservation[1]
VXU_V04.PERSON_OBSERVATION.PRT (Participation (for Observation))is equivalent toDevice[1]
VXU_V04.PERSON_OBSERVATION.PRT (Participation (for Observation))is equivalent toObservation[1]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.
VXU_V04.PERSON_OBSERVATION.PRT (Participation (for Observation))is equivalent toPractitionerRole[1]
VXU_V04.PERSON_OBSERVATION.NTE (Notes (Regarding Patient Observation))is equivalent toObservation[1].note
VXU_V04.ORDER.ORC (Common Order)is equivalent toImmunization[1]Processing of each ORC segment results in the creation of a new Immunization resource
VXU_V04.ORDER.ORC (Common Order)is equivalent toServiceRequest[1]Processing 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.PRT (Participation (for ORC))is equivalent toPractitionerRole[2]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.PRT (Participation (for ORC))is equivalent toImmunization[1].performer.function.coding.code (= "OP'")
VXU_V04.ORDER.PRT (Participation (for ORC))is equivalent toImmunization[1].performer.function.coding.system (= "http://terminology.hl7.org/CodeSystem/v2-0443")
VXU_V04.ORDER.PRT (Participation (for ORC))is equivalent toPractitionerRole[3]
VXU_V04.ORDER.PRT (Participation (for ORC))is equivalent toImmunization[1].performer.function.coding.code (= "AP'")
VXU_V04.ORDER.PRT (Participation (for ORC))is equivalent toImmunization[1].performer.function.coding.system (= "http://terminology.hl7.org/CodeSystem/v2-0443")
VXU_V04.ORDER.RXA (Pharmacy Administration Segment)is equivalent toImmunization[1]Incorporate RXA content into the Immunization created from the ORC segment in the same segment group.
VXU_V04.ORDER.RXR (Pharmacy Route)is equivalent toImmunization[1]Incorporate RXR content into the Immunization created from the ORC segment in the same segment group.
VXU_V04.ORDER.OBSERVATION.OBX (Observation/Result)is equivalent toObservation[2]
VXU_V04.ORDER.OBSERVATION.OBX (Observation/Result)is equivalent toObservation[2]
VXU_V04.ORDER.OBSERVATION.PRT (Participation (for Observation))is equivalent toDevice[2]
VXU_V04.ORDER.OBSERVATION.PRT (Participation (for Observation))is equivalent toObservation[2]
VXU_V04.ORDER.OBSERVATION.PRT (Participation (for Observation))is equivalent toPractitionerRole[4]
VXU_V04.ORDER.OBSERVATION.NTE (Notes (Regarding Immunization))is equivalent toObservation[2].note

Notes: