A dental group: thirty hours a week returned to the chair
A six-practice dental group in the Home Counties was running appointments across four separate tabs in two browsers. The receptionists had grown so adept at the choreography that no one had noticed th
The reading
Six practices, three principal dentists, two hygienists per site, and a receptionist pool of eleven. The group booked NHS appointments through one portal, private appointments through another, hygienist slots through a third, and emergency triage through a fourth. Each had its own login timings, its own colour conventions, its own idea of what a cancellation meant.
When we arrived, the morning briefing at the Guildford site took forty minutes. A senior receptionist, with twelve years' service, was treated by the group as the final authority on where any patient actually was in the schedule. When she was on leave, the briefing took an hour and ten.
The practice manager had already accepted that this was simply how dental groups ran. We disagreed, politely.
Four tabs, one patient
The real problem was not the four systems. The real problem was that the patient existed four times, with four slightly different spellings of their surname and four slightly different mobile numbers. A reminder sent from one tab did not know that a reminder had been sent from another. Double-booking was rare but recoveries were constant.
The receptionists had developed a shadow process in a shared spreadsheet to reconcile the four. That spreadsheet had become the real system. It was unversioned, unbacked, and lived on a desktop in Reading.
- Four appointment sources, no shared patient identifier
- Reminder SMS sent two or three times for the same visit
- Cancellations recorded in one tab but not the others
- The reconciliation spreadsheet opened an average of 112 times a day
- No audit trail of who changed what, or when
What we built
We wrote an intake layer that sat above the four existing systems rather than replacing any of them. Each morning, a scheduled job pulled the day's appointments from all four sources, matched patients using a fuzzy identifier on NHS number, date of birth, and mobile, and produced a single consolidated view the receptionists could work from.
Writes went back to the source of record, so the NHS portal remained the NHS portal and the private system remained the private system. We added a thin reconciliation queue for the cases the matcher was less than 95% confident about; a receptionist resolved these in roughly fifteen seconds each. The reconciliation spreadsheet was deprecated in week three.
We chose a boring stack deliberately: a Postgres database, a nightly reconciliation job, and a web view that worked on the existing reception iPads. The one-week training test passed on day four.
The numbers at ninety days
| What | Before | After |
|---|---|---|
| Morning briefing length | 40 min | 8 min |
| Reminder SMS sent per patient per visit | 2.3 | 1.0 |
| Double-booked slots per week | 11 | 1 |
| Receptionist hours spent reconciling | 34/week | 4/week |
| Patient complaints about appointment confusion | 18/month | 2/month |
The chair, not the desk
Thirty hours a week does not sound dramatic until one realises it is the equivalent of a part-time receptionist being returned, every week, to actually greeting patients. The principal in Guildford put it more directly: the chairs were busier because the desk was quieter.
We did not replace the four systems. We built the system that should have existed above them. That is almost always the right order of operations.
