3.0.0-alpha - ci-build Norway flag

Publication Build: This will be filled in by the publication tooling

Resource Profile: NoBasisAppointment - Mappings

Draft as of 2023-06-13

Mappings for the no-basis-Appointment resource profile.

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

NoBasisAppointment
AppointmentRequest
   identifierRequest.identifier
   statusRequest.status
   serviceTypeRequest.code
   reasonRequest.reason
   priorityRequest.priority
   replacesRequest.replaces
   supportingInformationRequest.supportingInfo
   startRequest.occurrence[x]
   endRequest.occurrence[x]
   minutesDurationRequest.occurrence[x]
   requestedPeriodRequest.occurrence[x]
   createdRequest.authoredOn
   noteRequest.note
   basedOnRequest.basedOn
   participantRequest.performer, Request.subject
   participant (practitioner)Request.performer, Request.subject
   participant (patient)Request.performer, Request.subject
   participant (location)Request.performer, Request.subject

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

NoBasisAppointment
Appointmentworkflow.scheduling
   identifierFiveWs.identifier
   statusFiveWs.status
   classFiveWs.class
   specialtyFiveWs.class
   priorityFiveWs.class
   replacesFiveWs.context
   supportingInformationFiveWs.context
   previousAppointmentFiveWs.context
   originatingAppointmentFiveWs.context
   startFiveWs.init
   endFiveWs.done[x]
   subjectFiveWs.who
   participant
      actorFiveWs.who
   participant (practitioner)
      actorFiveWs.who
   participant (patient)
      actorFiveWs.who
   participant (location)
      actorFiveWs.who

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

NoBasisAppointment
AppointmentEntity, Role, or Act,Act[@moodCode <= 'INT']
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   status.statusCode
   cancellationReasonn/a
   class.inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
   serviceCategoryn/a, might be inferred from the ServiceDeliveryLocation
   serviceTypen/a, might be inferred from the ServiceDeliveryLocation
   specialty.performer.AssignedPerson.code
   appointmentType.code
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (omsorgsNiva)union(., ./translation)
      coding (kontaktType)union(., ./translation)
      coding (innbygger)union(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   reason.reasonCode
   priority.priorityCode
   description.text
   replaces.inboundRelationship[@typeCode = 'SPRT'].observation
   virtualServiceN/A
   supportingInformation.inboundRelationship[@typeCode = 'SPRT'].observation
   previousAppointmentN/A
   originatingAppointmentN/A
   start.effectiveTime.low
   end.effectiveTime.high
   minutesDuration.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width
   requestedPeriod.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]
   slot.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
   account.pertains.A_Account
   created.author.time
   note.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
   patientInstruction.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
   basedOn.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
   subjectsubject.patient
   participantperformer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
      periodn/a
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
   participant (practitioner)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
      periodn/a
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
   participant (patient)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
      periodn/a
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
   participant (location)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
      periodn/a
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
   recurrenceIdN/A
   occurrenceChangedN/A
   recurrenceTemplateN/A
      idn/a
      extensionn/a
      modifierExtensionN/A
      timezoneN/A
      weeklyTemplate
         idn/a
         extensionn/a
         modifierExtensionN/A
      monthlyTemplate
         idn/a
         extensionn/a
         modifierExtensionN/A
      yearlyTemplate
         idn/a
         extensionn/a
         modifierExtensionN/A

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

NoBasisAppointment
AppointmentVEVENT
   identifierUID
   statusSTATUS
   serviceCategoryCATEGORIES
   appointmentTypeCLASSIFICATION
   priorityPRIORITY
   descriptionSUMMARY
   replacesATTACH
   supportingInformationATTACH
   startDTSTART
   endDTEND
   minutesDurationDURATION (e.g. PT15M)
   createdCREATED
   noteDESCRIPTION (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)
   participant (practitioner)ATTENDEE 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)
   participant (patient)ATTENDEE 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)
   participant (location)ATTENDEE 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)
   recurrenceTemplate
      timezoneTZID
      recurrenceTypeFREQ
      lastOccurrenceDateUNTIL
      occurrenceCountCOUNT
      occurrenceDateRDATE
      excludingDateEXDATE

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

NoBasisAppointment
Appointment
   identifierSCH-1, SCH-2, ARQ-1, ARQ-2
   statusSCH-25
   classPV1-2
   serviceTypeARQ-8, SCH-8
   appointmentTypeARQ-7, SCH-7
      codingC*E.1-8, C*E.10-22
      coding (omsorgsNiva)C*E.1-8, C*E.10-22
      coding (kontaktType)C*E.1-8, C*E.10-22
      coding (innbygger)C*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   reasonAIS-3
   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
   requestedPeriodARQ-11
   noteNTE-3
   patientInstructionNTE-3
   subjectPID-3-Patient ID List
   participantPID, AIP, AIG, AIL
      typeAIP-4, AIG-4
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   participant (practitioner)PID, AIP, AIG, AIL
      typeAIP-4, AIG-4
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   participant (patient)PID, AIP, AIG, AIL
      typeAIP-4, AIG-4
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   participant (location)PID, AIP, AIG, AIL
      typeAIP-4, AIG-4
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14