Skip to main content

Calendar Management

Calendar is where all appointments and actions are created, assigned and scheduled.

Availability is also managed here, this is an assignment of a practitioner's schedule for appointment booking.

Calendar in Merlin?

Calendar is referred to as 'Diary' in Merlin, however not all elements of Merlin's diary are found in this domain, such as practitioners which are found under the contact management domain.

Relationships

The calendar domain has several entities, prominently being appointments which are referenced to in clinical work.

Appointments when being made use the whole availability slot(s), however there are no direct identifiers for slots or association between availability and appointments. Availability is used as a business rule to assign and align schedules.

  1. An appointment being created or updated, must use the entire availability slot (or multiple slots).
  2. Appointment using more than 1 availability slot, must be sequential in time.
  3. An appointment cannot be assigned more than 1 practitioner, therefore multiple availability slots must be sequencial for the same practitioner.

Calendar Schema

Please take note of the following points for this schema:

  1. Appointment Start + End Date must be within the same day.
  2. Appointment Reason Text supplied overwrites the reason-uuid selected.
  3. Contact Practitioner is the availability practitioner the appointment is booked under.
  4. Assigned Practitioner is the practitioner that has been assigned the work without moving the appointment. This overrides Contact Practitioner for the UI.
  5. Appointment Online Booking field helps identify to a user that the appointment was booked via a self-serve portal.

Cross Domain UUID References

ReferenceDomainResourceNote
account-uuidaccount-management/accountsIdentifies which account the appointment was booked for.
account-contact-uuidcontact-management/contactsIdentifies the Contact who will be attending the appointment, e.g. Pet Owner. This specificially needs to be a contact associated with the account.
patient-uuidpatient-management/patientsIdentifies the specific patient this appointment is for under the account.
location-uuidlocation-management/locationsIdentifies the pratice location the appointment will be located/arranged under.
contact-practioner-uuidcontact-management/contacts, /practitionersIdentifies the Practitioner for the appointment (2 entities of practitioner-uuid on the same object therefore practitioner-uuid is prefixed.)
assigned-practitioner-uuidcontact-management//contacts, /practitionersIdentifies the Practitioner the appointment has been assigned to (practitioner-uuid with prefix)
practioner-uuidcontact-management/contacts, /practitionersIdentifies the Practitioner (no prefix)

Security Scopes

The following authorisation scopes are required to access different resources within this domain:

  • calendar:appointment:read
  • calendar:appointment:create
  • calendar:appointment:update
  • calendar:appointment:remove
  • calendar:availability:read
  • calendar:availability:create
  • calendar:availability:update
  • calendar:availability:remove