The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This vignette demonstrates how to generate a static adverse event (AE) listing focused on serious AEs in RTF format.
The listing presents participant-level details for adverse events of interest. Three functions support the workflow:
prepare_ae_listing() prepares the listing dataset.format_ae_listing() formats the listing dataset.tlf_ae_listing() creates the RTF table.The example uses ADSL and ADAE data from the forestly package.
adsl <- forestly::forestly_adsl
adae <- forestly::forestly_adae
adsl$TRT01A <- factor(
adsl$TRT01A,
levels = c("Xanomeline Low Dose", "Placebo"),
labels = c("Low Dose", "Placebo")
)
adae$TRTA <- factor(
adae$TRTA,
levels = c("Xanomeline Low Dose", "Placebo"),
labels = c("Low Dose", "Placebo")
)
analysis_plan <- metalite::plan(
analysis = "ae_listing",
population = "apat",
observation = "wk12",
parameter = "ser"
)
meta <- metalite::meta_adam(observation = adae, population = adsl) |>
metalite::define_plan(analysis_plan) |>
metalite::define_population(
name = "apat",
var = c(
"USUBJID", "SAFFL", "TRT01A", "TRTDUR",
"SITEID", "SEX", "RACE", "AGE"
),
group = "TRT01A",
subset = SAFFL == "Y",
label = "All Participants as Treated"
) |>
metalite::define_observation(
name = "wk12",
var = c(
"USUBJID", "SAFFL", "TRTA", "AEDECOD", "AEBODSYS", "AEREL",
"AESER", "AEOUT", "AEACN", "AESDTH", "ASTDT", "AENDT"
),
group = "TRTA",
subset = SAFFL == "Y",
label = "Weeks 0 to 12"
) |>
metalite::define_parameter(
name = "ser",
term1 = "Serious",
term2 = "",
subset = AESER == "Y",
var = "AEDECOD",
soc = "AEBODSYS",
label = "Serious AEs"
) |>
metalite::define_analysis(
name = "ae_listing",
var_name = c(
"USUBJID", "ASTDY", "AEDECOD", "ADURN",
"AESEV", "AESER", "AEREL", "AEOUT"
),
group_by = c("USUBJID", "ASTDY"),
page_by = "TRTA"
) |>
metalite::meta_build()prepare_ae_listing() uses the population, observation,
parameter, and analysis definitions in meta to prepare the
listing dataset. format_ae_listing() organizes the prepared
output, and tlf_ae_listing() creates the RTF table.
footnote <- c(
"Related: Investigator-assessed relationship of the adverse event to study medication. Y = RELATED, N = NOT RELATED",
"Action Taken: Discontinued = DRUG WITHDRAWN, Interrupted = DRUG INTERRUPTED, Reduced = DOSE REDUCED, Increased = DOSE INCREASED, None = DOSE NOT CHANGED, N/A = NOT APPLICABLE.",
"Outcome: Resolved = RECOVERED/RESOLVED, Resolving = RECOVERING/RESOLVING, Sequelae = RECOVERED/RESOLVED WITH SEQUELAE, Not resolved = NOT RECOVERED/NOT RESOLVED.",
"Adverse event terms are from MedDRA Version 25.0."
)
rtf_dir <- if (dir.exists("vignettes/rtf")) "vignettes/rtf" else "rtf"
rtf_file <- file.path(rtf_dir, "ae0listing1.rtf")
prepare_ae_listing(
meta,
analysis = "ae_listing",
population = "apat",
observation = "wk12",
parameter = "ser"
) |>
format_ae_listing() |>
tlf_ae_listing(
footnotes = footnote,
orientation = "portrait",
source = "Source: [CDISCpilot: adam-adsl; adae]",
analysis = "ae_listing", # Provide analysis type defined in meta$analysis
path_outtable = rtf_file
)
#> The output is saved in/private/var/folders/yy/6bb11gtn52z0qwdg1_6kdbg00000gn/T/RtmpBCvLa1/Rbuild12c86435ade20/metalite.ae/vignettes/rtf/ae0listing1.rtfGenerated RTF file: ae0listing1.rtf
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.