Back to work

/01Brillio HLSAI PM Intern3 Months

SemanticInteroperabilityPlatform

A multi-agent system that reconciles patient records across incompatible healthcare vocabularies.

FHIR/Semantic/OMOP/Knowledge Graph/Patient Graph/Longitudinal

Context

Healthcare data arrives from disconnected systems using different vocabularies — clinicians and analysts can't trust it without manual reconciliation.

Problem

Records describing the same patient and the same condition are encoded differently by every source system. Without a shared semantic layer, every downstream question requires manual reconciliation before anyone can answer it.

My role

Owned product decisions across a 4-agent pipeline spanning semantic classification, knowledge graph construction, patient graph building, and longitudinal reasoning. Built on Azure OpenAI, FastAPI, PostgreSQL, and Neo4j.

System / architecture

  1. 01Synthea FHIR
  2. 02ETL
  3. 03Semantic Classifier
  4. 04Ontology Manager
  5. 05Patient Graph Builder
  6. 06Longitudinal Reasoning
  7. 07Admin Review

Postgres is the source of truth end to end; Neo4j is a rebuildable projection used for traversal and visualization.

Key decisions

Treated Neo4j as a disposable visualization layer with Postgres as the source of truth.

Filtered the Athena vocabulary import to stay within free-tier limits rather than over-engineering for scale the POC didn't need.

Challenges

A batch-runner bug was issuing one API call per concept instead of per batch, which made the pipeline both slow and expensive to iterate on. Identity resolution also had to stay reviewable — an automatic merge on a bad score is worse than no merge at all.

Outcome

Fixed a batch-runner bug that cut API calls from ~47K to 542 — a 98.8% reduction.

Shipped patient identity resolution using Jaro-Winkler scoring and a human-in-the-loop Admin Review workspace with real merge logic and an audit trail.

Demo-ready on 141 synthetic patients, 542 concepts, 33 API endpoints, and 20 DB tables.

00.0%

Vocabulary resolution

00.0%

Fewer API calls

00,000

Lines of code

What I learned

In AI systems, the expensive mistakes are usually architectural rather than model-level. Choosing which store owns truth, and keeping a human in the loop where confidence is low, mattered more than any prompt.