Implementation Guide
25.0.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaAppointment - Mappings

Active as of 2022-03-01

Mappings for the athena-appointment-profile resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameathenaFlowathenaPracticeWorkflow PatternRIM MappingiCalendarFiveWs Pattern MappingHL7 v2 Mappingdoco
.. Appointment
FHIRR4_APPOINTMENTVIEW
FHIRR4_APPOINTMENTVIEW
Request
Act[@moodCode <= 'INT']
VEVENT
... id
%ID%
  • MakeIdWithPrefix(%ID%
  • %ID_PREFIX%)
... meta
.... id
n/a
.... extension
n/a
.... versionId
.... lastUpdated
%DB_UPDATED_DATE%
%UPDATED_DATE%
.... source
.... Slices for profile
..... profile:athena-appointment-profile
.... Slices for security
..... security:SENSITIVECHART
CheckSensitive(%SENSITIVECHART%)
CheckSensitive(%SENSITIVECHART%)
.... tag
... implicitRules
... language
... text
Act.text?
... contained
N/A
... Slices for extension
.... extension:RecallAppointmentId
..... id
n/a
..... extension
n/a
..... url
N/A
..... value[x]
  • MakeReference("APPOINTMENT"
  • %RECALLAPPOINTMENTID%
  • "Appointment")
N/A
.... extension:RecallId
..... id
n/a
..... extension
n/a
..... url
N/A
..... value[x]
  • MakeReference("APPOINTMENT"
  • %RECALLID%
  • "Appointment")
N/A
.... extension:Booklist
..... id
n/a
..... extension
n/a
..... url
N/A
..... value[x]
%BOOKLIST%
N/A
... modifierExtension
N/A
... identifier
  • MakeIdentifier("U"
  • getSiteSystem("Appointment")
  • %EXTAPPTID%)
  • MakeIdentifier("U"
  • getSiteSystem("Appointment")
  • %EXTERNALAPPTID%)
Request.identifier
.id
UID
FiveWs.identifier
  • SCH-1
  • SCH-2
  • ARQ-1
  • ARQ-2
... status
  • MapCode(%APPTSTATUS%
  • "APPOINTMENTSTATUS")
  • MapCode(%DESCRIPTION%
  • "APPOINTMENTSTATUS_CPS")
Request.status
.statusCode
STATUS
FiveWs.status
SCH-25
... cancelationReason
n/a
... serviceCategory
  • n/a
  • might be inferred from the ServiceDeliveryLocation
CATEGORIES
... serviceType
  • MakeConcept(%TYPEID%
  • //docs.mydata.athenahealth.com/fhir-r4/CodeSystem/athena-appointment-service-type.html"
  • %D_APPTTYPE%)
  • MakeConceptIgnoringZeroValues(%TYPEID%
  • //docs.mydata.athenahealth.com/fhir-r4/CodeSystem/athena-appointment-service-type.html"
  • %APPTTYPE%)
Request.code
  • n/a
  • might be inferred from the ServiceDeliveryLocation
... specialty
.performer.AssignedPerson.code
FiveWs.class
... appointmentType
.code
CLASSIFICATION
ARQ-7
... reasonCode
MakeTextConcept(%REASON%)
MakeTextConcept(%REASON%)
Request.reasonCode
.reasonCode
  • AIS-3
  • SCH-7
... reasonReference
Request.reasonReference
.inboundRelationship[@typeCode = 'RSON'].observation
... priority
%URGENCY%
Request.priority
.priorityCode
PRIORITY
FiveWs.class
  • ARQ-12
  • SCH-11.6 / TQ1-9
... description
%D_APPTTYPE%
%APPTTYPE%
.text
SUMMARY
NTE-3
... supportingInformation
Request.supportingInfo
.inboundRelationship[@typeCode = 'SPRT'].observation
ATTACH
FiveWs.context
... start
  • MakeTimestamp(%APPTDATE%
  • %APPTTIME%)
