top of page
Search

Clinical SAS Interview Questions and Answers: 25 Questions with Clear Answers

nehaeduvercity
8 hours ago
5 min read

By Neha Jain, Principal Consultant and SAS trainer · 17+ years training in SAS · 5,000+ learners trained · Updated 7 November 2026


Clinical SAS interviews test two things: whether you really understand how SAS works, and whether you understand clinical trial data. This guide collects the questions that come up most often, grouped by topic, with clear answers you can build on in your own words.


The short answer

Expect questions in five areas: Base SAS internals, macros, reporting, CDISC SDTM and ADaM, and clinical concepts with validation. Interviewers care less about memorised definitions and more about whether you can explain why — so practise answering aloud with examples from your own projects.


What Clinical SAS interviews test: Base SAS, macros, reporting, CDISC SDTM and ADaM, clinical concepts and QC

Base SAS questions

1. What is the PDV?

The program data vector is the area of memory where SAS builds one observation at a time while a DATA step runs. It holds the variables being processed plus automatic variables such as _N_ (the iteration count) and _ERROR_.

2. What is the difference between WHERE and a subsetting IF?

WHERE filters observations before they are read into the PDV, so it is efficient and also works in procedures. A subsetting IF works after the observation is in the PDV, so it can use variables created earlier in the same DATA step.

3. When would you use MERGE versus a PROC SQL join?

MERGE needs the data sorted by the BY variables and handles one-to-one and one-to-many matches well. PROC SQL needs no sorting and handles many-to-many joins, which a DATA step MERGE does not handle correctly.

4. What does RETAIN do?

It stops SAS resetting a variable to missing at the start of each DATA step iteration, so values can carry forward — for example, running totals or last-observation-carried-forward logic.

5. What are FIRST. and LAST. variables?

With a BY statement, SAS creates temporary FIRST.var and LAST.var flags that equal 1 on the first and last record of each BY group — useful for counting, deduplicating and picking baseline records.

6. How does SAS treat missing numeric values in comparisons?

A missing numeric value is smaller than any number, so a condition like the one below is true for missing values unless you exclude them:

if lbstresn < 5 then flag = "LOW";            /* also true when missing! */
if not missing(lbstresn) and lbstresn < 5 then flag = "LOW";

7. What is the difference between the INPUT and PUT functions?

INPUT converts character to numeric using an informat; PUT converts a value to character using a format.

8. Why might a character value be truncated?

SAS sets a character variable's length the first time it appears in the DATA step. Declare it with a LENGTH statement before first use to avoid truncation.


Macro questions

9. What is the difference between %LET and CALL SYMPUTX?

%LET assigns a macro variable from text when the code is compiled. CALL SYMPUTX creates one from a DATA step value at execution time; it becomes available after that DATA step finishes.

data _null_;
  set adam.adsl end=eof;
  if eof then call symputx("n_subj", _n_);
run;
%put NOTE: Number of subjects = &n_subj;

10. How do you debug a macro?

Turn on the system options MPRINT (shows generated code), MLOGIC (shows macro logic) and SYMBOLGEN (shows how macro variables resolve), then read the log.

11. Why use macros in clinical programming?

The same table is often produced for many parameters, visits or populations. A parameterised macro produces them consistently and reduces copy-paste errors.


Reporting questions

12. How do you create an RTF table?

Wrap PROC REPORT in ODS RTF statements, apply a style template, and control titles, footnotes and column formats. Our TLF programming guide shows a full example.

13. What is the difference between GROUP, ACROSS and ANALYSIS in PROC REPORT?

GROUP collapses rows into groups, ACROSS turns a variable's values into columns, and ANALYSIS calculates statistics on numeric variables.

14. Which procedure do you use for figures?

ODS Graphics procedures such as PROC SGPLOT for line, bar, scatter and box plots, and PROC LIFETEST for Kaplan-Meier curves.


CDISC SDTM and ADaM questions

15. What is the difference between SDTM and ADaM?

SDTM organises collected data into standard domains; ADaM derives analysis-ready datasets from SDTM with traceability. See SDTM vs ADaM explained.

16. Which classes do SDTM domains belong to?

Special-purpose (such as DM), interventions (EX, CM), events (AE, MH, DS) and findings (LB, VS, EG), plus findings about and trial design domains.

17. When do you use SUPPQUAL?

For collected values that have no standard variable in the parent domain; they go into the matching SUPP-- dataset, linked by key variables.

18. How is the study day (--DY) calculated in SDTM?

Relative to the reference start date: the reference date is Day 1 and the day before is Day -1. There is no Day 0.

19. What is ADSL?

The subject-level analysis dataset: one row per subject with treatment variables, key dates, demographics and population flags such as SAFFL and ITTFL.

20. What is the difference between BDS and OCCDS?

BDS holds parameter values over time, such as labs and vital signs, with variables like PARAMCD, AVAL, BASE and CHG. OCCDS is for counting occurrences, such as adverse events and medications.

21. What is define.xml?

The metadata file that describes every submitted dataset, variable, code list and derivation, so reviewers can understand and trace the data.


Clinical and validation questions

22. What is a treatment-emergent adverse event?

Usually an adverse event that starts, or worsens, on or after the first dose of study treatment. The exact rule, including any window after the last dose, comes from the statistical analysis plan.

23. How do you define baseline?

Commonly the last non-missing value on or before the first dose, but always follow the SAP for windows and tie-breaking rules.

24. What is double programming?

A second programmer independently writes code to produce the same dataset or output, and the two are compared — usually with PROC COMPARE — until they match.

proc compare base=prod.adsl compare=qc.adsl listall criterion=1e-8;
  id usubjid;
run;

25. What does Pinnacle 21 do?

It checks SDTM and ADaM datasets and define.xml against CDISC and regulatory conformance rules, so issues are fixed or explained before submission.


How to prepare

  • Practise each answer aloud in under a minute, with one example from your work or projects.

  • Rebuild a small project end to end: one SDTM domain, ADSL, one ADaM dataset and one table.

  • Review the SAP concepts — baseline, populations, TEAEs — not just the code.

  • Be honest about what you have and haven't done; interviewers probe deeply.

New to the field? Start with the SAS programmer roadmap and Clinical SAS career scope.


Prepare for Clinical SAS interviews with Eduvercity

Eduvercity's live online Clinical SAS course, taught by Neha Jain, includes mock interviews, resume review and hands-on SDTM, ADaM and TLF projects you can talk about with confidence.




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


Frequently Asked Questions

Q: Are classes live or recorded?
A: Classes are live and online, with the trainer teaching each session.

​

Q: Can I join from outside India?
A: Yes. Batches are timed for learners in India, the UAE, the UK, the USA and Canada.

​

Q: Do I need a programming background?
A: Not for Base SAS, Clinical SAS or the beginner R and Python courses.

​

Q: Do I get a certificate?
A: Yes, an Eduvercity course-completion certificate. For SAS certification, we train you for the SAS exams, clear your doubts and guide your preparation; you book and take the exam directly with SAS.

​

Q: Is Eduvercity an official SAS or R partner?
A: No. Eduvercity is an independent training provider that teaches SAS and R tools and concepts.

​

Q: How do I enrol and pay?
A: WhatsApp us on +91 80509 22145 for fees and the next batch. Payment is by UPI or bank transfer.

+91 80509 22145

  • Facebook
  • YouTube

© 2026 Eduvercity. All rights reserved

SAS is a registered trademark of SAS Institute Inc. R is a project of the R Foundation. Eduvercity is an independent training provider and is not affiliated with or endorsed by either.

bottom of page