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: Segment PV1 to Encounter Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/segment-pv1-to-encounter | Version: 1.0.0
Standards status: Informative | Computable Name: SegmentPV1ToEncounter
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Segment PV1 to the FHIR Encounter Resource.

This ConceptMap represents the mapping from the HL7 V2 PV1 Segment to the FHIR Encounter Resource. See also the FHIR Shorthand or the CSV Source.

HL7 v2 | Condition (IF True, args) | HL7 FHIR | Comments
--- | --- | --- | ---
Sort Order | Identifier | Name | Data Type | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | FHIR Attribute | Extension | Data Type | Cardinality - Min | Cardinality - Max | Data Type Mapping | Vocabulary Mapping (IS, ID, CE, CEN, CWE) | Assignment
1 | PV1-1 | Set ID - PV1 | SI | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
2 | PV1-2 | Patient Class | CWE | 1 | 1 |  |  |  | Encounter.class |  | Coding | 1 | 1 | CWE[Coding] | PatientClass[EncounterClass] |  |
2 | PV1-2 | Patient Class | CWE | 1 | 1 | IF PV1-45 NOT VALUED |  |  | Encounter.status |  | code | 1 | 1 | CWE[code] | PatientClass[EncounterStatus] |  |
3 | PV1-3 | Assigned Patient Location | PL | 0 | 1 |  |  |  | Encounter.location.location(Encounter.Location) |  | Reference(Encounter.Location) | 1 | 1 | PL[location] |  |  | Recommended is to put the most granular location from the v2 segment in Encounter.location(Location) and then chain the less granular back to the most granular using Location.partOf. The additional Location instance do then not need to be linked directly in Encounter.location to avoid confusion on purpose and relationships.
3 | PV1-3 | Assigned Patient Location | PL | 0 | 1 | IF PV1-2.1 NOT EQUALS "P" |  |  | Encounter.location.status |  | code | 0 | 1 |  |  | "active" |
3 | PV1-3 | Assigned Patient Location | PL | 0 | 1 | IF PV1-2.1 EQUALS "P" |  |  | Encounter.location.status |  | code | 0 | 1 |  |  | "planned" |
4 | PV1-4 | Admission Type | CWE | 0 | 1 |  |  |  | Encounter.type |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] | AdmissionType |  |
5 | PV1-5 | Preadmit Number | CX | 0 | 1 |  |  |  | Encounter.hospitalization.preAdmissionIdentifier |  | Identifier | 0 | 1 | CX[Identifier] |  |  |
6 | PV1-6 | Prior Patient Location | PL | 0 | 1 |  |  |  | Encounter.location.location(Encounter.Location) |  | Reference(Encounter.Location) | 1 | 1 | PL[Location] |  |  |
6 | PV1-6 | Prior Patient Location | PL | 0 | 1 |  |  |  | Encounter.location.status |  | code | 0 | 1 |  |  | "completed" |
7 | PV1-7 | Attending Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.individual(Encounter.Practitioner) |  | Reference(Encounter.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
7 | PV1-7 | Attending Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.code |  | code | 0 | 1 |  |  | "ATND" |
7 | PV1-7 | Attending Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
7 | PV1-7 | Attending Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.display |  | string | 0 | 1 |  |  | "attender" |
8 | PV1-8 | Referring Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.individual(Encounter.Practitioner) |  | Reference(Encounter.Practitioner) | 0 | 1 | XCN[Practitioner] |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
8 | PV1-8 | Referring Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.code |  | code | 0 | 1 |  |  | "REF" |
8 | PV1-8 | Referring Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
8 | PV1-8 | Referring Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.text |  | string | 0 | 1 |  |  | "referrer" |
9 | PV1-9 | Consulting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.individual(Encounter.Practitioner) |  | Reference(Encounter.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
9 | PV1-9 | Consulting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.code |  | code | 0 | 1 |  |  | "CON" |
9 | PV1-9 | Consulting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
9 | PV1-9 | Consulting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.text |  | string | 0 | 1 |  |  | "consultant" |
10 | PV1-10 | Hospital Service | CWE | 0 | 1 |  |  |  | Encounter.serviceType |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] | HospitalService |  |
11 | PV1-11 | Temporary Location | PL | 0 | 1 |  |  |  | Encounter.location.location(Encounter.Location) |  | Reference(Encounter.Location) | 1 | 1 | PL[Location] |  |  |
11 | PV1-11 | Temporary Location | PL | 0 | 1 |  |  |  | Encounter.location.status |  | code | 0 | 1 |  |  | "active" |
11 | PV1-11 | Temporary Location | PL | 0 | 1 |  |  |  | Encounter.location.extension.url |  | uri |  |  |  |  | "http://hl7.org/fhir/StructureDefinition/subject-locationClassification" |
11 | PV1-11 | Temporary Location | PL | 0 | 1 |  |  |  | Encounter.location.extension.valueCodeableConcept.coding.code |  | code |  |  |  |  | "temporary" |
11 | PV1-11 | Temporary Location | PL | 0 | 1 |  |  |  | Encounter.location.extension.valueCodeableConcept.coding.system |  | uri |  |  |  |  | " http://hl7.org/fhir/ValueSet/subject-location" |
12 | PV1-12 | Preadmit Test Indicator | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
13 | PV1-13 | Re-admission Indicator | CWE | 0 | 1 |  |  |  | Encounter.hospitalization.reAdmission |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] | ReadmissionIndicator |  |
14 | PV1-14 | Admit Source | CWE | 0 | 1 |  |  |  | Encounter.hospitalization.admitSource |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] |  |  | Table 0023 doesn't have any suggested values, therefore there is no vocabulary mapping
15 | PV1-15 | Ambulatory Status | CWE | 0 | -1 |  |  |  | Encounter.hospitalization.specialArrangement |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] | AmbulatoryStatus |  |
16 | PV1-16 | VIP Indicator | CWE | 0 | 1 |  |  |  | Encounter.hospitalization.specialCourtesy |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] | VIPIndicator |  | Depending on the vocabulary used in PV1-16, this may require additional mapping.
17 | PV1-17 | Admitting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.individual(Encounter.Practitioner) |  | Reference(Encounter.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
17 | PV1-17 | Admitting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.code |  | code | 0 | 1 |  |  | "ADM" |
17 | PV1-17 | Admitting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
17 | PV1-17 | Admitting Doctor | XCN | 0 | -1 |  |  |  | Encounter.participant.type.text |  | string | 0 | 1 |  |  | "admitter" |
18 | PV1-18 | Patient Type | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This field is widely used, but since the value set is user defined and there are no examples, implementations vary widely. It may fit for some Encounter.type, while others may want to reflect it on Patient or use another Encounter attribute. Consequently, the implementer has to determine where to map this.
19 | PV1-19 | Visit Number | CX | 0 | 1 |  |  |  | Identifier |  | Identifier | 0 | -1 | CX[Identifier] |  |  |
19 | PV1-19 | Visit Number | CX | 0 | 1 |  |  |  | Encounter.identifier.type.coding.code |  | code |  |  |  |  | "VN" |
19 | PV1-19 | Visit Number | CX | 0 | 1 |  |  |  | Encounter.identifier.type.coding.system |  | uri |  |  |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
19 | PV1-19 | Visit Number | CX | 0 | 1 |  |  |  | Encounter.identifier.type.text |  | string |  |  |  |  | "visit number" |
20 | PV1-20 | Financial Class | FC | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
21 | PV1-21 | Charge Price Indicator | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
22 | PV1-22 | Courtesy Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
23 | PV1-23 | Credit Rating | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
24 | PV1-24 | Contract Code | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
25 | PV1-25 | Contract Effective Date | DT | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
26 | PV1-26 | Contract Amount | NM | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
27 | PV1-27 | Contract Period | NM | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
28 | PV1-28 | Interest Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
29 | PV1-29 | Transfer to Bad Debt Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
30 | PV1-30 | Transfer to Bad Debt Date | DT | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
31 | PV1-31 | Bad Debt Agency Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
32 | PV1-32 | Bad Debt Transfer Amount | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
33 | PV1-33 | Bad Debt Recovery Amount | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
34 | PV1-34 | Delete Account Indicator | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
35 | PV1-35 | Delete Account Date | DT | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
36 | PV1-36 | Discharge Disposition | CWE | 0 | 1 |  |  |  | Encounter.hospitalization.dischargeDisposition |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] | DischargeDisposition |  |
37 | PV1-37 | Discharged to Location | DLD | 0 | 1 |  |  |  | Encounter.hospitalization.destination(Encounter.Location) |  | Reference(Encounter.Location) | 0 | 1 | DLD[Location-Discharge] |  | /Encounter.hospitalization.destination.reference=Location[n].id/ | This location should be a new location resources instance.
38 | PV1-38 | Diet Type | CWE | 0 | 1 |  |  |  | Encounter.hospitalization.dietPreference |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] | DietType |  |
39 | PV1-39 | Servicing Facility | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
40 | PV1-40 | Bed Status | IS | 0 | 1 | IF PV1-3.2 OR PV1-3.3 VALUED |  |  | Encounter.location.location(Encounter.Location.operationalStatus) |  | code | 0 | 1 |  | BedStatus |  | The operational status is on the Location resource where the implementer must determine which of the Encounter.location(Location) instances reflect the Bed or Room and apply it to the most granular available.
41 | PV1-41 | Account Status | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
42 | PV1-42 | Pending Location | PL | 0 | 1 |  |  |  | Encounter.location.location(Encounter.Location) |  | Reference(Encounter.Location) | 1 | 1 | PL[Location] |  | "reserved" |
42 | PV1-42 | Pending Location | PL | 0 | 1 |  |  |  | Encounter.location.status |  | code | 0 | 1 |  |  |  | "reserved"
43 | PV1-43 | Prior Temporary Location | PL | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
44 | PV1-44 | Admit Date/Time | DTM | 0 | 1 |  |  |  | Encounter.period.start |  | dateTime | 0 | 1 |  |  |  |
45 | PV1-45 | Discharge Date/Time | DTM | 0 | 1 |  |  |  | Encounter.period.end |  | dateTime | 0 | 1 |  |  |  |
45 | PV1-45 | Discharge Date/Time | DTM | 0 | 1 | IF PV1-45 VALUED |  |  | Encounter.status |  | code | 1 | 1 |  |  |  |
46 | PV1-46 | Current Patient Balance | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
47 | PV1-47 | Total Charges | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
48 | PV1-48 | Total Adjustments | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
49 | PV1-49 | Total Payments | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
50 | PV1-50 | Alternate Visit ID | CX | 0 | -1 |  |  |  | Identifier |  | Identifier | 0 | -1 | CX[Identifier] |  |  |
51 | PV1-51 | Visit Indicator | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
52 | PV1-52 | Other Healthcare Provider | XCN | 0 | -1 |  |  |  | Encounter.participant.individual(Encounter.Practitioner) |  | Reference(Encounter.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
52 | PV1-52 | Other Healthcare Provider | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.code |  | code | 0 | 1 |  |  | "PART" |
52 | PV1-52 | Other Healthcare Provider | XCN | 0 | -1 |  |  |  | Encounter.participant.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
52 | PV1-52 | Other Healthcare Provider | XCN | 0 | -1 |  |  |  | Encounter.participant.type.text |  | string | 0 | 1 |  |  | "Participation" |
53 | PV1-53 | Service Episode Description | ST | 0 | 1 |  |  |  | Encounter.episodeOfCare(Encounter.EpisodeOfCare.extension.url) |  | uri | 0 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/resource-instance-description" |
53 | PV1-53 | Service Episode Description | ST | 0 | 1 |  |  |  | Encounter.episodeOfCare(Encounter.EpisodeOfCare.extension.valueString) |  | string | 0 | 1 |  |  |  |
54 | PV1-54 | Service Episode Identifier | CX | 0 | 1 |  |  |  | Encounter.episodeOfCare(Encounter.EpisodeOfCare.identifier) |  | Identifier | 0 | -1 | CX[Identifier] |  |  |

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 | ComputableANTLR |  | Codes from |
PV1-2 | Patient Class |  | is equivalent to | class | class |
PV1-2 | Patient Class | IF PV1-45 NOT VALUED | is equivalent to | status | status |
PV1-3 | Assigned Patient Location |  | is equivalent to | location[1].location(Location) | location[1].location(Location) | Recommended is to put the most granular location from the v2 segment in Encounter.location(Location) and then chain the less granular back to the most granular using Location.partOf. The additional Location instance do then not need to be linked directly in Encounter.location to avoid confusion on purpose and relationships.
PV1-3 | Assigned Patient Location | IF PV1-2.1 NOT EQUALS "P" | is equivalent to | location[1].status | location[1].status |
PV1-3 | Assigned Patient Location | IF PV1-2.1 EQUALS "P" | is equivalent to | location[1].status | location[1].status |
PV1-4 | Admission Type |  | is equivalent to | type | type |
PV1-5 | Preadmit Number |  | is equivalent to | hospitalization.preAdmissionIdentifier | hospitalization.preAdmissionIdentifier |
PV1-6 | Prior Patient Location |  | is equivalent to | location[2].location(Location) | location[2].location(Location) |
PV1-6 | Prior Patient Location |  | is equivalent to | location[2].status | location[2].status |
PV1-7 | Attending Doctor |  | is equivalent to | participant[1].individual(Practitioner) | participant[1].individual(Practitioner) |
PV1-7 | Attending Doctor |  | is equivalent to | participant[1].type.coding.code | participant[1].type.coding.code |
PV1-7 | Attending Doctor |  | is equivalent to | participant[1].type.coding.system | participant[1].type.coding.system |
PV1-7 | Attending Doctor |  | is equivalent to | participant[1].type.coding.display | participant[1].type.coding.display |
PV1-8 | Referring Doctor |  | is equivalent to | participant[2].individual(Practitioner) | participant[2].individual(Practitioner) |
PV1-8 | Referring Doctor |  | is equivalent to | participant[2].type.coding.code | participant[2].type.coding.code |
PV1-8 | Referring Doctor |  | is equivalent to | participant[2].type.coding.system | participant[2].type.coding.system |
PV1-8 | Referring Doctor |  | is equivalent to | participant[2].type.text | participant[2].type.text |
PV1-9 | Consulting Doctor |  | is equivalent to | participant[3].individual(Practitioner) | participant[3].individual(Practitioner) |
PV1-9 | Consulting Doctor |  | is equivalent to | participant[3].type.coding.code | participant[3].type.coding.code |
PV1-9 | Consulting Doctor |  | is equivalent to | participant[3].type.coding.system | participant[3].type.coding.system |
PV1-9 | Consulting Doctor |  | is equivalent to | participant[3].type.text | participant[3].type.text |
PV1-10 | Hospital Service |  | is equivalent to | serviceType | serviceType |
PV1-11 | Temporary Location |  | is equivalent to | location[3].location(Location) | location[3].location(Location) |
PV1-11 | Temporary Location |  | is equivalent to | location[3].status | location[3].status |
PV1-11 | Temporary Location |  | is equivalent to | location[3].extension.url | location[3].extension.url |
PV1-11 | Temporary Location |  | is equivalent to | location[3].extension.valueCodeableConcept.coding.code | location[3].extension.valueCodeableConcept.coding.code |
PV1-11 | Temporary Location |  | is equivalent to | location[3].extension.valueCodeableConcept.coding.system | location[3].extension.valueCodeableConcept.coding.system |
PV1-13 | Re-admission Indicator |  | is equivalent to | hospitalization.reAdmission | hospitalization.reAdmission |
PV1-14 | Admit Source |  | is equivalent to | hospitalization.admitSource | hospitalization.admitSource | Table 0023 doesn't have any suggested values, therefore there is no vocabulary mapping
PV1-15 | Ambulatory Status |  | is equivalent to | hospitalization.specialArrangement | hospitalization.specialArrangement |
PV1-16 | VIP Indicator |  | is equivalent to | hospitalization.specialCourtesy | hospitalization.specialCourtesy | Depending on the vocabulary used in PV1-16, this may require additional mapping.
PV1-17 | Admitting Doctor |  | is equivalent to | participant[4].individual(Practitioner) | participant[4].individual(Practitioner) |
PV1-17 | Admitting Doctor |  | is equivalent to | participant[4].type.coding.code | participant[4].type.coding.code |
PV1-17 | Admitting Doctor |  | is equivalent to | participant[4].type.coding.system | participant[4].type.coding.system |
PV1-17 | Admitting Doctor |  | is equivalent to | participant[4].type.text | participant[4].type.text |
PV1-19 | Visit Number |  | is equivalent to | identifier[1] | identifier[1] |
PV1-19 | Visit Number |  | is equivalent to | identifier[1].type.coding.code | identifier[1].type.coding.code |
PV1-19 | Visit Number |  | is equivalent to | identifier[1].type.coding.system | identifier[1].type.coding.system |
PV1-19 | Visit Number |  | is equivalent to | identifier[1].type.text | identifier[1].type.text |
PV1-36 | Discharge Disposition |  | is equivalent to | hospitalization.dischargeDisposition | hospitalization.dischargeDisposition |
PV1-37 | Discharged to Location |  | is equivalent to | hospitalization.destination(Location) | hospitalization.destination(Location) | This location should be a new location resources instance.
PV1-38 | Diet Type |  | is equivalent to | hospitalization.dietPreference | hospitalization.dietPreference |
PV1-40 | Bed Status | IF PV1-3.2 OR PV1-3.3 VALUED | is equivalent to | location[1].location(Location.operationalStatus) | location[1].location(Location.operationalStatus) | The operational status is on the Location resource where the implementer must determine which of the Encounter.location(Location) instances reflect the Bed or Room and apply it to the most granular available.
PV1-42 | Pending Location |  | is equivalent to | location[4].location(Location) | location[4].location(Location) |
PV1-42 | Pending Location |  | is equivalent to | location[4].status | location[4].status | "reserved"
PV1-44 | Admit Date/Time |  | is equivalent to | period.start | period.start |
PV1-45 | Discharge Date/Time |  | is equivalent to | period.end | period.end |
PV1-45 | Discharge Date/Time | IF PV1-45 VALUED | is equivalent to | status | = "finished" |
PV1-50 | Alternate Visit ID |  | is equivalent to | identifier[2] | identifier[2] |
PV1-52 | Other Healthcare Provider |  | is equivalent to | participant[5].individual(Practitioner) | participant[5].individual(Practitioner) |
PV1-52 | Other Healthcare Provider |  | is equivalent to | participant[5].type.coding.code | = "PART" |
PV1-52 | Other Healthcare Provider |  | is equivalent to | participant[5].type.coding.system | participant[5].type.coding.system |
PV1-52 | Other Healthcare Provider |  | is equivalent to | participant[5].type.text | = "Participation" |
PV1-53 | Service Episode Description |  | is equivalent to | episodeOfCare(EpisodeOfCare[1].extension.url) | episodeOfCare(EpisodeOfCare[1].extension.url) |
PV1-53 | Service Episode Description |  | is equivalent to | episodeOfCare(EpisodeOfCare[1].extension.valueString) | episodeOfCare(EpisodeOfCare[1].extension.valueString) |
PV1-54 | Service Episode Identifier |  | is equivalent to | episodeOfCare(EpisodeOfCare[1].identifier) | episodeOfCare(EpisodeOfCare[1].identifier) |

### Notes: