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 ADT_A01 to Bundle Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/message-adt-a01-to-bundle Version: 1.0.0-ballot
Active as of 2024-10-30 Computable Name: MessageADT_A01ToBundle

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

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

This ConceptMap represents the mapping from the HL7 V2 ADT_A01 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
1ADT_A01.MSHMSHMessage Header11BundleMSH[Bundle]
1ADT_A01.MSHMSHMessage Header11MessageHeaderMSH[MessageHeader]Processing of the MSH segment results in the creation of a new MessageHeader resource.
1ADT_A01.MSHMSHMessage Header11If 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 Proviance resource instance to the relevant FHIR resources generated.
1ADT_A01.MSHMSHMessage Header11ProvenanceMSH[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.
2ADT_A01.ARV[{ ARV }]Access Restrictions0-1
3ADT_A01.SFT[{ SFT }]Software Segment0-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"
3ADT_A01.SFT[{ SFT }]Software Segment0-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"
4ADT_A01.UAC[ UAC ]User Authentication Credential01
5ADT_A01.EVNEVNEvent Type11ProvenanceEVN[Provenance]Provenance[3].target.reference=MessageHeader[1].id
5ADT_A01.EVNEVNEvent Type11IF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED)ProvenanceMSH[Provenance-Operator]Provenance[3].target.reference=MessageHeader[1].idIf EVN-5 is not valued, then the MSH may have either the sending responsible organization (MSH-22) or the sending facility (MSH-4) to reasonable approximate the agent relevant for this Provenance instance.
6ADT_A01.PIDPIDPatient Identification11PatientPID[Patient]Processing of the PID segment results in the creation of a new Patient resource
6ADT_A01.PIDPIDPatient Identification11AccountPID[Account]Account.subject.reference=Patient[1].id
6ADT_A01.PIDPIDPatient Identification11IF 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
7ADT_A01.PD1[ PD1 ]Additional Demographics01PatientPD1[Patient]Incorporate PD1 content into the Patient created from the PID segment.
7ADT_A01.PD1[ PD1 ]Additional Demographics01IF PD1-7 VALUEDObservationPD1[Observation-LivingWill]Observation[1].subject.reference=Patient[1].id
8ADT_A01.OH1[{ OH1 }]Employment Status0-1
9ADT_A01.OH2[{ OH2 }]Past or Present Job0-1
10ADT_A01.OH3[ OH3 ]Usual Work01
11ADT_A01.OH4[{ OH4 }]Combat Zone Work0-1
12ADT_A01:follow:PID.ARV[{ ARV }]Access Restrictions0-1FHIR does not yet support field level security tags. The ARV, when located with the PID/PD1 in the v2 message, is meant to only apply to the patient. However, technically it could point to other places in the messageas as well. That is considered out of scope as.
13ADT_A01:follow:PID.ROL[{ ROL }]Role0-1IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443"(element("3.1")="PP")and(element("3.3")="HL70443")PatientROL[Patient-GeneralPractitioner]
13ADT_A01:follow:PID.ROL[{ ROL }]Role0-1IF ROL-3.3 EQUALS "HL70443" AND ROL-3.1 IS NOT "PP"(element("3.1")!="PP")or(element("3.3")!="HL70443")When the ROL includes entries with roles in Table HL70443 other than "PP", then they may be candidates for CareTeam, but not all. That is implementation specific.CareTeamROL[CareTeam]CareTeam[1].subject.reference=Patient[1].id
14ADT_A01:follow:PID.PRT[{ PRT }]Participation0-1IF PRT-4 IS "PP"If only person informationPatientPRT[Patient-GeneralPractitioner-Practitioner]
14ADT_A01:follow:PID.PRT[{ PRT }]Participation0-1IF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO")CareTeamPRT[CareTeam]CareTeam[1].subject.reference=Patient[1].id
15ADT_A01.NEXT_OF_KIN[{--- NEXT_OF_KIN begin0-1
15.1ADT_A01.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties0-1IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S")RelatedPersonNK1[RelatedPerson]RelatedPerson[2].patient.reference=Patient[1].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.
15.1ADT_A01.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties0-1IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S")PatientNK1[Patient]
15.1ADT_A01.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties0-1IF NK1-3.1 IN ("EMR", "E", "F", "I", "S")PatientNK1[Patient]
15.2ADT_A01.NEXT_OF_KIN.OH2[{ OH2 }]Past or Present Job0-1
15.2ADT_A01.NEXT_OF_KIN.OH3[ OH3 ]Usual Work01
15.3/ADT_A01.NEXT_OF_KIN}]--- NEXT_OF_KIN end
16ADT_A01.PV1PV1Patient Visit11EncounterPV1[Encounter]Encounter[1].subject.reference=Patient[1].idProcessing of the PV1 segment results in the creation of a new Encounter resource
16ADT_A01.PV1PV1Patient Visit11IF PV1-43 VALUEDEncounterHistoryPV1[EncounterHistory]EncounterHistory.subject.reference=Patient[1].id
16ADT_A01.PV1PV1Patient Visit11PatientPV1[Patient]
16ADT_A01.PV1PV1Patient Visit11IF PV1-20 VALUECoveragePV1[Coverage]Coverage.beneficiary.reference=Patient[1].id
17ADT_A01.PV2[ PV2 ]Patient Visit - Additional Info.01EncounterPV2[Encounter]Incorporate PV2 content into the Encounter created from the PV1 segment.
18ADT_A01:follow:PV1.ARV[{ ARV }]Access Restrictions0-1FHIR does not yet support field level security tags. The ARV, when located with the PV1/PV2 in the v2 message, is meant to only apply to the encounter. However, technically it could point to other places in the messageas as well. That is considered out of scope as.
19ADT_A01:follow:PV1.ROL[{ ROL }]Role0-1EncounterROL[Encounter-PractitionerRole]
20ADT_A01:follow:PV1.PRT[{ PRT }]Participation0-1
21ADT_A01.DB1[{ DB1 }]Disability Information0-1
22ADT_A01.OBSERVATION[{--- OBSERVATION begin0-1
22.1ADT_A01.OBSERVATION.OBXOBXObservation/Result0-1Based on profiles, such as Vital Signs, certain observations are represented on the Observation, while others on its components. No computable guidance available yet.ObservationOBX[Observation]Observation[3].subject.reference=Patient[1].idOne cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1].
22.1ADT_A01.OBSERVATION.OBXOBXObservation/Result0-1Based on profiles, such as Vital Signs, certain observations are represented on the Observation, while others on its components. No computable guidance available yet.ObservationOBX[Observation-Component]Observation[3].subject.reference=Patient[1].idOne cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1].
22.2ADT_A01.OBSERVATION.PRT[{ PRT }]Participation0-1
22.3/ADT_A01.OBSERVATION}]--- OBSERVATION end
23ADT_A01.AL1[{ AL1 }]Allergy Information0-1AllergyIntoleranceAL1[AllergyIntolerance]AllergyIntolerance.patient.reference=Patient[1].idProcessing of the AL1 segment results in the creation of a new AllergyIntolerance resource
24ADT_A01.IAM[{ IAM }]Patient Advers Reaction Information0-1
25ADT_A01.DG1[{ DG1 }]Diagnosis Information0-1If in context of the patientConditionDG1[Condition]Condition[1].subject.reference=Patient[1].idProcessing of the DG1 segment results in the creation of a new Condition resource
25ADT_A01.DG1[{ DG1 }]Diagnosis Information0-1If in context of an encounterEncounterDG1[Encounter]Encounter[1].diagnosis.reference=Condition[1].id
25ADT_A01.DG1[{ DG1 }]Diagnosis Information0-1If in context of a episode of careEpisodeOfCareDG1[EpisodeOfCare]EpisodeOfCare.patient.reference=Patient[1].id; EpisodeOfCare.diagnosis.reference=Condition[1].id
26ADT_A01.DRG[ DRG ]Diagnosis Related Group01
27ADT_A01.PROCEDURE[{--- PROCEDURE begin0-1
27.1ADT_A01.PROCEDURE.PR1PR1Procedures11ProcedurePR1[Procedure]Procedure.subject.reference=Patient[1].id
27.2ADT_A01.PROCEDURE.ROL[{ ROL }]Role0-1
27.3ADT_A01.PROCEDURE.PRT[{ PRT }]Participation0-1
27.4/ADT_A01.PROCEDURE}]--- PROCEDURE end
28ADT_A01.GT1[{ GT1 }]Guarantor0-1
29ADT_A01.INSURANCE[{--- INSURANCE begin0-1
29.1ADT_A01.INSURANCE.IN1IN1Insurance11CoverageIN1[Coverage]Coverage.beneficiary.reference=Patient[1].idProcessing of the IN1 segment results in the creation of a new Coverage resource
29.2ADT_A01.INSURANCE.IN2[ IN2 ]Insurance Additional Info.01
29.3ADT_A01.INSURANCE.IN3[{ IN3 }]Insurance Additional Info - Cert.0-1CareTeamIN3[CareTeam]CareTeam.subject.reference=Patient[1].idIncorporate IN3 content into the Coverage created from the IN1 segment.
29.4ADT_A01.INSURANCE.ROL[{ ROL }]Role0-1
29.5ADT_A01.INSURANCE.PRT[{ PRT }]Participation0-1
29.6ADT_A0.INSURANCE.AUTHORIZATION[{--- AUTHORIZATION begin0-1
29.6.1ADT_A01.INSURANCE.AUTHORIZATION.AUTAUTAuthorization Record0-1
29.6.2ADT_A01.INSURANCE.AUTHORIZATION.PRT[{ PRT }]Participation0-1
29.6.3/ADT_A01.INSURANCE.AUTHORIZATION}]--- AUTHORIZATION end
29.7ADT_A01.INSURANCE.REFERRAL[{--- REFERRAL begin0-1
29.7.1ADT_A01.INSURANCE.REFERRAL.RF1RF1Referral Information0-1
29.7.2ADT_A01.INSURANCE.REFERRAL.PRT[{ PRT }]Participation0-1
29.7.3/ADT_A01.INSURANCE.REFERRAL}]--- REFERRAL end
29.8/ADT_A01.INSURANCE}]--- INSURANCE end
30ADT_A01.ACC[ ACC ]Accident Information01
31ADT_A01.UB1[ UB1 ]Universal Bill Information01
32ADT_A01.UB2[ UB2 ]Universal Bill 92 Information01
33ADT_A01.PDA[ PDA ]Patient Death and Autopsy01

