- 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
November 17, 2021 - Demo clinDataReview
Tool developed in collaboration between:
Galapagos biotech company 🤝 OpenAnalytics data science company
The tool supports standard clinical data formats:
Datasets in SAS data format (sas7bdat/xpt) are imported into R via the haven package.
clinDataReview
reportChapters that share the same kind of analysis (e.g. scatterplots, summary tables) are rendered by one Rmd template document.
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" dataProcessing: - filter: # safety analysis set - var: "RFXSTDTC" value: "" rev: true # Table parameters tableParams: var: ["AGE", "SEX", "RACE", "ETHNIC"] varInclude0: TRUE colVar: ARM # for docx export (optional): tableParamsDocx: 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"], }
The patient profile offers overview of a clinical trial for a specific patient
In the clinical data review report, the profile for a specific patient of interest is available from the summary tables and visualizations (selection/click on the P
key).
Creation with the patientProfilesVis
package, available in: CRAN & Github
Summary table of descriptive statistics are available in:
Creation with the inTextSummaryTable
package, available in: CRAN & Github
Example of unit tests of the reporting workflow:
context("Test reporting template functions") library(yaml) test_that("Test check of config file parameters", { # create example of incomplete config file configFile <- tempfile("configDivision", fileext = ".yml") write_yaml(list(reportTitle = "Study name"), configFile) # check config file versus JSON schema refConfig <- system.file(package = "clinDataReview", "template", "divisionTemplate.json") expect_error(checkConfigFile(configFile, refConfig)) })
Slides/demo available at: https://medical-monitoring.openanalytics.io/
R packages available in CRAN and github
Thanks to all contributors!