Argo-Scheduling Implementation Guide Release 1.0.0

This page is part of the Argonaut Scheduling Implementation Guide (v1.0.0: Release) based on FHIR R3. This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Appointment State Diagram

Introduction

It is important to understand the state transitions during the scheduling process and the typical flow of statuses for an Appointment and associated Slot resources. This State Diagram should be referenced to when considering the statuses of the scheduling resources.

Appointment State Diagram based on the Appointment.status codes.
appt-state.png

Typical booking including the Slot resource from context of the scheduling service. (modified from the Appointment resource notes)

Step Activity Description (Role: Scheduler) Slot Appointment
1 The schedule is created/published status = free  
2 An appointment availability request is processed to locate available slots for all participants status = free  
3 An appointment availability request is processed and available appointments created   status = proposed, participant.status = needs-action
4 Optional: The hold request for an available appointment is processed and the slot status updated for all participants status = busy  
5 Optional: An appointment hold request is processed and the appointment updated.   status = pending, participant.status = tentative
6 The appointment request is processed and the slot status updated for all participants status = busy  
7 Optional: The patient is registered within the system. I.e., create Patient resource for patient and appointment is accepted by patient   patient participant.status = accepted
8 The appointment is confirmed as accepted by all participants status = busy status = booked, participant.status = accepted


Rejection of an appointment request by scheduler beginning from steps 4 or 6.

Step Activity Description (Role: Scheduler) Slot Appointment
4r or 6r The appointment request is processed and unable to update slot status for all participants. (i.e., slot status != free) status varies  
6r The appointment is cancelled. Update participant status status varies status = cancelled, participant.status = declined (may be other statuses too)


Cancellation of an appointment by client following step 8.

Step Activity Description (Role: Scheduler) Slot Appointment
8 The appointment is confirmed as accepted by all participants status = busy status = booked, participant.status = accepted
9c An appointment cancel request is processed. The client cancels the appointment when it is declined by patient   patient participant.status = declined
10c The appointment is cancelled status = free status = cancelled, participant.status = declined


Release of a hold on an appointment by client following step 5.

Step Activity Description (Role: Scheduler) Slot Appointment
5 An appointment hold request is processed and the appointment updated.   status = pending, participant.status = tentative
6c An appointment hold release request is processed. The hold is removed by client before it expires. status = busy patient participant.status = tentative
11c The appointment hold is released status = free status = cancelled, participant.status = tentative