Generated Narrative: ConceptMap message-adt-a01-to-bundle

Mapping from ADT_A01 to Bundle


Group 1 Mapping from unspecified code system to unspecified code system

Source CodeRelationshipTarget CodeComment
ADT_A01.MSH (Message Header)is equivalent toBundle
ADT_A01.MSH (Message Header)is equivalent toMessageHeader[1]Processing of the MSH segment results in the creation of a new MessageHeader resource.
ADT_A01.MSH (Message Header)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 Proviance resource instance to the relevant FHIR resources generated.
ADT_A01.MSH (Message Header)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.
ADT_A01.SFT (Software Segment)is equivalent toProvenance[1].entity.what(Device)
ADT_A01.SFT (Software Segment)is equivalent toProvenance[1].entity.what(Device)
ADT_A01.EVN (Event Type)is equivalent toProvenance[3]
ADT_A01.EVN (Event Type)is equivalent toProvenance[3]If EVN-5 is not valued, then the MSH may have either the sending responsible organization (MSH-22) or the sending facility (MSH-4) to reasonable approximate the agent relevant for this Provenance instance.
ADT_A01.PID (Patient Identification)is equivalent toPatient[1]Processing of the PID segment results in the creation of a new Patient resource
ADT_A01.PID (Patient Identification)is equivalent toAccount
ADT_A01.PID (Patient Identification)is equivalent toProvenance[4]
ADT_A01.PD1 (Additional Demographics)is equivalent toPatient[1]Incorporate PD1 content into the Patient created from the PID segment.
ADT_A01.PD1 (Additional Demographics)is equivalent toObservation[1]
ADT_A01:follow:PID.ROL (Role)is equivalent toPatient[1]
ADT_A01:follow:PID.ROL (Role)is equivalent toCareTeam[1]
ADT_A01:follow:PID.PRT (Participation)is equivalent toPatient[1]
ADT_A01:follow:PID.PRT (Participation)is equivalent toCareTeam[1]
ADT_A01.NEXT_OF_KIN.NK1 (Next of Kin / Associated Parties)is equivalent toRelatedPerson[2]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.
ADT_A01.NEXT_OF_KIN.NK1 (Next of Kin / Associated Parties)is equivalent toPatient[1]
ADT_A01.NEXT_OF_KIN.NK1 (Next of Kin / Associated Parties)is equivalent toPatient[1]
ADT_A01.PV1 (Patient Visit)is equivalent toEncounter[1]Processing of the PV1 segment results in the creation of a new Encounter resource
ADT_A01.PV1 (Patient Visit)is equivalent toEncounterHistory
ADT_A01.PV1 (Patient Visit)is equivalent toPatient[1]
ADT_A01.PV1 (Patient Visit)is equivalent toCoverage[1]
ADT_A01.PV2 (Patient Visit - Additional Info.)is equivalent toEncounter[1]Incorporate PV2 content into the Encounter created from the PV1 segment.
ADT_A01:follow:PV1.ROL (Role)is equivalent toEncounter[1]
ADT_A01.OBSERVATION.OBX (Observation/Result)is equivalent toObservation[3]One cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1].
ADT_A01.OBSERVATION.OBX (Observation/Result)is equivalent toObservation[3]One cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1].
ADT_A01.AL1 (Allergy Information)is equivalent toAllergyIntoleranceProcessing of the AL1 segment results in the creation of a new AllergyIntolerance resource
ADT_A01.DG1 (Diagnosis Information)is equivalent toCondition[1]Processing of the DG1 segment results in the creation of a new Condition resource
ADT_A01.DG1 (Diagnosis Information)is equivalent toEncounter[1]
ADT_A01.DG1 (Diagnosis Information)is equivalent toEpisodeOfCare[1]
ADT_A01.PROCEDURE.PR1 (Procedures)is equivalent toProcedure
ADT_A01.INSURANCE.IN1 (Insurance)is equivalent toCoverage[1]Processing of the IN1 segment results in the creation of a new Coverage resource
ADT_A01.INSURANCE.IN3 (Insurance Additional Info - Cert.)is equivalent toCareTeam[1]Incorporate IN3 content into the Coverage created from the IN1 segment.

Notes: