eCTD Submission Anatomy: What’s in a Clinical Study Data Package
You have validated ADaM datasets and a set of tables, listings, and figures. This lesson is the big-picture map of what happens next: what a regulatory submission data…
The last mile of clinical programming: turn validated ADaM datasets and TLF outputs into the package a regulator actually receives. This series builds the eCTD Module 5 data package in R with the pharmaverse — SAS transport (XPT) export with xportr, Define-XML metadata, the cSDRG/ADRG reviewer’s guides, and a self-contained R submission bundle — reproducing how the R Consortium’s FDA pilots were assembled.
Learn › Pharma & Clinical › Submission Packaging
You have built the SDTM tabulations, derived the ADaM analysis datasets, and generated the tables, listings, and figures. Submission packaging is the last mile: turning those outputs into the exact package a regulator receives and reviews — the eCTD (electronic Common Technical Document) Module 5 data package. This series assembles it in R with the pharmaverse, on public example data, so every step reproduces. It mirrors how the R Consortium’s public FDA pilots were built — an all-R submission the FDA reviewed. The runtime is the judge.
The series starts with the map, then builds each piece of the package:
The submission anatomy — the orienting map: the five eCTD modules (Module 5 = clinical study data), the Module-5 folder layout, and what a data package actually contains — SDTM and ADaM datasets as XPT (SAS transport) files, a Define-XML per standard, the cSDRG/ADRG reviewer’s guides, and the analysis programs — with a first runnable xportr export so you see the deliverable.
XPT export with xportr — the hands-on export: take a validated ADaM dataset to a submission-compliant SAS Transport (XPT v5) file with xportr — the full pipeline (types, lengths, labels, formats, order), the strict_checks compliance gate, catching and fixing a constraint violation, and driving the export from a metacore spec.
Define-XML with metacore & metatools — the machine-readable metadata that describes every dataset, variable, codelist, and derivation: read a define.xml into a metacore object, extract codelists and the value-level metadata, check your data against that spec with metatools, and see the honest picture of what actually generates a define.xml (metacore reads it; Pinnacle 21 or defineR write it).
The reviewer’s guides — cSDRG & ADRG — the human-readable guides that tell a reviewer how to read the package: the cSDRG (clinical Study Data Reviewer’s Guide) for the SDTM tabulations and the ADRG (Analysis Data Reviewer’s Guide) for the ADaM analysis datasets — their sections, what’s unique to each, that both are PHUSE templates, and how the ADRG’s dataset overview is generated from the analysis package.
Bundling R programs with pkglite — the analysis programs ship with the submission too: use pkglite to compact an R package into a single reviewable ASCII text file for the eCTD, verify it against the ASCII submission gate, and unpack it back into a working package — the collate → pack → verify → unpack round-trip.
Reproduce an R Consortium FDA pilot end to end — the capstone: thread one dataset through the whole pipeline — build an ADaM analysis dataset with admiral, export it to a compliant XPT with xportr, check it against a spec with metacore/metatools, and bundle the programs with pkglite — then meet the real R Consortium pilots that proved an all-R submission is feasible (the FDA reviewed it — feasibility, not endorsement).
Together these six lessons take you from the shape of a submission to a complete, runnable, submission-ready package — the last mile of clinical programming in R.
Ask Prova “how do I export an ADaM dataset to a submission-compliant XPT v5 file in R with xportr, and what length and label limits does the transport format enforce?” — it answers grounded in the CDISC submission standards and runnable xportr code, so the package fits your study, not a generic example. The runtime is the judge. Ask Prova →
Prove you can do it. Master the whole Clinical Programming in R (pharmaverse) series — track your path, build projects, and earn a certificate.
Go Pro — unlimited Prova on your own data and a verifiable certificate that proves the skill.
from $15/mo billed yearly
✓ You're Pro — keep going. The runtime is the judge.
Get new R & Python lessons by email
Practical, reproducible, no spam. Unsubscribe anytime.
Double opt-in. We never share your email.
@online{untitled,
author = {},
title = {Submission {Packaging}},
url = {https://www.datanovia.com/learn/pharma-clinical/07-submission-packaging/},
langid = {en}
}