Finnish Scheduling
0.2.0-cibuild - ci-build Finland flag

Finnish Scheduling, published by HL7 Finland. This guide is not an authorized publication; it is the continuous build for version 0.2.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/fhir-fi/finnish-scheduling/ and changes regularly. See the Directory of published versions

Resource Profile: FiSchedulingAppointment - Mappings

Draft as of 2024-10-22

Mappings for the fi-scheduling-appointment resource profile.

Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

FiSchedulingAppointment
AppointmentRequest
   identifierRequest.identifier
   statusRequest.status
   serviceTypeRequest.code
   reasonCodeRequest.reasonCode
   reasonCode (sliceSisaltotarkenne)Request.reasonCode
   reasonCode (slicePalvelutarve)Request.reasonCode
   reasonReferenceRequest.reasonReference
   priorityRequest.priority
   supportingInformationRequest.supportingInfo
   startRequest.occurrence[x]
   endRequest.occurrence[x]
   minutesDurationRequest.occurrence[x]
   createdRequest.authoredOn
   commentRequest.note
   basedOnRequest.basedOn
   participantRequest.performer, Request.subject
   requestedPeriodRequest.occurrence[x]

Mappings for RIM Mapping (http://hl7.org/v3)

FiSchedulingAppointment
AppointmentEntity. Role, or Act, Act[@moodCode <= 'INT']
   textAct.text?
   containedN/A
   modifierExtensionN/A
   identifier.id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   status.statusCode
   cancelationReasonn/a
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   serviceCategoryn/a, might be inferred from the ServiceDeliveryLocation
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   serviceTypen/a, might be inferred from the ServiceDeliveryLocation
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   specialty.performer.AssignedPerson.code
   appointmentType.code
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   reasonCode.reasonCode
   reasonCode (sliceSisaltotarkenne).reasonCode
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         code./code
         displayCV.displayName
   reasonCode (slicePalvelutarve).reasonCode
      idn/a
      extensionn/a
      text./originalText[mediaType/code="text/plain"]/data
   reasonReference.inboundRelationship[@typeCode = 'RSON'].observation
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   priority.priorityCode
   description.text
   supportingInformation.inboundRelationship[@typeCode = 'SPRT'].observation
   start.effectiveTime.low
   end.effectiveTime.high
   minutesDuration.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width
   slot.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
   created.author.time
   comment.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
   patientInstruction.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
   basedOn.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
   participantperformer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
      periodn/a
   requestedPeriod.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]

Mappings for iCalendar (http://ietf.org/rfc/2445)

FiSchedulingAppointment
AppointmentVEVENT
   identifierUID
   statusSTATUS
   serviceCategoryCATEGORIES
   appointmentTypeCLASSIFICATION
   priorityPRIORITY
   descriptionSUMMARY
   supportingInformationATTACH
   startDTSTART
   endDTEND
   minutesDurationDURATION (e.g. PT15M)
   createdCREATED
   commentDESCRIPTION (for internal use)
   patientInstructionDESCRIPTION (for patient use)
   participantATTENDEE component to be created
      typen/a
      actorATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
      requiredROLE=REQ-PARTICIPANT (roleparam)
      statusATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

FiSchedulingAppointment
Appointment
   identifierFiveWs.identifier
   statusFiveWs.status
   specialtyFiveWs.class
   priorityFiveWs.class
   supportingInformationFiveWs.context
   startFiveWs.init
   endFiveWs.done[x]
   participant
      actorFiveWs.who

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

FiSchedulingAppointment
Appointment
   identifierSCH-1, SCH-2, ARQ-1, ARQ-2
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   statusSCH-25
   cancelationReason
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   serviceCategory
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   serviceType
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   appointmentTypeARQ-7
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   reasonCodeAIS-3, SCH-7
   reasonCode (sliceSisaltotarkenne)AIS-3, SCH-7
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         codeC*E.1
         displayC*E.2 - but note this is not well followed
   reasonCode (slicePalvelutarve)AIS-3, SCH-7
      textC*E.9. But note many systems use C*E.2 for this
   priorityARQ-12, SCH-11.6 / TQ1-9
   descriptionNTE-3
   startARQ-11.1, SCH-11.4 / TQ1-7
   endSCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9
   commentNTE-3
   patientInstructionNTE-3
   participantPID, AIP, AIG, AIL
      typeAIP-4, AIG-4
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   requestedPeriodARQ-11