ERA FHIR specification
1.0.0 - draft

ERA FHIR specification - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: AppointmentAppointment - Mappings

Draft as of 2025-10-27

Mappings for the AppointmentAppointment resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameWorkflow PatternRIM MappingiCalendarFiveWs Pattern MappingHL7 v2 Mappingdoco
Appointment
Request
Act[@moodCode <= 'INT']
VEVENT
Appointment / id
Appointment / meta
Appointment / meta / id
n/a
Appointment / meta / extension
n/a
Appointment / meta / versionId
Appointment / meta / lastUpdated
Appointment / meta / source
Appointment / meta / profile
Appointment / meta / security
Appointment / meta / security / id
n/a
Appointment / meta / security / extension
n/a
Appointment / meta / security / system
./codeSystem
C*E.3
Appointment / meta / security / version
./codeSystemVersion
C*E.7
Appointment / meta / security / code
./code
C*E.1
Appointment / meta / security / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / meta / security / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / meta / tag
Appointment / implicitRules
Appointment / language
Appointment / text
Act.text?
Appointment / contained
N/A
Appointment / Slices for extension
Appointment / Slices for extension / extension:remoteServiceURL
Appointment / Slices for extension / extension:ServiceAdditionalInformation
Appointment / Slices for extension / extension:AppointmentReason
Appointment / Slices for extension / extension:CareplanIdentifier
Appointment / Slices for extension / extension:NotificationMedium
Appointment / Slices for extension / extension:CustomerJourney
Appointment / Slices for extension / extension:SelfServiceInfo
Appointment / Slices for extension / extension:AppointmentMutabilityNotAfter
Appointment / Slices for extension / extension:QueueNo
Appointment / Slices for extension / extension:TicketNo
Appointment / Slices for extension / extension:ChildAppointment
Appointment / Slices for extension / extension:AdditionalInformationURL
Appointment / Slices for extension / extension:PractitionerGender
Appointment / Slices for extension / extension:BookingDeadline
Appointment / modifierExtension
N/A
Appointment / identifier
Request.identifier
.id
UID
FiveWs.identifier
  • 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
.statusCode
STATUS
FiveWs.status
SCH-25
Appointment / cancelationReason
n/a
Appointment / cancelationReason / id
n/a
Appointment / cancelationReason / extension
n/a
Appointment / cancelationReason / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / cancelationReason / coding / id
n/a
Appointment / cancelationReason / coding / extension
n/a
Appointment / cancelationReason / coding / system
./codeSystem
C*E.3
Appointment / cancelationReason / coding / version
./codeSystemVersion
C*E.7
Appointment / cancelationReason / coding / code
./code
C*E.1
Appointment / cancelationReason / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / cancelationReason / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / cancelationReason / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
Appointment / serviceCategory
  • n/a
  • might be inferred from the ServiceDeliveryLocation
CATEGORIES
Appointment / serviceType
Request.code
  • n/a
  • might be inferred from the ServiceDeliveryLocation
Appointment / specialty
.performer.AssignedPerson.code
FiveWs.class
Appointment / appointmentType
.code
CLASSIFICATION
ARQ-7
Appointment / reasonCode
Request.reasonCode
.reasonCode
  • AIS-3
  • SCH-7
Appointment / reasonReference
Request.reasonReference
.inboundRelationship[@typeCode = 'RSON'].observation
Appointment / priority
Request.priority
.priorityCode
PRIORITY
FiveWs.class
  • ARQ-12
  • SCH-11.6 / TQ1-9
Appointment / description
.text
SUMMARY
NTE-3
Appointment / supportingInformation
Request.supportingInfo
.inboundRelationship[@typeCode = 'SPRT'].observation
ATTACH
FiveWs.context
Appointment / start
Request.occurrence[x]
.effectiveTime.low
DTSTART
FiveWs.init
  • ARQ-11.1
  • SCH-11.4 / TQ1-7
