DwAppointment

Purpose

The purpose of this resource to provide booking of a healthcare event among patient(s), practitioner(s), and/or device(s) for a specific date/time. This may result in one or more Encounter(s).

idS Σ1..1id
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
appointmentEMRCustomStatusS C0..*Extension(string)
virtualVisitS C0..*Extension(boolean)
virtualVisitTypeS C0..*Extension(string)
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
cancelationReasonS Σ0..1CodeableConcept
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
appointmentTypeS Σ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceC0..*Reference(Condition | ImmunizationRecommendation | Observation | Procedure)
priority0..1unsignedInt
descriptionS0..1string
supportingInformationC0..*Reference(Resource)
startS Σ0..1instant
endS Σ0..1instant
minutesDurationS0..1positiveInt
slotC0..*Reference(Slot)
createdS0..1dateTime
comment0..1string
patientInstruction0..1string
basedOnS C0..*Reference(DwServiceRequest)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
typeΣ0..*CodeableConceptBinding
actorΣ C0..1Reference(DwHealthcareService | DwLocation | DwPatient | DwPractitioner | DwPractitionerRole)
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodC0..1Period
requestedPeriodC0..*Period

Usage note

  • description - The reason patient reported for the appointment, typically documented in text.

  • start - UTC timezone will be used to provide datetime. If required, then receiving server wil need to convert the time to local timezone.

  • end - UTC timezone will be used to provide datetime. If required, then receiving server wil need to convert the time to local timezone.

  • status - Status mapping

    FHIR MA PSS CHR
    Pending Request Booked
    Booked Booked, Rebooked, Unfilled, Email Reminder Sent, Confirmed, Left Message Booked
    Arrived Checked In, Waiting in Room, Seeing Doctor Booked
    Fulfilled Done, Seen Off Site Booked
    Cancelled Cancelled appt.deleted, appt.cancelled
    No Show No Show appt.no show, appt.lwbs
    Entered in Error Template, Deleted Booked

Bundle

Appointment

Examples

Example EMR
Follow-up for type 2 diabetes management and medication review CHR
Three-month follow-up appointment for hypertension monitoring. Review blood pressure logs and medication effectiveness. MA

CHR UI Navigation

The following table shows where each FHIR element comes from in CHR: the UI path a clinician follows to enter or view the data.

FHIR Path CHR Name CHR UI Navigation
Appointment.status Status Schedule → appointment → status indicator
Appointment.cancelationReason Cancellation Reason Schedule → appointment → Cancel
Appointment.appointmentType Appointment Type Schedule → New Appointment wizard
Appointment.description Description / Title Schedule → appointment → description
Appointment.start / end Date / Time / Duration Schedule → click empty time slot → New Appointment wizard
Appointment.minutesDuration Duration (minutes) Schedule → New Appointment wizard → duration
Appointment.participant (provider) Practitioners Schedule → click empty time slot → New Appointment wizard
Appointment.participant (location) Location Schedule → click existing appointment → Edit
Appointment.comment Note Schedule → click existing appointment → Edit
Appointment.extension:virtualVisit Virtual Visit Schedule → New Appointment wizard → Virtual Visit toggle

MA UI Navigation

The following table shows where each FHIR element comes from in MA: the UI path a clinician follows to enter or view the data.

FHIR Path MA Name MA UI Navigation
Appointment.status Appointment Status Menu → Schedule → select appointment → Status dropdown
Appointment.cancelationReason Cancellation Reason Menu → Schedule → select appointment → Cancel → Note field
Appointment.appointmentType Appointment Type Menu → Schedule → New Appointment → Appointment Type dropdown
Appointment.description Complaint / Concern Menu → Patients → select patient → Appointments → select appointment → Complaint field
Appointment.start Start Time Menu → Schedule → select time slot → New Appointment → Start Time field
Appointment.end End Time Menu → Schedule → select time slot → New Appointment → End Time field
Appointment.minutesDuration Duration Menu → Schedule → New Appointment → Duration field
Appointment.created Booked At Derived by extract — booking timestamp from appointments_history table
Appointment.comment Note Menu → Schedule → select appointment → Edit → Note field
Appointment.participant (patient) Patient Derived — patient linked to appointment
Appointment.participant (provider) Provider Menu → Schedule → New Appointment → Provider / Resource / Facility fields
Appointment.extension:appointmentEMRCustomStatus Custom Status Derived — raw appointment_statuses.value stored as extension
Appointment.extension:virtualVisit Virtual Visit Menu → Schedule → New Appointment → Virtual Visit toggle
Appointment.extension:virtualVisitType Virtual Visit Type Menu → Schedule → New Appointment → Virtual Visit Type dropdown
Appointment.meta.lastUpdated — Derived by extract
Appointment.meta.security — Derived by extract — based on patient masking and confidential flag