23
Melinda, Tree of Life Melinda’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

An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 2: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

2

Disclaimer

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

Page 3: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 4: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

4

R in Pharma• SAS: golden standard

• R: alternative to SAS

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

Page 5: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 6: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

6

Why R and shiny?

Page 7: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 8: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 9: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 10: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 11: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

11

PSUR/DSUR: The ins and outs

Page 12: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

12

• Decreased complexity• Better readability of

source code

PSUR/DSUR: The ins and outs

Page 13: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

13

PSUR/DSUR: The ins and outs

Page 14: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

14

PSUR/DSUR: Flexibility

Page 15: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

15

PSUR/DSUR: Flexibility

Page 16: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

16

PSUR/DSUR: Flexibility

Page 17: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

17

demo

PSUR/DSUR: Demonstration

Page 18: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

18

Packages

Tidyverse• Data wrangling

Shiny• Interactive web pages• Visualization of results

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

Page 19: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 20: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

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

Page 21: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

§ Thank you

Page 22: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

Melinda, Tree of LifeMelinda’s artwork reflects her

journey living with HIV.

Thank you!

Page 23: An Automation Proof of Concept of Periodic Reporting via R ... · PSUR/DSUR • Periodic Safety Update Report –Development Safety Update Report • Provided to authorities periodically

23