OPD Token Queue¶
A live token queue for the outpatient department: issue a numbered token to each patient at registration, call them in order, and show the current state on a waiting-room display.
Staff console¶
Medical → OPD Queue (/medical/opd-queue).
- Issue token — pick the patient, optionally the provider (doctor) and a counter / room.
A gapless daily token is allocated, e.g.
OPD-20260702-007. Numbers reset each day. - Call next waiting — moves the oldest waiting patient to Called (optionally at a counter).
- Per-token actions as the patient progresses:
- Start consultation (Called → Serving)
- Complete (→ Completed)
- Skip (→ Skipped) — e.g. absent when called
- Return to queue — puts a called/skipped token back to Waiting
The queue table shows every token issued today with its status and how long each has waited.
Waiting-room board¶
Open waiting-room board (top-right) opens /medical/opd-board — a full-screen, login-less
display for a TV in the waiting area. It shows the tokens now being called / in consultation and
the list still waiting, and refreshes automatically every few seconds. When a new token is
called, the board plays a short chime so waiting patients look up. (Browsers block sound until
the page is touched once — click/tap the board screen once after opening it to enable audio.)
No patient information on the public board
The board and its public feed (/api/public/opd-board) expose only the token number,
provider, counter and status — never patient names or any identifying data. The feed
is CORS-open so a hospital can also surface it on its own website.
Notes¶
- Tokens are tenant-scoped and reset daily; a rolled-back registration leaves a gap rather than reusing a number.
- The OPD patients waiting count is published as a dashboard metric/card on the medical board.