← Biostatistician / Statistical Programmer
publisheddata

Clinical SAS programming

Write the SAS a junior clinical programmer writes: read trial data into SAS Studio, build and clean variables in the DATA step, handle clinical dates, merge datasets by subject, query with PROC SQL, summarise with PROC FREQ and PROC MEANS, reuse code with macros, derive an SDTM domain and an ADaM subject-level dataset, and produce a demographics table. It is the programmer track that opens from clinical data management; it is not a statistics course and it does not make anyone a biostatistician.

What you will be able to answer

A study team hands you raw demographics and adverse-event extracts as CSV files and asks for a subject-level summary by treatment arm for the investigator meeting. What can you produce in SAS?

A reproducible SAS program that imports the raw files, converts character dates to SAS dates, derives age and flags, merges demographics with treatment assignment by subject, builds an SDTM-style DM dataset and an ADSL-style subject-level dataset with population flags, summarises counts, percentages, means and ranges by arm with PROC FREQ and PROC MEANS, and writes a formatted demographics table to RTF or PDF — with logs checked for warnings and notes, and without claiming validated, submission-ready datasets.

Concepts
10
Selected clips
39m 51s
Employers use it
13

One payment

₹99

The videos are free

This is what you pay for

Compared → kept
47 → 10
Full videos → selected
4h 58m → 39m 51s
Concepts
10

Course outline

Learn from selected clips, concept by concept

Concept 1

Get started in SAS Studio: libraries and datasets

free

Concept 1 · Get started in SAS Studio: libraries and datasets

0:00 / 0:26

Concept 2

Build and clean variables in the DATA step

locked

After: sas-studio-and-libraries

Most clinical derivations — age groups, flags, categories — are a few lines of DATA step logic.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
2m 47s kept
Video review
5 compared

Video title and channel appear once unlocked.

Concept 3

Handle clinical dates, informats and formats

locked

After: data-step-basics

Clinical data is full of dates stored as text — and SAS can't calculate with any of them until you convert them.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
55s kept
Video review
5 compared

Video title and channel appear once unlocked.

Concept 4

Merge datasets by subject

locked

After: data-step-basics

Demographics in one file, treatment in another — the merge is where subjects quietly go missing.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
3m 35s kept
Video review
5 compared

Video title and channel appear once unlocked.

Concept 5

Query and join data with PROC SQL

locked

After: merge-by-subject

If you already know SQL, PROC SQL lets you write it inside SAS — and many clinical programmers use both.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
1m 46s kept
Video review
5 compared

Video title and channel appear once unlocked.

Concept 6

Summarise data with PROC FREQ and PROC MEANS

locked

After: data-step-basics

Nearly every clinical summary table is built from two procedures: one that counts and one that averages.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
55s kept
Video review
3 compared

Video title and channel appear once unlocked.

Concept 7

Reuse code with macro variables and simple macros

locked

After: proc-freq-means

When the same summary runs for twelve lab tests, a macro writes it once.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
1m 55s kept
Video review
4 compared

Video title and channel appear once unlocked.

Concept 8

Program an SDTM DM domain from raw data

locked

After: sas-dates-and-formats, merge-by-subject

SDTM is just structure until someone writes the code that puts raw data into it — that's the clinical programmer.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
8m 22s kept
Video review
5 compared

Video title and channel appear once unlocked.

Concept 9

Derive an ADaM subject-level dataset (ADSL)

locked

After: sdtm-dm-programming

SDTM records what was collected; ADSL records who counts in which analysis.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
4m 56s kept
Video review
3 compared

Video title and channel appear once unlocked.

Concept 10

Produce a demographics summary table

locked

After: adam-adsl, proc-freq-means

The demographics table opens the results of almost every clinical study report — and now you can build one.

Selected range
▮▮:▮▮ → ▮▮:▮▮
Clip retained
8m 30s kept
Video review
5 compared

Video title and channel appear once unlocked.

