As a front-desk coordinator, I want cancelled slots re-filled without me calling anyone, so that check-in never competes with the waitlist.
Primary · coordinatorProduct requirements · Brightloom
Waitlist Auto-fill
01Problem & evidence
When a patient cancels, the slot is only recoverable for a few hours — and recovering it is manual. A front-desk coordinator opens the waitlist, guesses who might come, and starts calling. Most days they never get to it, because the same person is checking patients in.
We instrumented 63 clinics over six months. Cancelled slots that were re-filled were re-filled by a human within 90 minutes, or not at all. The work is not hard; it is simply never the most urgent thing on the desk.
Auto-fill makes recovery the default: the system detects the cancellation, ranks the waitlist, offers the slot, and books whoever accepts first.
02Goals / Non-goals
Goals
- Re-fill at least 6 cancelled slots per clinic per week with zero staff action
- Offer, hold, and confirm without a coordinator ever opening the waitlist
- Respect clinical urgency and provider matching on every offer
- Leave a complete audit trail per slot: who was offered, when, what they replied
Non-goals
- Managing the waitlist itself — clinics keep adding patients in the PMS
- Voice calling; this release is SMS-only
- Multi-slot or recurring-series offers
- Patient-initiated rescheduling (shipping separately as Flow)
- Insurance eligibility checks at offer time
03User stories
As a practice manager, I want to see which slots were recovered and how, so that I can trust the automation before I stop checking it.
Primary · managerAs a waitlisted patient, I want an offer I can accept with one reply, so that I do not have to phone the clinic back.
Primary · patientAs a provider, I want offers restricted to patients I can actually treat, so that auto-fill does not create a visit I have to cancel.
Secondary · provider04Functional requirements
| ID | Requirement | Priority | Acceptance check |
|---|---|---|---|
| FR-1 | Detect a cancellation within 60 seconds of it being written to the PMS | P0 | Median detection latency under 60 s across 1,000 synthetic cancellations |
| FR-2 | Rank the waitlist by urgency tier, then provider match, then travel time, then acceptance history | P0 | Ranking output matches the reference fixture for 20 seeded scenarios |
| FR-3 | Offer expires after 20 minutes, then passes to the next-ranked patient | P0 | Unanswered offer releases the hold at 20:00 ±10 s and re-offers once |
| FR-4 | Hold the slot for the duration of an active offer so it cannot be double-booked | P0 | Concurrent booking attempt on a held slot is rejected with a 409 |
| FR-5 | Write the confirmed booking back to the PMS with the auto-fill source tag | P0 | Booking appears in the PMS within 30 s, tagged src=autofill |
| FR-6 | Honour clinic no-contact hours and per-patient opt-outs | P0 | No SMS sent outside the configured window in a 14-day soak |
| FR-7 | Stop after three consecutive declines on one slot and notify the desk | P1 | Fourth offer is never sent; a desk notification is created |
| FR-8 | Show a per-slot offer trail in the recovery board | P1 | Trail lists every offer with timestamp, patient code, and outcome |
| FR-9 | Let a coordinator pause auto-fill for a day in one click | P2 | Pause suppresses all offers until local midnight and is audit-logged |
05Success metrics
Counter-metric: patient opt-out rate stays under 2%. If offers feel like spam, we have failed regardless of fill rate.
06Open questions
- Does a 20-minute hold need to be configurable per clinic, or is one global value enough for launch?Owner: Mara Chen · needed before FR-3 build
- If two clinics in a group share a waitlisted patient, which clinic gets to offer first?Owner: Dr. Renee Sowande
- Do we re-offer to a patient who ignored a previous offer, or downrank them permanently?Owner: Devon Okafor
- What does the desk see when the PMS write-back fails after the patient has accepted?Owner: Ines Okonkwo · blocks FR-5 acceptance
- Is urgency tier reliable enough in the PMS data, or do we need clinic-set overrides at launch?Owner: Dr. Renee Sowande