Clinical CockpitPlanning · Documentation · Governed AI
live demo — UZ Gent instance →

Every patient on a list.
Every deadline watched.
Every decision on the record.

Clinical Cockpit runs the operational spine of an endoscopy service: it ingests the hospital's own scheduling feeds, plans every procedure order against its clinical deadline, surfaces the conflicts a spreadsheet hides, and drafts the paperwork — with AI that is filtered, audited and switchable off.

Built in production at a university GI department, by a clinician. Not a product pitch — a working system with 1,100+ tests, deployed on hospital-controlled infrastructure.

Deadline windows
14 / 30 / 90 days · U1 U2 U3
Breach handling
3 named swap options
Languages
NL · EN · FR
Test suite
1,100+ green before every deploy

01 · The planning spine

From scheduling feed to approved list, with nothing lost on the way.

The cockpit does not replace the hospital's scheduling system — it reads it, checks it, and answers the question the feed cannot: will every patient be seen in time, and if not, who decides what gives?

Feed ingest with a memory

Daily endoplanner exports are parsed, reconciled and never blindly trusted: a human-verified booking outranks a feed field that moves, and an order that silently vanishes from the feed is flagged, not forgotten.

Deadlines from clinical urgency

Urgency 1/2/3 map to 14/30/90-day windows from the date the order was placed; surveillance orders carry their target date and are deliberately not pulled forward — an interval means something.

Capacity from reality, not assumption

Bookable minutes come from the actual room lists; who is rostered that day sets the category ceiling — an advanced resection cannot land on a day the operator qualified for it is absent. The roster is the rule.

Breaches block approval

When no slot exists before a deadline, the engine says so and offers up to three swaps — each naming who moves, where they go, and the margin they keep. The physician decides; the audit log remembers.

the screen the demo ends on

Approval → outbound worklist

One gate: nothing is sent to the scheduling team until breaches are resolved. Then confirmations are tracked patient-by-patient until each is booked.

planning · review — live in the demo
Vanhaverbeke, Ludo · Gastro + POEM · cat 1 · U1deadline breach
Vanhoutte, Veerle — Colo + ESDMon → next Mon+58d margin
Vandamme, Marieke — Gastro + ESDMon → next Mon+40d margin
Rombouts, Vic — Gastro + ESDTue → next Mon+61d margin
De Smet, Anna · Colo · cat 2 · U3suggested · in window

Approval stays locked until the breach is resolved — accept the late slot, or execute a swap. Either way it is a human decision with a trace.

02 · The documentation slice

The paperwork drafts itself. The physician stays the author.

Around every procedure sits a stack of writing: the pre-clinic brief, the consultation note, the bilingual patient letter, the endoscopy-list preparation. The cockpit drafts each one from the record — and every draft dies or lives by a signature.

Pre-clinic briefs

Before the patient sits down: one structured card built from the whole record — problem, history, medication signals, comorbidity score — with the source documents one click away.

Consultation → letter

A recorded consultation is merged with the brief into a structured note and a patient letter in English and Dutch, exported as PDF on hospital letterhead. Field-level editing, versioned drafts, explicit sign-off.

Endoscopy-list preparation

Each list entry gets its prep — indication, alerts, anticoagulation, scope choice — assembled from consultations, documents and linked referrals.

Referral intake with a hard rule

Mailed referrals are filed automatically, images and all. The hard rule: no language model ever touches a referral — endoscopy stills carry burned-in patient banners no text filter can scrub. Enforced by a test, not a policy memo.

the PII gate — what a model is allowed to see
The record

Janssens, Marie, °08-03-1974, RRNr 74030812345. Colonoscopy for anaemia work-up; lesion 30 cm, scheduled for ESD.

What leaves — scrubbed

[PATIENT], °[DATE_1], RRNr [RRNR]. Colonoscopy for anaemia work-up; lesion 30 cm, scheduled for ESD.

What returns — restored

Brief for Janssens, Marie: anaemia work-up, 30 cm lesion, ESD planned — identifiers re-matched locally, never by the model.

The filter is pure, dependency-free code that runs before any outbound call — and the gate screen shows the actual payload, not a diagram of it.

03 · Built for a hospital's questions

The answers ICT, the DPO and the directorate will ask for — designed in, not bolted on.

Roles that mean something

Supervisor, fellow, read-only auditor, planner — enforced on every route. Sign-off is a permission, not a habit.

RBAC · per-request

A complete audit log

Every action, every actor, every timestamp — including every AI invocation and what it was allowed to see.

append-only

Clinical text stays verbatim

Procedure names and indications are never machine-translated — in any UI language they render exactly as the source system wrote them. That boundary keeps the tool outside medical-device scope, and a test enforces it.

MDCG 2019-11 positioning

Trilingual, per user

Dutch, English and French interface — each user picks their own; the deployment picks the default.

gettext · 900 strings

Your house style as a layer

Skins are CSS variable sets on the identical codebase — the demo wears UZ Gent blue; one toggle shows the neutral theme.

no forked templates

Runs where you decide

Docker + PostgreSQL on hospital-controlled infrastructure, reachable only over a private network. The AI transport is switchable: subscription CLI, API — or fully offline replay, as this demo proves.

no vendor lock-in

See it run — on fully synthetic data.

The demonstration instance is the identical codebase, seeded with a generated world: ±500 orders, a congress that removes a week of capacity, and one patient whose deadline can only be kept by a swap. It refuses to boot on anything but synthetic rows, and no AI credentials exist on the server. Guided tour included.