Skip to contents

Teal Module: Time To Event Table Teal Module

Usage

tm_t_tte(
  label,
  dataname,
  parentname = ifelse(inherits(arm_var, "data_extract_spec"),
    teal.transform::datanames_input(arm_var), "ADSL"),
  arm_var,
  arm_ref_comp = NULL,
  paramcd,
  strata_var,
  aval_var = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
    "AVAL"), "AVAL", fixed = TRUE),
  cnsr_var = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
    "CNSR"), "CNSR", fixed = TRUE),
  conf_level_coxph = teal.transform::choices_selected(c(0.95, 0.9, 0.8), 0.95, keep_order
    = TRUE),
  conf_level_survfit = teal.transform::choices_selected(c(0.95, 0.9, 0.8), 0.95,
    keep_order = TRUE),
  time_points,
  time_unit_var =
    teal.transform::choices_selected(teal.transform::variable_choices(dataname, "AVALU"),
    "AVALU", fixed = TRUE),
  event_desc_var = teal.transform::choices_selected("EVNTDESC", "EVNTDESC", fixed = TRUE),
  add_total = FALSE,
  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 to ADSL.

arm_var

(choices_selected or data_extract_spec)
object with all available choices and preselected option for variable names that can be used as arm_var. It defines the grouping variable(s) in the results table. If there are two elements selected for arm_var, second variable will be nested under the first variable.

arm_ref_comp

optional, (list)
If specified it must be a named list with each element corresponding to an arm variable in ADSL and the element must be another list (possibly with delayed teal.transform::variable_choices() or delayed teal.transform::value_choices() with the elements named ref and comp that the defined the default reference and comparison arms when the arm variable is changed.

paramcd

(choices_selected or data_extract_spec)
variable value designating the studied parameter.

strata_var

(choices_selected or data_extract_spec)
names of the variables for stratified analysis.

aval_var

(choices_selected or data_extract_spec)
object with all available choices and preselected option for the analysis variable.

cnsr_var

(choices_selected or data_extract_spec)
object with all available choices and preselected option for the censoring variable.

conf_level_coxph

(choices_selected())
object with all available choices and pre-selected option for confidence level, each within range of (0, 1).

conf_level_survfit

(choices_selected())
object with all available choices and pre-selected option for confidence level, each within range of (0, 1).

time_points

(choices_selected)
object with all available choices and preselected option for time points that can be used in tern::surv_timepoint().

time_unit_var

(choices_selected or data_extract_spec)
object with all available choices and preselected option for the time unit variable.

event_desc_var

(character or data_extract_spec())
variable name with the event description information, optional.

add_total

(logical)
whether to include column with total number of patients.

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 the shiny::helpText() elements are useful.

basic_table_args

optional, (basic_table_args)
object created by teal.widgets::basic_table_args() with settings for the module table. The argument is merged with option teal.basic_table_args and with default module arguments (hard coded in the module body).

For more details, see the vignette: vignette("custom-basic-table-arguments", package = "teal.widgets").

Details

This module produces a response summary table that is similar to STREAM template ttet01. The core functionality is based on coxph_pairwise(), surv_timepoint() and surv_time() from package tern.
The following variables are used in the module:

AVAL time to event
CNSR boolean or 0,1 is element in AVAL censored
PARAMCD variable used to filter for endpoint (e.g. OS), after filtering for paramcd one observation per patient is expected

The arm and stratification variables and taken from the parentname data.

Examples


library(scda)
synthetic_cdisc_data_latest <- synthetic_cdisc_data("latest")
ADSL <- synthetic_cdisc_data_latest$adsl
ADTTE <- synthetic_cdisc_data_latest$adtte

arm_ref_comp <- list(
  ACTARMCD = list(
    ref = "ARM B",
    comp = c("ARM A", "ARM C")
  ),
  ARM = list(
    ref = "B: Placebo",
    comp = c("A: Drug X", "C: Combination")
  )
)

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("ADTTE", ADTTE,
      code = "synthetic_cdisc_data_latest <- synthetic_cdisc_data('latest')
        ADTTE <- synthetic_cdisc_data_latest$adtte"
    )
  ),
  modules = modules(
    tm_t_tte(
      label = "Time To Event Table",
      dataname = "ADTTE",
      arm_var = choices_selected(
        variable_choices(ADSL, c("ARM", "ARMCD", "ACTARMCD")),
        "ARM"
      ),
      arm_ref_comp = arm_ref_comp,
      paramcd = choices_selected(
        value_choices(ADTTE, "PARAMCD", "PARAM"),
        "OS"
      ),
      strata_var = choices_selected(
        variable_choices(ADSL, c("SEX", "BMRKR2")),
        "SEX"
      ),
      time_points = choices_selected(c(182, 243), 182),
      event_desc_var = choices_selected(
        variable_choices(ADTTE, "EVNTDESC"),
        "EVNTDESC",
        fixed = TRUE
      )
    )
  )
)
#> [INFO] 2022-10-14 09:11:27.1343 pid:3139 token:[] teal.modules.clinical Initializing tm_t_tte
if (FALSE) {
shinyApp(app$ui, app$server)
}