Demographic Summary by Treatment Arm
Loading...
Age Distribution
Loading...

Loading...
Loading...
Loading...

Laboratory Trends — CDISCPILOT01
Loading...
Individual Subject Selection
Loading...

Vital Signs — Mean ± 95% CI by Visit
Loading...

MMSE at Baseline — Waterfall by Change
Loading...
Time to First AE — Kaplan-Meier
Loading...

Swimmer Plot — Subject Treatment Duration + AE Events
Loading...

What is ClinTrial Explorer?

ClinTrial Explorer is an enterprise R Shiny application for interactive clinical trial data exploration. It is built on CDISCPILOT01 — the public CDISC Alzheimer's pilot study (xanomeline vs placebo) — and demonstrates the full range of R Shiny development patterns used in pharmaceutical companies.

Study: CDISCPILOT01 | Indication: Alzheimer's Disease | Arms: Xanomeline Low Dose (54mg), High Dose (81mg), Placebo | N=254

Architecture

This app is built with a modular Shiny pattern: each tab is a self-contained module with a _UI(), _select_UI() (sidebar), and _Server() function. Reactivity uses reactiveValues() + observeEvent() for data preparation, and reactive() for filtered outputs.

  • global.R: loads packages, reads all ADaM datasets, defines helpers (vline, hline, plotly_clean, plotly_unique_legend, DataCut R6 class, grade_chip)
  • ui.R: page_navbar + conditionalPanel sidebar (shows module-specific controls per tab)
  • server.R: calls all module Server functions
  • modules/: one .R file per domain: overview, ae, lab, vs, efficacy, swimmer

Key R Patterns Used

  • Modules: NS(id), moduleServer(), _UI / _select_UI / _Server split
  • reactiveValues(): stores derived data built in observeEvent()
  • bindCache(input$study_id): caches SAS read by study
  • conditionalPanel(): sidebar adapts to active tab
  • plotly_clean(): strips toolbar (custom helper from production apps)
  • plotly_unique_legend(): deduplicates legend groups
  • R6 class DataCut: OOP data-cut date handler
  • Swimmer plot: add_bars() horizontal + add_markers() for events
  • Waterfall plot: MMSE change from baseline, colour by direction
  • Spaghetti + mean±CI: dual-mode lab/VS plot
  • Kaplan-Meier: survfit() + plotly lines

CDISC ADaM Datasets

Version Info
App ClinTrial Explorer
Version v1.0
Study CDISCPILOT01
Standard CDISC ADaM
Data Synthetic (public structure)
URL clincoder.cloud/clintrial-explorer