This repository has been archived by the owner on Nov 13, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.Rmd
286 lines (173 loc) · 5.74 KB
/
index.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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
---
title: "Closing the Gap"
subtitle: "Creating an End-to-End R Package Toolkit for the Clinical Reporting Pipeline"
author: "Eli Miller, Atorus & Ben Straub, GSK"
institute: "Phuse Connect 2022"
date: "04-May-2022"
output:
xaringan::moon_reader:
css: ['fc','fc-fonts', 'www/css/style.css']
lib_dir: libs
nature:
highlightStyle: github
titleSlideClass: ["bottom", "left"]
slideNumberFormat: "%current%"
highlightLines: true
countIncrementalSlides: false
ratio: "16:9"
---
class: middle, center
# Objective
## Present and discuss three R packages: {metacore}, {logrx}, {xportr} and how they fit into the larger framework of the {pharmaverse} answer to the Clinical Reporting Pipeline.
```{r, echo=FALSE, out.width="25%"}
knitr::include_graphics("www/img/ctg.png")
```
---
class: middle, center
# Outline
<br/>
Defining the Clinical Reporting Pipeline
A collaboration begins between Atorus and GSK
Open Source in a Regulated Environment
Overview of the 3 Packages – {metacore}, {logrx}, {xportr}
Welcome to the {pharmaverse}!
---
# The Clinical Reporting Pipeline
.center[
```{r, echo = FALSE, results = 'asis'}
nomnoml::nomnoml(
"[<frame>Focus on during/after the clinical trials|
[Collected|
CRFs
Lab Assays
PK
Medical Coding
]
[Tabulation|
SDTM
Traceability
No derivations
Comprehensive
]
[Analysis Ready|
ADaM
\"One Proc Away\"
\"One %>% Away\"
Derived data
Traceability
]
[Results|
Data Displays
Case Study Report
Submission Package
Quality Control
]
[Delivery to Agency|
eCTD Portal
]
[Collected] -> [Tabulation]
[Tabulation] -> [Analysis Ready]
[Analysis Ready] -> [Results]
[Results] -> [Delivery to Agency]
]",
width = 1000,
height = 500
)
```
]
---
![timeline](www/img/project_timeline.png)
---
# Challenges of using an Open-Source Language in a Regulated Environment
.two-column[
.left-col[
**An Incomplete List of Challenges**
- SAS® processes have years of use within regulatory agencies and tend to take precedence.
- Company Firewalls and VPNs.
- Sharing of code and data.
- Does a R package bend to SAS® processes or does the package recreate/redefine the process?
- Who maintains the open-source product?
]
.right-col[
**An Incomplete List of Solutions**
- Github, Gitlab and etc. help us to share, fix and build up code in an interactive and version-controlled process.
- R Consortium is working with the FDA to investigate delivering a submission in R.
- R packages already out there that mimic some of SAS® processes – {haven}, {SASxport}
- Pharma companies will have a vested interest in maintaining these packages.
- New graduates are coming out of school with R and Python skills
]
]
---
# Risk Mitigation: Why xportr pacakge is not on CRAN(yet)
.two-column[
.left-col[
### Backend dependancy issues
### Limited time from OS developers
### Difficulty Explaining the Need for Changes
]
.right-col[
- [Dec 11, 2020 - SASxport Issue Reported](https://github.com/r-gregmisc/SASxport/issues/20)
- [Feb 5, 2021 - PR to SASxport merged in](https://github.com/r-gregmisc/SASxport/pull/21)
- [Nov 17, 2021 - Issue with haven reported](https://github.com/tidyverse/haven/issues/650)
- [Nov 23, 2021 - Fix in underlying haven library patched](https://github.com/WizardMac/ReadStat/pull/258)
- [Feb 21, 2022 - New release for haven backend](https://github.com/WizardMac/ReadStat/releases/tag/v1.1.8-rc0)
- [Feb 25, 2022 - Backend updates made to haven](https://github.com/tidyverse/haven/pull/659)
- [April 15, 2022 - Updates to haven released and have been implemented into xportr](https://github.com/tidyverse/haven/releases/tag/v2.5.0)
]
]
---
# {metacore}
.two-column[
.left-col[
![metacore](www/img/metacore.png)
]
.right-col[
**Challenges for R in CRP**
- No available R packages that can ingest and parse metadata for clinical trial datasets or help build a define.xml.
**Solutions**
- Built functions for parsing xml data and other data types specific to clinical trial datasets.
- Functions and objects can be leveraged to help for dataset and variable creation as well as user for creating and codelist and derivations.
**Future development path**
- Working with different company's metadata files as well as in-development packages, e.g., admiral, to leverage metadata upstream or downstream.
]
]
---
# {logrx}
.two-column[
.left-col[
![logrx](www/img/timber_May_2022.png)
]
.right-col[
**Challenges for R in CRP**
- There is no SAS-like log file for R-based programs that show traceability and help to create audit-ready code.
**Solutions**
- Created a utilities and wrapper functions to capture user info, session information and warnings and errors in an easy-to-read format.
- Allows for recreation of script, not just the output.
**Future development path**
- Interactive display screen to batch submit multiple programs.
- What else should go in a log? Companies might have different needs.
- Name changed to logrx - got to be quick!!
]
]
---
class: middle, left
# {xportr}
![xportr](www/img/xportr_piped.png)
**Challenges for R in CRP**
- Writing a compliant xpt file using haven or other xpt-supported packages is challenging for types, lengths and labels
**Solutions**
- Adding well defined metadata
- Helps to write compliant xpt files
- Custom error, warnings and messages for information about metadata
- Checks on the data before final output
**Future development path**
- How to ingest metadata specifications from different companies and different file formats
---
#
<iframe src='www/example.html' style="width:100%;height:85%;"/>
---
#
<iframe src='www/example_with_log.html' style="width:100%;height:85%;"/>
---
# Welcome to the `{pharmaverse}`!
<img src="www/img/pharmaverse.png" style="width:100%;" />