Vital Records Common Library (VRCL) FHIR Implementation Guide
2.0.0 - STU2-CI Build United States of America flag

Vital Records Common Library (VRCL) FHIR Implementation Guide, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/vr-common-library/ and changes regularly. See the Directory of published versions

Resource Profile: Patient - Child Vital Records - Mappings

Active as of 2026-10-16

Mappings for the Patient-child-vr resource profile.

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
Patient / id
Patient / meta
Patient / implicitRules
Patient / language
Patient / text
Act.text?
Patient / contained
N/A
Patient / Slices for extension
Patient / Slices for extension / extension:race
Patient / Slices for extension / extension:ethnicity
Patient / Slices for extension / extension:birthsex
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
Patient / Slices for extension / extension:birthsex / id
n/a
Patient / Slices for extension / extension:birthsex / extension
Patient / Slices for extension / extension:birthsex / url
N/A
Patient / Slices for extension / extension:birthsex / value[x]
N/A
Patient / Slices for extension / extension:genderIdentity
Patient / Slices for extension / extension:birthPlace
Patient / Slices for extension / extension:birthPlace / id
n/a
Patient / Slices for extension / extension:birthPlace / extension
Patient / Slices for extension / extension:birthPlace / url
N/A
Patient / Slices for extension / extension:birthPlace / value[x]
N/A
Patient / Slices for extension / extension:birthPlace / value[x] / id
n/a
Patient / Slices for extension / extension:birthPlace / value[x] / extension
n/a
Patient / Slices for extension / extension:birthPlace / value[x] / use
unique(./use)
XAD.7
Patient / Slices for extension / extension:birthPlace / value[x] / type
unique(./use)
XAD.18
Patient / Slices for extension / extension:birthPlace / value[x] / text
./formatted
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
Patient / Slices for extension / extension:birthPlace / value[x] / line
AD.part[parttype = AL]
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
Patient / Slices for extension / extension:birthPlace / value[x] / city
AD.part[parttype = CTY]
XAD.3
Patient / Slices for extension / extension:birthPlace / value[x] / city / id
Patient / Slices for extension / extension:birthPlace / value[x] / city / Slices for extension
Patient / Slices for extension / extension:birthPlace / value[x] / city / Slices for extension
Patient / Slices for extension / extension:birthPlace / value[x] / city / Slices for extension / extension:cityCode
Patient / Slices for extension / extension:birthPlace / value[x] / city / value
Patient / Slices for extension / extension:birthPlace / value[x] / district
AD.part[parttype = CNT | CPA]
XAD.9
Patient / Slices for extension / extension:birthPlace / value[x] / district / id
Patient / Slices for extension / extension:birthPlace / value[x] / district / Slices for extension
Patient / Slices for extension / extension:birthPlace / value[x] / district / Slices for extension
Patient / Slices for extension / extension:birthPlace / value[x] / district / Slices for extension / extension:districtCode
Patient / Slices for extension / extension:birthPlace / value[x] / district / value
Patient / Slices for extension / extension:birthPlace / value[x] / state
AD.part[parttype = STA]
XAD.4
Patient / Slices for extension / extension:birthPlace / value[x] / state / id
Patient / Slices for extension / extension:birthPlace / value[x] / state / Slices for extension
Patient / Slices for extension / extension:birthPlace / value[x] / state / Slices for extension
Patient / Slices for extension / extension:birthPlace / value[x] / state / Slices for extension / extension:nationalReportingJurisdictionId
Patient / Slices for extension / extension:birthPlace / value[x] / state / value
Patient / Slices for extension / extension:birthPlace / value[x] / postalCode
AD.part[parttype = ZIP]
XAD.5
Patient / Slices for extension / extension:birthPlace / value[x] / country
AD.part[parttype = CNT]
XAD.6
Patient / Slices for extension / extension:birthPlace / value[x] / period
./usablePeriod[type="IVL<TS>"]
XAD.12 / XAD.13 + XAD.14
Patient / Slices for extension / extension:parentReportedAgeAtDelivery
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / id
n/a
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / id
n/a
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / extension
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / url
N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x]
N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x] / id
n/a
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x] / extension
n/a
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x] / value
  • PQ.value
  • CO.value
  • MO.value
  • IVL.high or IVL.low depending on the value
