Finnish Scheduling
2.0.0-rc3 - ballot Finland flag

Finnish Scheduling - Local Development build (v2.0.0-rc3) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: FiSchedulingAppointment - Mappings

Draft as of 2025-08-27

Mappings for the fi-scheduling-appointment 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
... id
... meta
... implicitRules
... language
... text
Act.text?
... contained
N/A
... Slices for extension
.... extension:AdditionalInformationURL
.... extension:AppointmentMutability
.... extension:CareGuaranteeDetails
.... extension:CareplanIdentifier
.... extension:ChildAppointment
.... extension:CustomerJourney
.... extension:NotificationInfo
.... extension:NotificationMedium
.... extension:PractitionerGender
.... extension:QueueNo
.... extension:ReferralId
.... extension:RequestedService
.... extension:ResourceCalendarId
.... extension:SelfServiceInfo
.... extension:ServiceAdditionalInformation
.... extension:TicketNo
.... extension:TopicId
... modifierExtension
N/A
... identifier
Request.identifier
.id
UID
FiveWs.identifier
  • SCH-1
  • SCH-2
  • ARQ-1
  • ARQ-2
... status
Request.status
.statusCode
STATUS
FiveWs.status
SCH-25
... cancelationReason
n/a
.... id
n/a
.... extension
n/a
.... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... id
n/a
..... extension
n/a
..... system
./codeSystem
C*E.3
..... version
./codeSystemVersion
C*E.7
..... code
./code
C*E.1
..... display
CV.displayName
C*E.2 - but note this is not well followed
..... userSelected
CD.codingRationale
Sometimes implied by being first
.... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... Slices for serviceCategory
  • n/a
  • might be inferred from the ServiceDeliveryLocation
CATEGORIES
.... serviceCategory:thlCodedCategory
  • n/a
  • might be inferred from the ServiceDeliveryLocation
CATEGORIES
..... id
n/a
..... extension
n/a
..... Slices for coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
...... coding:thlType
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
....... id
n/a
....... extension
n/a
....... system
./codeSystem
C*E.3
....... version
./codeSystemVersion
C*E.7
....... code
./code
C*E.1
....... display
CV.displayName
C*E.2 - but note this is not well followed
....... userSelected
CD.codingRationale
Sometimes implied by being first
...... coding:hl7Type
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
....... id
n/a
....... extension
n/a
....... system
./codeSystem
C*E.3
....... version
./codeSystemVersion
C*E.7
....... code
./code
C*E.1
....... display
CV.displayName
C*E.2 - but note this is not well followed
....... userSelected
CD.codingRationale
Sometimes implied by being first
..... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... Slices for serviceType
Request.code
  • n/a
  • might be inferred from the ServiceDeliveryLocation
.... serviceType:thlCodedType
Request.code
  • n/a
  • might be inferred from the ServiceDeliveryLocation
..... id
n/a
..... extension
n/a
..... Slices for coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
...... coding:thlType
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
....... id
n/a
....... extension
n/a
....... system
./codeSystem
C*E.3
....... version
./codeSystemVersion
C*E.7
....... code
./code
C*E.1
....... display
CV.displayName
C*E.2 - but note this is not well followed
....... userSelected
CD.codingRationale
Sometimes implied by being first
...... coding:hl7Type
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
....... id
n/a
....... extension
n/a
....... system
./codeSystem
C*E.3
....... version
./codeSystemVersion
C*E.7
....... code
./code
C*E.1
....... display
CV.displayName
C*E.2 - but note this is not well followed
....... userSelected
CD.codingRationale
Sometimes implied by being first
..... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... specialty
.performer.AssignedPerson.code
FiveWs.class
... appointmentType
.code
CLASSIFICATION
ARQ-7
.... id
n/a
.... extension
n/a
.... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... id
n/a
..... extension
n/a
..... system
./codeSystem
C*E.3
..... version
./codeSystemVersion
C*E.7
..... code
./code
C*E.1
..... display
CV.displayName
C*E.2 - but note this is not well followed
..... userSelected
CD.codingRationale
Sometimes implied by being first
.... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... Slices for reasonCode
Request.reasonCode
.reasonCode
  • AIS-3
  • SCH-7
.... reasonCode:sliceSisaltotarkenne
Request.reasonCode
.reasonCode
  • AIS-3
  • SCH-7
..... id
n/a
..... extension
n/a
..... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
.... reasonCode:slicePalvelutarve
Request.reasonCode
.reasonCode
  • AIS-3
  • SCH-7
..... id
n/a
..... extension
n/a
..... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... reasonReference
Request.reasonReference
.inboundRelationship[@typeCode = 'RSON'].observation
.... id
n/a
.... extension
n/a
.... reference
N/A
.... type
N/A
.... identifier
.identifier
.... display
N/A
... priority
Request.priority
.priorityCode
PRIORITY
FiveWs.class
  • ARQ-12
  • SCH-11.6 / TQ1-9
... description
.text
SUMMARY
NTE-3
... supportingInformation
Request.supportingInfo
.inboundRelationship[@typeCode = 'SPRT'].observation
ATTACH
FiveWs.context
... start
Request.occurrence[x]
.effectiveTime.low
DTSTART
FiveWs.init
  • ARQ-11.1
  • SCH-11.4 / TQ1-7
... 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
... minutesDuration
Request.occurrence[x]
  • type = ('SXPR_TS'
  • 'PIVL_TS')].width
DURATION (e.g. PT15M)
... slot
.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
... created
Request.authoredOn
.author.time
CREATED
... comment
Request.note
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for internal use)
NTE-3
... patientInstruction
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for patient use)
NTE-3
.... id
.... Slices for extension
..... extension:PatientInstructionURL
.... value
... basedOn
Request.basedOn
.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
... participant
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
.... 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
.... required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
.... status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
.... period
n/a
... requestedPeriod
Request.occurrence[x]
  • type = ('SXPR_TS'
  • 'PIVL_TS')]
ARQ-11

doco Documentation for this format