Mappings for the athena-appointment-profile resource profile.
| AthenaAppointment |
| Appointment | FHIRR4_APPOINTMENTVIEW |
| id | %ID% |
| meta | |
| lastUpdated | %DB_UPDATED_DATE% |
| security (SENSITIVECHART) | CheckSensitive(%SENSITIVECHART%) |
| extension | |
| extension (RecallAppointmentId) | |
| extension (RecallId) | |
| extension (Booklist) | |
| value[x] | %BOOKLIST% |
| identifier | MakeIdentifier("U",getSiteSystem("Appointment"),%EXTAPPTID%) |
| status | MapCode(%APPTSTATUS%,"APPOINTMENTSTATUS") |
| serviceType | MakeConcept(%TYPEID%,"https://docs.mydata.athenahealth.com/fhir-r4/CodeSystem/athena-appointment-service-type.html",%D_APPTTYPE%) |
| reasonCode | MakeTextConcept(%REASON%) |
| priority | %URGENCY% |
| description | %D_APPTTYPE% |
| start | MakeTimestamp(%APPTDATE%,%APPTTIME%) |
| end | MakeTimestamp(%APPTDATE%,%APPTTIME%,%DURATION%) |
| minutesDuration | %DURATION% |
| comment | %COMMENTSANDINSTRUCTIONS% |
| participant | |
| participant (Patient) | |
| actor | MakeReference("PERSON",%PID%,"Patient") |
| status | IsStatusCode("tentative",%PARTSTATUS%) |
| participant (Practitioner) | |
| type (T1_Type) | MapConcept("PPRF","APPOINTMENTTYPE") |
| type (T2_Type) | MapConcept(%PRACTTYPECODE%,"C80APPOINTMENTTYPEEMR") |
| actor | MakeReference("USR",%DOCTORID%,"Practitioner") |
| status | IsStatusCode("tentative",%PARTSTATUS%) |
| participant (Location) | |
| actor | MakeReference("LOCREG",%LOCATIONID%,"Location") |
| status | IsStatusCode("tentative",%PARTSTATUS%) |
| AthenaAppointment |
| Appointment | FHIRR4_APPOINTMENTVIEW |
| id | MakeIdWithPrefix(%ID%,%ID_PREFIX%) |
| meta | |
| lastUpdated | %UPDATED_DATE% |
| security (SENSITIVECHART) | CheckSensitive(%SENSITIVECHART%) |
| extension | |
| extension (RecallAppointmentId) | |
| value[x] | MakeReference("APPOINTMENT",%RECALLAPPOINTMENTID%,"Appointment") |
| extension (RecallId) | |
| value[x] | MakeReference("APPOINTMENT",%RECALLID%,"Appointment") |
| identifier | MakeIdentifier("U",getSiteSystem("Appointment"),%EXTERNALAPPTID%) |
| status | MapCode(%DESCRIPTION%,"APPOINTMENTSTATUS_CPS") |
| serviceType | MakeConceptIgnoringZeroValues(%TYPEID%,"https://docs.mydata.athenahealth.com/fhir-r4/CodeSystem/athena-appointment-service-type.html",%APPTTYPE%) |
| reasonCode | MakeTextConcept(%REASON%) |
| description | %APPTTYPE% |
| start | %STARTTIME% |
| end | %ENDTIME% |
| minutesDuration | %DURATION% |
| slot | MakeReference(null,%APPTSLOTID%,"Slot") |
| comment | %REASON% |
| participant | |
| participant (Patient) | |
| actor | MakeReference(null,%PID%,"Patient") |
| status | IsStatusCode("tentative",%PARTSTATUS%) |
| participant (Practitioner) | |
| type (T1_Type) | MapConcept("PPRF","APPOINTMENTTYPE") |
| type (T2_Type) | MapConcept(%PRACTTYPECODE%,"C80APPOINTMENTTYPECPS") |
| actor | MakeReference(null,%DOCTORID%,"Practitioner") |
| status | IsStatusCode("tentative",%PARTSTATUS%) |
| participant (Location) | |
| actor | MakeReference("LOCREG",%FACILITYID%,"Location") |
| status | IsStatusCode("tentative",%PARTSTATUS%) |
| participant (Resource) | |
| type | MapConcept("RESOURCE","PARTICIPANTTYPECPS") |
| actor | MakeResourceReference(null,%RESOURCEID%,null) |
| status | IsStatusCode("tentative",%PARTSTATUS%) |
| AthenaAppointment |
| Appointment | Entity. Role, or Act, Act[@moodCode <= 'INT'] |
| meta | |
| id | n/a |
| extension | n/a |
| text | Act.text? |
| contained | N/A |
| extension | |
| extension (RecallAppointmentId) | |
| id | n/a |
| extension | n/a |
| url | N/A |
| value[x] | N/A |
| extension (RecallId) | |
| id | n/a |
| extension | n/a |
| url | N/A |
| value[x] | N/A |
| extension (Booklist) | |
| id | n/a |
| extension | n/a |
| url | N/A |
| value[x] | N/A |
| modifierExtension | N/A |
| identifier | .id |
| status | .statusCode |
| cancelationReason | n/a |
| serviceCategory | n/a, might be inferred from the ServiceDeliveryLocation |
| serviceType | n/a, might be inferred from the ServiceDeliveryLocation |
| specialty | .performer.AssignedPerson.code |
| appointmentType | .code |
| reasonCode | .reasonCode |
| 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'] |
| participant | performer | reusableDevice | subject | location |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | (performer | reusableDevice | subject | location).@typeCode |
| actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
| required | (performer | reusableDevice | subject | location).@performInd |
| status | (performer | reusableDevice | subject | location).statusCode |
| period | n/a |
| participant (Patient) | performer | reusableDevice | subject | location |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | (performer | reusableDevice | subject | location).@typeCode |
| actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
| required | (performer | reusableDevice | subject | location).@performInd |
| status | (performer | reusableDevice | subject | location).statusCode |
| period | n/a |
| participant (Practitioner) | performer | reusableDevice | subject | location |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | (performer | reusableDevice | subject | location).@typeCode |
| type (T1_Type) | (performer | reusableDevice | subject | location).@typeCode |
| type (T2_Type) | (performer | reusableDevice | subject | location).@typeCode |
| actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
| required | (performer | reusableDevice | subject | location).@performInd |
| status | (performer | reusableDevice | subject | location).statusCode |
| period | n/a |
| participant (Location) | performer | reusableDevice | subject | location |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | (performer | reusableDevice | subject | location).@typeCode |
| actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
| required | (performer | reusableDevice | subject | location).@performInd |
| status | (performer | reusableDevice | subject | location).statusCode |
| period | n/a |
| participant (Resource) | performer | reusableDevice | subject | location |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | (performer | reusableDevice | subject | location).@typeCode |
| actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
| required | (performer | reusableDevice | subject | location).@performInd |
| status | (performer | reusableDevice | subject | location).statusCode |
| period | n/a |
| requestedPeriod | .activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')] |
| AthenaAppointment |
| Appointment | VEVENT |
| identifier | UID |
| status | STATUS |
| serviceCategory | CATEGORIES |
| appointmentType | CLASSIFICATION |
| priority | PRIORITY |
| description | SUMMARY |
| supportingInformation | ATTACH |
| start | DTSTART |
| end | DTEND |
| minutesDuration | DURATION (e.g. PT15M) |
| created | CREATED |
| comment | DESCRIPTION (for internal use) |
| patientInstruction | DESCRIPTION (for patient use) |
| participant | ATTENDEE component to be created |
| type | n/a |
| actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
| required | ROLE=REQ-PARTICIPANT (roleparam) |
| status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam) |
| participant (Patient) | ATTENDEE component to be created |
| type | n/a |
| actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
| required | ROLE=REQ-PARTICIPANT (roleparam) |
| status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam) |
| participant (Practitioner) | ATTENDEE component to be created |
| type | n/a |
| type (T1_Type) | n/a |
| type (T2_Type) | n/a |
| actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
| required | ROLE=REQ-PARTICIPANT (roleparam) |
| status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam) |
| participant (Location) | ATTENDEE component to be created |
| type | n/a |
| actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
| required | ROLE=REQ-PARTICIPANT (roleparam) |
| status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam) |
| participant (Resource) | ATTENDEE component to be created |
| type | n/a |
| actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
| required | ROLE=REQ-PARTICIPANT (roleparam) |
| status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam) |
| AthenaAppointment |
| Appointment | |
| identifier | SCH-1, SCH-2, ARQ-1, ARQ-2 |
| status | SCH-25 |
| appointmentType | ARQ-7 |
| reasonCode | AIS-3, SCH-7 |
| priority | ARQ-12, SCH-11.6 / TQ1-9 |
| description | NTE-3 |
| start | ARQ-11.1, SCH-11.4 / TQ1-7 |
| end | SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9 |
| comment | NTE-3 |
| patientInstruction | NTE-3 |
| participant | PID, AIP, AIG, AIL |
| type | AIP-4, AIG-4 |
| actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 |
| status | AIP-12, AIG-14 |
| participant (Patient) | PID, AIP, AIG, AIL |
| type | AIP-4, AIG-4 |
| actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 |
| status | AIP-12, AIG-14 |
| participant (Practitioner) | PID, AIP, AIG, AIL |
| type | AIP-4, AIG-4 |
| type (T1_Type) | AIP-4, AIG-4 |
| type (T2_Type) | AIP-4, AIG-4 |
| actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 |
| status | AIP-12, AIG-14 |
| participant (Location) | PID, AIP, AIG, AIL |
| type | AIP-4, AIG-4 |
| actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 |
| status | AIP-12, AIG-14 |
| participant (Resource) | PID, AIP, AIG, AIL |
| type | AIP-4, AIG-4 |
| actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 |
| status | AIP-12, AIG-14 |
| requestedPeriod | ARQ-11 |