Initial Release
This repo is a contest-focused, end-to-end demo that:
This project uses synthetic data only (no PHI).
Note: This repo does not require Docker. Run IRIS however you prefer (local install, VM, Docker, etc.).
The only requirement is that the IRIS REST web app is reachable from your machine.
scripts_generate_hl7.py
Generates synthetic HL7 v2 .hl7 files into ./out
scripts/hl7_out_to_piqi.py
Reads .hl7 files from ./out, converts to FHIR, runs PIQI, and writes:
out/fhir_bundles.ndjsonout/fhir_bundles_annotated.ndjsonout/piqi_scores.ndjsonscripts/post_annotated_bundles_to_iris.py
Reads out/fhir_bundles_annotated.ndjson and POSTs bundles to IRIS REST API
scripts/summarize_piqi_scores.py
Summarizes PIQI scores from out/piqi_scores.ndjson
app.py
Streamlit UI to run the pipeline and browse IRIS stored bundles
lib/PIQITT.REST.BundleService.cls
IRIS REST service that persists bundles and exposes:
POST /bundleGET /bundle/{id}GET /bundlesPOST /wipe (admin/demo reset)config/
PIQI evaluator configuration:
piqi_sam_library.yamlprofile_clinical_minimal.yamlplausibility.yaml/csp/piqitt/api
PIQITT.REST.BundleServiceDATADEMO)Create and activate a virtualenv, then install deps:
python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt
python scripts_generate_hl7.py --n 10 --out out --per-encounter
This writes .hl7 files into ./out
python -m scripts.hl7_out_to_piqi `
--sam config/piqi_sam_library.yaml `
--profile config/profile_clinical_minimal.yaml `
--plausibility config/plausibility.yaml
Outputs written under ./out:
python -m scripts.summarize_piqi_scores
python -m scripts.post_annotated_bundles_to_iris `
--base http://localhost:30000/csp/piqitt/api `
--user _SYSTEM `
--password demo `
--limit 5
Verify
curl.exe -u _SYSTEM:demo http://localhost:30000/csp/piqitt/api/bundles
streamlit run app.py
In the UI you can: