46 | * Ning had started investing using LLMs to generate portions of the ADRG. There may be an update at the next WG meeting.
47 |
48 | ## ADRG updates
49 |
50 | * The group's approach is to help communicate the version of different packages and how to best display that information in the ADRG template.
51 | * Feedback has been received from FDA reviewers. The group is looking into ways to update templates such that multiple software languages can be supported
52 | * Keeping in close sync with Christine at Pfizer on ensuring the existing standards are being met.
53 | * Also have plans to contact reps from Pinnacle21 on how they populate the ADRG, while ensuring minimal overlap occurs.
54 | * Goal of the group is to reduce manual effort of populating the various tables in the ADRG such as package versions, number of programs, functions used in those programs, which is all a manual effort at the moment
55 |
56 |
57 | ## Other Topics
58 |
59 | * Yilong would like to know if there is interest in a Python-based pilot for submitting tables and listings produced in Python.
60 | * Thus far not as much interest in the office of Biostatistics according to FDA reviewers
61 | * CDRH handles things differently than CDER. CDRH does not require CDISC standards to be followed. A greater range of issues can occur in those cases.
62 | * Meta has utilized standards inspired by CDISC in their initial work
63 | * FDA is open to a more focused discussion, but they will need to pull in internal experts that have more expertise
64 | * Eric asked about the FDA having any preference on the method of rounding as there are rare cases where the default rounding method in R can be different than SAS default method
65 | * FDA does not have a "preferred method" to share at this time, and there may not be a single one answer that's correct in this area
66 | * Pilot 1 had a small issue with rounding dealing with the approximation method for confidence intervals
67 | * We are looking for help on the website! Please get in touch with the working group and browse the [GitHub issue list](https://github.com/RConsortium/submissions-wg/issues) if you would like to contribute.
68 |
--------------------------------------------------------------------------------
/minutes/_metadata.yml:
--------------------------------------------------------------------------------
1 | # options specified here will apply to all posts in this folder
2 |
3 | # prevents posts from re-rendering unless explicitly told to do so (for more, see https://quarto.org/docs/projects/code-execution.html#freeze)
4 | freeze: true
5 |
6 | # enable banner style title blocks (see https://quarto.org/docs/authoring/title-blocks.html)
7 | title-block-banner: true
8 |
9 | author: 'Eric Nantz & Theresa Christiani'
10 |
11 | comments:
12 | giscus:
13 | repo: RConsortium/submissions-wg
14 | repo-id: "MDEwOlJlcG9zaXRvcnkzMTk1MjUxNTI="
--------------------------------------------------------------------------------
/minutes_prep.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Minutes Document Writer"
3 | format:
4 | html:
5 | toc: true
6 | echo: false
7 | ---
8 |
9 | ```{r}
10 | #| output: false
11 |
12 | library(openxlsx2)
13 | library(dplyr)
14 | people_df <- read_xlsx("data/wg_attendees.xlsx", sheet = 1) |>
15 | mutate(name2 = paste0(name, " (", affiliation, ")")) |>
16 | arrange(name) |>
17 | select(-affiliation_url)
18 |
19 | ojs_define(people_data = people_df)
20 | ```
21 |
22 | # Instructions
23 |
24 | This interactive page creates a template Quarto document text for capturing meeting minutes associated with the Submissions working group.
25 |
26 | ## Date Selection
27 |
28 | Use the date input below to choose the date of the meeting. Click the calendar icon in the widget to launch the UI.
29 |
30 | ```{ojs}
31 | viewof meeting_date = Inputs.date({
32 | label: "Meeting Date",
33 | value: "2024-12-01"
34 | })
35 | ```
36 |
37 | ```{ojs}
38 |
39 | meeting_year = (meeting_date.getFullYear()).toString()
40 | meeting_month = (meeting_date.getMonth() + 1).toString().padStart(2, "0")
41 | meeting_day = (meeting_date.getDate() + 1).toString().padStart(2, "0")
42 |
43 | meeting_array = [meeting_year, meeting_month, meeting_day]
44 | meeting_print = meeting_array.join("-")
45 | ```
46 |
47 |
48 |
49 | ## Attendee Selection
50 |
51 | Use the personnel table below to select the attendees present at the meeting by checking the box that appears once you hover your cursor above a name. The table is ordered alphabetically by first name as default, but you can sort by a different column by clicking the column name.
52 |
53 | ::: {.callout-warning}
54 | If an attendee is not listed in this table, please add their name, affiliation, and affiliation URL to the `wg_attendees.xlsx` spreadsheet located in the `data` subdirectory of this repository. After your edits to the spreadsheet are completed, re-build the Quarto site.
55 | :::
56 |
57 | ```{ojs}
58 | data2 = transpose(people_data)
59 | ```
60 |
61 |
62 | ```{ojs}
63 | viewof people_selection = Inputs.table(data2, {
64 | sort: "name",
65 | multiple: true,
66 | rows: 40,
67 | required: false
68 | })
69 | ```
70 |
71 | # Output
72 |
73 | ## Setup
74 |
75 | In your local copy of this repository, create a sub-directory within the `minutes` directory to hold files associated with this meeting's minutes. Based on your selection above, create the following directory:
76 |
77 | ```{ojs}
78 | meeting_print
79 | ```
80 |
81 | Copy the text in the output below into a new Quarto document named `index.qmd`.
82 |
83 | ```{ojs}
84 | silly = html`${Array.from(new Set(people_selection.map(c => c.name2)))
85 | .sort()
86 | .map(c => `- ${c}`)
87 | .join("\n")}`
88 |
89 | silly2 = html`---
90 | title: "Minutes ${meeting_print}"
91 | date: ${meeting_print}
92 | ---
93 |
94 | ::: {.callout-tip collapse="true"}
95 | ## View Attendee List
96 |
97 | ${silly}
98 | :::
99 |
100 | ## Add Minutes Here
101 |
102 |
`
103 | ```
104 |
105 | ```{ojs}
106 | silly2
107 | ```
--------------------------------------------------------------------------------
/pilot1.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "R Submission Pilot 1"
3 | comments:
4 | giscus:
5 | repo: RConsortium/submissions-wg
6 | repo-id: "MDEwOlJlcG9zaXRvcnkzMTk1MjUxNTI="
7 | ---
8 |
9 | ## Pilot 1 - Common Analyses
10 |
11 | **Goal**: Example R based submission contains common analyses, submission through the current FDA e-submission system and process.
12 |
13 | **Key evaluation aspects**:
14 |
15 | - For Submitter
16 | - Submission of proprietary R packages
17 | - Preparation of R-based submission materials
18 | - For FDA Staff
19 | - Reproduce analysis results by reconstructing submitted proprietary packages / retrieving open source packages
20 |
21 | **Data and analysis scope**:
22 |
23 | - 4 TLFs
24 | - Simulated data from CDISC Pilot
25 |
26 |
27 | **Success Criteria**:
28 |
29 | - Submitter:
30 | - Successfully submit via eCTD portal
31 | - FDA Reviewer:
32 | - Reproduce analysis results
33 |
34 |
35 | **Timeline**:
36 |
37 | - 2021.11 Initial submission to FDA.
38 | - 2022.12 Received FDA response
39 | - 2022.02 Revised submission to FDA
40 | - 2022.03 Received final FDA response.
41 |
42 |
43 | **Links**:
44 |
45 | [R Submission Pilot 1 Development Repo](https://github.com/RConsortium/submissions-pilot1)
46 |
47 |
48 | [R Submission Pilot 1 eCTD Submission Package to FDA](https://github.com/RConsortium/submissions-pilot1-to-fda)
49 |
50 | **Additional Activities**
51 | - explore pilot submissions to other HAs (Japan, China)
52 |
53 | **Key team members**:
54 |
55 | Developer team:
56 | - Ning Leng, Heng Wang (Roche)
57 | - Mike Stakehouse, Eli Miller (Atorus)
58 | - Yilong Zhang, Peikun Wu (Merck)
59 |
60 | Esub team:
61 | - Beverly Chin (Roche)
62 | - Tim Powell (Biogen)
63 |
64 | FDA Staff:
65 | - Paul Schuette
66 | - Hye Soo Cho
--------------------------------------------------------------------------------
/pilot2.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "R Submission Pilot 2"
3 | ---
4 |
5 | ## Pilot 2 - shiny submission
6 |
7 | **Goal**: Example R based submission contains a shiny app, submission through the current FDA e-submission system and process
8 |
9 | **Key evaluation aspects**:
10 |
11 | - For Submitter
12 | - Submission of an shiny app through the eCTD portal
13 | - The shiny codes will be provided as a proprietary R package
14 | - For FDA Reviewer
15 | - Reproduce analysis results by deploying the shiny app on a FDA laptop/server
16 |
17 | **Timeline**: 2022 H1
18 |
19 | **Data and analysis scope**:
20 |
21 | - a shiny app that displays the 4 TLFs submitted in [pilot 1]((https://github.com/RConsortium/submissions-pilot1-to-fda)), with basic data set filtering functionalities.
22 | - Simulated data from CDISC Pilot (the same data set as in pilot 1)
23 |
24 | **Links**:
25 |
26 | [R Submission Pilot 2 Development Repo](https://github.com/RConsortium/submissions-pilot2)
27 |
28 |
29 | [R Submission Pilot 2 eCTD Submission Package to FDA](https://github.com/RConsortium/submissions-pilot2-to-fda)
30 |
31 |
32 | **Key team members**:
33 |
34 | Developer team:
35 | - Ning Leng, Heng Wang (Roche)
36 | - Mike Stakehouse, Eli Miller (Atorus)
37 | - Yilong Zhang, Gregery Chen (Merck)
38 | - Eric Nantz (Eli Lilly)
39 |
40 |
41 | FDA Staff:
42 | - Paul Schuette
43 | - Hye Soo Cho
--------------------------------------------------------------------------------
/pilot3.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "R Submission Pilot 3"
3 | ---
4 |
5 | **Goals**:
6 |
7 | - Expand on the work done in [Submission Pilot 1](pilot1.qmd), by now utilizing R to generate ADaM datasets.
8 | - Deliver a publicly accessible R-based Submission to the FDA
9 |
10 | **Key evaluation aspects**:
11 |
12 | - For Submitter
13 | - Generation of a reproducible R environment with a proprietary R package from git and open source R packages using `{renv}`
14 | - Preparation of R-based submission materials
15 | - For FDA Staff
16 | - Reproduce analysis results by reproducing the R environment and retrieving both proprietary & open source packages
17 |
18 | **Timeline**:
19 |
20 | - Submitted to FDA on August 28th, 2023
21 | - Feedback from FDA on February 2nd, 2024 (See feedback [here](https://rconsortium.github.io/submissions-wg/minutes/2024-02-02/))
22 | - Re-submitted to FDA on April 19th, 2024
23 |
24 | **Data and analysis scope**:
25 |
26 | - ADaMs created using R (SDTM `.xpt` sourced from the CDISC Pilot study)
27 | - TLFs created using R (ADaMs `.xpt` sourced from the ADaMs generated in R by the Pilot 3 team)
28 |
29 | **Links**:
30 |
31 | [R Submission Pilot 3 Development Repo](https://github.com/RConsortium/submissions-pilot3-adam)
32 |
33 | - Development area for Pilot 3 Team
34 | - See Closed Issues discussion for how we worked
35 | - See [Wiki](https://github.com/RConsortium/submissions-pilot3-adam/wiki) for Common Issues we ran into and QC Findings we encountered when comparing the ADaMs generated in the CDISC Pilot study.
36 | - We made use of a [GitHub Project Board](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) (Kanban Style Board) to drive development.
37 |
38 | [R Submission Pilot 3 eCTD Submission Package to FDA](https://github.com/RConsortium/submissions-pilot3-adam-to-fda)
39 |
40 | - Materials submitted to the FDA following eCTD standards
41 |
42 | [R Submission Pilot 3 Website](https://rconsortium.github.io/submissions-pilot3-adam/main/)
43 |
44 | - Breakdown of the Github repositories and files used for analysis development, e-submission and proprietary Pilot 3 R Package
45 | - Renderings of ADaMs, TLFs, ADRG and Cover Letter
46 | - Discussions at Conferences and feedback from FDA
47 |
48 | **Key team members**:
49 |
50 | Developer team:
51 |
52 | - Joel Laxamana-Roche
53 | - Thomas Neitmann-Denali
54 | - Phanikumar Tata-Syneos
55 | - Robert Devine-J&J
56 | - Steven Haesendonckx-J&J
57 | - Lei Zhao-Roche
58 | - Nicole Jones-Denali
59 | - Kangjie Zhang-Bayer
60 | - Benjamin Straub-GSK
61 | - Declan Hodges-GSK
62 | - Bingjun Wang - Merck
63 |
64 | FDA Staff:
65 |
66 | - Paul Schuette\
67 | - Hye Soo Cho
68 |
--------------------------------------------------------------------------------
/pilot4.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "R Submission Pilot 4"
3 | ---
4 |
5 | **Goal**: Utilize alternative methods of distributing a self-contained submission bundle of the Pilot 2 Shiny application with container and web-assembly technologies.
6 |
7 | **Key evaluation aspects**:
8 |
9 | - For Submitter
10 | - Generation of a reproducible execution environment containing both the system and R-specific dependencies using [Podman](https://podman.io/) as the container runtime.
11 | - Generation of a web-assembly version of the Pilot 2 Shiny application (with small modifications) that can be executed in an existing R process running a web server using the `{httpuv}` R package
12 | - Preparation of submission materials with detailed instructions on setting up the execution environments
13 | - For FDA Staff
14 | - Reproduce the ability to use the Shiny application by building the specific Podman container and viewing the web-assembly version of the application using the Edge internet browser.
15 |
16 | **Timeline**: Targeting a first submission in Q2 2024
17 |
18 | **Data and analysis scope**:
19 |
20 | - A shiny app that replicates most of the functionality from the [pilot 2]((https://github.com/RConsortium/submissions-pilot2-to-fda)), with small modifications to account for the web-assembly constraints.
21 | - Simulated data from CDISC Pilot (the same data set as in pilot 1)
22 |
23 | **Links**:
24 |
25 | [R Submission Pilot 4 Container Development Repository](https://github.com/Appsilon/experimental-fda-submission-4-podman)
26 |
27 | [R Submission Pilot 4 Web-Assembly App Repository](https://github.com/RConsortium/submissions-pilot4-webR)
28 |
29 | **Key team members**
30 |
31 | Developer team:
32 |
33 | - Eric Nantz (Eli Lilly)
34 | - Sam Parmar (Pfizer)
35 | - Pedro Silva (Appsilon)
36 | - Ismael Rodgriguez (Appsilon)
37 | - Andre Verissimo (Appsilon)
38 | - Robert Devine (J&J)
39 | - Nate Mockler (Biogen)
40 | - Andrew Borgman (Bristol Myers Squibb)
41 | - Ben Straub (GSK)
42 |
43 | FDA Staff:
44 |
45 | - Paul Schutte
46 | - Hye Soo Cho
47 |
48 |
--------------------------------------------------------------------------------
/pilot_background.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Background"
3 | ---
4 |
5 | ## Pilot principles:
6 |
7 | Provide open examples of submitting R-based clinical trial data/analysis packages to FDA.
8 |
9 | - All pilots will be submitted from R consortium (non-profit identity) to FDA. Simulated data will be used.
10 | - All data, codes and documents will be fully available to public.
11 | - FDA Staff will be engaged to reproduce analysis results.
12 | - Submitter and FDA Staff will provide feedback on current process/system
13 | - Contributions from multiple companies/organizations are preferred. Avoid bias to any company/organization specific tools.
14 |
15 | You can view more details about each of the current pilots by visiting their dedicated pages below:
16 |
17 | - [Pilot 1](pilot1.qmd): Common analyses
18 | - [Pilot 2](pilot2.qmd): Shiny application submission
19 | - [Pilot 3](pilot3.qmd): ADaM datasets
20 | - [Pilot 4](pilot4.qmd): Alternative formats
--------------------------------------------------------------------------------
/styles.css:
--------------------------------------------------------------------------------
1 | /* css styles */
2 |
--------------------------------------------------------------------------------
/submissions-wg.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: Sweave
13 | LaTeX: pdfLaTeX
14 |
--------------------------------------------------------------------------------