Intake Intelligence, AI-Native Patient Intake Automation
AI-native patient intake automation for UK aesthetic and dental clinics. Ingests any form (scanned paper, PDF, photo, typed response), parses it via Google Document AI, reasons over contraindications via Claude Sonnet 4.6 in Zero Data Retention mode, and autonomously writes to Pabau or Cliniko EMR. High-risk cases route to a practitioner review queue. Reduces data entry from 15 minutes to under 3 seconds.
TL;DR
AI-native patient intake automation for UK aesthetic and dental clinics. Ingests any form format (scanned paper, PDF, photo, typed response), parses it via Google Document AI in EU region, reasons over contraindications and compliance rules via Claude Sonnet 4.6 in Zero Data Retention mode, and autonomously writes to Pabau or Cliniko EMR. High-risk and low-confidence cases route to a practitioner review queue. Reduces data entry from 15 minutes per patient to under 3 seconds.
The Problem
UK aesthetic and dental clinics face a recurring operational bottleneck:
- 15+ minutes per patient on manual data entry from paper, PDF, photo, or typed intake forms into EMR or PMS systems.
- Existing OCR tools require human review on every field, which only saves a fraction of the time.
- Generative AI alone cannot be trusted on contraindications. Allergies, medications, and pre-existing conditions are life-safety data.
- UK GDPR compliance is non-negotiable. Data residency, retention, audit trail, multi-tenant isolation. Any breach kills the clinic.
What was needed: a pipeline that automates the safe cases end-to-end and routes the risky ones to a human, with audit-grade compliance baked in from day one.
Outcome
The pipeline never fails silently. Every exception routes to the practitioner review queue with the suggested AI action attached. Multi-tenant isolation is enforced via Supabase Row-Level Security per clinic_id. Files are deleted from storage immediately after a confirmed EMR write, satisfying GDPR data-minimisation.
Tech Stack
| Component | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 14.2 (App Router) + Tailwind (Vercel) | Upload, processing animation, result view, review dashboard |
| Backend | FastAPI + Pydantic v2 + Uvicorn (Railway) | Async pipeline orchestrator |
| Database | Supabase Postgres + RLS (EU region) | Clinics, intake_jobs, human_review_queue, audit_events |
| Job Queue | Upstash Redis | Async dispatch, rate limiting, retries |
| OCR / Parsing | Google Document AI Form Parser (EU) | Structured key-value extraction from any form format |
| Reasoning | Claude Sonnet 4.6 (Zero Data Retention) | Contraindication analysis, confidence scoring, action plan |
| EMR Integration | Pabau REST API (primary), Cliniko (Phase 2) | Patient record create / update with full audit |
| Resend | Transactional alerts and review notifications |
Key Functionality
- Drag-and-drop upload for PDF, JPG, PNG, HEIC, TIFF up to 20MB per form.
- 5-stage processing pipeline: queued → parsing → reasoning → acting → complete (or review_required for risky cases).
- AI action plan output: extracted fields, contraindication flags, confidence score, EMR record ID, recommended next step.
- Practitioner review queue with approve / amend / reject actions on every flagged case.
- Demo mode (
PABAU_MOCK=true) where the full AI pipeline runs with real API calls, but the final Pabau write is simulated with a syntheticPAB-DEMO-XXXXXXXXrecord ID for prospect demos. - Daily processing cap in demo mode prevents API cost abuse.
- Immutable audit_events table logs every pipeline step with timestamp for compliance.
- NXA Health design system (forest green, ivory, gold) with luxury clinic aesthetic, Cormorant Garamond + DM Sans typography.
UK GDPR Compliance Design
| Requirement | Implementation |
|---|---|
| EU data residency | Supabase EU region + Google Document AI EU processor (GCP_LOCATION=eu) |
| Zero Data Retention | Claude called in ZDR mode, Anthropic retains no input or output |
| Data minimisation | Form files deleted from storage immediately after confirmed EMR write |
| Audit trail | Immutable audit_events table, every pipeline action logged with timestamp |
| No silent failures | Every exception routes to human review queue, no data lost silently |
| Multi-tenant isolation | Supabase Row-Level Security per clinic_id, zero cross-tenant access |
Hero, processing workflow, key differentiators, available EMR / PMS integrations
Walkthrough, paper form upload to live Pabau patient record in under 10 seconds
Building something similar?
If a multi-agent pipeline, voice AI deployment, or production automation system is on your roadmap, let's talk through how this applies to your context.