HL7 Version 2 to FHIR
1.0.0 - STU 1

HL7 Version 2 to FHIR - Downloaded Version 1.0.0 See the Directory of published versions

## ConceptMap: Message ADT_A05 to Bundle Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/message-adt-a05-to-bundle | Version: 1.0.0
Standards status: Informative | Computable Name: MessageADT_A05ToBundle
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

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

This ConceptMap represents the mapping from the HL7 V2 ADT_A05 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 | ADT_A05.MSH | MSH | Message Header | 1 | 1 |  |  |  | Bundle | MSH[Bundle] |  |
1 | ADT_A05.MSH | MSH | Message Header | 1 | 1 |  |  |  | MessageHeader | MSH[MessageHeader] |  | Processing of the MSH segment results in the creation of a new MessageHeader resource.
1 | ADT_A05.MSH | MSH | Message Header | 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 | ADT_A05.MSH | MSH | Message Header | 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 | ADT_A05.ARV | [{ ARV }] | Access Restrictions | 0 | -1 |  |  |  |  |  |  |
3 | ADT_A05.SFT | [{ SFT }] | Software Segment | 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" |
3 | ADT_A05.SFT | [{ SFT }] | Software Segment | 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" |
4 | ADT_A05.UAC | [ UAC ] | User Authentication Credential | 0 | 1 |  |  |  |  |  |  |
5 | ADT_A05.EVN | EVN | Event Type | 1 | 1 |  |  |  | Provenance | EVN[Provenance] | Provenance[3].target.reference=MessageHeader[1].id |
5 | ADT_A05.EVN | EVN | Event Type | 1 | 1 | IF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED) |  |  | Provenance | MSH[Provenance-Operator] | Provenance[3].target.reference=MessageHeader[1].id | 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.
6 | ADT_A05.PID | PID | Patient Identification | 1 | 1 |  |  |  | Patient | PID[Patient] |  | Processing of the PID segment results in the creation of a new Patient resource
6 | ADT_A05.PID | PID | Patient Identification | 1 | 1 |  |  |  | Account | PID[Account] | Account.subject.reference=Patient[1].id |
6 | ADT_A05.PID | PID | Patient Identification | 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 |
7 | ADT_A05.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 |  |  |  | Patient | PD1[Patient] |  | Incorporate PD1 content into the Patient created from the PID segment.
7 | ADT_A01.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 | IF PD1-7 VALUED |  |  | Observation | PD1[Observation-LivingWill] | Observation[1].subject.reference=Patient[1].id |
8 | ADT_A05.OH1 | [{ OH1 }] | Employment Status | 0 | -1 |  |  |  |  |  |  |
9 | ADT_A05.OH2 | [{ OH2 }] | Past or Present Job | 0 | -1 |  |  |  |  |  |  |
10 | ADT_A05.OH3 | [ OH3 ] | Usual Work | 0 | 1 |  |  |  |  |  |  |
11 | ADT_A05.OH4 | [{ OH4 }] | Combat Zone Work | 0 | -1 |  |  |  |  |  |  |
12 | ADT_A05:follow:PID.ARV | [{ ARV }] | Access Restrictions | 0 | -1 |  |  |  |  |  |  | FHIR 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.
13 | ADT_A05:follow:PID.ROL | [{ ROL }] | Role | 0 | -1 | IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443" | (element("3.1")="PP")and(element("3.3")="HL70443") |  | Patient | ROL[Patient-GeneralPractitioner] |  |
13 | ADT_A05:follow:PID.ROL | [{ ROL }] | Role | 0 | -1 | IF 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. | CareTeam | ROL[CareTeam] | CareTeam[1].subject.reference=Patient[1].id |
14 | ADT_A05:follow:PID.PRT | [{ PRT }] | Participation | 0 | -1 | IF PRT-4 IS "PP" |  |  | Patient | PRT[Patient-GeneralPractitioner-PractitionerRole] |  |
14 | ADT_A05:follow:PID.PRT | [{ PRT }] | Participation | 0 | -1 | IF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO") |  |  | CareTeam | PRT[CareTeam] | CareTeam[1].subject.reference=Patient[1].id |
15 | ADT_A05.NEXT_OF_KIN | [{ | --- NEXT_OF_KIN begin | 0 | -1 |  |  |  |  |  |  |
15.1 | ADT_A05.NEXT_OF_KIN.NK1 | NK1 | Next of Kin / Associated Parties | 1 | 1 |  |  |  | RelatedPerson | NK1[RelatedPerson] | RelatedPerson[2].patient.reference=Patient[1].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.
15.1 | ADT_A05.NEXT_OF_KIN.NK1 | NK1 | Next of Kin / Associated Parties | 1 | 1 |  |  |  | Patient | NK1[Patient] |  |
15.2 | ADT_A05.NEXT_OF_KIN.OH2 | [{ OH2 }] | Past or Present Job | 0 | -1 |  |  |  |  |  |  |
15.2 | ADT_A05.NEXT_OF_KIN.OH3 | [ OH3 ] | Usual Work | 0 | 1 |  |  |  |  |  |  |
15.3 | /ADT_A05.NEXT_OF_KIN | }] | --- NEXT_OF_KIN end |  |  |  |  |  |  |  |  |
16 | ADT_A05.PV1 | PV1 | Patient Visit | 1 | 1 |  |  |  | Encounter | PV1[Encounter] | Encounter[1].subject.reference=Patient[1].id | Processing of the PV1 segment results in the creation of a new Encounter resource
16 | ADT_A05.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-43 VALUED |  |  | Basic | PV1[Basic-EncounterHistory] | Basic.extension-EncounterHistory.subject.reference=Patient[1].id |
16 | ADT_A05.PV1 | PV1 | Patient Visit | 1 | 1 |  |  |  | Patient | PV1[Patient] |  |
16 | ADT_A05.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-20 VALUE |  |  | Coverage | PV1[Coverage] | Coverage.beneficiary.reference=Patient[1].id |
17 | ADT_A05.PV2 | [ PV2 ] | Patient Visit - Additional Info. | 0 | 1 |  |  |  | Encounter | PV2[Encounter] |  | Incorporate PV2 content into the Encounter created from the PV1 segment.
18 | ADT_A05:follow:PV1.ARV | [{ ARV }] | Access Restrictions | 0 | -1 |  |  |  |  |  |  | FHIR 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.
19 | ADT_A05:follow:PV1.ROL | [{ ROL }] | Role | 0 | -1 |  |  |  | Encounter | ROL[Encounter-PractitionerRole] |  |
20 | ADT_A05:follow:PV1.PRT | [{ PRT }] | Participation | 0 | -1 |  |  |  |  |  |  |
21 | ADT_A05.DB1 | [{ DB1 }] | Disability Information | 0 | -1 |  |  |  |  |  |  |
22 | ADT_A05.OBSERVATION | [{ | --- OBSERVATION begin | 0 | -1 |  |  |  |  |  |  |
22.1 | ADT_A05.OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA" |  |  | Observation | OBX[Observation] | Observation[3].subject.reference=Patient[1].id | 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].
22.1 | ADT_A05.OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA" |  |  | Observation | OBX[Observation-Component] | Observation[3].subject.reference=Patient[1].id | 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].
22.2 | ADT_A05.OBSERVATION.PRT | [{ PRT }] | Participation | 0 | -1 |  |  |  |  |  |  |
22.3 | /ADT_A05.OBSERVATION | }] | --- OBSERVATION end |  |  |  |  |  |  |  |  |
23 | ADT_A05.AL1 | [{ AL1 }] | Allergy Information | 0 | -1 |  |  |  | AllergyIntolerance | AL1[AllergyIntolerance] | AllergyIntolerance.patient.reference=Patient[1].id | Processing of the AL1 segment results in the creation of a new AllergyIntolerance resource
24 | ADT_A05.IAM | [{ IAM }] | Patient Advers Reaction Information | 0 | -1 |  |  |  |  |  |  |
25 | ADT_A05.DG1 | [{ DG1 }] | Diagnosis Information | 0 | -1 |  |  | If in context of the patient | Condition | DG1[Condition] | Condition[1].subject.reference=Patient[1].id | Processing of the DG1 segment results in the creation of a new Condition resource
25 | ADT_A05.DG1 | [{ DG1 }] | Diagnosis Information | 0 | -1 |  |  | If in context of an encounter | Encounter | DG1[Encounter] | Encounter[1].diagnosis.reference=Condition[1].id |
25 | ADT_A05.DG1 | [{ DG1 }] | Diagnosis Information | 0 | -1 |  |  | If in context of a episode of care | EpisodeOfCare | DG1[EpisodeOfCare] | EpisodeOfCare.patient.reference=Patient[1].id; EpisodeOfCare.diagnosis.reference=Condition[1].id |
26 | ADT_A05.DRG | [ DRG ] | Diagnosis Related Group | 0 | 1 |  |  |  |  |  |  |
27 | ADT_A05.PROCEDURE | [{ | --- PROCEDURE begin | 0 | -1 |  |  |  |  |  |  |
27.1 | ADT_A05.PROCEDURE.PR1 | PR1 | Procedures | 1 | 1 |  |  |  | Procedure | PR1[Procedure] | Procedure.subject.reference=Patient[1].id |
27.2 | ADT_A05.PROCEDURE.ROL | [{ ROL }] | Role | 0 | -1 |  |  |  |  |  |  |
27.3 | ADT_A05.PROCEDURE.PRT | [{ PRT }] | Participation | 0 | -1 |  |  |  |  |  |  |
27.4 | /ADT_A05.PROCEDURE | }] | --- PROCEDURE end |  |  |  |  |  |  |  |  |
28 | ADT_A05.GT1 | [{ GT1 }] | Guarantor | 0 | -1 |  |  |  |  |  |  |
29 | ADT_A05.INSURANCE | [{ | --- INSURANCE begin | 0 | -1 |  |  |  |  |  |  |
29.1 | ADT_A05.INSURANCE.IN1 | IN1 | Insurance | 1 | 1 |  |  |  | Coverage | IN1[Coverage] |  | Processing of the IN1 segment results in the creation of a new Coverage resource
29.2 | ADT_A05.INSURANCE.IN2 | [ IN2 ] | Insurance Additional Info. | 0 | 1 |  |  |  |  |  |  |
29.3 | ADT_A05.INSURANCE.IN3 | [{ IN3 }] | Insurance Additional Info - Cert. | 0 | -1 |  |  |  | CareTeam | IN3[CareTeam] | CareTeam.subject.reference=Patient[1].id | Incorporate IN3 content into the Coverage created from the IN1 segment.
29.4 | ADT_A05.INSURANCE.ROL | [{ ROL }] | Role | 0 | -1 |  |  |  |  |  |  |
29.5 | ADT_A05.INSURANCE.PRT | [{ PRT }] | Participation | 0 | -1 |  |  |  |  |  |  |
29.6 | ADT_A0.INSURANCE.AUTHORIZATION | [{ | --- AUTHORIZATION begin | 0 | -1 |  |  |  |  |  |  |
29.6.1 | ADT_A05.INSURANCE.AUTHORIZATION.AUT | AUT | Authorization Record | 1 | 1 |  |  |  |  |  |  |
29.6.2 | ADT_A05.INSURANCE.AUTHORIZATION.PRT | [{ PRT }] | Participation | 0 | -1 |  |  |  |  |  |  |
29.6.3 | /ADT_A05.INSURANCE.AUTHORIZATION | }] | --- AUTHORIZATION end |  |  |  |  |  |  |  |  |
29.7 | ADT_A05.INSURANCE.REFERRAL | [{ | --- REFERRAL begin | 0 | -1 |  |  |  |  |  |  |
29.7.1 | ADT_A05.INSURANCE.REFERRAL.RF1 | RF1 | Referral Information | 1 | 1 |  |  |  |  |  |  |
29.7.2 | ADT_A05.INSURANCE.REFERRAL.PRT | [{ PRT }] | Participation | 0 | -1 |  |  |  |  |  |  |
29.7.3 | /ADT_A05.INSURANCE.REFERRAL | }] | --- REFERRAL end |  |  |  |  |  |  |  |  |
29.8 | /ADT_A05.INSURANCE | }] | --- INSURANCE end |  |  |  |  |  |  |  |  |
30 | ADT_A05.ACC | [ ACC ] | Accident Information | 0 | 1 |  |  |  |  |  |  |
31 | ADT_A05.UB1 | [ UB1 ] | Universal Bill Information | 0 | 1 |  |  |  |  |  |  |
32 | ADT_A05.UB2 | [ UB2 ] | Universal Bill 92 Information | 0 | 1 |  |  |  |  |  |  |

