Skip to content
Back to all work
15 minutes to 3 seconds, GDPR-compliant, live Pabau EMR write Built for UK aesthetic and dental clinics

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.

Next.js 14.2 (App Router) FastAPI + Pydantic v2 Supabase (PostgreSQL + RLS, EU) Upstash Redis (Job Queue) Google Document AI (Form Parser, EU) Anthropic Claude Sonnet 4.6 (Zero Data Retention) Pabau REST API (EMR Integration) Railway + Vercel
Published May 2026 Live demo Private repository, GDPR design notes available on request

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:

  1. 15+ minutes per patient on manual data entry from paper, PDF, photo, or typed intake forms into EMR or PMS systems.
  2. Existing OCR tools require human review on every field, which only saves a fraction of the time.
  3. Generative AI alone cannot be trusted on contraindications. Allergies, medications, and pre-existing conditions are life-safety data.
  4. 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

15 min → 3 sec
Patient intake time per form, validated end-to-end
EU-region
Supabase + Google Document AI EU processor
ZDR mode
Anthropic Claude retains zero input or output
100%
Pipeline steps logged to immutable audit_events table

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

ComponentTechnologyPurpose
FrontendNext.js 14.2 (App Router) + Tailwind (Vercel)Upload, processing animation, result view, review dashboard
BackendFastAPI + Pydantic v2 + Uvicorn (Railway)Async pipeline orchestrator
DatabaseSupabase Postgres + RLS (EU region)Clinics, intake_jobs, human_review_queue, audit_events
Job QueueUpstash RedisAsync dispatch, rate limiting, retries
OCR / ParsingGoogle Document AI Form Parser (EU)Structured key-value extraction from any form format
ReasoningClaude Sonnet 4.6 (Zero Data Retention)Contraindication analysis, confidence scoring, action plan
EMR IntegrationPabau REST API (primary), Cliniko (Phase 2)Patient record create / update with full audit
EmailResendTransactional 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 synthetic PAB-DEMO-XXXXXXXX record 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

RequirementImplementation
EU data residencySupabase EU region + Google Document AI EU processor (GCP_LOCATION=eu)
Zero Data RetentionClaude called in ZDR mode, Anthropic retains no input or output
Data minimisationForm files deleted from storage immediately after confirmed EMR write
Audit trailImmutable audit_events table, every pipeline action logged with timestamp
No silent failuresEvery exception routes to human review queue, no data lost silently
Multi-tenant isolationSupabase Row-Level Security per clinic_id, zero cross-tenant access
clinic-intake-intelligence screenshot 1
clinic-intake-intelligence screenshot 2
clinic-intake-intelligence screenshot 3
clinic-intake-intelligence screenshot 4

Hero, processing workflow, key differentiators, available EMR / PMS integrations

Demo Video, Coming Soon

Walkthrough, paper form upload to live Pabau patient record in under 10 seconds

Estimated length: ~4 minutes

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.