SN.2 / CQ - N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x] / comparator
IVL properties
SN.1 / CQ.1
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x] / unit
PQ.unit
(see OBX.6 etc.) / CQ.2
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x] / system
  • CO.codeSystem
  • PQ.translation.codeSystem
(see OBX.6 etc.) / CQ.2
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reportedAge / value[x] / code
  • PQ.code
  • MO.currency
  • PQ.translation.code
(see OBX.6 etc.) / CQ.2
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:motherOrFather
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:motherOrFather / id
n/a
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:motherOrFather / extension
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:motherOrFather / url
N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:motherOrFather / value[x]
N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reporter
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reporter / id
n/a
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reporter / extension
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reporter / url
N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / Slices for extension / extension:reporter / value[x]
N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / url
N/A
Patient / Slices for extension / extension:parentReportedAgeAtDelivery / value[x]
N/A
Patient / modifierExtension
N/A
Patient / Slices for identifier
id
.id
FiveWs.identifier
PID-3
Patient / Slices for identifier / identifier:MRN
id
.id
FiveWs.identifier
PID-3
Patient / Slices for identifier / identifier:MRN / id
n/a
Patient / Slices for identifier / identifier:MRN / extension
n/a
Patient / Slices for identifier / identifier:MRN / use
Role.code or implied by context
N/A
Patient / Slices for identifier / identifier:MRN / type
Role.code or implied by context
CX.5
Patient / Slices for identifier / identifier:MRN / type / id
n/a
Patient / Slices for identifier / identifier:MRN / type / extension
n/a
Patient / Slices for identifier / identifier:MRN / type / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Patient / Slices for identifier / identifier:MRN / type / coding / id
n/a
Patient / Slices for identifier / identifier:MRN / type / coding / extension
n/a
Patient / Slices for identifier / identifier:MRN / type / coding / system
./codeSystem
C*E.3
Patient / Slices for identifier / identifier:MRN / type / coding / version
./codeSystemVersion
C*E.7
Patient / Slices for identifier / identifier:MRN / type / coding / code
./code
C*E.1
Patient / Slices for identifier / identifier:MRN / type / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Patient / Slices for identifier / identifier:MRN / type / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Patient / Slices for identifier / identifier:MRN / type / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
Patient / Slices for identifier / identifier:MRN / system
II.root or Role.id.root
CX.4 / EI-2-4
Patient / Slices for identifier / identifier:MRN / value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
Patient / Slices for identifier / identifier:MRN / period
Role.effectiveTime or implied by context
CX.7 + CX.8
Patient / Slices for identifier / identifier:MRN / 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)
Patient / Slices for identifier / identifier:SSN
id
.id
FiveWs.identifier
PID-3
Patient / Slices for identifier / identifier:SSN / id
n/a
Patient / Slices for identifier / identifier:SSN / extension
n/a
Patient / Slices for identifier / identifier:SSN / use
Role.code or implied by context
N/A
Patient / Slices for identifier / identifier:SSN / type
Role.code or implied by context
CX.5
Patient / Slices for identifier / identifier:SSN / system
II.root or Role.id.root
CX.4 / EI-2-4
Patient / Slices for identifier / identifier:SSN / value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
Patient / Slices for identifier / identifier:SSN / period
Role.effectiveTime or implied by context
CX.7 + CX.8
Patient / Slices for identifier / identifier:SSN / 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)
Patient / active
statusCode
n/a
FiveWs.status
Patient / Slices for name
name
.patient.name
  • PID-5
  • PID-9
Patient / Slices for name / name:All Slices
Patient / Slices for name / name:All Slices / id
n/a
Patient / Slices for name / name:All Slices / extension
n/a
Patient / Slices for name / name:All Slices / use
unique(./use)
  • XPN.7
  • but often indicated by which field contains the name
Patient / Slices for name / name:All Slices / text
./formatted
implied by XPN.11
Patient / Slices for name / name:All Slices / family
./part[partType = FAM]
XPN.1/FN.1
Patient / Slices for name / name:All Slices / family / id
Patient / Slices for name / name:All Slices / family / Slices for extension
Patient / Slices for name / name:All Slices / family / Slices for extension / extension:dataAbsentReason
ANY.nullFlavor
Patient / Slices for name / name:All Slices / family / value
Patient / Slices for name / name:All Slices / given
./part[partType = GIV]
XPN.2 + XPN.3
Patient / Slices for name / name:All Slices / given / id
Patient / Slices for name / name:All Slices / given / Slices for extension
Patient / Slices for name / name:All Slices / given / Slices for extension / extension:dataAbsentReason
ANY.nullFlavor
Patient / Slices for name / name:All Slices / given / value
Patient / Slices for name / name:All Slices / prefix
./part[partType = PFX]
XPN.5
Patient / Slices for name / name:All Slices / suffix
./part[partType = SFX]
XPN/4
Patient / Slices for name / name:All Slices / period
./usablePeriod[type="IVL<TS>"]
XPN.13 + XPN.14
Patient / Slices for name / name:currentLegalName
name
.patient.name
  • PID-5
  • PID-9
