Pharmaverse Onboarding

A structured onboarding path into R and open-source clinical data science

pharmaverse onboarding

A structured path from SAS expertise into R and the open-source clinical data science ecosystem — including the 2026 Pharmaverse Hackathon series.

Who this is for

This guide is written for experienced clinical SAS programmers who are new to R. You already understand the hard stuff: CDISC standards, ADaM and SDTM structures, clinical trial data, and the FDA regulatory expectations that govern everything we build.

R is new syntax for familiar concepts. That context compresses the learning curve significantly — more than you might expect.

The goal of this guide is a structured, low-pressure path toward:

  1. A working R environment and GitHub presence
  2. Familiarity with the pharmaverse package ecosystem
  3. Participation in the 2026 Pharmaverse Hackathon series

What is pharmaverse?

Pharmaverse is a curated ecosystem of open-source R packages purpose-built for clinical reporting and regulatory submission. The packages are developed collaboratively across companies — Roche, GSK, Novartis, AstraZeneca, Pfizer, and many others — and maintained to CDISC standards.

The key insight is that no single company needs to solve the same clinical programming problem alone. Pharmaverse packages handle SDTM-to-ADaM derivation, metadata management, output generation, transport file creation, and more — all interoperable, all openly maintained.

NoteThe pharmaverse examples site

The best single starting point is the pharmaverse examples site, which shows realistic end-to-end clinical programming workflows using the actual package ecosystem. Browse it early and often.


Your SAS background is an asset

A common misconception is that switching from SAS to R means starting over. It doesn’t — at least not in clinical programming.

In SAS you know… In pharmaverse R this maps to…
PROC SORT / DATA step merges derive_vars_merged(), derive_vars_joined() in {admiral}
ADaM ADSL population flags derive_var_extreme_flag(), derive_var_merged_exist_flag()
ADaM analysis visit/timing derive_vars_dt(), derive_vars_dtm(), derive_var_ady()
Controlled terminology lookups ct_map() in {admiralvaccine}; {metacore} + {metatools}
PROC REPORT / PROC TABULATE {gtsummary}, {rtables}, {tfrmt}
XPT transport files xportr_write(), xportr_label() in {xportr}
Macro variables / %LET R objects; {metacore} for spec-driven metadata

The CDISC logic you already carry — derivation rules, population flags, timing conventions — translates directly. You’re learning a new instrument, not a new song.


How to use this guide

Use the navigation above to work through the steps at your own pace. The Getting Started page walks through environment setup and key package sites. The 2026 Hackathons page covers the official pharmaverse hackathon series and how to prepare for it.

There is no deadline pressure. The Resources page collects additional links for going deeper at your own pace.

Ready to start?
Head to Getting Started → to set up R and create your GitHub account.