ÚNICAS Rare Diseases HL7 FHIR Implementation Guide
0.0.12 - draft

ÚNICAS Rare Diseases HL7 FHIR Implementation Guide - Local Development build (v0.0.12) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: UNICASImmunization - Mappings

Draft as of 2026-10-13

Mappings for the UNICASImmunization resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameWorkflow PatternFiveWs Pattern MappingHL7 V2 MappingRIM MappingCDA (R2)doco
Immunization
Event
clinical.medication
VXU_V04
  • Entity
  • Role
  • or Act
  • SubstanceAdministration
Immunization / id
Immunization / meta
Immunization / implicitRules
Immunization / language
Immunization / text
Act.text?
Immunization / contained
N/A
Immunization / extension
N/A
Immunization / modifierExtension
N/A
Immunization / identifier
Event.identifier
FiveWs.identifier
.id
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/id
Immunization / identifier / id
n/a
Immunization / identifier / extension
n/a
Immunization / identifier / use
N/A
Role.code or implied by context
Immunization / identifier / type
CX.5
Role.code or implied by context
Immunization / identifier / system
CX.4 / EI-2-4
II.root or Role.id.root
Immunization / identifier / value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
Immunization / identifier / period
CX.7 + CX.8
Role.effectiveTime or implied by context
Immunization / identifier / 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
Immunization / basedOn
Event.basedOn
N/A
Immunization / status
Event.status
FiveWs.status
statusCode
Immunization / statusReason
Event.statusReason
  • .inboundRelationship[typeCode=SUBJ].source[classCode=CACT
  • moodCode=EVN].reasonCOde
Immunization / vaccineCode
Event.code
FiveWs.what[x]
RXA-5
.code
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacturedMaterial/realmCode/code
Immunization / vaccineCode / id
n/a
Immunization / vaccineCode / extension
n/a
Immunization / vaccineCode / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Immunization / vaccineCode / coding / id
n/a
Immunization / vaccineCode / coding / extension
n/a
Immunization / vaccineCode / coding / system
C*E.3
./codeSystem
Immunization / vaccineCode / coding / version
C*E.7
./codeSystemVersion
Immunization / vaccineCode / coding / code
C*E.1
./code
Immunization / vaccineCode / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Immunization / vaccineCode / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Immunization / vaccineCode / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Immunization / administeredProduct
Event.code
FiveWs.what[x]
RXA-5
.code
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacturedMaterial/realmCode/code
Immunization / manufacturer
RXA-17
.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=ORG]
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacuturerOrganization/name
Immunization / 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
Immunization / expirationDate
RXA-16
.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].expirationTime
Immunization / patient
Event.subject
FiveWs.subject[x]
PID-3
.partipication[ttypeCode=].role
Immunization / patient / id
n/a
Immunization / patient / extension
n/a
Immunization / patient / reference
N/A
Immunization / patient / type
N/A
Immunization / patient / identifier
.identifier
Immunization / patient / identifier / id
n/a
Immunization / patient / identifier / extension
n/a
Immunization / patient / identifier / use
N/A
Role.code or implied by context
Immunization / patient / identifier / type
CX.5
Role.code or implied by context
Immunization / patient / identifier / type / id
n/a
Immunization / patient / identifier / type / extension
n/a
Immunization / patient / identifier / type / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Immunization / patient / identifier / type / coding / id
n/a
Immunization / patient / identifier / type / coding / extension
n/a
Immunization / patient / identifier / type / coding / system
C*E.3
./codeSystem
Immunization / patient / identifier / type / coding / version
C*E.7
./codeSystemVersion
Immunization / patient / identifier / type / coding / code
C*E.1
./code
Immunization / patient / identifier / type / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Immunization / patient / identifier / type / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Immunization / patient / identifier / type / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Immunization / patient / identifier / system
CX.4 / EI-2-4
II.root or Role.id.root
Immunization / patient / identifier / value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
Immunization / patient / identifier / period
CX.7 + CX.8
Role.effectiveTime or implied by context
Immunization / patient / identifier / 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
Immunization / patient / display
N/A
Immunization / encounter
Event.encounter
FiveWs.context
PV1-19
component->EncounterEvent
Immunization / encounter / id
n/a
Immunization / encounter / extension
n/a
Immunization / encounter / reference
N/A
Immunization / encounter / type
N/A
Immunization / encounter / identifier
.identifier
Immunization / encounter / identifier / id
n/a
Immunization / encounter / identifier / extension
n/a
Immunization / encounter / identifier / use
N/A
Role.code or implied by context
Immunization / encounter / identifier / type
CX.5
Role.code or implied by context
Immunization / encounter / identifier / system
CX.4 / EI-2-4
II.root or Role.id.root
Immunization / encounter / identifier / value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
Immunization / encounter / identifier / period
CX.7 + CX.8
Role.effectiveTime or implied by context
Immunization / encounter / identifier / 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
Immunization / encounter / display
N/A
Immunization / supportingInformation
FiveWs.context
Immunization / occurrence[x]
Event.occurrence[x]
FiveWs.done[x]
RXA-3
.effectiveTime
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/effectiveTime/value
Immunization / primarySource
Event.reported
FiveWs.source
RXA-9
  • immunization.uncertaintycode (if primary source=false
  • uncertainty=U)
