Skip to content

Tricorder

Our agentic model searches Head CT scans as they are scanned and applies a pre-trained model to detect potentially deadly brain bleeds and flags them as positive, moving them up the list to be read first by the radiologi

Core trick

Runs a detector panel on every incoming head CT and only moves flagged studies earlier in the radiologist's worklist, never removing any.

Tags

Description

Our agentic model searches Head CT scans as they are scanned and applies a pre-trained model to detect potentially deadly brain bleeds and flags them as positive, moving them up the list to be read first by the radiologist while simultaneously sending alert messages to all involved parties (ER doctor, radiologist). It solves the critical problem of missed and delayed diagnosis of brain bleeds, which can results in catastrophic results for patients and multiple tens of millions of legal damages
SashaSkind/TricoderMax★ 00 forksHTMLNOASSERTIONCreated Jul 18, 2026 · last push Aug 7, 2026

README excerpt

# Tricorder — head-CT critical-finding triage prototype

> ⚠️ **RESEARCH PROTOTYPE — NON-DIAGNOSTIC.** This system **prioritizes** head-CT
> studies for radiologist attention. It does **not** diagnose and **never**
> removes a study from the reading queue — it can only move a study *earlier*.

Runs a panel of detectors on every non-contrast head CT, uses Claude *downstream*
of the detectors to reconcile their output with clinical context, and either
pages immediately or reorders the reading worklist. Every study is still read by
a radiologist.

## Load-bearing invariants

1. No study ever leaves the queue — the system may only move it earlier.
2. No LLM gating on pixels — Claude runs strictly downstream of the detector panel.
3. The panel runs unconditionally on every applicable study.
4. Ambiguous study type → run the superset of panels (waste compute, never skip).
5. Every numeric output carries provenance (module, eval dataset, threshold).
6. A prominent non-diagnostic banner appears in any UI.

## Data (non-commercial — see `LICENSE_NOTICE.md`)

- **RSNA 2019 ICH** — ~25k studies, slice-level labels for 5 ICH subtypes. Train/dev.
- **CQ500** — 491 studies, ICH + midline shift + mass effect + calvarial fracture. Eval.

Never commit imaging data or pixel artifacts. `data/` and `artifacts/` are gitignored.
Report the **external** (CQ500) metric everywhere; never the internal one alone.

## Quick start

```bash
uv sync                                          # core deps
uv r

Team