Back to List
Module 50 Views

Analysis Results Metadata (ARM) — GLPI103-301

July 12, 2026

📚 Part of the GLPI-103 Regulatory Dossier — Reader's Guide. This article shows the live document; edits to the source appear here automatically.

🧪
Mock / simulation document

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.

📄
About this document — a plain-language guide

What it is. The Analysis Results Metadata — machine-readable metadata linking each key analysis result to the dataset, method, and code that produced it.

Why it exists. ARM lets a reviewer trace a headline result back to its exact derivation and re-run it. It is the traceability layer that connects the report's numbers to the data.

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. CDISC Analysis Results Metadata (ARM) for Define-XML; ADaM


Analysis Results Metadata (ARM) — GLPI103-301

🔗
Traceability, made machine-readable

Analysis Results Metadata records, for each key result, exactly which dataset, method, and code produced it — so a reviewer can trace a headline number back to its derivation and reproduce it, rather than taking it on trust.

FieldValue
Document IDARM-301
Version1.0
StatusFinal (portfolio)
StandardsCDISC Analysis Results Metadata (ARM) for Define-XML; ADaM
Companion todefine.xml, ADRG (DEF-301), SAP-301, SAR-301
ConfidentialityConfidential — portfolio use

Analysis Results Metadata provides end-to-end traceability for every key analysis result: from the reported display back to the analysis dataset, the population/selection, the statistical method, the executing program, and the output file. This is the metadata layer a regulatory reviewer uses to reproduce a result.

Change History

VersionDateAuthorSummary
1.02026-06-30BiostatisticsInitial — covers primary, estimand, missing-data, multiplicity, responder, subgroup, time-to-event, and hepatic results

Analysis Datasets (ADaM)

DatasetClassStructureKey analysis use
ADSLADSLOne record/subjectPopulations, treatment, strata, disposition, ICE flags
ADLBBDSOne record/param/visit/subjectHbA1c & lab CFB (ANCOVA, MMRM, estimands, MI)
ADAEOCCDSOne record/AE/subjectTEAE incidence, SAEs, AESI
ADVSBDSOne record/param/visit/subjectVital-sign & weight CFB
ADTTEBDSOne record/param/subjectTime-to-event (rescue, target)

Analysis Results

Result IDDisplay / ResultDatasetPopulation / SelectionMethodProgramOutput
R-EFF-01Primary: HbA1c CFB at Wk 52, LS-mean diff vs SemaADLBFAS; PARAMCD=HBA1C; VISITNUM=8ANCOVA CHG ~ TRT01A + BASE + STRAT_HBA1C + STRAT_BMIrun_analysis.Rancova_results.csv
R-EFF-02Primary estimands (treatment-policy, hypothetical)ADLB + ADSLFAS; visits W4–52MMRM (mmrm, unstructured, Kenward-Roger); ICE strategiesmmrm_estimands.Restimand_results.csv
R-EFF-03Longitudinal HbA1c by visitADLBFAS; visits W4–52MMRM LS means by visitrun_analysis.Rmmrm_results.csv
R-SENS-01Missing-data sensitivity (MAR/JR/CR)ADLB + ADSLFAS; complete visit gridReference-based MI (rbmi), Rubin's rulesmissing_data_sensitivity.Rmissing_data_results.csv
R-SENS-02Tipping-point (MNAR delta)ADLB + ADSLFAS; IV vs SemaDelta-adjusted MImissing_data_sensitivity.Rmissing_data_results.csv
R-MULT-01Fixed-sequence multiplicity decisions (8 steps)ADLB + ADSLFASHierarchical gatekeeping (α=0.05)secondary_subgroup.pymultiplicity_results.csv
R-SEC-01Responders (HbA1c<7%, ≥10% weight)ADLB + ADSLFAS; NRILogistic regression + stratified CMHsecondary_subgroup.pyresponder_results.csv
R-SEC-02Subgroup HbA1c effect + interactionADLB + ADSLFAS; IV vs SemaANCOVA within subgroup + interaction F-testsecondary_subgroup.pysubgroup_results.csv
R-TTE-01Time to HbA1c<7% / time to rescue (HR)ADTTEFASKaplan-Meier + stratified Cox PHsurvival_recurrent.Rsurvival_results.csv
R-SAF-01Recurrent hypoglycaemia rate ratioADAE + ADSLSafety; exposure offsetQuasi-Poisson rate modelsurvival_recurrent.Rrecurrent_results.csv
R-SAF-02Hepatic safety (eDISH / Hy's law)ADLB-source (ALT, bilirubin)Safety; per-subject peakseDISH quadrant + Hy's-law flaghepatic_safety.pyhepatic_edish.csv, figure4_edish
R-EFF-04Bayesian primary (posterior P(superiority))ADLBFASBayesian ANCOVA (conjugate normal)bayesian_exposure.pybayesian_results.csv
R-EFF-05Exposure–response (HbA1c vs dose)Phase 2 dose-findingdose-findingEmax modelbayesian_exposure.pyexposure_response.csv

Quality Control — Double Programming

👯
What 'double programming' is

Critical results are programmed independently by two people; if their numbers match, confidence is high; if not, the discrepancy is chased down. It is the statistical-programming equivalent of double-entry bookkeeping.

QC IDResult qualifiedIndependent methodProgramOutput
QC-DP-01R-EFF-01 primary contrasts (both arms)Independent Python ANCOVA (statsmodels) reproduces R emmeans within ±0.01qc_double_program.pyqc_double_program.csv

All results are regenerated reproducibly by python build.py --stage biostat; every reconciled CSR number is checked by tools/reconcile_csr.py.

Comments (0)

No comments yet. Be the first to say something!