Nigeria Immunization FHIR IG
0.1.0 - ci-build Nigeria flag

Nigeria Immunization FHIR IG, published by intellisoftkenya.com. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/Nigeria-Immunization-FHIR-IG/ and changes regularly. See the Directory of published versions

Resource Profile: AdministerVaccineTransaction - Mappings

Draft as of 2025-08-11

Mappings for the administer-vaccine-transaction resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameHL7 v2 MappingRIM MappingCDA (R2)FiveWs Pattern Mappingdoco
.. Bundle
N/A
N/A
  • ClinicalDocument
  • if bundle.type = document
... id
... meta
... implicitRules
... identifier
ClinicalDocument.id
FiveWs.identifier
... type
FiveWs.class
... timestamp
ClinicalDocument.effectiveTime
FiveWs.init
... total
... link
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... relation
.... url
... Slices for entry
.... entry:All Slices
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... link
..... fullUrl
..... resource
..... search
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... mode
...... score
..... request
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... method
...... url
...... ifNoneMatch
...... ifModifiedSince
...... ifMatch
...... ifNoneExist
..... response
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... status
...... location
...... etag
...... lastModified
...... outcome
.... entry:patientEntry
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... link
..... fullUrl
..... resource
Patient[classCode=PAT]
ClinicalDocument.recordTarget.patientRole
...... id
...... meta
...... implicitRules
...... language
...... text
Act.text?
...... contained
N/A
...... extension
N/A
...... modifierExtension
N/A
...... Slices for identifier
PID-3
id
.id
FiveWs.identifier
....... identifier:NationalIDNo
PID-3
id
.id
FiveWs.identifier
........ id
n/a
........ extension
n/a
........ use
N/A
Role.code or implied by context
........ type
CX.5
Role.code or implied by context
........ system
CX.4 / EI-2-4
II.root or Role.id.root
........ value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
........ period
CX.7 + CX.8
Role.effectiveTime or implied by context
........ assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
....... identifier:MedicalRecordsNumber
PID-3
id
.id
FiveWs.identifier
........ id
n/a
........ extension
n/a
........ use
N/A
Role.code or implied by context
........ type
CX.5
Role.code or implied by context
........ system
CX.4 / EI-2-4
II.root or Role.id.root
........ value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
........ period
CX.7 + CX.8
Role.effectiveTime or implied by context
........ assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
....... identifier:ImmunizationRecordsNumber
PID-3
id
.id
FiveWs.identifier
........ id
n/a
........ extension
n/a
........ use
N/A
Role.code or implied by context
........ type
CX.5
Role.code or implied by context
........ system
CX.4 / EI-2-4
II.root or Role.id.root
........ value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
........ period
CX.7 + CX.8
Role.effectiveTime or implied by context
........ assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
....... identifier:BirthCertificateNo
PID-3
id
.id
FiveWs.identifier
........ id
n/a
........ extension
n/a
........ use
N/A
Role.code or implied by context
........ type
CX.5
Role.code or implied by context
........ system
CX.4 / EI-2-4
II.root or Role.id.root
........ value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
........ period
CX.7 + CX.8
Role.effectiveTime or implied by context
........ assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
....... identifier:PhoneNumber
PID-3
id
.id
FiveWs.identifier
........ id
n/a
........ extension
n/a
........ use
N/A
Role.code or implied by context
........ type
CX.5
Role.code or implied by context
........ system
CX.4 / EI-2-4
II.root or Role.id.root
........ value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
........ period
CX.7 + CX.8
Role.effectiveTime or implied by context
........ assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
...... active
statusCode
n/a
FiveWs.status
...... name
  • PID-5
  • PID-9
name
.patient.name
....... id
n/a
....... extension
n/a
....... use
  • XPN.7
  • but often indicated by which field contains the name
unique(./use)
....... text
implied by XPN.11
./formatted
....... family
XPN.1/FN.1
./part[partType = FAM]
....... given
XPN.2 + XPN.3
./part[partType = GIV]
....... prefix
XPN.5
./part[partType = PFX]
....... suffix
XPN/4
./part[partType = SFX]
....... period
XPN.13 + XPN.14
./usablePeriod[type="IVL<TS>"]
...... telecom
  • PID-13
  • PID-14
  • PID-40
