04 · Work — 01
Waiting-room screens for 400+ clinics
Calling the next patient meant a nurse leaving the consulting room to say the name across the waiting area. Clinics with a ticket display had the number and nothing else, and notices still went up on paper.
- Clinics running it every day
- 400+
- Kinds of floor hardware on one live connection
- 3
- Trigger releases both apps to every site
- 1
Flutter · Melos monorepo · Fastify · React admin · PostgreSQL · Redis · WebSocket · Hive offline cache · HIS integration · GCP Cloud Run · CI/CD
The problem in the room
Calling the next patient meant a nurse leaving the consulting room, saying the name across the waiting area, and confirming the patient was still there.
Clinics with a ticket display had solved the display and nothing beyond it. Patients could not judge how long was left and could not leave the room. Notices went up on paper and were reprinted on every change.
What we did
The number source is the clinic's choice. Clinics running a third-party HIS are integrated directly, so the board and the HIS back office show the same number. Clinics without one call from our admin, and the calling unit ships with it.
The dispenser, the wall screen and the ticker hold one live connection, so a single push from the admin updates all three. A dropped connection reconnects and resyncs on its own.
Health videos play alongside the queue, so the wait has something in it.
Notices are scheduled from the admin. Content is edited once and replaces what is on screen, with nothing printed.
The current number is published online, so patients can leave the waiting room and return as their turn approaches.
Releases go out from a single trigger with version checks and forced updates, covering all four hundred sites at once.
The other half, behind the wall
Everything on the screens comes from the admin, so the two were designed together.
The admin is a separate service handling video and notice scheduling and the hardware roster for each site. Changes reach the floor over the same live connection.
Devices sign in by scanning a QR code with a phone to exchange a token, which keeps remote-control text entry off the television.
Permissions are split across store, head office and operations roles, and every change leaves an audit record. The service runs containerised on Cloud Run, with Sentry monitoring errors and performance.
What it does now
It runs in over four hundred clinics every working day. Nurses no longer call names in the waiting room, and a notice changed in the admin takes effect on the floor.