Immunization / informationSource
Event.reported
FiveWs.source
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)
Immunization / location
Event.location
FiveWs.where[x]
  • RXA-27 (or RXA-11
  • deprecated as of v2.7)
.participation[typeCode=LOC].COCT_MT240000UV
Immunization / site
RXR-2
observation.targetSiteCode
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/approachSiteCode/code
Immunization / site / id
n/a
Immunization / site / extension
n/a
Immunization / site / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Immunization / site / coding / id
n/a
Immunization / site / coding / extension
n/a
Immunization / site / coding / system
C*E.3
./codeSystem
Immunization / site / coding / version
C*E.7
./codeSystemVersion
Immunization / site / coding / code
C*E.1
./code
Immunization / site / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Immunization / site / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Immunization / site / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Immunization / route
RXR-1
.routeCode
ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/routeCode/code
Immunization / route / id
n/a
Immunization / route / extension
n/a
Immunization / route / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Immunization / route / coding / id
n/a
Immunization / route / coding / extension
n/a
Immunization / route / coding / system
C*E.3
./codeSystem
Immunization / route / coding / version
C*E.7
./codeSystemVersion
Immunization / route / coding / code
C*E.1
./code
Immunization / route / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Immunization / route / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Immunization / route / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Immunization / doseQuantity
RXA-6 / RXA-7
.doseQuantity
Immunization / doseQuantity / id
n/a
Immunization / doseQuantity / extension
n/a
Immunization / doseQuantity / value
SN.2 / CQ - N/A
  • PQ.value
  • CO.value
  • MO.value
  • IVL.high or IVL.low depending on the value
Immunization / doseQuantity / comparator
SN.1 / CQ.1
IVL properties
Immunization / doseQuantity / unit
(see OBX.6 etc.) / CQ.2
PQ.unit
Immunization / doseQuantity / system
(see OBX.6 etc.) / CQ.2
  • CO.codeSystem
  • PQ.translation.codeSystem
Immunization / doseQuantity / code
(see OBX.6 etc.) / CQ.2
  • PQ.code
  • MO.currency
  • PQ.translation.code
