Magentus Practice Management FHIR Implementation Guide
1.2.39 - ci-build Australia flag

Magentus Practice Management FHIR Implementation Guide - Local Development build (v1.2.39) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: EBookingsAppointmentBase - Mappings

Draft as of 2025-06-12

Mappings for the ebookings-appointment-base resource profile.

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

EBookingsAppointmentBase
AppointmentRequest
   identifierRequest.identifier
   statusRequest.status
   serviceTypeRequest.code
   reasonCodeRequest.reasonCode
   reasonReferenceRequest.reasonReference
   priorityRequest.priority
   supportingInformationRequest.supportingInfo
   supportingInformation (anaesthetic)Request.supportingInfo
   supportingInformation (prosthesis)Request.supportingInfo
   startRequest.occurrence[x]
   endRequest.occurrence[x]
   minutesDurationRequest.occurrence[x]
   createdRequest.authoredOn
   commentRequest.note
   basedOnRequest.basedOn
   participantRequest.performer, Request.subject
   participant (provider)Request.performer, Request.subject
   participant (assistant)Request.performer, Request.subject
   participant (anaesthetist)Request.performer, Request.subject
   participant (hospital)Request.performer, Request.subject
   participant (patient)Request.performer, Request.subject
   requestedPeriodRequest.occurrence[x]

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

EBookingsAppointmentBase
AppointmentEntity. Role, or Act, Act[@moodCode <= 'INT']
   textAct.text?
   containedN/A
   modifierExtensionN/A
   identifier.id
   status.statusCode
   cancelationReasonn/a
   serviceCategoryn/a, might be inferred from the ServiceDeliveryLocation
   serviceTypen/a, might be inferred from the ServiceDeliveryLocation
      idn/a
      extensionn/a
      text./originalText[mediaType/code="text/plain"]/data
   specialty.performer.AssignedPerson.code
   appointmentType.code
   reasonCode.reasonCode
      idn/a
      extensionn/a
      text./originalText[mediaType/code="text/plain"]/data
   reasonReference.inboundRelationship[@typeCode = 'RSON'].observation
   priority.priorityCode
   description.text
   supportingInformation.inboundRelationship[@typeCode = 'SPRT'].observation
   supportingInformation (anaesthetic).inboundRelationship[@typeCode = 'SPRT'].observation
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   supportingInformation (prosthesis).inboundRelationship[@typeCode = 'SPRT'].observation
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   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']
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
         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
            idn/a
            extensionn/a
            referenceN/A
            typeN/A
            identifier.identifier
            displayN/A
      displayN/A
   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
   participant (provider)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
         idn/a
         extensionn/a
         referenceN/A
         typeN/A
         identifier.identifier
         displayN/A
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
      periodn/a
   participant (assistant)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
         idn/a
         extensionn/a
         typeN/A
         identifier.identifier
         displayN/A
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
      periodn/a
   participant (anaesthetist)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
         idn/a
         extensionn/a
         typeN/A
         identifier.identifier
         displayN/A
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
      periodn/a
   participant (hospital)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
         idn/a
         extensionn/a
         referenceN/A
         typeN/A
         identifier.identifier
         displayN/A
      required(performer | reusableDevice | subject | location).@performInd
      status(performer | reusableDevice | subject | location).statusCode
      periodn/a
   participant (patient)performer | reusableDevice | subject | location
      idn/a
      extensionn/a
      modifierExtensionN/A
      type(performer | reusableDevice | subject | location).@typeCode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      actorperformer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
         idn/a
         extensionn/a
         referenceN/A
         typeN/A
         identifier.identifier
         displayN/A
      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)

EBookingsAppointmentBase
AppointmentVEVENT
   identifierUID
   statusSTATUS
   serviceCategoryCATEGORIES
   appointmentTypeCLASSIFICATION
   priorityPRIORITY
   descriptionSUMMARY
   supportingInformationATTACH
   supportingInformation (anaesthetic)ATTACH
   supportingInformation (prosthesis)ATTACH
   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)
   participant (provider)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 (assistant)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 (anaesthetist)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 (hospital)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)

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

EBookingsAppointmentBase
Appointment
   identifierFiveWs.identifier
   statusFiveWs.status
   specialtyFiveWs.class
   priorityFiveWs.class
   supportingInformationFiveWs.context
   supportingInformation (anaesthetic)FiveWs.context
   supportingInformation (prosthesis)FiveWs.context
   startFiveWs.init
   endFiveWs.done[x]
   participant
      actorFiveWs.who
   participant (provider)
      actorFiveWs.who
   participant (assistant)
      actorFiveWs.who
   participant (anaesthetist)
      actorFiveWs.who
   participant (hospital)
      actorFiveWs.who
   participant (patient)
      actorFiveWs.who

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

EBookingsAppointmentBase
Appointment
   identifierSCH-1, SCH-2, ARQ-1, ARQ-2
   statusSCH-25
   serviceType
      textC*E.9. But note many systems use C*E.2 for this
   appointmentTypeARQ-7
   reasonCodeAIS-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
   basedOn
      identifier
         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)
   participantPID, AIP, AIG, AIL
      typeAIP-4, AIG-4
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   participant (provider)PID, AIP, AIG, AIL
      typeAIP-4, AIG-4
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   participant (assistant)PID, AIP, AIG, AIL
      typeAIP-4, AIG-4
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   participant (anaesthetist)PID, AIP, AIG, AIL
      typeAIP-4, AIG-4
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   participant (hospital)PID, AIP, AIG, AIL
      typeAIP-4, AIG-4
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      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
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   requestedPeriodARQ-11