Clinical SAS Datasets Explained: Raw, SDTM, ADaM and Transport Files
By Neha Jain, Principal Consultant and SAS trainer · 17+ years training in SAS · 5,000+ learners trained · Updated 7 November 2026
"Clinical SAS datasets" can mean several things: the raw data collected in a trial, the SDTM and ADaM datasets built from it, or the transport files sent to regulators. This guide explains each type, how they are structured, how to inspect them in SAS, and where to find practice data.
The short answer
Clinical SAS datasets flow from raw collected data, to CDISC SDTM datasets (one per domain), to ADaM analysis datasets, and are submitted as SAS XPORT (.xpt) transport files with define.xml.

The four kinds of clinical datasets
Type | What it contains | Examples |
Raw / CRF data | Data as collected from the EDC system, labs and devices | Demographics form, lab vendor files |
SDTM datasets | Collected data in standard domains | DM, AE, VS, LB, EX, CM |
ADaM datasets | Analysis-ready data derived from SDTM | ADSL, ADAE, ADLB, ADVS, ADTTE |
Transport files | Submission copies in SAS XPORT format | dm.xpt, adsl.xpt |
For the difference between the two standards, see SDTM vs ADaM explained.
Common SDTM datasets
Dataset | Holds |
DM | Demographics: one row per subject |
AE | Adverse events |
CM | Concomitant medications |
EX | Exposure to study treatment |
LB | Laboratory results |
VS | Vital signs |
DS | Disposition: completion and discontinuation |
MH | Medical history |
Common ADaM datasets
Dataset | Holds |
ADSL | Subject-level data: treatments, dates, population flags |
ADAE | Adverse events prepared for analysis, with treatment-emergent flags |
ADLB | Lab parameters with baseline and change from baseline |
ADVS | Vital signs parameters with baseline and change |
ADTTE | Time-to-event data with censoring |
How a clinical SAS dataset is structured
Each row is an observation, such as one adverse event or one lab result.
Each column is a variable with a name, type, length, label and often a format.
Key variables such as STUDYID and USUBJID link records across datasets.
For submission, datasets are saved as SAS XPORT version 5 files, which limit variable names to 8 characters, labels to 40 characters and character values to 200 bytes.
Inspecting a dataset in SAS
Two procedures every clinical programmer uses daily:
libname sdtm "/study/data/sdtm";
proc contents data=sdtm.ae varnum;
run;
proc print data=sdtm.ae (obs=10);
var usubjid aeseq aeterm aedecod aesev aestdtc;
run;PROC CONTENTS shows variables, types, lengths and labels; PROC PRINT shows the first records so you can check values.
Creating a transport file for submission
libname xptout xport "/study/submission/ae.xpt";
data xptout.ae;
set sdtm.ae;
run;The XPORT engine writes a version 5 transport file; checks with tools such as Pinnacle 21 and a matching define.xml come before submission.
Where to find practice clinical datasets
The CDISC pilot study data, widely used in training and in the R Consortium pilot submissions.
The pharmaverse test-data R packages, which include example SDTM and ADaM datasets.
Simulated datasets provided in training courses.
Frequently asked questions
What is a SAS dataset? A table stored in SAS format (.sas7bdat), with rows (observations) and columns (variables) plus descriptive metadata.
What format are clinical datasets submitted in? As SAS XPORT version 5 transport files (.xpt), together with define.xml.
Which dataset should I learn first? DM in SDTM and ADSL in ADaM — almost everything else links to them.
Can I practise without a company's data? Yes. Public pilot data and the pharmaverse test-data packages provide realistic examples.
Work with real clinical datasets at Eduvercity
Eduvercity's live online Clinical SAS course, taught by Neha Jain, has you build SDTM and ADaM datasets and TLFs from realistic simulated trial data. Next, read TLF programming explained and Clinical SAS interview questions.
About the author
Neha Jain is a Principal Consultant and Trainer at Eduvercity and works independently as a freelance SAS consultant and trainer. She has trained professionals in SAS for more than 17 years and has more than 20 years of experience as a global consultant across programming, data and project leadership, and has trained more than 5,000 students and professionals, as well as teams at companies worldwide. She teaches Base and Advanced SAS, Clinical SAS (CDISC SDTM, ADaM and TLFs), clinical R and Python to learners in India, the UAE, the UK, the USA and Canada, and advises teams moving clinical programming work from SAS to R. The views in this article are her own. More about Neha and Eduvercity.




Comments