DEV Community

Nitin Doyal
Nitin Doyal

Posted on

Scheduling Phlebotomists, Not Slots: The Hard Part of Pathology Sample Collection Scheduling

The appointment is a window, not a moment

A lab booking looks like a time slot until you try to staff it. The patient is ready at 7:30, the phlebotomist is 20 minutes away, and the fasting panel has to be drawn before 9:00 — so the unit being scheduled is a person moving through a city, not a cursor on a calendar. That is why pathology sample collection scheduling behaves more like route dispatch than like clinic booking, and why most generic booking forms quietly break at the home-collection option.

SWIQ booking flow - book in three taps, real-time slot availability

The rest of this post treats collection as a dispatch problem with three actors — the patient, the phlebotomist and the sample — each with its own state. Setup narrative for the lab side lives at swiq.services; here we look at the flow itself.

Why pathology sample collection scheduling breaks at the phlebotomist

Slot-based systems optimise the wrong variable. They ask "is 8:00 free?" when the real question is "can a qualified person with a kit reach this address, complete the draw, and reach the next one on time?"

Two failure patterns account for most of it. First, phantom capacity: the system shows 12 open morning slots because 12 slots exist on the calendar, while in reality two phlebotomists with 45-minute travel blocks can complete six. Second, flat travel time: a booking engine that assumes every address takes the same ten minutes will pack a route with three stops on opposite sides of town. Model travel as part of the slot — a minimum block per visit, larger for new addresses — and phantom capacity disappears from your day sheet.

Route density and the 45-minute home-visit block

Treat a home visit as a fixed block: travel in, draw, travel out. For most cities, 40 to 60 minutes per stop is a workable planning block for a single phlebotomist; use the lower end only when stops are genuinely within the same neighbourhood cluster.

Then let the scheduler group by geography rather than by clock. Route density is why pathology sample collection scheduling cannot be handed to a generic slot picker. Slots exposed to patients should be the intersection of phlebotomist availability and cluster capacity, so a 9:00 request in one locality does not consume a slot that a 9:00 request three districts away was promised. Batch releases — publish the morning's slots, then refill in waves — keep the route stable instead of re-optimising every time someone books. The wider clinic-side flow this plugs into is described in our clinic booking system post.

Fasting, panel rules and the slot that carries a payload

Every draw arrives with a payload: fasting or not, panel type, age group, and sometimes a repeat test tied to an earlier result. These are not notes for the phlebotomist — they are constraints on the slot.

Attach the payload at booking time — this is where pathology sample collection scheduling stops being a time picker and starts being a rules engine. A fasting lipid panel should only offer early slots with a hard cutoff; a routine CBC can take any window; a paediatric draw may need a longer block. If the constraint is discovered when the person arrives, you get one of two bad outcomes: the sample is drawn wrongly and repeated, or the visit is turned away and the booking record silently marked complete. Either way your completion numbers look healthy while your operational ones are not.

Carry the payload through to the handover as well: which tubes, which order of draw, and where the sample goes next.

Sample states: collected, in transit, received, rejected

The patient's booking ends at the draw; the lab's problem starts there. Track the sample as its own object with four states — collected, in_transit, received, rejected — so a rejection can be traced back to a person, a route and a time.

This is where pathology sample collection scheduling and chain of custody meet. A rejected sample that carries only a barcode tells you nothing actionable; one that carries phlebotomist, route, collection time and transit duration tells you whether the problem is a delayed pickup, a missing tube, or a label printed at the wrong address. Close the loop with a redraw booking generated automatically rather than a phone call the patient may never make. Our note on reducing clinic wait times covers the same idea from the patient's side.

Waitlists and the morning refill

Home collections are full of soft cancellations: someone eats breakfast, someone is travelling, someone reschedules at 7:00 am for a 7:30 slot. Those gaps are the cheapest capacity you will ever get back.

Keep a waitlist keyed on locality and window rather than on exact time. When a slot frees up, offer it to the first matching entry with a reply-to-confirm message; if nobody bites within a short window, return it to open inventory instead of holding it for a promise that will not land. Run the same routine in reverse for unfilled evening slots — an hour before close, an unfilled slot costs exactly the revenue it represented. The refill logic is the cheapest capacity in pathology sample collection scheduling. Waitlist mechanics for that routine are covered in our note on reducing clinic wait times — not lab specifics, but the shape is identical.

About SWIQ

SWIQ is built in Jodhpur, India, for clinics and labs that take appointments and walk-ins on the same day. It gives you an online booking page, service and staff calendars, tokens for the walk-in queue, WhatsApp confirmations and reminders, a waitlist, UPI payment links, displays and basic analytics — enough to run slots, routes and redraws without a separate dispatch tool. Plans start at ₹777 per month (₹1,777 and ₹2,499 tiers above), the first 300 bookings are free, setup takes 2 minutes with no card, and there is a 14-day free trial. More at swiq.services and the landing page; WhatsApp +91 79002 60076.

SWIQ - your queue is calling. Set up in 2 minutes, first 300 bookings free

Top comments (0)