About ClinicalBrief

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.

The problem

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.

How it works

From import to a reviewed record.

  1. 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.

  2. 02

    Extraction

    A rule-based pipeline finds conditions, medications and allergies in notes, handles negation and family history, and copies an extractive summary.

  3. 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.

  4. 04

    ICD-10 suggestions

    Exact matches against a small dictionary are suggested for review. Anything else stays unmapped; no default code is guessed.

  5. 05

    Use the record

    Search every note and the structured record, ask the Copilot grounded questions, or export a FHIR R4 bundle.

Architecture

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.

Principles

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.

Tech stack

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
Who built it

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.

See what it does, and what comes next.