Appointment Scheduling in Bahmni

We are building an Appointment scheduling Module in Bahmni. The module will help users to create and manage appointments of patients against various services. It will be available with release 0.90. Here is a detailed explanation of the features along with the mock ups. Feel free to comment on the doc or post any suggestions/questions/clarifications.


This is the database model we are considering:

1 Like


Have you considered into this model to include a SMS capability to send patient reminders?

In the meantime, and for those using version 0.88, any suggestion and how to manage the “next visit date” and reports related? At least this concept would help scheduling future patient visits and follow up. I envision having at least the following

  • Next visit date
  • Provider preferred
  • Rason of visit (or service)

Thanks very much for sharing the data model for the new appointment scheduling module that you’re considering for Bahmni it looks quite good. I’m Just wondering if you had done any business analysis work with regarding to “as is” and “to be” processes regarding how scheduling is actually done in an acute hospital? Or if there was any business analysis work that he had done? I spent quite a bit of time doing some business analysis on our scheduling process within our Australian hospitals that I’d be more than willing to share?

@oliebolz Bahmni team has done decent analysis here. Though it doesn’t have AS-IS and To-Be processes, it will be great help, if you can review this document and provide your inputs. As more comments come in, the Appointments Scheduling module will become more generic. The dev team and community will add features beyond the MVP that is proposed.

I just had a quick skim read of the documentation and it certainly is quite comprehensive. I’ll spend some time reading it more in depth and come back to you with some feedback.

I am hoping the ER diagram is self explanatory. There are a few things that we would like to point out and seek your inputs

  1. appointment_service_weekly_availability” is a template instead of “work schedule”. thats why the patient_appointment does not have a reference to it. This means, when the “appointments” are displayed, they are layered over the service availability definition.
  2. Speciality” is mostly for reporting and views . This is non-mandatory for an “appointment_service” definition, but the views will change if the speciality is defined/configured.
  3. patient_appointment” record can go through multiple edits and edits do not void earlier record. The history of changes are kept in the “patient_appointment_audit” table.
  4. patient_appointment.status” will have one of fixed enumerated values - “scheduled, checkedin, started, completed, cancelled, missed, rescheduled”. Note, “started” status is for wait-time analysis, and right now we do not have plans to introduce any screens or “interactions” that will set to this state.
  5. patient_appointment.appointment_kind” - enumerated values. “scheduled, walkin”.
  6. 'appointment_service_weekly_availability.day_of_week" - for the weekly availability (template), the day of the week. We are just thinking of storing "monday, tuesday … " etc. Week starts in different dates in different countries. We wouldn’t want to equate to numbers and transpose. thats the reasoning for "Monday. tuesday … ".
  7. appointment_service_type” definition is optional too. This is supposed to capture subtypes of “appointment_service”. for example: surgery => consultation, minor procedure, followup etc.
  8. Providers for appointment - we wouldn’t want to restrict to a single provider for an appointment. e.g. investigations, procedures, counselling etc might require multiple providers. Although the data model supports that, we are not targeting to develop so in the UI at the first cut. So from the UI, you will be able to associate only 1 provider to start with.
1 Like

Hi @sruti Is it possible to deploy appointment scheduling module on the demo as work in progress? It will be helpful to run it through the registration teams who usually do this work and get their feedback.

Please mention the date by when Appointment Schedule feature will be released. As per release notes it was expected to be released around third week of September.

Hi @sushilp. We will try and deploy appointment scheduling in one of the demo or UAT environments before the 0.90 release. We should be updating the details on this thread once we do that. Thanks

Hi @ankur. Thanks for pointing that out. We have updated the wiki page.

Our release is delayed. We are looking at end of October tentatively, for 0.90. Appointment scheduling will be a part of that.

2 posts were split to a new topic: Can I automatically schedule an appointment based on observation forms?