Immunization / performer
Event.performer
ORC-12 / RXA-10
.participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
Immunization / performer / id
n/a
Immunization / performer / extension
n/a
Immunization / performer / modifierExtension
N/A
Immunization / performer / function
Event.performer.function
.participation.functionCode
Immunization / performer / actor
Event.performer.actor
FiveWs.actor
.player
Immunization / performer / actor / id
n/a
Immunization / performer / actor / extension
n/a
Immunization / performer / actor / reference
N/A
Immunization / performer / actor / type
N/A
Immunization / performer / actor / identifier
.identifier
Immunization / performer / actor / identifier / id
n/a
Immunization / performer / actor / identifier / Slices for extension
n/a
Immunization / performer / actor / identifier / Slices for extension / extension:numeroColegiadoProfesionalSanitario
Immunization / performer / actor / identifier / use
N/A
Role.code or implied by context
Immunization / performer / actor / identifier / type
CX.5
Role.code or implied by context
Immunization / performer / actor / identifier / type / id
n/a
Immunization / performer / actor / identifier / type / extension
n/a
Immunization / performer / actor / identifier / type / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Immunization / performer / actor / identifier / type / coding / id
n/a
Immunization / performer / actor / identifier / type / coding / extension
n/a
Immunization / performer / actor / identifier / type / coding / system
C*E.3
./codeSystem
Immunization / performer / actor / identifier / type / coding / version
C*E.7
./codeSystemVersion
Immunization / performer / actor / identifier / type / coding / code
C*E.1
./code
Immunization / performer / actor / identifier / type / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Immunization / performer / actor / identifier / type / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Immunization / performer / actor / identifier / type / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Immunization / performer / actor / identifier / system
CX.4 / EI-2-4
II.root or Role.id.root
Immunization / performer / actor / identifier / value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
Immunization / performer / actor / identifier / period
CX.7 + CX.8
Role.effectiveTime or implied by context
Immunization / performer / actor / identifier / 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
Immunization / performer / actor / display
N/A
Immunization / note
Event.note
OBX-3 = 48767-8
note
Immunization / reason
Event.reason
[actionNegationInd=false].reasonCode
Immunization / reason / id
n/a
Immunization / reason / extension
n/a
Immunization / reason / concept
N/A
Immunization / reason / concept / id
n/a
Immunization / reason / concept / extension
n/a
Immunization / reason / concept / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Immunization / reason / concept / coding / id
n/a
Immunization / reason / concept / coding / extension
n/a
Immunization / reason / concept / coding / system
C*E.3
./codeSystem
Immunization / reason / concept / coding / version
C*E.7
./codeSystemVersion
Immunization / reason / concept / coding / code
C*E.1
./code
Immunization / reason / concept / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Immunization / reason / concept / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Immunization / reason / concept / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Immunization / reason / reference
N/A
Immunization / isSubpotent
RXA-20 = PA (partial administration)
N/A
Immunization / subpotentReason
N/A
Immunization / programEligibility
OBX-3 = 64994-7
n/a
Immunization / programEligibility / id
n/a
Immunization / programEligibility / extension
n/a
Immunization / programEligibility / modifierExtension
N/A
Immunization / programEligibility / program
n/a
Immunization / programEligibility / programStatus
n/a
Immunization / fundingSource
N/A
Immunization / reaction
OBX-3
Observation[classCode=obs].code
Immunization / reaction / id
n/a
Immunization / reaction / extension
n/a
Immunization / reaction / modifierExtension
N/A
Immunization / reaction / 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
Immunization / reaction / manifestation
OBX-5
.value
Immunization / reaction / reported
(HL7 V2 doesn't seem to provide for this)
.participation[typeCode=INF].role[classCode=PAT] (this syntax for self-reported=true)
Immunization / protocolApplied
N/A
Immunization / protocolApplied / id
n/a
Immunization / protocolApplied / extension
n/a
Immunization / protocolApplied / modifierExtension
N/A
Immunization / protocolApplied / series
N/A
Immunization / protocolApplied / authority
N/A
Immunization / protocolApplied / targetDisease
N/A
Immunization / protocolApplied / doseNumber
N/A
Immunization / protocolApplied / seriesDoses
N/A

doco Documentation for this format

ÚNICAS está impulsado por el Consejo Interterritorial del Sistema Nacional de Salud, y financiado con fondos Next Generation de la Unión Europea, en el marco del Plan de Recuperación, Transformación y Resiliencia del Gobierno de España. El Ministerio de Sanidad ejerce la coordinación del proyecto, y Cataluña lidera la parte del desarrollo de los activos tecnológicos para su implementación.