telecom
.telecom
...... gender
PID-8
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
.patient.administrativeGenderCode
...... birthDate
PID-7
player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
.patient.birthTime
...... deceased[x]
PID-30 (bool) and PID-29 (datetime)
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
n/a
...... address
PID-11
addr
.addr
....... id
n/a
....... extension
n/a
....... use
XAD.7
unique(./use)
....... type
XAD.18
unique(./use)
....... text
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
./formatted
....... line
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
AD.part[parttype = AL]
....... city
XAD.3
AD.part[parttype = CTY]
....... district
XAD.9
AD.part[parttype = CNT | CPA]
....... state
XAD.4
AD.part[parttype = STA]
....... postalCode
XAD.5
AD.part[parttype = ZIP]
....... country
XAD.6
AD.part[parttype = CNT]
....... period
XAD.12 / XAD.13 + XAD.14
./usablePeriod[type="IVL<TS>"]
...... maritalStatus
PID-16
player[classCode=PSN]/maritalStatusCode
.patient.maritalStatusCode
...... multipleBirth[x]
  • PID-24 (bool)
  • PID-25 (integer)
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
n/a
...... photo
OBX-5 - needs a profile
player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
n/a
...... contact
player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
n/a
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... relationship
  • NK1-7
  • NK1-3
code
n/a
....... name
NK1-2
name
n/a
........ id
n/a
........ extension
n/a
........ use
  • XPN.7
  • but often indicated by which field contains the name
unique(./use)
........ text
implied by XPN.11
./formatted
........ family
XPN.1/FN.1
./part[partType = FAM]
........ given
XPN.2 + XPN.3
./part[partType = GIV]
........ prefix
XPN.5
./part[partType = PFX]
........ suffix
XPN/4
./part[partType = SFX]
........ period
XPN.13 + XPN.14
./usablePeriod[type="IVL<TS>"]
....... telecom
  • NK1-5
  • NK1-6
  • NK1-40
telecom
n/a
....... address
NK1-4
addr
n/a
....... gender
NK1-15
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
n/a
....... organization
  • NK1-13
  • NK1-30
  • NK1-31
  • NK1-32
  • NK1-41
scoper
n/a
....... period
effectiveTime
n/a
...... communication
LanguageCommunication
patient.languageCommunication
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... language
  • PID-15
  • LAN-2
player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
.languageCode
....... preferred
PID-15
preferenceInd
.preferenceInd
...... generalPractitioner
PD1-4
subjectOf.CareEvent.performer.AssignedEntity
n/a
...... managingOrganization
scoper
.providerOrganization
...... link
outboundLink
n/a
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... other
  • PID-3
  • MRG-1
id
n/a
....... type
typeCode
n/a
..... search
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... mode
...... score
..... request
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... method
...... url
...... ifNoneMatch
...... ifModifiedSince
...... ifMatch
...... ifNoneExist
..... response
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... status
...... location
...... etag
...... lastModified
...... outcome
.... entry:immunizationEntry
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... link
..... fullUrl
..... resource
VXU_V04
SubstanceAdministration
...... id
...... meta
...... implicitRules
...... language
...... text
Act.text?
...... contained
N/A
...... extension
N/A
...... modifierExtension
N/A
...... identifier
.id
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/id
FiveWs.identifier
...... status
statusCode
FiveWs.status
...... statusReason
  • .inboundRelationship[typeCode=SUBJ].source[classCode=CACT
  • moodCode=EVN].reasonCOde
...... vaccineCode
RXA-5
.code
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacturedMaterial/realmCode/code
FiveWs.what[x]
...... patient
PID-3
.partipication[ttypeCode=].role
FiveWs.subject
...... encounter
PV1-19
component->EncounterEvent
FiveWs.context
...... occurrence[x]
RXA-3
.effectiveTime
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/effectiveTime/value
FiveWs.done[x]
...... recorded
.participation[typeCode=AUT].time
FiveWs.recorded
...... primarySource
RXA-9
  • immunization.uncertaintycode (if primary source=false
  • uncertainty=U)
