Ú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: UNICASAppointment - Mappings

Draft as of 2026-10-13

Mappings for the UNICASAppointment resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameWorkflow PatternFiveWs Pattern MappingRIM MappingiCalendarHL7 V2 Mappingdoco
Appointment
Request
workflow.scheduling
  • Entity
  • Role
  • or Act
  • Act[@moodCode <= 'INT']
VEVENT
Appointment / id
Appointment / meta
Appointment / implicitRules
Appointment / language
Appointment / text
Act.text?
Appointment / contained
N/A
Appointment / extension
N/A
Appointment / modifierExtension
N/A
Appointment / identifier
Request.identifier
FiveWs.identifier
.id
UID
  • SCH-1
  • SCH-2
  • ARQ-1
  • ARQ-2
Appointment / identifier / id
n/a
Appointment / identifier / extension
n/a
Appointment / identifier / use
Role.code or implied by context
N/A
Appointment / identifier / type
Role.code or implied by context
CX.5
Appointment / identifier / system
II.root or Role.id.root
CX.4 / EI-2-4
Appointment / identifier / value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
Appointment / identifier / period
Role.effectiveTime or implied by context
CX.7 + CX.8
Appointment / identifier / 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)
Appointment / status
Request.status
FiveWs.status
.statusCode
STATUS
SCH-25
Appointment / cancellationReason
n/a
Appointment / class
FiveWs.class
.inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
PV1-2
Appointment / serviceCategory
  • n/a
  • might be inferred from the ServiceDeliveryLocation
CATEGORIES
Appointment / serviceCategory / id
n/a
Appointment / serviceCategory / extension
n/a
Appointment / serviceCategory / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / serviceCategory / coding / id
n/a
Appointment / serviceCategory / coding / extension
n/a
Appointment / serviceCategory / coding / system
./codeSystem
C*E.3
Appointment / serviceCategory / coding / version
./codeSystemVersion
C*E.7
Appointment / serviceCategory / coding / code
./code
C*E.1
Appointment / serviceCategory / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / serviceCategory / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / serviceCategory / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
Appointment / serviceType
Request.code
  • n/a
  • might be inferred from the ServiceDeliveryLocation
  • ARQ-8
  • SCH-8
Appointment / serviceType / id
n/a
Appointment / serviceType / extension
n/a
Appointment / serviceType / concept
N/A
Appointment / serviceType / concept / id
n/a
Appointment / serviceType / concept / extension
n/a
Appointment / serviceType / concept / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / serviceType / concept / coding / id
n/a
Appointment / serviceType / concept / coding / extension
n/a
Appointment / serviceType / concept / coding / system
./codeSystem
C*E.3
Appointment / serviceType / concept / coding / version
./codeSystemVersion
C*E.7
Appointment / serviceType / concept / coding / code
./code
C*E.1
Appointment / serviceType / concept / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / serviceType / concept / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / serviceType / concept / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
Appointment / serviceType / reference
N/A
Appointment / specialty
FiveWs.class
.performer.AssignedPerson.code
Appointment / appointmentType
.code
CLASSIFICATION
  • ARQ-7
  • SCH-7
Appointment / reason
Request.reason
.reasonCode
AIS-3
Appointment / reason / id
n/a
Appointment / reason / extension
n/a
Appointment / reason / concept
N/A
Appointment / reason / concept / id
n/a
Appointment / reason / concept / extension
n/a
Appointment / reason / concept / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / reason / concept / coding / id
n/a
Appointment / reason / concept / coding / extension
n/a
Appointment / reason / concept / coding / system
./codeSystem
C*E.3
Appointment / reason / concept / coding / version
./codeSystemVersion
C*E.7
Appointment / reason / concept / coding / code
./code
C*E.1
Appointment / reason / concept / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / reason / concept / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / reason / concept / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
Appointment / reason / reference
N/A
Appointment / priority
Request.priority
FiveWs.class
.priorityCode
PRIORITY
  • ARQ-12
  • SCH-11.6 / TQ1-9
