A Streamlit app over a layered check engine that validates traceability, domain rules, and value fidelity, runs checks with a per-check time budget, and shows a live progress dashboard plus Excel and HTML reports.
A conformance checker validates the SDTM you have; it does not confirm SDTM is complete and traceable back to raw. This validates that linkage — record and subject parity, SUPP completeness, value fidelity — which conformance checking does not cover.
How it works
Typical layout
By the numbers
Screenshots
sdtm-completeness-01-run.png into/public/screenshots/sdtm-completeness/
sdtm-completeness-02-results.png into/public/screenshots/sdtm-completeness/
sdtm-completeness-03-catalog.png into/public/screenshots/sdtm-completeness/
Data flow
Confirming that SDTM is complete and traceable back to raw is slow manual work across many domains, and a single badly written check could run for hours on a real study and abandon itself before producing anything.
Input: raw datasets + SDTM datasets + master mapping spec
|
v
Loaders + Join Engine (core/) align raw to SDTM by mapping spec
|
v
Check Catalog (config/check_catalog.py)
| Layer 1 Traceability trc_001..008 (record/subject parity, SUPP, coverage)
| Layer 2 Domain rules ae/lb/dm/ds/sv/vs/cm/ex/ie/mh + basic_*
| Layer 6 Value fidelity vfd_001..009 (assign passthrough, date xform, parity)
v
Orchestrator (per-check time budget) --> live progress to dashboard
|
v
Reporting (reporting/) --> Excel reporter + HTML dashboard Engineering trade-offs
At a glance
A quick visual read of the countable facts; full detail in the table.
Relative scale · values labelled · unit: count
Processing characteristics
| Metric | Value | Notes |
|---|---|---|
| Checks in catalog | 87 | v12 brought the in-memory pipeline to 85 all-ok, plus L5_COV_007/008 |
| Check layers | 6 | Traceability, domain, value fidelity among them |
| Test functions | 47 | Includes 17 v11-fix regression assertions |
| Tool version | 0.4.0 | App labelled v12 |
| Reference run | 4730 issues / 633s | Real GADI run cited in the v12 changelog |
| Reports | Excel + HTML | Dashboard and downloadable report |
Functional wins
Module dependencies
- Python 3.9+
- streamlit
- altair
- pandas
- numpy
- openpyxl
- xlsxwriter
- pyreadstat
- pytest