FiveWs.source
...... reportOrigin
RXA-9
.participation[typeCode=INF].role[classCode=PAT] (this syntax for self-reported) .participation[typeCode=INF].role[classCode=LIC] (this syntax for health care professional) .participation[typeCode=INF].role[classCode=PRS] (this syntax for family member)
FiveWs.source
...... location
  • RXA-27 (or RXA-11
  • deprecated as of v2.7)
.participation[typeCode=LOC].COCT_MT240000UV
FiveWs.where[x]
....... id
n/a
....... extension
n/a
....... reference
N/A
....... type
N/A
....... identifier
.identifier
....... display
N/A
...... manufacturer
RXA-17
.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=ORG]
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacuturerOrganization/name
....... id
n/a
....... extension
n/a
....... reference
N/A
....... type
N/A
....... identifier
.identifier
....... display
N/A
...... lotNumber
RXA-15
.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].id
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacturedMaterial/lotNumberText
...... expirationDate
RXA-16
.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].expirationTime
...... site
RXR-2
observation.targetSiteCode
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/approachSiteCode/code
...... route
RXR-1
.routeCode
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/routeCode/code
...... doseQuantity
RXA-6 / RXA-7
.doseQuantity
...... performer
ORC-12 / RXA-10
.participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... function
.participation.functionCode
....... actor
.player
FiveWs.actor
........ id
n/a
........ extension
n/a
........ reference
N/A
........ type
N/A
........ identifier
.identifier
........ display
N/A
...... note
OBX-3 = 48767-8
note
...... reasonCode
[actionNegationInd=false].reasonCode
...... reasonReference
N/A
...... isSubpotent
RXA-20 = PA (partial administration)
N/A
...... subpotentReason
N/A
...... education
N/A
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... documentType
OBX-3 = 69764-9
N/A
....... reference
N/A
....... publicationDate
OBX-3 = 29768-9
N/A
....... presentationDate
OBX-3 = 29769-7
N/A
...... programEligibility
OBX-3 = 64994-7
N/A
...... fundingSource
N/A
...... reaction
OBX-3
Observation[classCode=obs].code
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... date
  • OBX-14 (ideally this would be reported in an IAM segment
  • but IAM is not part of the HL7 v2 VXU message - most likely would appear in OBX segments if at all)
