FHIR Implementation Guide for ABDM
5.0.0 - active India

Banner

FHIR Implementation Guide for ABDM - Local Development build (v5.0.0). See the Directory of published versions

Resource Profile: Appointment - Mappings

Draft as of 2020-08-17

Mappings for the Appointment resource profile.

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

Appointment
AppointmentRequest
   identifierRequest.identifier
   statusRequest.status
   serviceTypeRequest.code
   reasonCodeRequest.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)

Appointment
AppointmentEntity. Role, or Act, Act[@moodCode <= 'INT']
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   status.statusCode
   cancelationReasonn/a
   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
      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
   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
      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
   reasonReference.inboundRelationship[@typeCode = 'RSON'].observation
   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
         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
      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)

Appointment
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)

Appointment
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)

Appointment
Appointment
   identifierSCH-1, SCH-2, ARQ-1, ARQ-2
   statusSCH-25
   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
   specialty
      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
      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
   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
         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
      actorPID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
      statusAIP-12, AIG-14
   requestedPeriodARQ-11