clinical-graphrag-gxp
Drug-label question answering for medical-information and pharmacovigilance staff: GraphRAG on Neo4j with guardrails and human review, a PySpark + Delta Lake pipeline, MLflow lineage and approvals, Langfuse tracing, a six-dimension evaluation and a generated GxP-style validation package. Code: GitHub.
Demo
Every command in the video ran live against the services while it was rendered.
Three systems on the same questions
All metrics as a table (all runs, with n)
PQ acceptance criteria: first run (v1, blocked) and CAPA re-run (v3, released)
Frozen in config/acceptance_criteria.yaml before the PQ run.
Release gate decisions
Real traced answers from the released PQ run (system C, v3)
Each answer has a Langfuse trace; the bar shows the span durations in order (guard, route, query or retrieval, generation, citation check).
Root cause analyses and change control
Traceability matrix
Show the matrix (URS -> risks -> OQ tests -> PQ criteria -> release)
Data pipeline
Limitations
- No Databricks workspace: same PySpark / Delta code run locally; the Asset Bundle was never deployed.
- Gold answers come from structured openFDA fields; open clinical reasoning is not measured.
- The measured human review uses an oracle reviewer, so accuracy after review is an upper bound.
- Identities are not authenticated; approvals are Part 11-style records, not compliant e-signatures.
- 7-8B local models on one GPU; latency is for this host only.