Appointment Request

Appointment Request is a new feature added as part of the 0.93 release of Bahmni. This comes along with the new appointment scheduling module.

About the feature

This feature enables users to request appointments for providers. Before this feature, all the appointments which are created as Scheduled appointment. Once this feature is enabled the appointments will go as Requested appointment. The appointment moves to the Scheduled state when at least one provider accepts the appointment invite.

Enabling the feature

To enable this feature we need to set the below toggle to true in app.json.

"enableAppointmentRequests": true

Creating service for a requested appointment:

We can choose for which services the appointments should go as requested appointments and for which services these should still go as scheduled appointments. To change a service to be able to have Requested Appointments, we need to set the Initial Appointment Status as Requested for that service.

Define a service with Requested Initial Appointment Status:


Accepting an appointment invite:

If a provider is selected for a requested appointment, that provider will be able to accept the appointment invite.

Accept button(leftmost) to accept the invite from the calendar view:

Accept button(3rd button) to accept the invite from the listview:


Deciding the status of Appointment and Provider Response:

In the default implementation, when we save an appointment for a requested appointment the status and provider responses are decided as below:

  • If the appointment has no providers, the Appointment Status will be Scheduled.

  • If the appointment has one or more providers, the Appointment Status will be Requested. Every provider will get an option to accept the appointment invite(i.e. Provider Response => AWAITING).

  • If the appointment creator is part of the appointment, the Appointment Status will be Scheduled. Every provider other than the creator will get an option to accept the appointment invite.

  • If the appointment is rescheduled(change in time), all the providers have to again accept the invite.

To change the above behavior we have provided a javascript hook, which gets invoked on click of save of appointment. To change this behavior we can edit the /var/www/bahmniapps/appointments/appointmentStatusHandler.js and provide a different implementation of getUpdatedStatusAndProviderResponse function.


Appointment Request Demo:

Here is a link for the demo for the Appointment Request.

The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)