Patient / Slices for name / name:currentLegalName / id
n/a
Patient / Slices for name / name:currentLegalName / extension
n/a
Patient / Slices for name / name:currentLegalName / use
unique(./use)
  • XPN.7
  • but often indicated by which field contains the name
Patient / Slices for name / name:currentLegalName / text
./formatted
implied by XPN.11
Patient / Slices for name / name:currentLegalName / family
./part[partType = FAM]
XPN.1/FN.1
Patient / Slices for name / name:currentLegalName / given
./part[partType = GIV]
XPN.2 + XPN.3
Patient / Slices for name / name:currentLegalName / prefix
./part[partType = PFX]
XPN.5
Patient / Slices for name / name:currentLegalName / suffix
./part[partType = SFX]
XPN/4
Patient / Slices for name / name:currentLegalName / period
./usablePeriod[type="IVL<TS>"]
XPN.13 + XPN.14
Patient / Slices for name / name:namePriorToFirstMarriage
name
.patient.name
  • PID-5
  • PID-9
Patient / Slices for name / name:namePriorToFirstMarriage / id
n/a
Patient / Slices for name / name:namePriorToFirstMarriage / extension
n/a
Patient / Slices for name / name:namePriorToFirstMarriage / use
unique(./use)
  • XPN.7
  • but often indicated by which field contains the name
Patient / Slices for name / name:namePriorToFirstMarriage / text
./formatted
implied by XPN.11
Patient / Slices for name / name:namePriorToFirstMarriage / family
./part[partType = FAM]
XPN.1/FN.1
Patient / Slices for name / name:namePriorToFirstMarriage / given
./part[partType = GIV]
XPN.2 + XPN.3
Patient / Slices for name / name:namePriorToFirstMarriage / prefix
./part[partType = PFX]
XPN.5
Patient / Slices for name / name:namePriorToFirstMarriage / suffix
./part[partType = SFX]
XPN/4
Patient / Slices for name / name:namePriorToFirstMarriage / period
./usablePeriod[type="IVL<TS>"]
XPN.13 + XPN.14
Patient / telecom
telecom
.telecom
  • PID-13
  • PID-14
  • PID-40
Patient / telecom / id
n/a
Patient / telecom / extension
n/a
Patient / telecom / system
./scheme
XTN.3
Patient / telecom / value
./url
XTN.1 (or XTN.12)
Patient / telecom / use
unique(./use)
XTN.2 - but often indicated by field
Patient / telecom / rank
n/a
n/a
Patient / telecom / period
./usablePeriod[type="IVL<TS>"]
N/A
Patient / gender
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
.patient.administrativeGenderCode
PID-8
Patient / birthDate
player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
.patient.birthTime
PID-7
21112-8
Patient / birthDate / id
Patient / birthDate / Slices for extension
Patient / birthDate / Slices for extension / extension:partialDateTime
Patient / birthDate / Slices for extension / extension:birthTime
Patient / birthDate / Slices for extension / extension:bypassEditFlag
Patient / birthDate / Slices for extension / extension:bypassEditFlag / id
n/a
Patient / birthDate / Slices for extension / extension:bypassEditFlag / extension
Patient / birthDate / Slices for extension / extension:bypassEditFlag / url
N/A
Patient / birthDate / Slices for extension / extension:bypassEditFlag / value[x]
N/A
Patient / birthDate / value
Patient / 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)
Patient / Slices for deceased[x] / deceased[x]:deceasedBoolean
  • 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)
