rpact: Confirmatory Adaptive Clinical Trial Design and Analysis
Gernot Wassmer and Friedrich Pahlke
July 21, 2023
Introduction
- Designs with interim stages introduced in the late 1970s
- Nowadays quite popular and software exists (e.g., SAS, EaSt, ADDPLAN, nQuery, PASS, gsDesign, …)
- Confirmatory adaptive designs allow the data-driven re-design of the trial under control of the Type I error rate
- Introduced by the seminal papers of Bauer (1989) and Bauer and Köhne (1994)
- Main idea: “Combination tests”
- If conducted carefully, adaptive designs are accepted by regulatory agencies and quite often used in practice
rpact / RPACT
rpact Package
- Comprehensive validated R package
- Design, simulation, and analysis
of confirmatory adaptive group sequential designs
- Monograph by Wassmer and Brannath, Springer, 2016
\(\rightarrow\) www.rpact.org
RPACT Company
- Founded in May 2017 by Gernot Wassmer and Friedrich Pahlke
- Idea: open source development with help of crowd funding
- Currently supported by 22 companies \(\rightarrow\) Service Level Agreement (SLA)
- 78 presentations and training courses since 2018
\(\rightarrow\) www.rpact.com
RPACT User Group
- Boehringer Ingelheim
- Metronomia Clinical Research
- F. Hoffmann-La Roche
- Excelya
- Dr. Willmar Schwabe
- Bayer
- Merck
- AbbVie
- Dr. Falk Pharma
- Klifo
- FGK Clinical Research
- medac
- UCB
- GKM
- Parexel
- Nestlé
- Janssen (Johnson & Johnson)
- Novartis
- PPD (Thermo Fisher Scientific)
- Sanofi
- Solara Consulting
- Pfizer
RPACT Cloud
- Graphical user interface
- Provides an easy entry to rpact
- Starting point for your R Markdown or Quarto reports
- Helpful to learn/demonstrate the usage of rpact in a user friendly and intuitive way
- \(\rightarrow\) cloud.rpact.com
RPACT Cloud – Example
R Package rpact
R Package rpact – Functional Range
Design
- Group sequential designs, e.g., Wang & Tsiatis \(\Delta\)-class, \(\alpha\)-spending, \(\beta\)-spending, …
- Inverse normal design
- Fisher’s combination test
- Design with no interim stages
Sample size and power calculation for
- testing means (continuous endpoint)
- testing rates (binary endpoint)
- survival trials with, e.g.,
- piecewise accrual time and intensity
- flexible follow-up time specification
- piecewise exponential survival time
- fixed sample size design
R Package rpact – Functional Range
Simulation tool for assessing adaptive strategies, e.g.,
- continuous, binary, and survival endpoint
- sample size reassessment
- treatment arm or population selection rules
- different methodologies
Analysis tool for
- continuous, binary, and survival data
- multi-arm adaptive trials
- population enrichment designs
R Package rpact – Package Concept
Package Concept – Workflow
Usage inspired by the typical workflow in trial design and conduct:
- Everything is starting with a design, e.g.:
design <- getDesignGroupSequential()
- Find the optimal design parameters with help of rpact comparison tools:
getDesignSet()
- Calculate the required sample size and power, e.g.:
getSampleSizeMeans(), getPowerMeans()
- Simulate specific characteristics of an adaptive design, e.g.:
getSimulationMeans()
- Collect your data, import it into R and create an rpact dataset:
data <- getDataset()
- Analyze your data:
getAnalysisResults(design, data)
Package Concept – Focus on Usability
Almost all functions, arguments, and objects are self-explanatory due to their names:
getDesign[GroupSequential/InverseNormal/Fisher]()
getDesignCharacteristics()
getSampleSize[Means/Rates/Survival]()
getPower[Means/Rates/Survival]()
getSimulation[MultiArm/Enrichment][Means/Rates/Survival]()
getDataset()
getAnalysisResults()
Package Concept – Utilities
Several utility functions are available, e.g.:
- Survival helper functions:
getAccrualTime()
getPiecewiseSurvivalTime()
getNumberOfSubjects()
getEventProbabilities()
getPiecewiseExponentialDistribution()
getObjectRCode()
testPackage(): installation qualification on a client computer
or company server (\(\rightarrow\) unit tests)
Package Concept – The rpact Validation
- Formal validation approach inspired by GAMP 5
testPackage() currently comprises around 30.000 unit tests
- The unit tests refer to the functional specification
- Customer specific validation documentation for each rpact release
- Licensed for exclusive use by our customers
Package Concept – The rpact Manual
help(package = "rpact") : Inline help
