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

rpact.org/vignettes

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