US Veterans Health Administration FHIR Map Set Implementation Guide
1.6.0 - 250701 United States of America flag

Publication Build: This will be filled in by the publication tooling

Resource Profile: Patient - Mappings

Active as of 2025-06-20

Mappings for the Patient resource profile.

Scroll down for the Raw FHIR, CDW & SDA mappings (if any).

Note that the CDW, SDA and VPR XML mappings are derived from a look-up based on the VistA source.

Mapping Sources

Use Case: Patient (Source)Use Case: Patient (Source)PATIENT (2).01NAME.02SEX.024SELF IDENTIFIED GENDER.03DATE OF BIRTH.05MARITAL STATUS.08RELIGIOUS PREFERENCE.111STREET ADDRESS [LINE 1].1112ZIP+4.112STREET ADDRESS [LINE 2].113STREET ADDRESS [LINE 3].114CITY.115STATE.1173COUNTRY.1217TEMPORARY ADDRESS START DATE.1218TEMPORARY ADDRESS END DATE.131PHONE NUMBER [RESIDENCE].132PHONE NUMBER [WORK].134PHONE NUMBER [CELLULAR].351DATE OF DEATH2RACE INFORMATION6ETHNICITY INFORMATION7LANGUAGE DATE/TIME991.01INTEGRATION CONTROL NUMBERLANGUAGE DATE/TIME (2.07).02PREFERRED LANGUAGE

Raw Mappings

