📚 Part of the GLPI-103 Regulatory Dossier — Reader's Guide. This article shows the live document; edits to the source appear here automatically.
This is a mock / simulation document, made for a portfolio and for learning. The drug (GLPI-103), the sponsor, the people, and the data are all fictional. It is not a real regulatory submission and has no clinical, legal, or regulatory standing. What is real is the shape of the thing — the document structure, the standards it follows, and the analysis methods; the content inside is illustrative.
What it is. The Analysis Data Reviewer's Guide (ADRG) — the human-readable guide to the ADaM (analysis) datasets.
Why it exists. The ADRG explains how the analysis datasets were built from SDTM, the key derivations, and how to reproduce the analyses — the companion a reviewer reads alongside the ADaM data and define.xml.
How it is produced here. It is generated from the standardized study datasets (the SDTM and ADaM data and their define.xml 'data dictionary'), so the guide always describes the exact datasets a regulator would receive.
Format & governing standard. ADaMIG (v1.x) · Define-XML 2.1
The ADRG is the human-readable companion to the analysis datasets: it explains how the analysis-ready data were built from the collected data, the key derivations, and how a reviewer can re-run the analyses. It is meant to be read alongside the data, not instead of it.
| Field | Value |
|---|---|
No comments yet. Be the first to say something!
| Document ID |
| DEF-301-ADRG |
| Version | 1.0 |
| Status | Final (portfolio) |
| Study No. | GLPI103-301 |
| CDISC STUDYID | GLPI103 |
| Standards | ADaMIG (v1.x) · Define-XML 2.1 |
| Confidentiality | Confidential — portfolio use |
Companion to
define.xmland SAP-301. Describes the analysis (ADaM) datasets and key derivations supporting the primary and secondary analyses.
| Version | Date | Author | Summary |
|---|---|---|---|
| 1.0 | 2026-06-29 | Biostatistics | Initial version |
This ADRG supports review of the analysis datasets used for the efficacy and safety analyses of Study GLPI103-301 (SAP-301). Derivations below correspond to src/cdisc/adam_builder.py.
| Dataset | Class | Records | Structure | Key use |
|---|---|---|---|---|
| ADSL | ADSL | 900 | One record per subject | Population flags, treatment, strata, covariates |
| ADLB | BDS | 27,795 | One per parameter/visit/subject | HbA1c CFB analyses (ANCOVA, MMRM, estimands) |
| Variable | Derivation |
|---|---|
TRT01P / TRT01A | Planned / actual arm (no switching) → TRT01PN/TRT01AN (1=IV, 2=Oral, 3=Sema) |
AGEGR1 | <65 vs >=65 from AGE |
FASFL / SAFFL | "Y" — all randomized / all dosed |
PPSFL | "Y"/"N" — derived from major protocol deviations (DEVFL); PPS = 847 (≠ FAS 900) |
COMPLFL / DCSREAS / DISCWK | Completion flag, discontinuation reason and study week (disposition) |
RESCUEFL / RESCUEWK / DTHFL | Rescue-medication intercurrent-event flag and week; death flag |
STRAT_HBA1C | Randomization stratum, carried from the randomization record (IRT) by USUBJID, based on the screening HbA1c (<8.5 vs ≥8.5). It is highly concordant with the Day-1 baseline-derived category (~91%); minor discordance near the 8.5% threshold is expected because stratification (screening) and the analysis baseline (randomization visit) are separate measurements. |
STRAT_BMI | Stratum (<30 vs ≥30) from baseline BMI |
STRAT_REGION / REGION | Region group (Capital/Yeongnam/Honam/Chungcheong/Gangwon-Jeju) from province |
EDUCATION / MARITAL / EMPLOYMENT | Baseline covariates (English CT); SDTM source = SC domain |
Derivation integrity note: an earlier build regenerated
STRAT_*randomly; this was corrected so strata are carried from the randomization source and are consistent with the analyzed baseline values. This is the variable the primary ANCOVA adjusts for.
| Variable | Derivation |
|---|---|
PARAM/PARAMCD | Parameter (e.g., HBA1C) |
AVAL | Analysis value (from LBSTRESN) |
BASE | Baseline value (ABLFL="Y", VISITNUM=1) per subject/parameter |
CHG / PCHG | Change / % change from baseline (AVAL − BASE) |
ABLFL | Baseline record flag (VISITNUM=1) |
ANL01FL | Analysis flag (non-baseline visits) |
ANL01FL="Y", VISITNUM=8, FAS): CHG ~ TRT01A + BASE + STRAT_HBA1C + STRAT_BMI (SAP-301 §5; outputs/stats/ancova_results.csv).mmrm package, unstructured covariance, Kenward-Roger DF): treatment-policy vs hypothetical estimands (SAP-301 §6; outputs/stats/estimand_results.csv).rbmi): MAR / jump-to-reference / copy-reference MI + tipping-point (outputs/stats/missing_data_results.csv).outputs/stats/{multiplicity,responder,subgroup}_results.csv).outputs/stats/{survival,recurrent}_results.csv).outputs/stats/ae_prop_test.csv.tools/reconcile_csr.py (passes: 23/23 key numbers, incl. secondary endpoints).Pinnacle 21 Community, the usual conformance checker, is a registration-gated desktop tool that can't run inside an automated build. This project is honest about that: it runs a scripted subset of the same checks on every build and flags the official run as a manual step.
define.xml (Define-XML 2.1) covers ADSL and ADLB. An automated subset validator (tools/validate_cdisc.py, report DEF-301_validation_report.md) checks ADaM required variables, analysis-set flags (Y/N), ADSL one-record-per-subject, ADLB↔ADSL referential integrity, and CHG = AVAL − BASE — 0 Errors, 0 Warnings. Official Pinnacle 21 Community validation is a documented manual step (registration-gated GUI tool; see SDRG §6).
AESER="Y", 17 events) and 2 deaths.