Appointment / description
.text
SUMMARY
NTE-3
Appointment / replaces
Request.replaces
FiveWs.context
.inboundRelationship[@typeCode = 'SPRT'].observation
ATTACH
Appointment / virtualService
N/A
Appointment / supportingInformation
Request.supportingInfo
FiveWs.context
.inboundRelationship[@typeCode = 'SPRT'].observation
ATTACH
Appointment / previousAppointment
FiveWs.context
N/A
Appointment / originatingAppointment
FiveWs.context
N/A
Appointment / start
Request.occurrence[x]
FiveWs.init
.effectiveTime.low
DTSTART
  • ARQ-11.1
  • SCH-11.4 / TQ1-7
Appointment / end
Request.occurrence[x]
FiveWs.done[x]
.effectiveTime.high
DTEND
SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9
Appointment / minutesDuration
Request.occurrence[x]
  • type = ('SXPR_TS'
  • 'PIVL_TS')].width
DURATION (e.g. PT15M)
Appointment / requestedPeriod
Request.occurrence[x]
  • type = ('SXPR_TS'
  • 'PIVL_TS')]
ARQ-11
Appointment / slot
.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
Appointment / account
.pertains.A_Account
Appointment / created
Request.authoredOn
.author.time
CREATED
Appointment / cancellationDate
Appointment / note
Request.note
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for internal use)
NTE-3
Appointment / note / id
n/a
Appointment / note / extension
n/a
Appointment / note / author[x]
Act.participant[typeCode=AUT].role
N/A
Appointment / note / time
Act.effectiveTime
N/A
Appointment / note / text
Act.text
N/A
Appointment / patientInstruction
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for patient use)
NTE-3
Appointment / basedOn
Request.basedOn
.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
Appointment / subject
FiveWs.who
subject.patient
PID-3-Patient ID List
Appointment / subject / id
n/a
Appointment / subject / extension
n/a
Appointment / subject / reference
N/A
Appointment / subject / type
N/A
Appointment / subject / identifier
.identifier
Appointment / subject / identifier / id
n/a
Appointment / subject / identifier / extension
n/a
Appointment / subject / identifier / use
Role.code or implied by context
N/A
Appointment / subject / identifier / type
Role.code or implied by context
CX.5
Appointment / subject / identifier / type / id
n/a
Appointment / subject / identifier / type / extension
n/a
Appointment / subject / identifier / type / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / subject / identifier / type / coding / id
n/a
Appointment / subject / identifier / type / coding / extension
n/a
Appointment / subject / identifier / type / coding / system
./codeSystem
C*E.3
Appointment / subject / identifier / type / coding / version
./codeSystemVersion
C*E.7
Appointment / subject / identifier / type / coding / code
./code
C*E.1
Appointment / subject / identifier / type / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / subject / identifier / type / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / subject / identifier / type / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
Appointment / subject / identifier / system
II.root or Role.id.root
CX.4 / EI-2-4
Appointment / subject / identifier / value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
Appointment / subject / identifier / period
Role.effectiveTime or implied by context
CX.7 + CX.8
Appointment / subject / identifier / 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)
Appointment / subject / display
N/A
Appointment / Slices for participant
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
Appointment / Slices for participant / participant:All Slices
Appointment / Slices for participant / participant:All Slices / id
n/a
Appointment / Slices for participant / participant:All Slices / extension
n/a
Appointment / Slices for participant / participant:All Slices / modifierExtension
N/A
Appointment / Slices for participant / participant:All Slices / type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
Appointment / Slices for participant / participant:All Slices / period
n/a
Appointment / Slices for participant / participant:All Slices / actor
FiveWs.who
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
Appointment / Slices for participant / participant:All Slices / required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
Appointment / Slices for participant / participant:All Slices / status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / id
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / extension
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / modifierExtension
N/A
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / period
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor
FiveWs.who
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / id
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / extension
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / reference
N/A
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / type
N/A
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier
.identifier
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / id
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / Slices for extension
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / Slices for extension
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / Slices for extension / extension:numeroColegiadoProfesionalSanitario
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / use
Role.code or implied by context
N/A
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type
Role.code or implied by context
CX.5
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / id
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / extension
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding / id
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding / extension
n/a
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding / system
./codeSystem
C*E.3
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding / version
./codeSystemVersion
C*E.7
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding / code
./code
C*E.1
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / type / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / system
II.root or Role.id.root
CX.4 / EI-2-4
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / period
Role.effectiveTime or implied by context
CX.7 + CX.8
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / identifier / 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)
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / actor / display
N/A
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
Appointment / Slices for participant / participant:ProfesionalSanitarioParticipante / status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
Appointment / Slices for participant / participant:ServicioAsistencialParticipante
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / id
n/a
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / extension
n/a
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / modifierExtension
N/A
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / period
n/a
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor
FiveWs.who
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / id
n/a
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / extension
n/a
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / reference
N/A
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / type
N/A
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier
.identifier
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / id
n/a
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / extension
n/a
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / use
Role.code or implied by context
N/A
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / type
Role.code or implied by context
CX.5
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / system
II.root or Role.id.root
CX.4 / EI-2-4
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / period
Role.effectiveTime or implied by context
CX.7 + CX.8
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / identifier / 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)
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / actor / display
N/A
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
Appointment / Slices for participant / participant:ServicioAsistencialParticipante / status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
Appointment / recurrenceId
N/A
Appointment / occurrenceChanged
N/A
Appointment / recurrenceTemplate
N/A
Appointment / recurrenceTemplate / id
n/a
Appointment / recurrenceTemplate / extension
n/a
Appointment / recurrenceTemplate / modifierExtension
N/A
Appointment / recurrenceTemplate / timezone
N/A
TZID
Appointment / recurrenceTemplate / recurrenceType
FREQ
Appointment / recurrenceTemplate / lastOccurrenceDate
UNTIL
Appointment / recurrenceTemplate / occurrenceCount
COUNT
Appointment / recurrenceTemplate / occurrenceDate
RDATE
Appointment / recurrenceTemplate / weeklyTemplate
Appointment / recurrenceTemplate / weeklyTemplate / id
n/a
Appointment / recurrenceTemplate / weeklyTemplate / extension
n/a
Appointment / recurrenceTemplate / weeklyTemplate / modifierExtension
N/A
Appointment / recurrenceTemplate / weeklyTemplate / monday
Appointment / recurrenceTemplate / weeklyTemplate / tuesday
Appointment / recurrenceTemplate / weeklyTemplate / wednesday
Appointment / recurrenceTemplate / weeklyTemplate / thursday
Appointment / recurrenceTemplate / weeklyTemplate / friday
Appointment / recurrenceTemplate / weeklyTemplate / saturday
Appointment / recurrenceTemplate / weeklyTemplate / sunday
Appointment / recurrenceTemplate / weeklyTemplate / weekInterval
Appointment / recurrenceTemplate / monthlyTemplate
Appointment / recurrenceTemplate / monthlyTemplate / id
n/a
Appointment / recurrenceTemplate / monthlyTemplate / extension
n/a
Appointment / recurrenceTemplate / monthlyTemplate / modifierExtension
N/A
Appointment / recurrenceTemplate / monthlyTemplate / dayOfMonth
Appointment / recurrenceTemplate / monthlyTemplate / nthWeekOfMonth
Appointment / recurrenceTemplate / monthlyTemplate / dayOfWeek
Appointment / recurrenceTemplate / monthlyTemplate / monthInterval
Appointment / recurrenceTemplate / yearlyTemplate
Appointment / recurrenceTemplate / yearlyTemplate / id
n/a
Appointment / recurrenceTemplate / yearlyTemplate / extension
n/a
Appointment / recurrenceTemplate / yearlyTemplate / modifierExtension
N/A
Appointment / recurrenceTemplate / yearlyTemplate / yearInterval
Appointment / recurrenceTemplate / excludingDate
EXDATE
Appointment / recurrenceTemplate / excludingRecurrenceId

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.