Helix AU Core
0.1.0 - ci-build
Helix AU Core - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
A booking/scheduled meeting of a healthcare event among patients and practitioners for a specific date/time.
The Appointment resource supports end-to-end scheduling operations including booking, updating, cancelling, and status tracking. Writeback functionality ensures that updates are accurately reflected across systems and notify relevant participants. These operations ensure appointment records remain synchronized across systems such as Helix, SmileCDR, and online booking portals.
Context:
An appointment needs to be scheduled for a patient, such as for a consultation, procedure, or follow-up.
Expected Outcome:
A patient calls to book a new appointment through a portal with the available slots.
Appointment Example:
A new Appointment resource is created and associated with a valid Slot, Patient, and Practitioner.
Appointment.status = proposed
Appointment.participant.status = needs-action
Appointment.status = pending
Appointment.participant.status = accepted (for PPRF, LOC)
Helix database.AppointmentStatus = booked
Appointment.status = cancelled
Appointment.participant.status = declined (for PPRF, LOC)
Helix database.AppointmentStatus =deleted
Context:
Changes are made to an existing appointment, such as rescheduling or updating the reason for visit.
Example:
A provider is unavailable at the originally scheduled time, and the appointment needs to be moved to new slot.
Expected Outcome:
Context:
The patient cancels, or the provider becomes unavailable.
Example:
A cancellation request is received, and the appointment needs to be marked as cancelled.
Expected Outcome:
The appointment's status is updated to cancelled, and participant's status is updated to declined any linked systems are notified.
Appointment.status = cancelled
Appointment.participant.status = declined
Context:
Appointment status needs to reflect real-world outcomes like check-in or no-show.
Examples:
booked → arrivedbooked → noshowarrived → fulfilledExpected Outcome:
The updated status reflects the current state of the appointment and may trigger other workflows (e.g., billing or documentation).
Slot is still available at the time of booking or rescheduling.booked → arrivedbooked → cancelledbooked → noshowarrived → fulfilledfulfilled → booked) should be rejected.status such as accepted or declined.
participant.status = accepted | declined
Appointment writeback operations can impact linked systems and should support triggering appropriate notifications or events.
status, participant, slot,practioner) must be present.proposed → bookedbooked → arrived → fulfilledbooked → cancelled or booked → noshowAppointment.status must be set to pending.participant.status for both the Location and Practitioner should be set to accepted.start time is later than the end time.
start or end time is missing.
start and end times must be present and valid.start and end times are equal.
Practitioner is not associated with the selected HealthCareService:
Schedule,Patient reference is provided, the appointment must be created in Hub with:
Appointment.status set to cancelledparticipant.status for both Location and Practitioner set to declined