Adverse Events Table by Standardized MedDRA Query.
Usage
tm_t_smq(
label,
dataname,
parentname = ifelse(inherits(arm_var, "data_extract_spec"),
teal.transform::datanames_input(arm_var), "ADSL"),
arm_var,
id_var = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
subset = "USUBJID"), selected = "USUBJID", fixed = TRUE),
llt,
add_total = TRUE,
sort_criteria = c("freq_desc", "alpha"),
drop_arm_levels = TRUE,
na_level = "<Missing>",
smq_varlabel = "Standardized MedDRA Query",
baskets,
scopes,
pre_output = NULL,
post_output = NULL,
basic_table_args = teal.widgets::basic_table_args()
)Arguments
- label
(
character)
menu item label of the module in the teal app.- dataname
(
character)
analysis data used in teal module.- parentname
(
character)
parent analysis data used in teal module, usually this refers toADSL.- arm_var
(
choices_selectedordata_extract_spec)
object with all available choices and preselected option for variable names that can be used asarm_var. It defines the grouping variable(s) in the results table. If there are two elements selected forarm_var, second variable will be nested under the first variable.- id_var
(
choices_selectedordata_extract_spec)
object specifying the variable name for subject id.- llt
(
choices_selectedordata_extract_spec)
name of the variable with low level term for events.- add_total
(
logical)
whether to include column with total number of patients.- sort_criteria
(
character)
how to sort the final table. Default optionfreq_descsorts by decreasing total number of patients with event. Alternative optionalphasorts events alphabetically.- drop_arm_levels
(
logical)
drop the unusedarm_varlevels. WhenTRUE,arm_varlevels are set to those used in thedatanamedataset. WhenFALSE,arm_varlevels are set to those used in theparantnamedataset.- na_level
(
string)
used to replace allNAor empty values in character or factor variables in the data.- smq_varlabel
(
character)
label of the new columnSMQcreated bytern::h_stack_by_baskets().- baskets
(
teal.transform::choices_selected()orteal.transform::data_extract_spec())
object with all available choices and preselected options for Standardized/Customized queries- scopes
(
teal.transform::choices_selected()orteal.transform::data_extract_spec())
object with all available choices for the scopes of Standardized queries.- pre_output
optional, (
shiny.tag)
with text placed before the output to put the output into context. For example a title.- post_output
optional, (
shiny.tag)
with text placed after the output to put the output into context. For example theshiny::helpText()elements are useful.- basic_table_args
-
optional, (
basic_table_args)
object created byteal.widgets::basic_table_args()with settings for the module table. The argument is merged with optionteal.basic_table_argsand with default module arguments (hard coded in the module body).For more details, see the vignette:
vignette("custom-basic-table-arguments", package = "teal.widgets").
Examples
library(scda)
synthetic_cdisc_data_latest <- synthetic_cdisc_data("latest")
adsl <- synthetic_cdisc_data_latest$adsl
adae <- synthetic_cdisc_data_latest$adae
names_baskets <- grep("^(SMQ|CQ).*NAM$", names(adae), value = TRUE)
names_scopes <- grep("^SMQ.*SC$", names(adae), value = TRUE)
cs_baskets <- choices_selected(
choices = variable_choices(adae, subset = names_baskets),
selected = names_baskets
)
cs_scopes <- choices_selected(
choices = variable_choices(adae, subset = names_scopes),
selected = names_scopes,
fixed = TRUE
)
app <- init(
data = cdisc_data(
cdisc_dataset("ADSL", adsl,
code = "synthetic_cdisc_data_latest <- synthetic_cdisc_data('latest')
ADSL <- synthetic_cdisc_data_latest$adsl"
),
cdisc_dataset("ADAE", adae,
code = "synthetic_cdisc_data_latest <- synthetic_cdisc_data('latest')
ADAE <- synthetic_cdisc_data_latest$adae"
)
),
modules = modules(
tm_t_smq(
label = "Adverse events by `SMQ` Table",
dataname = "ADAE",
arm_var = choices_selected(
choices = variable_choices(adsl, subset = c("ARM", "SEX")),
selected = "ARM"
),
add_total = FALSE,
baskets = cs_baskets,
scopes = cs_scopes,
llt = choices_selected(
choices = variable_choices(adae, subset = c("AEDECOD")),
selected = "AEDECOD"
)
)
)
)
#> [INFO] 2022-10-14 09:11:17.9984 pid:3139 token:[] teal.modules.clinical Initializing tm_t_smq
if (FALSE) {
shinyApp(app$ui, app$server)
}