-
Notifications
You must be signed in to change notification settings - Fork 38
/
README.Rmd
164 lines (94 loc) · 7.32 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/",
out.width = "100%"
)
# for tidyCDISC
# remotes::install_github("tidyCDISC")
```
```{r, include=FALSE}
source("scripts/os-health.R")
source("scripts/riskmetric.R")
```
# tidyCDISC <a href='https://Biogen-Inc.github.io/tidyCDISC/'><img src="man/figures/hex-tidyCDISC-170h.png" align="right"/></a>
<!-- badges: start -->
[![pharmaverse](http://pharmaverse.org/shields/tidyCDISC.svg)](https://pharmaverse.org/e2eclinical/tlg/)
[![R-CMD-check](https://github.com/Biogen-Inc/tidyCDISC/workflows/R-CMD-check/badge.svg)](https://github.com/Biogen-Inc/tidyCDISC/actions)
[![OS Health](`r badge_health`)](https://openpharma.github.io/GithubMetrics/)
[![riskmetric](`r badge_riskmetric`)](https://pharmar.github.io/riskmetric/)
[![Coverage status](https://codecov.io/gh/Biogen-Inc/tidyCDISC/branch/master/graph/badge.svg)](https://app.codecov.io/gh/Biogen-Inc/tidyCDISC/tree/devel)
<!-- badges: end -->
`tidyCDISC` is a shiny app to easily create custom tables and figures from ADaM-ish data sets.
<br>
<center>
<a href="https://rinpharma.shinyapps.io/tidyCDISC/">
<img src="man/figures/demo_tidyCDISC_button_lite2dark.png" alt="Demo full tidyCDISC app" width="25%">
</a>
</center>
## Purpose
One of `tidyCDISC`'s goals is to develop clinical tables that meet table standards leveraged for submission filings, called "standard analyses". However, this is secondary to the app's primary purpose: providing rich exploratory capabilities for clinical studies. High-level features of the app allow users to produce customized tables using a point-and-click interface, examine trends in patient populations with dynamic figures, and supply visualizations that narrow in on a single patient profile.
The beauty of the application: users don't have to write a lick of code to gather abundant insights from their study data. Thus, `tidyCDISC` aims to serve a large population of clinical personnel with varying levels of programming experience. For example:
- A **clinical head**, with presumably no programming experience (but the most domain expertise) can explore results without asking a statistician or programmer to build tables & figures.
- A **statistician** can use the application to make tables / figures instantly, cutting down on excess statistical programming requests for tables that aren't required, but are "nice to see".
::: {.floating}
```{r, echo=FALSE, out.width="25%", out.extra='style="float:right; padding:10px"'}
knitr::include_graphics("man/figures/pct_95_cropped.jpg")
```
- A **statistical programmer** can use `tidyCDISC` to perform preliminary QC programming prior to writing their own code in a validated process. Users who leverage `tidyCDISC` for routine trial analysis report **significant time savings, about 95%** on average, when performing their programming duties.
:::
For a high-level overview of the app with brief 10-minute demo, please review the following presentation on `tidyCDISC`at **Shiny Conf 2022**:
<br>
<center>
[![tidyCDISC @ Shiny Conf 2022](man/figures/tidyCDISC_RMedicine_thumbnail.png)](https://www.youtube.com/watch?v=0K8PCeKDbrI)
</center>
<br>
## Scope
As previously mentioned, `tidyCDISC` can only accept data sets that conform to CDISC ADaM standards with some minor flexibility (see [upload requirements](https://Biogen-Inc.github.io/tidyCDISC/articles/x00_Data_Upload.html) for more details). At this time, the app is designed to accept `sas7bdat` files only.
If you're looking to regularly generate R code for tables, the `tidyCDISC` app offers a handy feature to export an R script for full reproducibility of analyses performed in the app.
<br>
## Usage
You can start using the demo version of the app here: [tidyCDISC](https://rinpharma.shinyapps.io/tidyCDISC/). Note the demo version disables the **Data Upload** feature and, instead, uses CDISC pilot data. If you'd like to upload your own study data, we recommend installing `tidyCDISC` from CRAN (instructions below) to run the app locally or deploy it in your preferred environment. Please review the "[Get Started](https://Biogen-Inc.github.io/tidyCDISC/articles/tidyCDISC.html)" guide to follow an example use case with the app. However, to optimize one's use of `tidyCDISC`, we highly recommend reading the following articles that take a deeper look into the topics presented in the "Get Started" tutorial:
- [00 Data Upload](https://Biogen-Inc.github.io/tidyCDISC/articles/x00_Data_Upload.html)
- [01 Table Generator](https://Biogen-Inc.github.io/tidyCDISC/articles/x01_Table_Generator.html)
- [02 Population Explorer](https://Biogen-Inc.github.io/tidyCDISC/articles/x02_Pop_Exp.html)
- [03 Individual Explorer](https://Biogen-Inc.github.io/tidyCDISC/articles/x03_Indv_Expl.html)
- [04 Filtering](https://Biogen-Inc.github.io/tidyCDISC/articles/x04_Filtering.html)
We're confident the `tidyCDISC` application can save you time. If there is some use case that `tidyCDISC` can't solve, we want to know about it. Please send the [developers](https://github.com/Biogen-Inc/tidyCDISC/issues/new) a message with your question or request!
<br>
## Install the `tidyCDISC` R package
As a reminder, you can start using the demo version of the app right now: [launch tidyCDISC](https://rinpharma.shinyapps.io/tidyCDISC/) without any installation required. However, if you choose to upload your own study data OR export & run R code from the Table Generator, you will need the `tidyCDISC` package installed on your machine. Execute the following code to install the package:
```{r, eval=FALSE}
# Install from CRAN
install.packages("tidyCDISC")
# Or install the latest dev version
remotes::install_github("Biogen-Inc/tidyCDISC")
```
With a simple `library(tidyCDISC)` you can access all the exported functions from `tidyCDISC` that help users reproduce analysis performed in the app. Or, you can run the application locally (or deploy it in an `app.R` file) using:
```{r, eval=FALSE}
# Launch the application
tidyCDISC::run_app()
```
<br>
## Staying current
`tidyCDISC` is an actively developed project, so things are frequently changing. As such, there are a number of ways to stay current with the latest changes in any user workflows & methods for new (or past) releases! First, [our blog](https://biogen-inc.github.io/tidyCDISC/articles/Blog.html) covers all the new features and squashed bugs with detailed visuals and explanations to help you get up to speed. In addition, we have a [YouTube channel](https://www.youtube.com/@tidycdiscapp768) that posts explain-er videos for special how-to's, tips, and techniques. Last, the [NEWS file](https://biogen-inc.github.io/tidyCDISC/news/index.html) is a great resource for a recap on all the changes, with links to issues and actual code changes available for your review.
<br>
<br>
<center>
[![Blog](man/figures/blog-word-cloud.jpg){style="width:200px;float:left;margin-left: 60px;"}](https://biogen-inc.github.io/tidyCDISC/articles/Blog.html)
[![YouTube](man/figures/youtube.png){style="width:200px;"}](https://www.youtube.com/@tidycdiscapp768)
[![News](man/figures/news.png){style="width:200px;float:right;margin-right: 60px;"}](https://biogen-inc.github.io/tidyCDISC/news/index.html)
</center>
<br>
<br>
<br>
<br>
<br>
Happy exploring!
<br>
<br>