Appointment / end
Request.occurrence[x]
.effectiveTime.high
DTEND
FiveWs.done[x]
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 / slot
.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
Appointment / created
Request.authoredOn
.author.time
CREATED
Appointment / comment
Request.note
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for internal use)
NTE-3
Appointment / patientInstruction
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for patient use)
NTE-3
Appointment / patientInstruction / id
Appointment / patientInstruction / Slices for extension
Appointment / patientInstruction / Slices for extension / extension:PatientInstructionURL
Appointment / patientInstruction / value
Appointment / basedOn
Request.basedOn
.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
Appointment / basedOn / id
n/a
Appointment / basedOn / extension
n/a
Appointment / basedOn / reference
N/A
Appointment / basedOn / type
N/A
Appointment / basedOn / identifier
.identifier
Appointment / basedOn / identifier / id
n/a
Appointment / basedOn / identifier / extension
n/a
Appointment / basedOn / identifier / use
Role.code or implied by context
N/A
Appointment / basedOn / identifier / type
Role.code or implied by context
CX.5
Appointment / basedOn / identifier / system
II.root or Role.id.root
CX.4 / EI-2-4
Appointment / basedOn / identifier / value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
Appointment / basedOn / identifier / period
Role.effectiveTime or implied by context
CX.7 + CX.8
Appointment / basedOn / 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 / basedOn / 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 / actor
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"
FiveWs.who
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:All Slices / period
n/a
Appointment / Slices for participant / participant:Patient
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
Appointment / Slices for participant / participant:Patient / id
n/a
Appointment / Slices for participant / participant:Patient / extension
n/a
Appointment / Slices for participant / participant:Patient / modifierExtension
N/A
Appointment / Slices for participant / participant:Patient / type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
Appointment / Slices for participant / participant:Patient / type / id
n/a
Appointment / Slices for participant / participant:Patient / type / extension
n/a
Appointment / Slices for participant / participant:Patient / type / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / Slices for participant / participant:Patient / type / coding / id
n/a
Appointment / Slices for participant / participant:Patient / type / coding / extension
n/a
Appointment / Slices for participant / participant:Patient / type / coding / system
./codeSystem
C*E.3
Appointment / Slices for participant / participant:Patient / type / coding / version
./codeSystemVersion
C*E.7
Appointment / Slices for participant / participant:Patient / type / coding / code
./code
C*E.1
Appointment / Slices for participant / participant:Patient / type / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / Slices for participant / participant:Patient / type / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / Slices for participant / participant:Patient / 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:Patient / actor
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"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
Appointment / Slices for participant / participant:Patient / actor / id
n/a
Appointment / Slices for participant / participant:Patient / actor / extension
n/a
Appointment / Slices for participant / participant:Patient / actor / reference
N/A
Appointment / Slices for participant / participant:Patient / actor / type
N/A
Appointment / Slices for participant / participant:Patient / actor / identifier
.identifier
Appointment / Slices for participant / participant:Patient / actor / display
N/A
Appointment / Slices for participant / participant:Patient / required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
Appointment / Slices for participant / participant:Patient / status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
Appointment / Slices for participant / participant:Patient / period
n/a
Appointment / Slices for participant / participant:HealthcareService
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
Appointment / Slices for participant / participant:HealthcareService / id
n/a
Appointment / Slices for participant / participant:HealthcareService / extension
n/a
Appointment / Slices for participant / participant:HealthcareService / modifierExtension
N/A
Appointment / Slices for participant / participant:HealthcareService / type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
Appointment / Slices for participant / participant:HealthcareService / type / id
n/a
Appointment / Slices for participant / participant:HealthcareService / type / extension
n/a
Appointment / Slices for participant / participant:HealthcareService / type / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / Slices for participant / participant:HealthcareService / type / coding / id
n/a
Appointment / Slices for participant / participant:HealthcareService / type / coding / extension
n/a
Appointment / Slices for participant / participant:HealthcareService / type / coding / system
./codeSystem
C*E.3
Appointment / Slices for participant / participant:HealthcareService / type / coding / version
./codeSystemVersion
C*E.7
Appointment / Slices for participant / participant:HealthcareService / type / coding / code
./code
C*E.1
Appointment / Slices for participant / participant:HealthcareService / type / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / Slices for participant / participant:HealthcareService / type / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / Slices for participant / participant:HealthcareService / 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:HealthcareService / actor
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"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
Appointment / Slices for participant / participant:HealthcareService / actor / id
n/a
Appointment / Slices for participant / participant:HealthcareService / actor / extension
n/a
Appointment / Slices for participant / participant:HealthcareService / actor / reference
N/A
Appointment / Slices for participant / participant:HealthcareService / actor / type
N/A
Appointment / Slices for participant / participant:HealthcareService / actor / identifier
.identifier
Appointment / Slices for participant / participant:HealthcareService / actor / display
N/A
Appointment / Slices for participant / participant:HealthcareService / required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
Appointment / Slices for participant / participant:HealthcareService / status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
Appointment / Slices for participant / participant:HealthcareService / period
n/a
Appointment / Slices for participant / participant:Location
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
Appointment / Slices for participant / participant:Location / id
n/a
Appointment / Slices for participant / participant:Location / extension
n/a
Appointment / Slices for participant / participant:Location / modifierExtension
N/A
Appointment / Slices for participant / participant:Location / type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
Appointment / Slices for participant / participant:Location / type / id
n/a
Appointment / Slices for participant / participant:Location / type / extension
n/a
Appointment / Slices for participant / participant:Location / type / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
Appointment / Slices for participant / participant:Location / type / coding / id
n/a
Appointment / Slices for participant / participant:Location / type / coding / extension
n/a
Appointment / Slices for participant / participant:Location / type / coding / system
./codeSystem
C*E.3
Appointment / Slices for participant / participant:Location / type / coding / version
./codeSystemVersion
C*E.7
Appointment / Slices for participant / participant:Location / type / coding / code
./code
C*E.1
Appointment / Slices for participant / participant:Location / type / coding / display
CV.displayName
C*E.2 - but note this is not well followed
Appointment / Slices for participant / participant:Location / type / coding / userSelected
CD.codingRationale
Sometimes implied by being first
Appointment / Slices for participant / participant:Location / 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:Location / actor
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"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
Appointment / Slices for participant / participant:Location / actor / id
n/a
Appointment / Slices for participant / participant:Location / actor / extension
n/a
Appointment / Slices for participant / participant:Location / actor / reference
N/A
Appointment / Slices for participant / participant:Location / actor / type
N/A
Appointment / Slices for participant / participant:Location / actor / identifier
.identifier
Appointment / Slices for participant / participant:Location / actor / display
N/A
Appointment / Slices for participant / participant:Location / required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
Appointment / Slices for participant / participant:Location / status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
Appointment / Slices for participant / participant:Location / period
n/a
Appointment / requestedPeriod
Request.occurrence[x]
  • type = ('SXPR_TS'
  • 'PIVL_TS')]
ARQ-11

doco Documentation for this format