---
title: LSFAE05
subtitle: Listing of Treatment-emergent Adverse Events of Special Interest by AESI Grouping
---
------------------------------------------------------------------------
{{< include ../../_utils/envir_hook.qmd >}}
```{r setup, echo = FALSE, warning = FALSE, message = FALSE}
options(docx.add_datetime = FALSE, tidytlg.add_datetime = FALSE)
envsetup_config_name <- "default"
# Path to the combined config file
envsetup_file_path <- file.path("../..", "envsetup.yml")
Sys.setenv(ENVSETUP_ENVIRON = '')
library(envsetup)
loaded_config <- config::get(config = envsetup_config_name, file = envsetup_file_path)
envsetup::rprofile(loaded_config)
dpscomp <- compound
dpspdr <- paste(protocol,dbrelease,rpteff,sep="__")
aptcomp <- compound
aptpdr <- paste(protocol,dbrelease,rpteff,sep="__")
###### Study specific updates (formerly in envre)
dpscomp <- "standards"
dpspdr <- "jjcs__NULL__jjcs - core"
apt <- FALSE
library(junco)
default_str_map <- rbind(default_str_map, c("&ctcae", "5.0"))
```
## Output
:::: panel-tabset
## {{< fa regular file-lines sm fw >}} Preview
```{r variant1, results='hide', warning = FALSE, message = FALSE}
# Program Name: lsfae05.R
# Prep environment
library(envsetup)
library(tern)
library(dplyr)
library(rtables)
library(rlistings)
library(junco)
library(stringi)
# Define script level parameters
tblid <- "LSFAE05"
fileid <- tblid
popfl <- "SAFFL"
trtvar <- "TRT01A"
key_cols <- c("COL0", "COL1", "COL2")
disp_cols <- paste0("COL", 0:11)
concat_sep <- " / "
tab_titles <- get_titles_from_file(input_path = '../../_data/', tblid)
string_map <- default_str_map
# Parameter to control whether time should be displayed
include_time <- TRUE
# Process data
adae <- pharmaverseadamjnj::adae %>%
# Update CQzzNAM variabe based on study requirements
filter(!!rlang::sym(popfl) == "Y" & TRTEMFL == "Y" & CQ01NAM != "")
lsting <- adae %>%
mutate(
AGE = explicit_na(as.character(AGE), ""),
SEX = explicit_na(SEX, ""),
RACE_DECODE = explicit_na(RACE_DECODE, ""),
DOSEON = explicit_na(as.character(DOSEON), ""),
DOSEU = explicit_na(DOSEU, ""),
DOSEDY = explicit_na(as.character(DOSEDY), ""),
AEDECOD = explicit_na(AEDECOD, ""),
AETERM = ifelse(
is.na(AETERM),
"",
stringi::stri_trans_totitle(gsub("\\$", "", AETERM))
),
ASTDT = ifelse(
nchar(as.character(ASTDT)) == 10,
toupper(format(ASTDT, "%d%b%Y")),
""
),
ASTTM = ifelse(
include_time & !is.na(ASTDTM),
substr(as.character(ASTDTM), 12, 16),
""
),
ASTDYN = ifelse(!is.na(ASTDY), ASTDY, NA),
ASTDY = ifelse(!is.na(ASTDY), ASTDY, ""),
ASTDTFS = ifelse(!is.na(ASTDTF), "*", ""),
AENDT = explicit_na(as.character(AENDT), ""),
AENDT = ifelse(
nchar(AENDT) == 10,
toupper(format(as.Date(AENDT), "%d%b%Y")),
""
),
AENTM = ifelse(
include_time & !is.na(AENDTM),
substr(as.character(AENDTM), 12, 16),
""
),
AENDY = ifelse(!is.na(AENDY), AENDY, ""),
AENDTFS = ifelse(!is.na(AENDTF), "*", ""),
ADURN = explicit_na(as.character(ADURN), ""),
AEOUTC = explicit_na(AEOUT_DECODE, ""),
# Optional Variable: COL11/AESEV/AETOXGR
# AESEV = explicit_na(AESEV,""),
AETOXGR = explicit_na(AETOXGR, ""),
AESER_DECODE = explicit_na(AESER_DECODE, ""),
COL0 = explicit_na(.data[[trtvar]], ""),
COL1 = explicit_na(USUBJID, ""),
COL2 = paste(AGE, SEX, RACE_DECODE, sep = concat_sep),
COL3 = paste(paste0(DOSEON, " ", DOSEU), DOSEDY, sep = concat_sep),
COL4 = explicit_na(CQ01NAM, ""),
COL5 = paste(AEDECOD, AETERM, sep = concat_sep),
COL6 = case_when(
ASTDT == "" ~ "",
include_time & ASTDT != "" & ASTTM != "" & ASTDY != "" & ASTDTFS != "" ~
paste0(ASTDT, concat_sep, ASTTM, " (", ASTDY, ")", ASTDTFS),
include_time & ASTDT != "" & ASTTM != "" & ASTDY != "" & ASTDTFS == "" ~
paste0(ASTDT, concat_sep, ASTTM, " (", ASTDY, ")"),
include_time & ASTDT != "" & ASTTM == "" & ASTDY != "" & ASTDTFS != "" ~
paste0(ASTDT, concat_sep, "--:--", " (", ASTDY, ")", ASTDTFS),
include_time & ASTDT != "" & ASTTM == "" & ASTDY != "" & ASTDTFS == "" ~
paste0(ASTDT, concat_sep, "--:--", " (", ASTDY, ")"),
ASTDT != "" & ASTDY != "" & ASTDTFS != "" ~
paste0(ASTDT, " (", ASTDY, ")", ASTDTFS),
ASTDT != "" & ASTDY != "" & ASTDTFS == "" ~
paste0(ASTDT, " (", ASTDY, ")"),
),
COL7 = case_when(
AENDT == "" ~ "",
include_time & AENDT != "" & AENTM != "" & AENDY != "" & AENDTFS != "" ~
paste0(AENDT, concat_sep, AENTM, " (", AENDY, ")", AENDTFS),
include_time & AENDT != "" & AENTM != "" & AENDY != "" & AENDTFS == "" ~
paste0(AENDT, concat_sep, AENTM, " (", AENDY, ")"),
include_time & AENDT != "" & AENTM == "" & AENDY != "" & AENDTFS != "" ~
paste0(AENDT, concat_sep, "--:--", " (", AENDY, ")", AENDTFS),
include_time & AENDT != "" & AENTM == "" & AENDY != "" & AENDTFS == "" ~
paste0(AENDT, concat_sep, "--:--", " (", AENDY, ")"),
AENDT != "" & AENDY != "" & AENDTFS != "" ~
paste0(AENDT, " (", AENDY, ")", AENDTFS),
AENDT != "" & AENDY != "" & AENDTFS == "" ~
paste0(AENDT, " (", AENDY, ")"),
),
COL8 = explicit_na(ADURN, ""),
# Optional Column: COL9/AEACN
COL9 = explicit_na(AEACN_DECODE, ""),
COL10 = explicit_na(AEREL_DECODE, ""),
# Optional Variable: COL11/AESEV/AETOXGR
# COL11 = paste(AEOUTC, AESEV, AESER_DECODE, sep = concat_sep)
COL11 = paste(AEOUTC, AETOXGR, AESER_DECODE, sep = concat_sep)
) %>%
arrange(
COL0,
COL1,
COL2,
!is.na(ASTDYN),
ASTDYN,
if (include_time) ASTDTM else ASTDT,
AEDECOD,
AETERM
)
lsting <- var_relabel(
lsting,
COL0 = "Treatment Group",
COL1 = "Subject ID",
COL2 = paste("Age (years)", "Sex", "Race", sep = concat_sep),
COL3 = paste(
"Onset Dose (unit)",
"Day of Last Dose~[super a,b]",
sep = concat_sep
),
COL4 = "AE of Special Interest Category",
COL5 = paste("Preferred Term", "Reported Term", sep = concat_sep),
COL6 = if (include_time) {
paste("Start Date", "Time (Study Day~[super b])", sep = concat_sep)
} else {
"Start Date (Study Day~[super b])"
},
COL7 = if (include_time) {
paste("End Date", "Time (Study Day~[super b])", sep = concat_sep)
} else {
"End Date (Study Day~[super b])"
},
COL8 = "AE Duration (Days)",
# Optional Column: COL9/AEACN
COL9 = "Action Taken With Study Treatment",
COL10 = "Relationship to Study Treatment~[super c]",
# Optional Variable: COL11/AESEV/AETOXGR
# COL11 = paste("Outcome", "Severity", "Serious", sep = concat_sep)
COL11 = paste("Outcome", "Toxicity Grade", "Serious", sep = concat_sep)
)
# Build listing
result <- rlistings::as_listing(
df = lsting,
key_cols = key_cols,
disp_cols = disp_cols
)
# Add titles and footnotes
result <- set_titles(result, tab_titles)
# Output listing
tt_to_tlgrtf(string_map = string_map, tt = head(result, 100), file = fileid, orientation = "landscape")
```
```{r result1, echo=FALSE, message=FALSE, warning=FALSE, test = list(result_v1 = "result")}
tt_to_flextable_j(head(result,100), tblid, string_map = string_map)
```
[Download RTF file](`r paste0(tolower(tblid), '.rtf')`)
::::