A while back, an outpatient clinic asked me to design appointment and queue management for their clinic. They have high daily volume, but only one main practitioner which became a bottleneck. They have good reputation so, patients gets flocked from 6am to get an appointment.
In the existing setup - they note down the patient details in a register, hand over token number slips and ask for patients to wait for their turn. they wanted to change this.
So, I went deep on the designing a patient flow layer that’s loosely-coupled/upgrade-safe on top of Frappe-Marley with intended outcomes of
-
a dedicated receptionist/front-desk screen for patient registration/patient look up
-
doctor sessions - built over Practitioner Schedules.
-
Arrival windows - the backend system automatically allots an arrival window for a patient based on the conditions we set and communicates the same to patient.
-
multiple channels of booking - Phone/Walk-in/Online, with each channel gets protected quotas so that same-day walk-ins still have room that advance bookings can’t swallow.
-
Token as a reference that lives in a session - travels along the the patient’s journey from registration to doctor’s encounter and final exit.
-
A queue system that depends on actual physical arrival of the patient - fee payments - check-ins
It didn’t end up moving forward (budget), but the problem stuck with me, because I think it applies to a lot of clinics running Marley. So I want to share how I approached it, and more importantly, get a reality check from people who actually run these clinics.
I also deliberately kept some things out of the general version. No clinical-scoring black box (that was specific to the original clinic’s specialty and carries real liability), and nothing that makes the token the source of truth. I wanted a flow layer you can actually explain to the front desk, not a clever one that falls over the first time reality gets messy.
What I genuinely don’t know, and what I’d value input on from anyone running or implementing Marley for outpatient clinics:
-
Is waiting-room crowding and all-day waiting actually a real daily cost for you, or have you already solved it with the stock Patient Appointment flow, a custom Client Script, or just front-desk discipline?
-
How do you currently handle walk-in versus advance-booking contention? Custom fields on Patient Appointment, a separate DocType, something else?
-
Does the “arrival window” idea hold up in practice? Do patients respect a window, or just show up whenever regardless?
I’m exploring building this out as a flow layer on top of Marley, but honestly I want to know whether the pain is real and worth solving before I take it further. If you’ve wrestled with this, I’d really value hearing how it plays out in your clinic. Happy to share more of the design thinking too.