Auto-marking of appointments as checked-in

Hi, The registration team at an implementation has recently started using appointment scheduling part of bahmni 0.90. However they are finding the marking of check-in of appointments redundant and additional work over and above opening of visit. There are right now giving the appointments but not marking as checked-in. So it would serve the purpose of knowing the OPD load, proactive followup but it isn’t helping in identifying defaulters and following up with them. To do analysis of the kind, say how many people usually turn up,etc i can probably setup a custom sql report.

There are configs in product to auto-mark the appointments as complete and missed but they are based on check-in. Is there a feature or plan to have a feature in product to auto-checkin appointment, say on opening a visit or vice-versa? cc: @angshuonline @sruti @shruthipitta

How are other implementations dealing with it? Are there any impl-specific solutions done for this? cc : @pramidat @pkanchankar

Hi @arjun,

The problem is quite understandable. In fact, one of the things we wanted to do was to integrate Appointment scheduling app with the Registration and Clinical App. The idea was to make this a seamless experience for a registration clerk or a doctor to check-in/book/ complete appointments without moving across apps. We had to unfortunately scope those out for the MVP :frowning_face: You can find some of our initial thoughts on this here. Also in the current model, we haven’t tied visits to appointments. So it will require some effort to do that.

It will be good to hear from the other implementations too. If this is a need from many, we should consider this to be one of items to prioritised for the next release.

Meanwhile is it possible for the users to keep the registration and Appointments app open in two different tabs to accomplish this. (you would have probably already told them this!) . It will be difficult to do any analysis if the appointments are not even marked as checked-in, in the current set up.

1 Like

I can imagine some simplistic server-side code that, whenever a visit/encounter is saved for a patient during the time window of their scheduled appointment (+/- some grace period), automatically marks the appointment as checked-in.

Would this be a good enough hack to experiment with at this implementation?

Yes, i think that should suffice. I would imagine a very similar scheduled task like it’s already there for marking appointments complete and missed. https://github.com/Bahmni/openmrs-module-appointments/blob/master/api/src/main/java/org/openmrs/module/appointments/scheduler/tasks/MarkAppointmentAsCompleteTask.java I guess, if i have to add it separately as a hack, i will have to add a new omod?

Hmmm, this will work for a simplistic flow - like load management purpose in JSS.

We thought about prompting the registration person with appropriate appointments checkin - sruti’s link has the scenario described.

  1. If the patient has 2 appointments scheduled for 2 services - doctor & physiotherapy. It is wrong to say that the patient is checking in for both.
  2. If a hospital wants to do any sort of time based analysis, say for wait time analysis. (thats why the state - scheduled, checkedin etc)

A scheduled job mentioned above will work if you are not looking into such aspects.

It’s simplistic, but I imagine it’s a somewhat common flow, and it would be nice to have it in a common place.

I propose that we build this scheduled task into the appointment module itself, but that it’s disabled by default.

I agree. Even JSS asked if its not possible to have the UI screen based integration, providing user the control. but since building a scheduled job was easier to do and there was no clear scenario identified yet in their setting where it won’t work, i went ahead with that approach. This can be considered as a stop gap solution which could increase the usage of appointments and then a advanced need for more user controlled checkin could arise. Btw, this automatic checkin functionality is not for load management but for identifying people not turning up for a particular clinic like TB where followups are very important, so a counsellor can give a call to those who have not turned up.

I agree with this as well. I have created this scheduled task and deployed to production just last week. My plan was to wait for a couple of more weeks to see if any new scenarios come up and post that take a call to check if i can raise a pull request to merge it with the appointment omod , so others having similar requirement could benefit.

Hi @arjun,

Did you manage to have a solution/workaround to this scenario. We have a requirement of a similar nature where the client wants to start a visit automatically on appointment check in .

Would the scheduler solution work for you? If yes, you can just write a scheduler task in appointment module.