.effectiveTime
....... detail
OBX-5
.value
....... reported
(HL7 v2 doesn't seem to provide for this)
.participation[typeCode=INF].role[classCode=PAT] (this syntax for self-reported=true)
...... protocolApplied
N/A
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... series
N/A
....... authority
N/A
....... targetDisease
N/A
....... doseNumber[x]
N/A
....... seriesDoses[x]
N/A
..... search
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... mode
...... score
..... request
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... method
...... url
...... ifNoneMatch
...... ifModifiedSince
...... ifMatch
...... ifNoneExist
..... response
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... status
...... location
...... etag
...... lastModified
...... outcome
.... entry:practitionerEntry
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... link
..... fullUrl
..... resource
PRD (as one example)
Role
...... id
...... meta
...... implicitRules
...... language
...... text
Act.text?
...... contained
N/A
...... extension
N/A
...... modifierExtension
N/A
...... identifier
PRD-7 (or XCN.1)
./id
FiveWs.identifier
....... id
n/a
....... extension
n/a
....... use
N/A
Role.code or implied by context
....... type
CX.5
Role.code or implied by context
....... system
CX.4 / EI-2-4
II.root or Role.id.root
....... value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
....... period
CX.7 + CX.8
Role.effectiveTime or implied by context
....... assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
...... active
./statusCode
FiveWs.status
...... name
XCN Components
./name
....... id
n/a
....... extension
n/a
....... use
  • XPN.7
  • but often indicated by which field contains the name
unique(./use)
....... text
implied by XPN.11
./formatted
....... family
XPN.1/FN.1
./part[partType = FAM]
....... given
XPN.2 + XPN.3
./part[partType = GIV]
....... prefix
XPN.5
./part[partType = PFX]
....... suffix
XPN/4
./part[partType = SFX]
....... period
XPN.13 + XPN.14
./usablePeriod[type="IVL<TS>"]
...... telecom
  • PRT-15
  • STF-10
  • ROL-12
./telecom
....... id
n/a
....... extension
n/a
....... system
XTN.3
./scheme
....... value
XTN.1 (or XTN.12)
./url
....... use
XTN.2 - but often indicated by field
unique(./use)
....... rank
n/a
n/a
....... period
N/A
./usablePeriod[type="IVL<TS>"]
...... address
  • ORC-24
  • STF-11
  • ROL-11
  • PRT-14
./addr
...... gender
STF-5
./administrativeGender
...... birthDate
STF-6
./birthTime
...... photo
./subjectOf/ObservationEvent[code="photo"]/value
...... qualification
CER?
.playingEntity.playingRole[classCode=QUAL].code
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... identifier
.playingEntity.playingRole[classCode=QUAL].id
....... code
.playingEntity.playingRole[classCode=QUAL].code
....... period
.playingEntity.playingRole[classCode=QUAL].effectiveTime
....... issuer
.playingEntity.playingRole[classCode=QUAL].scoper
...... communication
  • PID-15
  • NK1-20
  • LAN-2
./languageCommunication
..... search
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... mode
...... score
..... request
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... method
...... url
...... ifNoneMatch
...... ifModifiedSince
...... ifMatch
...... ifNoneExist
..... response
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... status
...... location
...... etag
...... lastModified
...... outcome
.... entry:organizationEntry
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... link
..... fullUrl
..... resource
(also see master files messages)
  • Organization(classCode=ORG
  • determinerCode=INST)
...... id
...... meta
...... implicitRules
...... language
...... text
Act.text?
...... contained
N/A
...... extension
N/A
...... modifierExtension
N/A
...... identifier
XON.10 / XON.3
.scopes[Role](classCode=IDENT)
FiveWs.identifier
....... id
n/a
....... extension
n/a
....... use
N/A
Role.code or implied by context
....... type
CX.5
Role.code or implied by context
....... system
CX.4 / EI-2-4
II.root or Role.id.root
....... value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
....... period
CX.7 + CX.8
Role.effectiveTime or implied by context
....... assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
...... active
No equivalent in HL7 v2
.status
FiveWs.status
...... type
No equivalent in v2
.code
FiveWs.class
...... name
XON.1
.name
...... alias
.name
...... telecom
ORC-22?
.telecom
....... id
n/a
....... extension
n/a
....... system
XTN.3
./scheme
....... value
XTN.1 (or XTN.12)
./url
....... use
XTN.2 - but often indicated by field
unique(./use)
....... rank
n/a
n/a
....... period
N/A
./usablePeriod[type="IVL<TS>"]
...... address
ORC-23?
.address
....... id
n/a
....... extension
n/a
....... use
XAD.7
unique(./use)
....... type
XAD.18
unique(./use)
....... text
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
./formatted
....... line
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
AD.part[parttype = AL]
....... city
XAD.3
AD.part[parttype = CTY]
....... district
XAD.9
AD.part[parttype = CNT | CPA]
....... state
XAD.4
AD.part[parttype = STA]
....... postalCode
XAD.5
AD.part[parttype = ZIP]
....... country
XAD.6
AD.part[parttype = CNT]
....... period
XAD.12 / XAD.13 + XAD.14
./usablePeriod[type="IVL<TS>"]
...... partOf
No equivalent in HL7 v2
.playedBy[classCode=Part].scoper
...... contact
.contactParty
....... id
n/a
....... extension
n/a
....... modifierExtension
N/A
....... purpose
./type
....... name
  • PID-5
  • PID-9
./name
....... telecom
  • PID-13
  • PID-14
./telecom
....... address
PID-11
./addr
...... endpoint
n/a
..... search
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... mode
...... score
..... request
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... method
...... url
...... ifNoneMatch
...... ifModifiedSince
...... ifMatch
...... ifNoneExist
..... response
...... id
n/a
...... extension
n/a
...... modifierExtension
N/A
...... status
...... location
...... etag
...... lastModified
...... outcome
... signature

doco Documentation for this format