inst/shiny/clindr_Shiny_application_documentation.md

Purpose of this document

The purpose of this document is to provide supporting documentation for the {clinDR} package Shiny application.

{clinDR} Shiny application

Code for the {clinDR} Shiny app was originally written by Mike K Smith, Pfizer (mike.k.smith@pfizer.com), and currently maintained by Neal Thomas

{clinDR} package

The {clinDR} package used in the Shiny app was written by Neal Thomas, Pfizer (snthomas99@gmail.com)

Description

The Shiny app provides a wrapper around trial simulation functions within the {clinDR} package.

The package description for {clinDR} is as follows:

packageDescription("clinDR")

Package: clinDR Version: 2.4.01 Date: 2022-05-31 Title: Simulation and Analysis Tools for Clinical Dose Response Modeling Authors@R: c(person("Neal","Thomas",role=c("aut","cre"), email="snthomas99@gmail.com",comment=c(ORCID = '0000-0002-1915-8487')), person("Jing","Wu",role="aut", email="Jing_Wu@uri.edu"), person("Mike K.","Smith",role="aut", email="mike.k.smith@pfizer.com")) Maintainer: Neal Thomas snthomas99@gmail.com Description: Bayesian and ML Emax model fitting, graphics and simulation for clinical dose response. The summary data from the dose response meta-analyses in Thomas, Sweeney, and Somayaji (2014) and Thomas and Roy (2016) Wu, Banerjee, Jin, Menon, Martin, and Heatherington(2017) are included in the package. The prior distributions for the Bayesian analyses default to the posterior predictive distributions derived from these references. Depends: R (>= 3.5.0), rstan (>= 2.17.3), shiny Imports: foreach,graphics,DoseFinding,stats,mvtnorm,utils, parallel,doParallel, ggplot2, tidyr, purrr, tibble, dplyr, glue, waiter License: GPL (>= 2) NeedsCompilation: no Packaged: 2021-03-23 20:23:03 UTC; ThomasN Author: Neal Thomas [aut, cre] (https://orcid.org/0000-0002-1915-8487), Jing Wu [aut], Mike K. Smith [aut]

Intended scope of use

The {clinDR} Shiny app is intended for use in planning of dose-response studies

{clinDR} package overview (as it used in the {clinDR} Shiny app)

The application uses the emaxsim and emaxsimB functions from the {clinDR} package to assess trial operating characteristics - data is simulated using a 3- or 4- parameter Emax model with parameters requested by the user. This simulated data is then analysed using a 3 (or 4 parameter) Emax model. For the maximum likelihood approach implemented in emaxsim, if the Emax model fit does not converge, then the estimation “steps down” to try MLE for 3 parameter Emax model (if the user specifies trying a 4-parameter Emax), Exponential, Log, log-linear and linear models. More detail is found in the explanation of the emaxsim and emaxalt functions within the {clinDR} package. The emaxsimB function fits a Bayesian Emax model using Stan with priors specified by the user through the Shiny app.

Binary data (response rates) can also be simulated and modelled in a similar fashion.

Further information can be found in {clinDR} documentation.

In particular, users should read the documentation for emaxsim, emaxsimB and emaxPrior.control carefully to understand how to specify parameters and priors for the Emax model parameters. These are provided in tabs within the shiny app for convenience.

{clinDR} Shiny app

The application provides the user with basic settings for {clinDR} emaxsim and emaxsimB simulations. Additional code is used to graphically summarise the simulation output and fitted results.

The application also provides code used to produce results within the app so that the user can recreate results in a separate R session by copy-pasting this code into an R script. The user can then specify additional arguments to {clinDR} functions to have finer control over the simulation and analysis processes.

The Shiny app is intended to providing a starting point for colleagues wishing to evaluate different dose-response or dose-finding designs. It could provide a means of quick feedback and discussion within MIDD teams involving Statistics, Clin Pharm, Pharmacometrics and Clinicians. If the settings within the app are sufficient for a final design decision to be made, the app provides sufficient reporting and reproducibility with the user being provided with downloadable code.

Pre-requisites

This code requires the following packages in addition to {Shiny}:

Version information

The version of the {clinDR} Shiny app is v1.4.

Version history

Version Date Comments v1.0 2018/12/03 Initial version. v1.1 2019/01/02 Added markdown reporting download functionality v1.2 2020/02/20 Updated to work with clinDR v2.2.1 v1.3 2020/04/22 Refactored v1.4 2020/05/19 Updates following review by Neal Thomas v1.5 2020/09/02 Incorporate input from reviewers v1.6 2020/11/17 Handle user feedback if prior settings not reviewed v1.7 2021/03/22 Minor changes to handling variable selection in fit.quantiles and associated glue code for reproducibility v1.8 2021/03/31 Revising prior to CRAN submission v2.1 2023/07/30 Major changes to make output updating match inputs

Source code

Source code for the application is held in a github repository as part of the clinDR package.

Testing

Scope

Since the Shiny app is a wrapper around the {clinDR} package, it is assumed that the {clinDR} package testing is handled by the package author, and that this is adequate for its intended use.

Results

Algorithms

The Shiny app has been run with inputs specified in the {clinDR} package documentation and has been found to match results when running these examples external to the app.

Presented code

When the code generated within the Shiny app is run external to the application, the results match those presented within the application. The inputs visibile in the shiny app are checked against the inputs in the generated code to ensure the inputs visible in the shiny interface are used in the calculations.



Try the clinDR package in your browser

Any scripts or data that you put into this service are public.

clinDR documentation built on Aug. 9, 2023, 9:08 a.m.