Clinical SAS Programming Made Easy

Want to look at a sample before you buy? Get it here.


The FDA requires standardisation of clinical data .The SDTM model developed by the CDISC acts as a fundamental model for organinizing and submitting clinical trial data.This course aims at teaching the process of conversion of Raw data to SDTM model along with the basic principles and concepts needed. The submission of standardized study data enhances a reviewer’s ability to more fully understand the efficacy and safety of a medical product. A SAS programmer is expected to understand the process of annotation of CRF, Conversion of Raw data to SDTM standards,along with a deep understanding of the various classes, domains, controlled terminologies, Validation and so on.This course provides a comprehensive knowledge of the same.

The Analysis Data Model describes the general structure, metadata, and content typically found in Analysis Datasets and accompanying documentation. These Analysis datasets  are characterized by the creation of derived analysis variables and/or records. These derived data may represent a statistical calculation of an important outcome measure, such as change from baseline, or may represent the last observation for a subject .These datasets are one of the types of  data sent to the regulatory agency such as FDA. The practical Approach to ADaM programming- Coming soon.

The implementation and use of data standards for the submission of applications is a highly regulated process.Such implementation ensures that data standards are accounted for in the design, conduct, and analysis of studies. A comprehensive coverage on FDA Submission related knowledge.


Course Details

Lesson 1 Introduction
How do I access SAS software ?
Login and Registration
Creating Folders and Loading Data
Understanding SAS Datasets
Using SAS Enterprise Guide
Creating SDTM and ADaM dataset
Creating Library using Libname
PROC Print and contents
Understanding Raw Data
Creating and Deleting SAS program in EG and SAS Studio
Downloading documents from dropbox

Lesson 2 Data Step Programming 
Creating a new variable
Keeping variables
Dropping variables
Subsetting using where.
Subsetting using if
Keep option
Drop option
Compilation and Execution Phases.
If vs Where 
Statement vs Option 

Lesson 3 PROC Step processing
Proc print 
proc sort
proc means
proc freq
proc transpose
proc report

Lesson 4 SAS Functions
Character and Numeric Functions 
Date Functions 

Lesson 5 SAS Formats and Informats
Formats and Informats
User defined formats
Format catalog and FMTsearch option
Creating Run time Formats 

Lesson 6 Combining SAS Dataset Vertically and Horizontally
One on one merge,
merging datasets,
Right and left joins,
one to one merge, one to many merge, many to many merge etc.

Lesson 7 Understanding Clinical Trial Process
Population Sample,
Flow of data from a SAS programmer’s perspective.
QC Process
Folder Structure

Lesson 8 Macro Programming
Macro processor,
macro variables,
Local Symbol Table,
Global symbol table,
Positional and Keyword parameters,
Debugging a macro,
Macro functions,
Masking functions,

Lesson 9 PROC SQL
proc sql vs data step 
proc sql vs proc means, 
proc sql vs proc sort, 
proc sql vs proc frq, 
cartesian product, 
proc sql vs merge, 
creating macro variable in proc sql 

Lesson 10 Introduction to Study Data Tabulation Model (SDTM)
Why are there standards ? 
SDTM and ADAM standards
SDTM related documents
SDTM Core variables
SDTM Variable roles, Identifying variable roles, SDTM Classes, SDTM Domains, SDTM IG, 
Controlled terminology Document. 

Lesson 11 Annotating CRF with SDTM variables
Finding the documents needed to implement SDTM
Flow chart for Annotating CRF
Understanding CDISC guidelines for Annotating CRF
Understanding different ways of Annotating CRF
Annotating Supplemental dataset 
Practical Demonstration of Annotating AG102 CRF

Lesson 10_1 Derivations needed in SDTM
Attrib Statement 
Retain Statement 
BY Statement and First. and Last. 
Transposing using Data step and PROC TRANSPOSE 
Study Day and Age Calculation 
Creating XPT files 
Baseline Derivation 
EPOCH Derivation
MedDRA and WHODrug Dictionaries 
Split Text into 200 characters 
Visit Slotting Derivation 
ISO date 

Lesson 11_1 Implementing Finding Class Domains
Creating and Updating Specification Sheet
IE domain 
  XPT file Creation 
VS domain 
  Baseline Derivation 
LB domain 
  Supplemental Domain 

Lesson 11_2 Implementing Special Purpose Domains
  RFSTDTC RFENDTC variable derivation
  Multiple RACE
  SUPPDM derivation
  Visit Slotting
  Using SV in LB
  Understanding and Implementing CO.

Lesson 12 ADaM Theory
Analysis Data Model Introduction
Flow of Data in Clinical Trial
Fundamentals of ADaM
Analysis Dataset Subject Level
Basic Data Structure

Lesson 12_1 Derivations in ADaM
Windowing Logic
Last Observation Carry Forward (LOCF) and Worst Observation Carry Forward (WOCF)
Impute Dates
Treatment Emergent Flag
PARAMTYP and DTYPE variable

Lesson 12_2 ADaM Programming
Programming following analysis datasets 
Analysis Dataset Subject Level (ADSL)
Analysis Dataset Adverse Event (ADAE) 
Analysis Dataset Pain Score (ADXP) 
Analysis Dataset Laboratory Results (ADLB) 
Analysis Dataset Efficacy Dataset (ADEFF) 
Analysis Dataset Time to Event Dataset (ADTTE)

Lesson 13 Generating Table, Listing and Graphs (TLG)
Documents needed for Table, Listing and Figure programming
Understanding TLG Shell
Types of TLG
Type of Quality Checks for TLG
Listing Programming 
Graph Programming 
Intro to Table Programming (details in next chapter)

Lesson 14_1_1 Static Tables Programming
Identifying Dataset, Variables and Subsetting criteria by looking at Table Shell 
Calculating Frequencies and macrotize the code 
Calculating Summary Statistics and macrotize the code 
Invoking Autocall facility 
Generating Report using PROC REPORT

Lesson 14_1_2 Static Tables Programming_Production and QC Program
Understanding QC process
Understanding how to write Production Program
Understanding how to write QC program

Lesson 14_2 Table Programming Implementation_Dynamic and Combination Tables_Production and QC
Understanding Data Driven Tables 
Production Program for Data Driven Table
QC Program for Data Driven Tables

Understanding Combination Table
Production Program for Combination Table
QC Program for Combination Table 
Alternate QC Using %readrtf

Lesson 15 Submission Readiness
Understanding Metadata 
Updating Metadata 
Understanding Define.xml 
Creating Define.xml 
Validating Define.xml using OPEN CDISC 
Validating SDTM using OPEN CDISC 
Correcting Error and Warnings from Open CDISC Report 
Supporting Documents that go in submission 

Lesson 18 First Day of Work
What to expect on First Day? 
What to ask and what not to ask? 
Connecting to Unix Server and Navigating in it 
Mapping and Navigating folder Structure 
Adding things in Favorite for faster retrieval