End-to-end CDISC Workflow

SAS
CDISC
Clinical_Programming
SDTM
ADaM
TLF
Implementation of CDISC SDTM and ADaM datasets with Tables, Listings, and Figures (TLF) for a mock clinical study, following regulatory standards.
Published

August 30, 2025

Overview

This simulated clinical study demonstrates the full CDISC-compliant programming workflow.
The goal is to showcase hands-on experience with SDTM and ADaM dataset creation, TLF generation, define.xml, and validation procedures, following industry standards.

Note

This project uses publicly available example datasets provided in Implementing CDISC Using SAS (for training purposes only). These datasets are intended for educational use and do not represent real patient data.

Objectives

Important
  • Create SDTM domains (e.g., DM, AE, EX, LB)

  • Derive ADaM analysis datasets (ADSL, ADAE, ADLB, ADTTE, etc.)

  • Generate Tables, Listings, and Figures (TLFs) for efficacy and safety

  • Implement define.xml for submission

  • Conduct QC/validation of deliverables.

Methods

Note

Tools & Environment

  • SAS OnDemand for Academics

  • Macros for derivations and QC

  • GitHub for version control & portfolio publication

Workflow Steps

  1. Raw to SDTM

    • Conversion of raw data into standardized SDTM datasets

    • Controlled terminology applied

    • Example: dm.sas to generate DM + SUPPDM.

  2. SDTM to ADaM

    • Creation of subject-level analysis dataset (ADSL).

    • Derivation of efficacy and safety datasets (e.g., ADAE, ADLB, ADTTE).

  3. ADaM to TLFs

    • Programming of summary tables (e.g., demographics, adverse events).

    • Listings for safety events

    • Kaplan–Meier survival plot for time-to-event endpoint.

  4. Documentation & define.xml

    • Metadata mapping.

    • Automated generation of define.xml.

  5. Validation

    • Double programming for selected domains.

    • QC macros for consistency across SDTM, ADaM, and TLFs.

Deliverables

  • SDTM Datasets: DM, AE, EX, LB, SUPPDM

  • ADaM Datasets: ADSL, ADAE, ADLB, ADTTE

  • TLFs:

    • Demographics table

    • Adverse event summary table

    • Safety listings

    • Kaplan-Meier survival curve

  • define.xml

  • Validation Report

How to run (SAS OnDemand)

  1. Clone the repo into /myfolders/clinical-trials-programming
  2. Edit 0_setup_paths.sas (root path macro)
  3. Run: 1_raw_to_sdtm.sas2_sdtm_to_adam.sas3_tlfs.sas4_define_xml.sas
  4. Outputs in /outputs/*

Impact

This project highlights the end-to-end workflow required in regulatory submissions, proving competence in:

  • SDTM and ADaM standards

  • Statistical programming for clinical trials

  • Reproducible workflows

  • Industry documentation (define.xml, validation reports).

Code

View code on GitHub