An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety...

Post on 12-Oct-2020

12 views 0 download

Transcript of An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety...

Melinda, Tree of LifeMelinda’s artwork reflects her

journey living with HIV.

An Automation Proof of Concept of Periodic Reporting via R Shiny

Nicholas Masel (Analytics Innovation Technical Lead)Steven Haesendonckx (Senior Programmer Analyst - Statistical Programming, IDAR)Alexandra Papadopoulou (Programmer Analyst – Statistical Programming, IDAR)

September, 2019

2

Disclaimer

Some of the opinions are personal and might not reflect the company’s view on things.

5

4

3

2

3

AgendaR & Shiny

PSUR/DSUR as PoC

Shiny : Behind the scenes

PSUR/DSUR : The ins and outs

PSUR/DSUR : Flexibility

PSUR/DSUR: Demonstration

Fade out with Q&A

1

6

7

4

R in Pharma• SAS: golden standard

• R: alternative to SAS

• Ongoing efforts from industry http://rinpharma.com/https://www.pharmar.org/

5

Why R and shiny?

Large user baseActive community

Cutting edge statistical analysisExtensive graphical tool box

Easy to learn

R PackageBuild interactive websites

No knowledge of JS, HTML, ....requiredIdeal for interactive analysis and reporting

6

Why R and shiny?

7

PSUR/DSUR as a PoCPSUR/DSUR

• Periodic Safety Update Report – Development Safety Update Report

• Provided to authorities periodically

• Relatively simple safety report

• Pre-specified tables and listings generated

Automatization

8

Shiny: Behind the scenes

Ø Source file needs to be created in R which defines:Ø UI(User Interface)Ø Server function

Ø UI:Ø Relevant code for layoutØ Embedded widgets

Ø Server function:Ø Translation of input to output

9

Shiny: Behind the scenes

Source file in R which defines:• User Interface (UI)• Server function

UI:• Relevant code for layout• Embedded widgets

Server function:• Translation of input to output

10

Shiny: Behind the sceneslibrary(shiny)

# Define UI for the applicationui <- fluidPage(

headerPanel("Hello Shiny!"))

# Define the server logicserver <- function(input, output) {}

# Run the applicationshinyApp(ui = ui, server = server)

input

output

11

PSUR/DSUR: The ins and outs

12

• Decreased complexity• Better readability of

source code

PSUR/DSUR: The ins and outs

13

PSUR/DSUR: The ins and outs

14

PSUR/DSUR: Flexibility

15

PSUR/DSUR: Flexibility

16

PSUR/DSUR: Flexibility

17

demo

PSUR/DSUR: Demonstration

18

Packages

Tidyverse• Data wrangling

Shiny• Interactive web pages• Visualization of results

Huxtable• HTML output for shiny UI• RTF output for download

19

Future EnhancementsImprove on the UI/UX

Develop summary functions for complex outputs

Include interactive display mode of outputs

Include graphs

Validation• Accuracy, reproducibility, traceability • SOP of process, package selection, justification, unit testing• Docker containers and R Studio Package Manager for reproducibility

20

Conclusion

R: easier to learn and cost-effective

R and Shiny: potential for interactive analysis and reporting

More key features are required for other reporting efforts

PSUR/DSUR PoC is a solid starting point for expansion

§ Thank you

Melinda, Tree of LifeMelinda’s artwork reflects her

journey living with HIV.

Thank you!

23