HORIZON
HORIZON: Copilot for Non-clinical context
Core trick
A rule-based packager assembles a clinician brief from between-visit patient context, contrasting the story with and without that context.
Tags
Description
HORIZON: Copilot for Non-clinical context
README excerpt
# MCP for Health — The Patient Advocate
An **agentic advocate that carries the patient's story between visits** and
delivers the missing context to clinicians at the point of decision.
- Full concept: [`docs/SPECS.md`](docs/SPECS.md)
- Build plan / status: [`PLAN.md`](PLAN.md)
This repo contains a **demoable v1**: a responsive two-pane web app
(Conversations + Anatomy) over synthetic patient stories, plus an "Advocate"
that packages a clinician-ready brief contrasting the story **without** vs
**with** the between-visit ("middle zone") context.
---
## What's inside
```
app/
server.py FastAPI app: JSON API + serves the SPA
advocate.py The Advocate — rule-based context packager (LLM seam)
data/ Generated synthetic patient stories (JSON)
static/ SPA (index.html, app.js, styles.css)
anatomy3d.js 3D heart/brain renderer (marker overlays, orbit controls)
assets/ Baked mesh assets (brain.glb, optional — see below)
vendor/ Three.js r128 + OrbitControls + GLTFLoader, vendored (offline)
scripts/
generate_stories.py Builds up to 20 synthetic stories
fetch_brain_mesh.py Bakes a real BrainGlobe/brainrender brain mesh -> brain.glb
bake_dz_map.py Bakes a CBCT correlome isosurface -> depression_map.glb
main.py Convenience launcher (uvicorn)
```
## Prerequisites
- Python **3.12+**
- [`uv`](https://docs.astral.sh/uv/) (recommended). Plain `pip`/`venv` also works.
## Run it (with uv)
```bash