Predictable patient flow for high-volume outpatient clinics on Marley, teardown and reality check

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.

1 Like

Thanks for detailing, please checkout this app - this packs a queue management as well. We have deployed it at a few places, I feel it will give you good head start, thank you!

1 Like