Quail — Reading 24,000 hospital complaints a year so staff don’t have to
- Industry:
- Healthcare
- Role:
- Design & build, end to end
- Team:
- 3
The problem
A single NHS trust receives around 24,000 complaints, enquiries, and incident reports a year. Each one arrived as a PDF, a scanned letter, or an email — and a staff member had to read it, work out what happened, classify how serious it was, and re-type everything into a case management system. Across a trust, that’s roughly 3,750 hours a year of skilled people doing data entry. Worse: patterns pointing at genuine safety risks sat unnoticed inside unread documents.
What I built
A pipeline that does the reading. A staff member uploads the document; the system extracts the text (including from scans), pulls out who was involved, what the complaint is about, which department it concerns, and how serious the harm is — then pre-fills the case form. The staff member’s job changes from “read, interpret, and re-type everything” to “check the form and press confirm.”
I owned this end to end: designed the user experience in Figma, built the extraction pipeline, and built the data layer that turns processed cases into analytics for clinical governance teams.
What changed
- Manual review measured in thousands of hours reduced to minutes per case
- Consistent classification instead of judgment varying person to person
- Safety signals surface in dashboards instead of hiding in unread PDFs
Under the hood
Palantir Foundry with a 12-block AIP Logic pipeline: OCR detection, text extraction, LLM extraction blocks (personal details, complaint themes, harm-level classification across 5 categories, clinician and service-unit identification), automated summaries, and a configurable reference-number system supporting migration from legacy tools like Datix. PySpark transformations build the analytics layer. Team of 3.