In-browser R Shiny app
TRIALMON safety review console
Synthetic dataR runs in your browser: Shinylive and webR
A one-screen safety review of a synthetic first-in-human multiple ascending dose study, CP-101, at its Cohort 4 (120 mg) data cut with 18 dosed participants. Participant, cohort and study-level flags roll up worst-of into one ranked worklist, beside an eDISH liver plot, QTcF categories, CTCAE lab shifts, adverse events by system organ class, a DLT tally against an illustrative 3+3 rule and a study tier with a what-if. A Start here card inside the app says what each color means. The console flags positions for the medical monitor and the Safety Review Committee; it does not adjudicate cases or make a dose-escalation decision.
Try this
- Click CP101-004's row (the first AMBER) in the worklist: the sidebar packet switches to CP101-004, and the line above the worklist says which participant is open.
- Open Liver (eDISH): two points sit in the shaded box. Click CP101-014 (potential Hy's Law), then CP101-004 (its TBL peaked 18 days before its ALT, so not Hy's Law), and compare their liver tests by study day.
- Switch Lab grading to v5.0 in the sidebar: CP101-013's neutrophil count becomes grade 3 and the AMBER count rises from 7 to 8.
- On Study tier, set an indicator to RED: the study tier turns RED, and Reset to the feed undoes it.
Before you start
- Synthetic data. Every study, participant, site and number in the example is invented for this toolkit.
- R runs in your browser. Shinylive and webR run the same R code as local R; nothing you enter leaves your computer.
- First visit: about 65 MB to download, usually 10 to 20 seconds on a fast connection and longer on a slow one. Later visits take 8 to 12 seconds, because R starts fresh each time.
- Getting started: No installation is needed for this browser app. The source is also available in the toolkit.

Starting the app
- This page and its instructions
- Service worker, which lets R serve the app inside this page
- R (webR) and the app's packages: download and start
- The app's page, served by R
- The first results, computed by R
Built with Shiny, Shinylive and webR. The app is the same R code that runs locally; this page reports each step of starting it, so a slow or failed start says what happened instead of staying blank. It follows the theme toggle in the top bar.