Mapping from (not specified) to (not specified)

Group 1 Mapping from `unspecified code system` to `unspecified code system`

Source Concept Details | Relationship | Target Concept Details | Comment
Codes from | NarrativeCondition | ComputableFHIRPath | ComputableANTLR |  | Codes from |
ADT_A05.MSH | Message Header |  |  |  | is equivalent to | Bundle | Bundle |
ADT_A05.MSH | Message Header |  |  |  | is equivalent to | MessageHeader[1] | MessageHeader[1] | Processing of the MSH segment results in the creation of a new MessageHeader resource.
ADT_A05.MSH | Message Header | If there is a source in MSH-4, or known based on the configuration. |  |  | is equivalent to | Provenance[1] | 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.
ADT_A05.MSH | Message Header |  |  |  | is equivalent to | Provenance[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.
ADT_A05.SFT | Software Segment | If the software does represent not the original source system |  |  | is equivalent to | Provenance[1].entity.what(Device) | Provenance[1].entity.what(Device) |
ADT_A05.SFT | Software Segment | If the software represents the original source system |  |  | is equivalent to | Provenance[1].entity.what(Device) | Provenance[1].entity.what(Device) |
ADT_A05.EVN | Event Type |  |  |  | is equivalent to | Provenance[3] | Provenance[3] |
ADT_A05.EVN | Event Type |  |  | IF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED) | is equivalent to | Provenance[3] | Provenance[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_A05.PID | Patient Identification |  |  |  | is equivalent to | Patient[1] | Patient[1] | Processing of the PID segment results in the creation of a new Patient resource
ADT_A05.PID | Patient Identification |  |  |  | is equivalent to | Account | Account |
ADT_A05.PID | Patient Identification | 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 | is equivalent to | Provenance[4] | Provenance[4] |
ADT_A05.PD1 | Additional Demographics |  |  |  | is equivalent to | Patient[1] | Patient[1] | Incorporate PD1 content into the Patient created from the PID segment.
ADT_A01.PD1 | Additional Demographics |  |  | IF PD1-7 VALUED | is equivalent to | Observation[1] | Observation[1] |
ADT_A05:follow:PID.ROL | Role |  | (element("3.1")="PP")and(element("3.3")="HL70443") | IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443" | is equivalent to | Patient[1] | Patient[1] |
ADT_A05:follow:PID.ROL | Role | 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. | (element("3.1")!="PP")or(element("3.3")!="HL70443") | IF ROL-3.3 EQUALS "HL70443" AND ROL-3.1 IS NOT "PP" | is equivalent to | CareTeam[1] | CareTeam[1] |
ADT_A05:follow:PID.PRT | Participation |  |  | IF PRT-4 IS "PP" | is equivalent to | Patient[1] | Patient[1] |
ADT_A05:follow:PID.PRT | Participation |  |  | IF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO") | is equivalent to | CareTeam[1] | CareTeam[1] |
ADT_A05.NEXT_OF_KIN.NK1 | Next of Kin / Associated Parties |  |  |  | is equivalent to | RelatedPerson[2] | RelatedPerson[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_A05.NEXT_OF_KIN.NK1 | Next of Kin / Associated Parties |  |  |  | is equivalent to | Patient[1] | Patient[1] |
ADT_A05.PV1 | Patient Visit |  |  |  | is equivalent to | Encounter[1] | Encounter[1] | Processing of the PV1 segment results in the creation of a new Encounter resource
ADT_A05.PV1 | Patient Visit |  |  | IF PV1-43 VALUED | is equivalent to | Basic | Basic |
ADT_A05.PV1 | Patient Visit |  |  |  | is equivalent to | Patient[1] | Patient[1] |
ADT_A05.PV1 | Patient Visit |  |  | IF PV1-20 VALUE | is equivalent to | Coverage[1] | Coverage[1] |
ADT_A05.PV2 | Patient Visit - Additional Info. |  |  |  | is equivalent to | Encounter[1] | Encounter[1] | Incorporate PV2 content into the Encounter created from the PV1 segment.
ADT_A05:follow:PV1.ROL | Role |  |  |  | is equivalent to | Encounter[1] | Encounter[1] |
ADT_A05.OBSERVATION.OBX | Observation/Result |  |  | IF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA" | is equivalent to | Observation[3] | Observation[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_A05.OBSERVATION.OBX | Observation/Result |  |  | IF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA" | is equivalent to | Observation[3] | Observation[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_A05.AL1 | Allergy Information |  |  |  | is equivalent to | AllergyIntolerance | AllergyIntolerance | Processing of the AL1 segment results in the creation of a new AllergyIntolerance resource
ADT_A05.DG1 | Diagnosis Information | If in context of the patient |  |  | is equivalent to | Condition[1] | Condition[1] | Processing of the DG1 segment results in the creation of a new Condition resource
ADT_A05.DG1 | Diagnosis Information | If in context of an encounter |  |  | is equivalent to | Encounter[1] | Encounter[1] |
ADT_A05.DG1 | Diagnosis Information | If in context of a episode of care |  |  | is equivalent to | EpisodeOfCare[1] | EpisodeOfCare[1] |
ADT_A05.PROCEDURE.PR1 | Procedures |  |  |  | is equivalent to | Procedure | Procedure |
ADT_A05.INSURANCE.IN1 | Insurance |  |  |  | is equivalent to | Coverage[1] | Coverage[1] | Processing of the IN1 segment results in the creation of a new Coverage resource
ADT_A05.INSURANCE.IN3 | Insurance Additional Info - Cert. |  |  |  | is equivalent to | CareTeam[1] | CareTeam[1] | Incorporate IN3 content into the Coverage created from the IN1 segment.

### Notes: