SDTM vs ADaM: what goes where, and why it matters at submission

A practical guide to the line between tabulation and analysis data: which variables belong in SDTM, which are derived in ADaM, and how to keep traceability intact for reviewers.

Most submission findings we see on CDISC packages are not about syntax. They come from data sitting in the wrong standard: analysis derivations pushed into SDTM, or ADaM datasets that cannot be traced back to what was collected. The rule of thumb is simple, and it is worth stating plainly.

SDTM describes what happened. ADaM describes how you analysed it.

What belongs in SDTM

SDTM is the tabulation standard. It organises collected (and a small set of standard derived) data into domains such as DM, AE, EX, LB and VS, typically one record per observation.

  • Values as collected, with standardised results in --STRESC / --STRESN
  • Controlled terminology applied to coded variables
  • Timing variables (--DTC, --DY, VISITNUM) and the baseline flag defined by the protocol
  • Relationships through RELREC and supplemental qualifiers in SUPP--

What does not belong: imputed dates, analysis windows, change from baseline, LOCF values or population flags. Those are analysis decisions.

What belongs in ADaM

ADaM datasets are built to be analysis-ready: one procedure, minimal programming, results that a reviewer can reproduce.

StructureUseKey variables
ADSLOne record per subjectTRT01P, TRT01A, SAFFL, ITTFL, TRTSDT
BDSParameter–value analyses (labs, vitals, efficacy)PARAMCD, AVAL, BASE, CHG, ABLFL, ANL01FL
OCCDSOccurrence data (AEs, con-meds)TRTEMFL, AOCCFL, ASTDT

Traceability is the deliverable

A reviewer should be able to move from a TLF value to the ADaM record, and from that record to the SDTM source, without asking you a question. In practice that means:

  1. Keep --SEQ or SRCDOM/SRCVAR/SRCSEQ on derived records.
  2. Document every derivation in define.xml with an algorithm a programmer could re-implement.
  3. Explain non-obvious decisions (windowing, imputation, multiple baselines) in the ADRG.
  4. Run Pinnacle 21 early and resolve, or justify, every issue in the reviewer's guide.

A quick self-check

If a variable would change when the SAP changes, it belongs in ADaM. If it would change only when the CRF or the data changes, it belongs in SDTM.

Found this useful?Share it with your team or network.

Need help applying this to your study?

Our statisticians, programmers and quality specialists can review it with you.