AddCommunication Implementation Guide
2.2 - version 2.2

This page is part of the Release of AddCommunication IG (v2.2: Release) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

Resource Profile: InvitationAppointment - Mappings

Draft as of 2025-02-04

Mappings for the InvitationAppointment resource profile.

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

InvitationAppointment
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 (healthcareservice)Request.performer, Request.subject
   participant (practitioner)Request.performer, Request.subject

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

InvitationAppointment
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 (healthcareservice)
      actorFiveWs.who
   participant (practitioner)
      actorFiveWs.who

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

InvitationAppointment
AppointmentEntity, Role, or Act,Act[@moodCode <= 'INT']
   textAct.text?
   containedN/A
   extension
   extension (CareServiceCode)
      idn/a
      urlN/A
      value[x]N/A
      value[x] (valueCodeableConcept)N/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
   extension (CareServiceArea)
      idn/a
      urlN/A
      value[x]N/A
      value[x] (valueCodeableConcept)N/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
   extension (IndividualChoice)
      idn/a
      extensionn/a
      extension (id)
         idn/a
         urlN/A
         value[x]N/A
      extension (body)
         idn/a
         urlN/A
         value[x]N/A
      extension (type)
         idn/a
         urlN/A
         value[x]N/A
      extension (Link)
         idn/a
         extensionn/a
         extension (name)
            idn/a
            urlN/A
            value[x]N/A
         extension (url)
            idn/a
            urlN/A
            value[x]N/A
         extension (readable_text)
            idn/a
            urlN/A
            value[x]N/A
         extension (type)
            idn/a
            urlN/A
            value[x]N/A
         urlN/A
      extension (Placeholder)
      urlN/A
   extension (Prep)
      idn/a
      extensionn/a
      extension (type)
         idn/a
         urlN/A
         value[x]N/A
      extension (header)
         idn/a
         urlN/A
         value[x]N/A
      extension (printheader)
         idn/a
         urlN/A
         value[x]N/A
      extension (sortIndex)
         idn/a
         urlN/A
         value[x]N/A
      extension (PrepItem)
         idn/a
         extensionn/a
         extension (id)
            idn/a
            urlN/A
            value[x]N/A
         extension (body)
            idn/a
            urlN/A
            value[x]N/A
         extension (sortIndex)
            idn/a
            urlN/A
            value[x]N/A
         extension (Link)
            idn/a
            extensionn/a
            extension (name)
               idn/a
               urlN/A
               value[x]N/A
            extension (url)
               idn/a
               urlN/A
               value[x]N/A
            extension (readable_text)
               idn/a
               urlN/A
               value[x]N/A
            extension (type)
               idn/a
               urlN/A
               value[x]N/A
            urlN/A
         urlN/A
      urlN/A
   extension (ReferralReference)
      idn/a
      extension
      extension (healthcareService)
         idn/a
         urlN/A
         value[x]N/A
         value[x] (valueReference)N/A
      extension (gapDays)
         idn/a
         urlN/A
         value[x]N/A
         value[x] (valueInteger)N/A
      extension (receiveCorrespondence)
         idn/a
         urlN/A
         value[x]N/A
         value[x] (valueBoolean)N/A
      urlN/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
   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 (healthcareservice)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 (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
   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)

InvitationAppointment
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 (healthcareservice)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 (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)
   recurrenceTemplate
      timezoneTZID
      recurrenceTypeFREQ
      lastOccurrenceDateUNTIL
      occurrenceCountCOUNT
      occurrenceDateRDATE
      excludingDateEXDATE

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

InvitationAppointment
Appointment
   extension
   extension (CareServiceCode)
      value[x]
      value[x] (valueCodeableConcept)
         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
   extension (CareServiceArea)
      value[x]
      value[x] (valueCodeableConcept)
         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
   identifierSCH-1, SCH-2, ARQ-1, ARQ-2
   statusSCH-25
   classPV1-2
   serviceTypeARQ-8, SCH-8
   appointmentTypeARQ-7, SCH-7
   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 (healthcareservice)PID, 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