Clinical Triage Assistant

A triage support tool that ranks incoming cases by urgency and, crucially, abstains when it is not confident enough to be useful.

Client
Placeholder client
My role
Lead ML Engineer
Year
2026
Category
AI Solutions
  • Python
  • PyTorch
  • FastAPI
  • PostgreSQL
  • Docker

The brief was a ranking model. The useful product turned out to be the abstention mechanism around it.

Ranking cases by urgency is straightforward once the label definition is agreed. The hard part was deciding when the model should say nothing at all, because a confidently wrong triage decision is far more expensive than no decision.

Approach

A calibrated classifier with a temperature-scaled output, paired with a threshold tuned against the cost asymmetry the clinical team gave us rather than against F1.

Result

Reviewers see a ranked queue with an explicit "needs a human" band at the top. Adoption stuck because the tool is visibly honest about its own limits.

Outcome

Median time-to-review cut by roughly a third, with the abstention path carrying about one case in eight to a human.

Related work

Document Intelligence Pipeline

Retrieval and extraction across twenty years of unstructured engineering reports, with citations back to the source page.

Read more

Industrial Inspection Vision System

Surface defect detection running on the line itself, trained from a few hundred labelled examples rather than a few hundred thousand.

Read more