Inspiration

NHS GP front desks face a daily crisis: too many calls, not enough staff, and urgent patients lost in the queue. We wanted to help reception teams without creating new clinical risks.

What we built

HOS is an AI front desk for NHS primary care. It handles multiple patient phone calls at once — transcribing in real time, capturing patient details, and sorting by urgency.

The rule that defines everything: the AI never books an appointment and never decides a patient is safe to wait. Three outcomes only — escalate to 999/111, capture an admin request, or capture an appointment request for a human to approve.

Front Desk — a live switchboard. Staff see the transcript and captured data. Emergencies are pinned and routed to 999 instantly. Routine calls queue for human sign-off before anything is booked.

GP Workspace — triage flows straight through to the patient record. AI scribe drafts the encounter; clinician approves.

Backend — a fail-closed LangGraph disposition engine. Any error, low-confidence transcript, or uncertain call defaults to escalate. Booking only happens behind a separate clinician API with RBAC and MFA.

How we built it

React + Tailwind frontend deployed on Vercel. Python backend with LangGraph, Vosk (offline STT), Piper TTS, LiveKit Agents, PostgreSQL with encrypted columns and an append-only audit log, NHS Booking & Referral FHIR API. Built with Claude Code.

Challenges

The hardest part was the safety inversion. We removed auto-booking on "low-risk" calls because keyword matching cannot safely clear a patient — atypical presentations and speech-recognition errors are exactly when false negatives cause harm. We also mapped the real governance path (medical device classification, DCB0129/0160) so the prototype is honest about what deployment would actually require.

What we learned

Safety in healthcare AI is architectural, not cosmetic. Human-in-the-loop has to be enforced in code and tested — not just stated in a README.

Built With

Share this project:

Updates