Quickstart
Get the workbench running in minutes. Use demo or synthetic data only in public demos.
Option A — Docker (recommended)
New to Docker? Start with Docker for beginners to install it and check your setup.
Build from source
git clone https://github.com/ranasl62/ehr-chronic-disease-risk-prediction.git
cd ehr-chronic-disease-risk-prediction
docker compose up --build
# stop: docker compose down
Pull published images (no local build)
Images are on Docker Hub (public). Pull either image alone, or use Compose:
docker pull ranasl62/ehr-risk-api:latest
docker pull ranasl62/ehr-risk-web:latest
git clone https://github.com/ranasl62/ehr-chronic-disease-risk-prediction.git
cd ehr-chronic-disease-risk-prediction
docker compose -f docker-compose.yml -f docker-compose.publish.yml pull
docker compose -f docker-compose.yml -f docker-compose.publish.yml up
# or: make researcher-up-pull
Defaults: ranasl62/ehr-risk-api:latest · ranasl62/ehr-risk-web:latest. Override with IMAGE_API / IMAGE_WEB in .env. Still clone the repo — Compose bind-mounts . for persistence. Full details: Docker Hub images.
Optional: cp .env.example .env (API key, ports). GPU / local overrides: docker-compose.override.example.yml.
| Service | URL | Local / published |
|---|---|---|
| Angular workbench | http://127.0.0.1:8080 | ehr-risk-web:local · ranasl62/ehr-risk-web |
| API + OpenAPI | http://127.0.0.1:8000/docs | ehr-risk-api:local · ranasl62/ehr-risk-api |
| Results ZIP | /v1/reports/download.zip | — |
data/, reports/, and model.pkl persist on the host. Demo data only — no PHI. For research and education only. Outputs are not clinical recommendations and are not intended for patient care. We are working toward broader general-purpose use in the future. · support@larucare.com.
Docker Hub images
Published by GitHub Actions on main / v* tags. Both repos are public.
docker pull ranasl62/ehr-risk-api:latest
docker pull ranasl62/ehr-risk-web:latest
| Image | Hub | Role |
|---|---|---|
ranasl62/ehr-risk-api |
hub.docker.com/r/ranasl62/ehr-risk-api | FastAPI, prepare, train |
ranasl62/ehr-risk-web |
hub.docker.com/r/ranasl62/ehr-risk-web | Angular workbench (nginx) |
Also tagged :sha-… and semver from release tags. See Docker Hub images for compose, pins, and troubleshooting.
First successful loop
- Open Datasets → select the tiny longitudinal demo → Run health.
- Open Train → start train (logreg is fine) → wait for succeeded.
- Open Results / Analytics → inspect metrics and charts.
- Optional: Generate SHAP · run leakage audit.
- Open Predict → Fill medians → Predict.
Stop & clean
docker compose down # stop stack (keeps host data)
docker compose down --rmi local # also remove project images
# optional host cleanup:
# rm -f model.pkl; rm -rf reports/runs data/uploads/*
Option B — Local Python + Angular
pip install -r requirements.txt && pip install -e .
PYTHONPATH=. uvicorn api.main:app --reload --port 8000
# another terminal
cd web && npm install && npm start
# UI http://127.0.0.1:4200 (proxies API)
Or CLI: ehr-ai start after editable install. Full install notes live in repository INSTALLATION.md.
Tests
PYTHONPATH=. pytest tests/ -q
cd web && npm run test:ci
# or: make test-all