November 17, 2021 - Demo clinDataReview


  • Introduction to clinical data review
  • Demonstration of the clinical data review tool
  • Behind the scene
  • Q&A

Tool developed in collaboration between:
Galapagos biotech company 🤝 OpenAnalytics data science company

What is clinical data review?

  • Clinical data review:
    • for review of the data collected during a clinical trial
    • (clinical monitoring) follow-up progress study according to protocol
    • exploration and review of safety data: early detection of safety signals
  • Diverse audiences:
    • statistician, statistical programmer, data management
    • medical monitors, physician
    • external audience: data monitoring committee
  • Goals of the tool:
    • interactive tool with standard set of visualizations/tables of safety data
    • deliverable reproducible, tracebable and easily shareable with different users
    • sufficient customization (tailored to study if needed)
    • user-friendly: software (non R users)/data format
    • for blinded (interim) and unblinded (specific trials) data analysis
    • table compatible with Clinical Study Report format

Demonstration of the clinical data review tool

Example clinical data review report

  • Example monitoring report available at:
    (Report generated with latest version of the R packages)
  • Based on the original pilot study dataset from CDISC :
    • SDTM datasets, available in PhUSE github
    • to investigate safety and efficacy of the Xanomeline Transdermal Therapeutic system in patients with mild to moderate Alzheimer disease
    • safety endpoints of interest: adverse events, vital signs, laboratory evaluations
  • Comparison of data/batch based on the creation of a dummy dataset with modification of records of CDISC original pilot dataset

Behind the scene

Data sources

The tool supports standard clinical data formats:

Datasets in SAS data format (sas7bdat/xpt) are imported into R via the haven package.

Creation of the clinDataReview report

  • The clinical data review report, in HTML format, consists of a set of chapters.
  • Each chapter is created based on:
    • a standard template report (or user custom analysis report) in R Markdown format
    • a configuration file for the user to set the study-specific parameters (YAML format)
      Each configuration file corresponds to one HTML section.
  • Chapters are combined into a gitbook HTML report (bookdown)

Chapters that share the same kind of analysis (e.g. scatterplots, summary tables) are rendered by one Rmd template document.

Configuration file

The input parameters are documented (at package creation) and checked (at run time) for each template report via a JSON schema file.

YAML configuration file (study-specific)

# Report-specific parameters
template: summaryTableTemplate.Rmd
templatePackage: clinDataReview
reportTitle: Demographics
# Dataset of interest
dataFileName: "dm.xpt"
  - filter:
    # safety analysis set
    - var: "RFXSTDTC" 
      value: ""
      rev: true
# Table parameters
  var: ["AGE", "SEX", "RACE", "ETHNIC"]
  varInclude0: TRUE
  colVar: ARM
# for docx export (optional):
  file: summaryDemographics.docx
  statsVar: ['Median (range)', 'n (%)']

JSON schema documentation file (in R package)

  "title" : "Clinical data template for a summary table of the data",
  "description" : "This report summarizes the data of interest.
  This table is displayed with an interactive table in the report, 
  and exported to a docx file." 
  "properties": {
    "template": {
      "const": "summaryTableTemplate.Rmd",
      "doc": "name of the template report"
    "dataFileName" : {
      "type": "string",
      "doc": "name of the data file of interest"
    "dataProcessing": {
      "type": "array",
      "doc": "data processing parameters, ..."
    }, ...
  "required": ["template", "templatePackage", "reportTitle", 
    "dataFileName", "plotFunction", "plotParams"],

Clinical data review

  • Template reports (Rmarkdown) and associated documentation (JSON file)
  • Interactive standalone visualizations (with plotly)