key status direction source mapApproach mapCase FHIR Path subPath mapValue mapParameter mapComment FHIR URL | Ver
272 for review V2F PATIENT - INTEGRATION CONTROL NUMBER (2-991.01) source value Patient.identifier .value .system=urn:oid:2.16.840.1.113883.4.349
.type.coding.code=#MR
.type.coding.system=http://terminology.hl7.org/CodeSystem/v2-0203
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
273 for review V2F PATIENT - NAME (2-.01) source value Patient.name .text .family=LAST
.given=FIRST & MIDDLE
.suffix=SUFFIX
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
274 for review V2F PATIENT - PHONE NUMBER [RESIDENCE] (2-.131) source value Patient.telecom[va-home] .value .system=#phone
.use=#home
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
275 for review V2F PATIENT - PHONE NUMBER [WORK] (2-.132) source value Patient.telecom[va-work] .value .system=#phone
.use=#work
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
276 for review V2F PATIENT - PHONE NUMBER [CELLULAR] (2-.134) source value Patient.telecom[va-mobile] .value .system=#phone
.use=#mobile
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
284 for review V2F PATIENT - DATE OF BIRTH (2-.03) source value Patient.birthDate http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
285 for review V2F PATIENT - DATE OF DEATH (2-.351) source value not null Patient.deceasedDateTime removed "true" based on Validator testing 6/30/23 http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
286 for review V2F PATIENT - STREET ADDRESS [LINE 1] (2-.111) source value Patient.address[va-home] .line .use=#home
.type=#postal
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
287 for review V2F PATIENT - STREET ADDRESS [LINE 2] (2-.112) source value Patient.address[va-home] .line http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
288 for review V2F PATIENT - STREET ADDRESS [LINE 3] (2-.113) source value Patient.address[va-home] .line http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
289 for review V2F PATIENT - CITY (2-.114) source value Patient.address[va-home] .city http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
290 for review V2F PATIENT - STATE (2-.115) source value Patient.address[va-home] .state http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
291 for review V2F PATIENT - ZIP+4 (2-.1112) source value Patient.address[va-home] .postalCode http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
292 for review V2F PATIENT - COUNTRY (2-.1173) source value Patient.address[va-home] .country confirm association with .111 etc. http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
293 for review V2F PATIENT - TEMPORARY ADDRESS START DATE (2-.1217) source value Patient.address[va-home] .period.start need other addresses, including temp; not just range http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
294 for review V2F PATIENT - TEMPORARY ADDRESS END DATE (2-.1218) source value Patient.address[va-home] .period.end need other addresses, including temp; not just range http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
295 for review V2F PATIENT - LANGUAGE DATE/TIME > LANGUAGE DATE/TIME - PREFERRED LANGUAGE (2-7 > 2.07-.02) source value Patient.communication.language http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
296 for review V2F fixed value Patient.managingOrganization .display Veterans Health Administration http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
555 for review V2F PATIENT - SEX (2-.02) terminologyMaps Patient.gender VF_adminGender Map VA sex to FHIR gender; both are vague. For now. http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
1808 for review V2F PATIENT - SELF IDENTIFIED GENDER (2-.024) terminologyMaps Patient.extension[http://hl7.org/fhir/us/core/StructureDefinition/us-core-genderIdentity] .valueCodeableConcept VF_genderIdentity http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
575 for review V2F PATIENT - ETHNICITY INFORMATION (2-6) terminologyMaps Patient.extension[http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity] .extension[ombCategory].valueCoding.code VF_ethnicityCategory .extension[text].valueString={} http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
576 for review V2F PATIENT - RACE INFORMATION (2-2) terminologyMaps Patient.extension[http://hl7.org/fhir/us/core/StructureDefinition/us-core-race] .extension[ombCategory].valueCoding.code VF_raceCategory .extension[text].valueString={} Do we collect any detailed race data? http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
1597 for review V2F PATIENT - MARITAL STATUS (2-.05) terminologyMaps Patient.maritalStatus VF_MaritalStatus http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1
1598 for review V2F PATIENT - RELIGIOUS PREFERENCE (2-.08) terminologyMaps Patient.extension[http://hl7.org/fhir/StructureDefinition/patient-religion] .valueCodeableConcept VF_Religion http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient | 5.0.1

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameRIM MappingCDA (R2)FiveWs Pattern MappingHL7 v2 MappingLOINC code for the elementdoco
.. Patient
Patient[classCode=PAT]
ClinicalDocument.recordTarget.patientRole
... id
... meta
... implicitRules
... text
Act.text?
... contained
N/A
... Slices for extension
.... extension:race
..... id
n/a
..... Slices for extension
n/a
...... extension:ombCategory
....... id
n/a
....... extension
....... url
N/A
....... value[x]
N/A
........ id
n/a
........ extension
n/a
........ system
./codeSystem
C*E.3
........ version
./codeSystemVersion
C*E.7
........ code
./code
C*E.1
........ display
CV.displayName
C*E.2 - but note this is not well followed
........ userSelected
CD.codingRationale
Sometimes implied by being first
...... extension:detailed
....... id
n/a
....... extension
n/a
....... url
N/A
....... value[x]
N/A
...... extension:text
....... id
n/a
....... extension
....... url
N/A
....... value[x]
N/A
..... url
N/A
..... value[x]
N/A
.... extension:ethnicity
..... id
n/a
..... Slices for extension
n/a
...... extension:ombCategory
....... id
n/a
....... extension
....... url
N/A
....... value[x]
N/A
........ id
n/a
........ extension
n/a
........ system
./codeSystem
C*E.3
........ version
./codeSystemVersion
C*E.7
........ code
./code
C*E.1
........ display
CV.displayName
C*E.2 - but note this is not well followed
........ userSelected
CD.codingRationale
Sometimes implied by being first
...... extension:detailed
....... id
n/a
....... extension
n/a
....... url
N/A
....... value[x]
N/A
...... extension:text
....... id
n/a
....... extension
....... url
N/A
....... value[x]
N/A
..... url
N/A
..... value[x]
N/A
.... extension:birthsex
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
.... extension:genderIdentity
..... id
n/a
..... extension
..... url
N/A
..... value[x]
N/A
.... extension:patient-religion
..... id
n/a
..... extension
..... url
N/A
..... value[x]
N/A
... modifierExtension
N/A
... identifier
id
.id
FiveWs.identifier
PID-3
.... id
n/a
.... extension
n/a
.... use
Role.code or implied by context
N/A
.... type
Role.code or implied by context
CX.5
..... id
n/a
..... extension
n/a
..... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
...... id
n/a
...... extension
n/a
...... system
./codeSystem
C*E.3
...... version
./codeSystemVersion
C*E.7
...... code
./code
C*E.1
...... display
CV.displayName
C*E.2 - but note this is not well followed
...... userSelected
CD.codingRationale
Sometimes implied by being first
..... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
.... system
II.root or Role.id.root
CX.4 / EI-2-4
.... value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
.... period
Role.effectiveTime or implied by context
CX.7 + CX.8
.... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
... active
statusCode
n/a
FiveWs.status
... name
name
.patient.name
  • PID-5
  • PID-9
.... id
n/a
.... extension
n/a
.... use
unique(./use)
  • XPN.7
  • but often indicated by which field contains the name
.... text
./formatted
implied by XPN.11
.... family
./part[partType = FAM]
XPN.1/FN.1
.... given
./part[partType = GIV]
XPN.2 + XPN.3
.... prefix
./part[partType = PFX]
XPN.5
.... suffix
./part[partType = SFX]
XPN/4
.... period
./usablePeriod[type="IVL<TS>"]
XPN.13 + XPN.14
... Slices for telecom
telecom
.telecom
  • PID-13
  • PID-14
  • PID-40
.... telecom:All Slices
..... id
n/a
..... extension
n/a
..... system
./scheme
XTN.3
..... value
./url
XTN.1 (or XTN.12)
..... use
unique(./use)
XTN.2 - but often indicated by field
..... rank
n/a
n/a
..... period
./usablePeriod[type="IVL<TS>"]
N/A
.... telecom:va-home
telecom
.telecom
  • PID-13
  • PID-14
  • PID-40
..... id
n/a
..... extension
n/a
..... system
./scheme
XTN.3
..... value
./url
XTN.1 (or XTN.12)
..... use
unique(./use)
XTN.2 - but often indicated by field
..... rank
n/a
n/a
..... period
./usablePeriod[type="IVL<TS>"]
N/A
.... telecom:va-work
telecom
.telecom
  • PID-13
  • PID-14
  • PID-40
..... id
n/a
..... extension
n/a
..... system
./scheme
XTN.3
..... value
./url
XTN.1 (or XTN.12)
..... use
unique(./use)
XTN.2 - but often indicated by field
..... rank
n/a
n/a
..... period
./usablePeriod[type="IVL<TS>"]
N/A
.... telecom:va-mobile
telecom
.telecom
  • PID-13
  • PID-14
  • PID-40
..... id
n/a
..... extension
n/a
..... system
./scheme
XTN.3
..... value
./url
XTN.1 (or XTN.12)
..... use
unique(./use)
XTN.2 - but often indicated by field
..... rank
n/a
n/a
..... period
./usablePeriod[type="IVL<TS>"]
N/A
... gender
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
.patient.administrativeGenderCode
PID-8
... birthDate
player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
.patient.birthTime
PID-7
21112-8
... Slices for deceased[x]
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
n/a
PID-30 (bool) and PID-29 (datetime)
.... deceased[x]:deceasedDateTime
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
n/a
PID-30 (bool) and PID-29 (datetime)
... Slices for address
addr
.addr
PID-11
.... address:All Slices
..... id
n/a
..... extension
n/a
..... use
unique(./use)
XAD.7
..... type
unique(./use)
XAD.18
..... text
./formatted
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
..... line
AD.part[parttype = AL]
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
..... city
AD.part[parttype = CTY]
XAD.3
..... district
AD.part[parttype = CNT | CPA]
XAD.9
..... state
AD.part[parttype = STA]
XAD.4
..... postalCode
AD.part[parttype = ZIP]
XAD.5
..... country
AD.part[parttype = CNT]
XAD.6
..... period
./usablePeriod[type="IVL<TS>"]
XAD.12 / XAD.13 + XAD.14
.... address:va-home
addr
.addr
PID-11
..... id
n/a
..... extension
n/a
..... use
unique(./use)
XAD.7
..... type
unique(./use)
XAD.18
..... text
./formatted
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
..... line
AD.part[parttype = AL]
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
..... city
AD.part[parttype = CTY]
XAD.3
..... district
AD.part[parttype = CNT | CPA]
XAD.9
..... state
AD.part[parttype = STA]
XAD.4
..... postalCode
AD.part[parttype = ZIP]
XAD.5
..... country
AD.part[parttype = CNT]
XAD.6
..... period
./usablePeriod[type="IVL<TS>"]
XAD.12 / XAD.13 + XAD.14
...... id
n/a
...... extension
n/a
...... start
./low
DR.1
...... end
./high
DR.2
... maritalStatus
player[classCode=PSN]/maritalStatusCode
.patient.maritalStatusCode
PID-16
... multipleBirth[x]
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
n/a
  • PID-24 (bool)
  • PID-25 (integer)
... photo
player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
n/a
OBX-5 - needs a profile
... contact
player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
n/a
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... relationship
code
n/a
  • NK1-7
  • NK1-3
.... name
name
n/a
NK1-2
.... telecom
telecom
n/a
  • NK1-5
  • NK1-6
  • NK1-40
.... address
addr
n/a
NK1-4
.... gender
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
n/a
NK1-15
.... organization
scoper
n/a
  • NK1-13
  • NK1-30
  • NK1-31
  • NK1-32
  • NK1-41
.... period
effectiveTime
n/a
... communication
LanguageCommunication
patient.languageCommunication
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... language
player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
.languageCode
  • PID-15
  • LAN-2
.... preferred
preferenceInd
.preferenceInd
PID-15
... generalPractitioner
subjectOf.CareEvent.performer.AssignedEntity
n/a
PD1-4
... managingOrganization
scoper
.providerOrganization
.... id
n/a
.... extension
n/a
.... reference
N/A
.... type
N/A
.... identifier
.identifier
.... display
N/A
... link
outboundLink
n/a
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... other
id
n/a
  • PID-3
  • MRG-1
.... type
typeCode
n/a

doco Documentation for this format