Selection criteria

  • Writes and runs SAS code on screen rather than only describing it
  • Uses clinical-trial or patient-level example data where possible
  • Explains why each step is written the way it is and checks the log
  • Uses SAS Studio, SAS OnDemand or Base SAS rather than a point-and-click task wizard only
  • Avoids course, certification or placement marketing and clinical SAS career-salary talk

What was rejected

28 candidates did not meet the course criteria.

  • Demonstrates library creation strictly via GUI dialogs; does not cover the LIBNAME statement, dataset importing, or viewing datasets via PROC PRINT or the table viewer.
  • Demonstrates SAS Viya Visual Analytics via point-and-click rather than SAS Studio with SAS code (LIBNAME, PROC PRINT/CONTENTS).
  • Is SAS installation or licence help only
  • Focuses primarily on observation filtering rather than variable creation, IF-THEN-ELSE logic, or KEEP/DROP statements.
  • Does not demonstrate reading datasets via the SET statement, nor IF-THEN-ELSE conditional logic, nor DROP/KEEP statements.
  • Does not cover reading existing datasets with SET, deriving new variables, IF-THEN-ELSE logic, or KEEP/DROP statements; focuses exclusively on raw data line-pointer controls.
  • Only explains DATA step theory without running code; or is about PROC SQL or a different language
  • Uses HR data rather than clinical trial data, uses an INFORMAT statement rather than the INPUT function, and does not compute a study day or age difference.
  • Only lists format names without converting or calculating a date
  • covers only character string functions unrelated to dates
  • Only stacks datasets with SET without a BY merge
  • Only stacks datasets with SET without a BY merge
  • Only stacks datasets with SET without a BY merge
  • Focuses primarily on PROC SQL Views and lacks table joins, summarization, and GROUP BY clauses required by the rubric.
  • Lacks coverage of WHERE clauses, GROUP BY aggregations, and table joins.
  • Does not cover WHERE clauses, GROUP BY summarization, or table joins.
  • Does not cover WHERE filtering, GROUP BY summarisation, or table joins.
  • This video covers handling missing observations in SAS using DATA step and PROC SQL, and does not demonstrate PROC FREQ or PROC MEANS.
  • This video focuses specifically on the %STR macro quoting function and does not cover %MACRO, %MEND, or writing parameterized reusable macros.
  • Only lists SDTM domains or variables without programming
  • Only lists SDTM domains or variables without programming
  • Only lists SDTM domains or variables without programming
  • Only names ADaM dataset types without explaining ADSL or its derivation
  • Only names ADaM dataset types without explaining ADSL or its derivation
  • Shows basic frame formatting options on raw sashelp.class data rather than compiling a clinical demographic summary table across treatment arms.
  • Focuses on automotive data (SASHELP.CARS) rather than clinical trial demographics or baseline characteristic tables, and does not demonstrate ODS output destinations like RTF or PDF.
  • Focuses entirely on pagination in patient lab data listings rather than creating a demographics summary table.
  • Does not teach building a full demographics or baseline characteristics summary table by treatment arm; focuses strictly on handling zero-observation edge cases.

Where this skill is used

Biostatistician / Statistical Programmer

Designing statistical analysis plans for clinical trials and analyzing the resulting datasets. Exceptionally rare for Pharm.D graduates — the role is heavily skewed toward M.Sc/PhD Statistics or Biostatistics candidates, and deep statistical programming (SAS, R, Python) is mandatory. Listed honestly: high pay and remote-friendly, but a Pharm.D needs a statistics upgrade to compete.

8 mapped employers

Explore path →

Clinical Data Management — CRO / IT-Pharma

Making clinical-trial data accurate, secure, and analysis-ready: CRF review, query generation and resolution, data cleaning, and database lock. Freshers enter through large IT/BPO hiring drives (TCS, Cognizant, Accenture) and global CROs (IQVIA, ICON, Parexel) — no coding needed at entry. Honest caveat: your clinical training gives little edge here; B.Pharm, life-science, and IT graduates compete equally, and software/SQL skills matter more than therapeutics.

10 mapped employers

Explore path →