Patient / Slices for deceased[x] / deceased[x]:deceasedBoolean / id
Patient / Slices for deceased[x] / deceased[x]:deceasedBoolean / Slices for extension
Patient / Slices for deceased[x] / deceased[x]:deceasedBoolean / Slices for extension
Patient / Slices for deceased[x] / deceased[x]:deceasedBoolean / Slices for extension / extension:fetalDeath
Patient / Slices for deceased[x] / deceased[x]:deceasedBoolean / value
Patient / address
addr
.addr
PID-11
Patient / address / id
n/a
Patient / address / Slices for extension
n/a
Patient / address / Slices for extension / extension:withinCityLimitsIndicator
Patient / address / Slices for extension / extension:predir
Patient / address / Slices for extension / extension:stnum
Patient / address / Slices for extension / extension:stname
Patient / address / Slices for extension / extension:stdesig
Patient / address / Slices for extension / extension:postdir
Patient / address / Slices for extension / extension:unitnumber
Patient / address / use
unique(./use)
XAD.7
Patient / address / type
unique(./use)
XAD.18
Patient / address / text
./formatted
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
Patient / address / line
AD.part[parttype = AL]
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
Patient / address / city
AD.part[parttype = CTY]
XAD.3
Patient / address / city / id
Patient / address / city / Slices for extension
Patient / address / city / Slices for extension / extension:cityCode
Patient / address / city / value
Patient / address / district
AD.part[parttype = CNT | CPA]
XAD.9
Patient / address / district / id
Patient / address / district / Slices for extension
Patient / address / district / Slices for extension / extension:districtCode
Patient / address / district / value
Patient / address / state
AD.part[parttype = STA]
XAD.4
Patient / address / postalCode
AD.part[parttype = ZIP]
XAD.5
Patient / address / country
AD.part[parttype = CNT]
XAD.6
Patient / address / period
./usablePeriod[type="IVL<TS>"]
XAD.12 / XAD.13 + XAD.14
Patient / maritalStatus
player[classCode=PSN]/maritalStatusCode
.patient.maritalStatusCode
PID-16
Patient / 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)
Patient / multipleBirth[x] / id
n/a
Patient / multipleBirth[x] / Slices for extension
n/a
Patient / multipleBirth[x] / Slices for extension / extension:bypassEditFlag
Patient / multipleBirth[x] / Slices for extension / extension:bypassEditFlag / id
n/a
Patient / multipleBirth[x] / Slices for extension / extension:bypassEditFlag / extension
Patient / multipleBirth[x] / Slices for extension / extension:bypassEditFlag / url
N/A
Patient / multipleBirth[x] / Slices for extension / extension:bypassEditFlag / value[x]
N/A
Patient / multipleBirth[x] / Slices for extension / extension:multipleBirthTotal
Patient / multipleBirth[x] / Slices for extension / extension:multipleBirthTotal / id
n/a
Patient / multipleBirth[x] / Slices for extension / extension:multipleBirthTotal / extension
Patient / multipleBirth[x] / Slices for extension / extension:multipleBirthTotal / url
N/A
Patient / multipleBirth[x] / Slices for extension / extension:multipleBirthTotal / value[x]
N/A
Patient / photo
player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
n/a
OBX-5 - needs a profile
Patient / contact
player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
n/a
Patient / contact / id
n/a
Patient / contact / extension
n/a
Patient / contact / modifierExtension
N/A
Patient / contact / relationship
code
n/a
  • NK1-7
  • NK1-3
Patient / contact / name
name
n/a
NK1-2
Patient / contact / telecom
telecom
n/a
  • NK1-5
  • NK1-6
  • NK1-40
Patient / contact / address
addr
n/a
NK1-4
Patient / contact / gender
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
n/a
NK1-15
Patient / contact / organization
scoper
n/a
  • NK1-13
  • NK1-30
  • NK1-31
  • NK1-32
  • NK1-41
Patient / contact / period
effectiveTime
n/a
Patient / communication
LanguageCommunication
patient.languageCommunication
Patient / communication / id
n/a
Patient / communication / extension
n/a
Patient / communication / modifierExtension
N/A
Patient / communication / language
player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
.languageCode
  • PID-15
  • LAN-2
Patient / communication / preferred
preferenceInd
.preferenceInd
PID-15
Patient / generalPractitioner
subjectOf.CareEvent.performer.AssignedEntity
n/a
PD1-4
Patient / managingOrganization
scoper
.providerOrganization
Patient / link
outboundLink
n/a
Patient / link / id
n/a
Patient / link / extension
n/a
Patient / link / modifierExtension
N/A
Patient / link / other
id
n/a
  • PID-3
  • MRG-1
Patient / link / type
typeCode
n/a

doco Documentation for this format