Skip to content

Commit 7512544

Browse files
authored
feat: add cover letter first draft (#91)
1 parent 90107c6 commit 7512544

6 files changed

Lines changed: 145 additions & 0 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
title: Typst Letter
2+
author: J.J. Allaire
3+
version: "0.2.0"
4+
quarto-required: ">=1.4.11"
5+
contributes:
6+
formats:
7+
typst:
8+
template-partials:
9+
- typst-template.typ
10+
- typst-show.typ
11+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#show: letter.with(
2+
$if(sender)$
3+
sender: [$sender$],
4+
$endif$
5+
$if(recipient)$
6+
recipient: [$recipient$],
7+
$endif$
8+
$if(sent)$
9+
date: [$sent$],
10+
$endif$
11+
$if(subject)$
12+
subject: [$subject$],
13+
$endif$
14+
$if(name)$
15+
name: [$name$],
16+
$endif$
17+
$if(header-image)$
18+
header-image: [$header-image$],
19+
$endif$
20+
)
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
// This function gets your whole document as its `body`
2+
// and formats it as a simple letter.
3+
#let letter(
4+
// The letter's sender, which is display at the top of the page.
5+
sender: none,
6+
7+
// The letter's recipient, which is displayed close to the top.
8+
recipient: none,
9+
10+
// The date, displayed to the right.
11+
date: none,
12+
13+
// The subject line.
14+
subject: none,
15+
16+
// The name with which the letter closes.
17+
name: none,
18+
19+
// Image
20+
header-image: none,
21+
22+
// The letter's content.
23+
body
24+
) = {
25+
// Configure page and text properties.
26+
set page(
27+
paper: "us-letter",
28+
margin: (top: 4cm),
29+
header: [
30+
#image("rconsortium.png", width: 25%)
31+
]
32+
)
33+
set text(font: "PT Sans")
34+
35+
// Display image at top of page.
36+
// image(
37+
// "rconsortium.png",
38+
// width: 25%
39+
//)
40+
41+
// Display sender at top of page. If there's no sender
42+
// add some hidden text to keep the same spacing.
43+
text(1pt, if sender == none {
44+
hide("a")
45+
} else {
46+
sender
47+
})
48+
49+
v(0.1cm)
50+
51+
// Display recipient.
52+
recipient
53+
54+
v(0.1cm)
55+
56+
// Display date. If there's no date add some hidden
57+
// text to keep the same spacing.
58+
align(right, if date != none {
59+
date
60+
} else {
61+
hide("a")
62+
})
63+
64+
v(2cm)
65+
66+
// Add the subject line, if any.
67+
if subject != none {
68+
pad(right: 10%, strong(subject))
69+
}
70+
71+
// Add body and name.
72+
body
73+
v(1.25cm)
74+
name
75+
}

cover-letter/cover-letter.pdf

21.1 KB
Binary file not shown.

cover-letter/cover-letter.qmd

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
name: |
3+
Kind Regards, \
4+
\
5+
The R Consortium R Submission Pilot 5 Project Team
6+
recipient: |
7+
Food and Drug Administration \
8+
Center for Drug Evaluation and Research 5901-B Ammendale Road \
9+
Beltsville, MD 20705-1266
10+
sent: "TBD, 2025"
11+
header-image: "rconsortium.png"
12+
format:
13+
letter-typst: default
14+
---
15+
16+
Dear Sir/Madam:
17+
18+
This letter serves as an introduction to the R Consortium R Submission Pilot 5, focusing on the submission of data submitted in the JavaScript Object Notation (JSON) format. The objective of this portion of the R Consortium R submission Pilot 5 Project is to test the concept that a R-language based submission package is aligned with FDA requirements and meets the expectations of the FDA staff, including assessing code review and analyses reproducibility. All submission materials and communications from this pilot will be shared publicly, with the aim of providing a working example for future R language based FDA submissions which include Shiny applications. This is an FDA-industry collaboration through the non-profit organization R Consortium.
19+
20+
The R Consortium R submission Pilot 5 submission package follows the eCTD folder structure and contains the following module 5 deliverables:
21+
22+
- A cover letter
23+
- Data files in JSON format generated using R
24+
- R code to generate 5 ADaM datasets which were used to generate the outputs from the Pilot 1 R submission
25+
- Outputs that were regenerated from Pilot 1 using these R ADaM datasets generated in this project
26+
- An Analysis Data Reviewer's Guide (ADRG)
27+
28+
In this pilot, we aimed to provide a working example of R submission in eCTD format to the pharmaceutical industry in compliance with the FDA Electronic Submissions Gateway requirements. Based on the submission package, FDA Staff can review and reproduce submitted R codes. More specifically, we expect the FDA Staff to
29+
30+
- Receive electronic submission packages in eCTD format
31+
- Install and load open source R packages used in this submission
32+
- Reproduce the JSON datasets and analysis results
33+
- Share potential improvements to the submission deliverables and processes via a written communication
34+
35+
All data, code, material and communications from this pilot will be shared publicly.
36+
37+
Different open-source packages were used to create the Shiny application. Evaluating FDA’s acceptance of system/software validation evidence is not in the scope of this pilot.
38+
39+
On behalf of the R Consortium R Submission Working Group, we hope the R submission Pilot 5 can establish a working example to guide the industry for future submission using the R language.

cover-letter/rconsortium.png

4.05 KB
Loading

0 commit comments

Comments
 (0)