This repository is intended for:
- SAS beginners who want clinical-research context;
- programmers moving from general SAS into clinical trials;
- data professionals preparing for junior clinical-programming roles;
- experienced analysts who want a compact SDTM/ADaM reference exercise.
It assumes no previous CDISC experience. Basic familiarity with tables, variables, dates, and percentages is helpful.
Begin with the synthetic workshop:
- Read the study protocol summary and mock SAP.
- Configure SAS libraries and import the four CSV source datasets.
- Inspect source structure, terminology, missingness, dates, and repeated observations.
- Document data-quality findings before transforming data.
At this stage, focus on the relationship between a study requirement and a programming task.
Continue through the synthetic SDTM-style and ADaM-style modules:
- DM and AE introduce identifiers, controlled values, and ISO dates.
- EX and VS introduce repeated records, units, status variables, and study day.
- ADSL introduces treatment variables, dates, population flags, and one-record- per-subject analysis structure.
- ADAE introduces analysis dates, treatment-emergent logic, duration, and severity ordering.
After every module, explain one variable using four statements:
- Where did it come from?
- What rule created it?
- Why does analysis or reporting need it?
- What evidence shows the derivation worked?
Complete the listing, demographics table, adverse-event summary, and vital-sign figure. Pay particular attention to:
- subject-level versus event-level counts;
- treatment denominators;
- baseline and change derivations;
- display-ready datasets;
- independent QC and
PROC COMPARE.
Move to cdisc-pilot-mini-workshop:
- Inspect XPT, Dataset-JSON, and Define-XML roles.
- Compare SDTM DM with ADaM ADSL.
- Trace SDTM AE into ADaM ADAE.
- Reproduce treatment-emergent and first-occurrence flags.
- Produce and independently QC a serious adverse-event table.
The goal is not to memorize the reference code. The goal is to recognize the same workflow principles in more realistic artifacts.
| Week | Focus | Estimated effort |
|---|---|---|
| 1 | Setup, SAS foundations, source review | 2–3 hours |
| 2 | Specifications and SDTM-style domains | 3 hours |
| 3 | ADSL and ADAE | 2–3 hours |
| 4 | TLFs and QC | 3 hours |
| 5 | CDISC pilot mini-workshop | 4–6 hours |
| 6 | Repeat exercises without solutions and explain traceability | 2–4 hours |
You have completed the learning path when you can:
- run both projects from a clean SAS session;
- explain the purpose of raw, SDTM, ADaM, and TLF layers;
- trace a demographic variable and an adverse event from source to output;
- identify the analysis population and denominator for a table;
- distinguish incidence from number of events;
- interpret a
PROC COMPAREresult; - explain why conformance validation does not replace programming QC.