%STARTTIME%
Request.occurrence[x]
.effectiveTime.low
DTSTART
FiveWs.init
  • ARQ-11.1
  • SCH-11.4 / TQ1-7
... end
  • MakeTimestamp(%APPTDATE%
  • %APPTTIME%
  • %DURATION%)
%ENDTIME%
Request.occurrence[x]
.effectiveTime.high
DTEND
FiveWs.done[x]
SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9
... minutesDuration
%DURATION%
%DURATION%
Request.occurrence[x]
  • type = ('SXPR_TS'
  • 'PIVL_TS')].width
DURATION (e.g. PT15M)
... slot
  • MakeReference(null
  • %APPTSLOTID%
  • "Slot")
.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
... created
Request.authoredOn
.author.time
CREATED
... comment
%COMMENTSANDINSTRUCTIONS%
%REASON%
Request.note
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for internal use)
NTE-3
... patientInstruction
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
DESCRIPTION (for patient use)
NTE-3
... basedOn
Request.basedOn
.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
... Slices for participant
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
.... participant:All Slices
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
..... actor
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
..... required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
..... status
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
..... period
n/a
.... participant:Patient
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
..... actor
  • MakeReference("PERSON"
  • %PID%
  • "Patient")
  • MakeReference(null
  • %PID%
  • "Patient")
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
..... required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
..... status
  • IsStatusCode("tentative"
  • %PARTSTATUS%)
  • IsStatusCode("tentative"
  • %PARTSTATUS%)
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
..... period
n/a
.... participant:Practitioner
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... Slices for type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
...... type:T1_Type
  • MapConcept("PPRF"
  • "APPOINTMENTTYPE")
  • MapConcept("PPRF"
  • "APPOINTMENTTYPE")
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
...... type:T2_Type
  • MapConcept(%PRACTTYPECODE%
  • "C80APPOINTMENTTYPEEMR")
  • MapConcept(%PRACTTYPECODE%
  • "C80APPOINTMENTTYPECPS")
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
..... actor
  • MakeReference("USR"
  • %DOCTORID%
  • "Practitioner")
  • MakeReference(null
  • %DOCTORID%
  • "Practitioner")
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
..... required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
..... status
  • IsStatusCode("tentative"
  • %PARTSTATUS%)
  • IsStatusCode("tentative"
  • %PARTSTATUS%)
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
..... period
n/a
.... participant:Location
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... type
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
..... actor
  • MakeReference("LOCREG"
  • %LOCATIONID%
  • "Location")
  • MakeReference("LOCREG"
  • %FACILITYID%
  • "Location")
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
..... required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
..... status
  • IsStatusCode("tentative"
  • %PARTSTATUS%)
  • IsStatusCode("tentative"
  • %PARTSTATUS%)
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
..... period
n/a
.... participant:Resource
  • Request.performer
  • Request.subject
performer | reusableDevice | subject | location
ATTENDEE component to be created
  • PID
  • AIP
  • AIG
  • AIL
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... type
  • MapConcept("RESOURCE"
  • "PARTICIPANTTYPECPS")
(performer | reusableDevice | subject | location).@typeCode
n/a
  • AIP-4
  • AIG-4
..... actor
  • MakeResourceReference(null
  • %RESOURCEID%
  • null)
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
FiveWs.who
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
..... required
(performer | reusableDevice | subject | location).@performInd
ROLE=REQ-PARTICIPANT (roleparam)
..... status
  • IsStatusCode("tentative"
  • %PARTSTATUS%)
(performer | reusableDevice | subject | location).statusCode
mailto:john@doe.com (rsvpparam | partstatparam)
  • AIP-12
  • AIG-14
..... period
n/a
... requestedPeriod
Request.occurrence[x]
  • type = ('SXPR_TS'
  • 'PIVL_TS')]
ARQ-11

doco Documentation for this format