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/message-vxu-v04-to-bundle | Version: 1.0.0-ballot | |||
Active as of 2024-10-30 | 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 v2 | Condition (IF True, args) | HL7 FHIR | Comments | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Sort Order | Identifier | Syntax | Name | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | Primary Target | Segment Map | References | |
1 | VXU_V04.MSH | MSH | Message Header | 1 | 1 | Bundle | MSH[Bundle] | |||||
1 | VXU_V04.MSH | MSH | Message Header Segment | 1 | 1 | MessageHeader | MSH[MessageHeader] | Processing of the MSH segment results in the creation of a new MessageHeader resource | ||||
1 | VXU_V04.MSH | MSH | Message Header Segment | 1 | 1 | If there is a source in MSH-4, or known based on the configuration. | Provenance | MSH[Provenance-Source] | Provenance[1].target.reference=Bundle.id; Provenance[1].target.reference=MessageHeader[1].id | 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. | ||
1 | VXU_V04.MSH | MSH | Message Header Segment | 1 | 1 | Provenance | MSH[Provenance-Transformation] | Provenance[2].target.reference=Bundle.id | 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. | |||
2 | VXU_V04.SFT | [{ SFT }] | Software | 0 | -1 | If the software does represent not the original source system | Provenance.entity.what(Device) | SFT[Device] | Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="derivation" | |||
2 | VXU_V04.SFT | [{ SFT }] | Software | 0 | -1 | If the software represents the original source system | Provenance.entity.what(Device) | SFT[Device] | Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="source" | |||
3 | VXU_V04.UAC | [ UAC ] | User Authentication Credential | 0 | 1 | |||||||
4 | VXU_V04.PID | PID | Patient Identification Segment | 1 | 1 | Patient | PID[Patient] | Processing of the PID segment results in the creation of a new Patient resource | ||||
4 | VXU_V04.PID | PID | Patient Identification Segment | 1 | 1 | IF PID-33 AND PID-34 VALUED | One may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date. | Provenance | PID[Provenance-Patient] | Provenance.target.reference=Patient[1].id | ||
5 | VXU_V04.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 | Patient | PD1[Patient] | Incorporate PD1 content into the Patient created from the PID segment. | ||||
5 | VXU_V04.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 | IF PD1-7 VALUED | Observation | PD1[Observation-LivingWill] | Observation[3].subject.reference=Patient[1].id | |||
6 | VXU_V04.NK1 | [{ NK1 }] | Next of Kin/Associated Parties | 0 | -1 | RelatedPerson | NK1[RelatedPerson] | RelatedPerson.patient.reference=Patient[PID].id | 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. | |||
6 | VXU_V04.NK1 | [{ NK1 }] | Next of Kin/Associated Parties | 0 | -1 | Patient | NK1[Patient] | |||||
7 | VXU_V04.ARV | [{ ARV }] | Access Restrictions | 0 | -1 | |||||||
8 | VXU_V04.PATIENT_VISIT | [ | --- PATIENT_VISIT begin | 0 | 1 | |||||||
8.1 | VXU_V04.PATIENT_VISIT.PV1 | PV1 | Patient Visit | 1 | 1 | Only if the system wants to know about the encounter related to the immunization event | Encounter | PV1[Encounter] | Encounter.subject.reference=Patient[PID].id | Processing of the PV1 segment results in the creation of a new Encounter resource | ||
8.1 | VXU_V04.PATIENT_VISIT.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-43 VALUED | EncounterHistory | PV1[EncounterHistory] | EncounterHistory.subject.reference=Patient[1].id | |||
8.1 | VXU_V04.PATIENT_VISIT.PV1 | PV1 | Patient Visit | 1 | 1 | Patient | PV1[Patient] | |||||
8.1 | VXU_V04.PATIENT_VISIT.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-20 VALUE | Coverage | PV1[Coverage] | Coverage.beneficiary.reference=Patient[1].id | |||
8.2 | VXU_V04.PATIENT_VISIT.PV2 | [ PV2 ] | Patient Visit – Additional Info | 0 | 1 | Encounter | PV2[Encounter] | Incorporate PV2 content into the Encounter created from the PV1 segment. | ||||
8.3 | VXU_V04.PATIENT_VISIT.ARV | [{ ARV }] | Access Restrictions | 0 | -1 | |||||||
8.4 | /VXU_V04.PATIENT_VISIT | ] | --- PATIENT_VISIT end | |||||||||
9 | VXU_V04.GT1 | [{ GT1 }] | Guarantor | 0 | -1 | |||||||
10 | VXU_V04.INSURANCE | [{ | --- INSURANCE begin | 0 | -1 | |||||||
10.1 | VXU_V04.INSURANCE | IN1 | Insurance | 1 | 1 | Processing of the IN1 segment results in the creation of a new Coverage resource | ||||||
10.2 | VXU_V04.INSURANCE | [ IN2 ] | Insurance Additional Information | 0 | 1 | Incorporate IN2 content into the Coverage created from the IN1 segment. | ||||||
10.3 | VXU_V04.INSURANCE | [ IN3 ] | Insurance Additional Information, Certification | 0 | 1 | Incorporate IN3 content into the Coverage created from the IN1 segment. | ||||||
10.4 | /VXU_V04.INSURANCE | }] | --- INSURANCE end | |||||||||
11 | VXU_V04.PERSON_OBSERVATION | [{ | --- PERSON_OBSERVATION begin | 0 | -1 | |||||||
11.1 | VXU_V04.PERSON_OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count LESS THAN OR EQUALS 1 | Observation | OBX[Observation] | Observation[1].subject.reference=Patient[1].id | |||
11.1 | VXU_V04.PERSON_OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count GREATER THAN 1 | Observation | OBX[Observation-Component] | Observation[1].subject.reference=Patient[1].id | |||
11.2 | VXU_V04.PERSON_OBSERVATION.PRT | [{ PRT }] | Participation (for Observation) | 0 | -1 | IF PRT-10 VALUED | Device | PRT[Device] | Observation[1].device.reference=Device.id | |||
11.2 | VXU_V04.PERSON_OBSERVATION.PRT | [{ PRT }] | Participation (for Observation) | 0 | -1 | IF PRT-9 VALUED OR IF PRT-14 VALUED | Observation | PRT[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.2 | VXU_V04.PERSON_OBSERVATION.PRT | [{ PRT }] | Participation (for Observation) | 0 | -1 | IF PRT-5 VALUED | PractitionerRole | PRT[PractitionerRole] | Observation.performer.reference=PractitionerRole[1].id | |||
11.3 | VXU_V04.PERSON_OBSERVATION.NTE | [{ NTE }] | Notes (Regarding Patient Observation) | 0 | -1 | Observation.note | NTE[ServiceRequest] | |||||
11.4 | /VXU_V04.PERSON_OBSERVATION | }] | --- PERSON_OBSERVATION end | |||||||||
12 | VXU_V04.ORDER | [{ | --- ORDER begin | 0 | -1 | |||||||
12.1 | VXU_V04.ORDER.ORC | ORC | Common Order | 1 | 1 | Immunization | ORC[Immunization] | Immunzation.patient.reference=Patient[1].id | Processing of each ORC segment results in the creation of a new Immunization resource | |||
12.1 | VXU_V04.ORDER.ORC | ORC | Common Order | 1 | 1 | Only if the system wants to know about the order that lead to the immunization event | ServiceRequest | ORC[ServiceRequest] | ServiceRequest.subject.reference=Patient[1].id | 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 | ||
12.2 | VXU_V04.ORDER.PRT | [{PRT}] | Participation (for ORC) | 0 | -1 | IF PRT-4.1 EQUALS "OP" AND PRT-4.3 EQUALS "HL70443" | (element("4.1")="OP")and(element("4.3")="HL70443") | PractitionerRole | PRT[PractitionerRole] | Immunization.performer.actor.reference=PractitionerRole[2].id | 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). | |
12.2 | VXU_V04.ORDER.PRT | [{PRT}] | Participation (for ORC) | 0 | -1 | IF 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.2 | VXU_V04.ORDER.PRT | [{PRT}] | Participation (for ORC) | 0 | -1 | IF 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.2 | VXU_V04.ORDER.PRT | [{PRT}] | Participation (for ORC) | 0 | -1 | IF PRT-4.1 EQUALS "AP" AND PRT-4.3 EQUALS "HL70443" | (element("4.1")="AP")and(element("4.3")="HL70443") | PractitionerRole | PRT[PractitionerRole] | Immunization.performer.actor.reference=PractitionerRole[3].id | ||
12.2 | VXU_V04.ORDER.PRT | [{PRT}] | Participation (for ORC) | 0 | -1 | IF 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.2 | VXU_V04.ORDER.PRT | [{PRT}] | Participation (for ORC) | 0 | -1 | IF 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.3 | VXU_V04.ORDER.TIMING | [{ | --- TIMING begin | 0 | -1 | |||||||
12.3.1 | VXU_V04.ORDER.TIMING.TQ1 | TQ1 | Timing/Quantity | 1 | 1 | |||||||
12.3.2 | VXU_V04.ORDER.TIMING.TQ2 | [{ TQ2 }] | Timing/Quantity Order Sequence | 0 | -1 | |||||||
12.3.3 | /VXU_V04.ORDER.TIMING | }] | --- TIMING end | |||||||||
12.4 | VXU_V04.ORDER.RXA | RXA | Pharmacy Administration Segment | 1 | 1 | Immunization | RXA[Immunization] | Incorporate RXA content into the Immunization created from the ORC segment in the same segment group. | ||||
12.5 | VXU_V04.ORDER.RXR | [ RXR ] | Pharmacy Route | 0 | 1 | Immunization | RXR[Immunization] | Incorporate RXR content into the Immunization created from the ORC segment in the same segment group. | ||||
12.6 | VXU_V04.ORDER.OBSERVATION | [{ | --- OBSERVATION begin | 0 | -1 | |||||||
12.6.1 | VXU_V04.ORDER.OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count LESS THAN OR EQUALS 1 | 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. | Observation | OBX[Observation] | Observation[2].subject.reference=Patient[1].id; Observation[2].partOf.reference=Immunization[1].id | ||
12.6.1 | VXU_V04.ORDER.OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count GREATER THAN 1 | 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. | Observation | OBX[Observation-Component] | Observation[2].subject.reference=Patient[1].id; Observation[2].partOf.reference=Immunization[1].id | ||
12.6.2 | VXU_V04.ORDER.OBSERVATION.PRT | [{ PRT }] | Participation (for Observation) | 0 | -1 | IF PRT-10 VALUED | Device | PRT[Device] | Observation[1].device.reference=Device.id | |||
12.6.2 | VXU_V04.ORDER.OBSERVATION.PRT | [{ PRT }] | Participation (for Observation) | 0 | -1 | IF PRT-9 VALUED OR IF PRT-14 VALUED | Observation | PRT[Observation-Location] | ||||
12.6.2 | VXU_V04.ORDER.OBSERVATION.PRT | [{ PRT }] | Participation (for Observation) | 0 | -1 | IF PRT-5 VALUED | PractitionerRole | PRT[PractitionerRole] | Observation[2].performer.reference=PractitionerRole[1].id | |||
12.6.3 | VXU_V04.ORDER.OBSERVATION.NTE | [{ NTE }] | Notes (Regarding Immunization) | 0 | -1 | Observation.note | NTE[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 Code | Relationship | Target Code | Comment |
VXU_V04.MSH (Message Header) | is equivalent to | Bundle | |
VXU_V04.MSH (Message Header Segment) | is equivalent to | MessageHeader[1] | Processing of the MSH segment results in the creation of a new MessageHeader resource |
VXU_V04.MSH (Message Header Segment) | is equivalent to | Provenance[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 to | 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.SFT (Software) | is equivalent to | Provenance[1].entity.what(Device) | |
VXU_V04.SFT (Software) | is equivalent to | Provenance[1].entity.what(Device) | |
VXU_V04.PID (Patient Identification Segment) | is equivalent to | Patient[1] | Processing of the PID segment results in the creation of a new Patient resource |
VXU_V04.PID (Patient Identification Segment) | is equivalent to | Provenance[4] | |
VXU_V04.PD1 (Additional Demographics) | is equivalent to | Patient[1] | Incorporate PD1 content into the Patient created from the PID segment. |
VXU_V04.PD1 (Additional Demographics) | is equivalent to | Observation[3] | |
VXU_V04.NK1 (Next of Kin/Associated Parties) | is equivalent to | 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.NK1 (Next of Kin/Associated Parties) | is equivalent to | Patient[1] | |
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit) | is equivalent to | Encounter[1] | Processing of the PV1 segment results in the creation of a new Encounter resource |
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit) | is equivalent to | EncounterHistory | |
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit) | is equivalent to | Patient[1] | |
VXU_V04.PATIENT_VISIT.PV1 (Patient Visit) | is equivalent to | Coverage[1] | |
VXU_V04.PATIENT_VISIT.PV2 (Patient Visit – Additional Info) | is equivalent to | Encounter[1] | Incorporate PV2 content into the Encounter created from the PV1 segment. |
VXU_V04.PERSON_OBSERVATION.OBX (Observation/Result) | is equivalent to | Observation[1] | |
VXU_V04.PERSON_OBSERVATION.OBX (Observation/Result) | is equivalent to | Observation[1] | |
VXU_V04.PERSON_OBSERVATION.PRT (Participation (for Observation)) | is equivalent to | Device[1] | |
VXU_V04.PERSON_OBSERVATION.PRT (Participation (for Observation)) | is equivalent to | Observation[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 to | PractitionerRole[1] | |
VXU_V04.PERSON_OBSERVATION.NTE (Notes (Regarding Patient Observation)) | is equivalent to | Observation[1].note | |
VXU_V04.ORDER.ORC (Common Order) | is equivalent to | Immunization[1] | Processing of each ORC segment results in the creation of a new Immunization resource |
VXU_V04.ORDER.ORC (Common Order) | is equivalent to | ServiceRequest[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 to | PractitionerRole[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 to | Immunization[1].performer.function.coding.code (= "OP'") | |
VXU_V04.ORDER.PRT (Participation (for ORC)) | is equivalent to | Immunization[1].performer.function.coding.system (= "http://terminology.hl7.org/CodeSystem/v2-0443") | |
VXU_V04.ORDER.PRT (Participation (for ORC)) | is equivalent to | PractitionerRole[3] | |
VXU_V04.ORDER.PRT (Participation (for ORC)) | is equivalent to | Immunization[1].performer.function.coding.code (= "AP'") | |
VXU_V04.ORDER.PRT (Participation (for ORC)) | is equivalent to | Immunization[1].performer.function.coding.system (= "http://terminology.hl7.org/CodeSystem/v2-0443") | |
VXU_V04.ORDER.RXA (Pharmacy Administration Segment) | is equivalent to | Immunization[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 to | Immunization[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 to | Observation[2] | |
VXU_V04.ORDER.OBSERVATION.OBX (Observation/Result) | is equivalent to | Observation[2] | |
VXU_V04.ORDER.OBSERVATION.PRT (Participation (for Observation)) | is equivalent to | Device[2] | |
VXU_V04.ORDER.OBSERVATION.PRT (Participation (for Observation)) | is equivalent to | Observation[2] | |
VXU_V04.ORDER.OBSERVATION.PRT (Participation (for Observation)) | is equivalent to | PractitionerRole[4] | |
VXU_V04.ORDER.OBSERVATION.NTE (Notes (Regarding Immunization)) | is equivalent to | Observation[2].note |