Clinical notes, turned into a record people can check.
ClinicalBrief is a research prototype that reads clinical notes, suggests what they contain, and keeps a person in charge of what counts as fact. It runs on synthetic data only.
Notes hold the detail, but they are hard to use.
Hard to search
Diagnoses, medications and allergies are buried in free text spread across many encounters.
Hard to check
Anything pulled out of a note, by a person or a model, needs to point back to the sentence it came from.
Hard to share
Other systems expect structured, standard data such as FHIR, not paragraphs.
From import to a reviewed record.
- 01
Import
Synthea FHIR R4 records are validated record by record and mapped into one canonical model with provenance. Invalid records are logged, not dropped silently.
- 02
Extraction
A rule-based pipeline finds conditions, medications and allergies in notes, handles negation and family history, and copies an extractive summary.
- 03
Human review
Every AI finding waits in a review queue with its evidence sentence. A person approves, rejects or edits it; each decision is audited.
- 04
ICD-10 suggestions
Exact matches against a small dictionary are suggested for review. Anything else stays unmapped; no default code is guessed.
- 05
Use the record
Search every note and the structured record, ask the Copilot grounded questions, or export a FHIR R4 bundle.
Three tiers, one local model.
The browser never reads clinical tables directly: it calls the FastAPI backend with a Supabase token, and the API checks the role and the patient on every request. Postgres row-level security mirrors those rules, so clinical tables stay read-only to clients. The Copilot talks to an Ollama model on the same machine; cloud models are refused.
What the project will not compromise on.
Honesty over polish
Each feature is labelled Implemented, Prototype or Not built. No accuracy figure is shown until one is measured on a labelled set.
Human review first
AI output is never treated as fact until a person approves or edits it. The graph, FHIR export, Copilot structured answers and risk score use reviewed findings only.
Data stays on the machine
The Copilot only accepts a locally run model on a loopback address. Patient data is never sent to a cloud AI model.
Audited
Review decisions, exports, and reads of clinical data (records, note text, AI output, Copilot questions) are logged: who and which record, never the content.
Built with.
- Frontend
- Next.js 16, React, TypeScript, Tailwind CSS, GSAP
- Backend
- FastAPI, Python 3.12
- Database
- PostgreSQL on Supabase with row-level security; SQLite for local development
- Auth
- Supabase Auth, tokens verified by the backend
- AI
- Ollama with qwen3.5 (local); rule-based extraction pipeline
- Data
- Synthea synthetic patients, FHIR R4
Built as a portfolio project by Krishi Chheda, an AI student in Australia.
Get in touch through the contact page, on LinkedIn or on GitHub.
Not a medical device and not for patient care. No clinical validation, accuracy evaluation or regulatory compliance is claimed.