Skip to contents

This teal module produces a patient profile timeline plot using ADaM datasets.

Usage

tm_g_pp_patient_timeline(
  label,
  dataname_adcm = "ADCM",
  dataname_adae = "ADAE",
  parentname = "ADSL",
  patient_col = "USUBJID",
  aeterm = NULL,
  cmdecod = NULL,
  aetime_start = NULL,
  aetime_end = NULL,
  dstime_start = NULL,
  dstime_end = NULL,
  aerelday_start = NULL,
  aerelday_end = NULL,
  dsrelday_start = NULL,
  dsrelday_end = NULL,
  font_size = c(12L, 12L, 25L),
  plot_height = c(700L, 200L, 2000L),
  plot_width = NULL,
  pre_output = NULL,
  post_output = NULL,
  ggplot2_args = teal.widgets::ggplot2_args()
)

Arguments

label

(character)
menu item label of the module in the teal app.

dataname_adcm

(character)
name of ADCM dataset or equivalent.

dataname_adae

(character)
name of ADAE dataset or equivalent.

parentname

(character)
parent analysis data used in teal module, usually this refers to ADSL.

patient_col

(character)
patient ID column to be used.

aeterm

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
AETERM column of the ADAE dataset.

cmdecod

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
cmdecod column of the ADCM dataset.

aetime_start

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
ASTDTM column of the AE start of the ADAE dataset.

aetime_end

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
AENDTM column of the AE end of the ADAE dataset.

dstime_start

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
CMASTDTM column of treatment start of the ADCM dataset.

dstime_end

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
CMAENDTM column of treatment end of the ADCM dataset.

aerelday_start

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
ASTDY column of the ADAE dataset.

aerelday_end

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
AENDY column of the ADAE dataset.

dsrelday_start

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
ASTDY column of the ADCM dataset.

dsrelday_end

(teal.transform::choices_selected() or teal.transform::data_extract_spec())
AENDY column of the ADCM dataset.

font_size

(numeric)
numeric vector of length 3 for current, min and max font size values.

plot_height

optional, (numeric)
a vector of length three with c(value, min, max). Specifies the height of the main plot and renders a slider on the plot to interactively adjust the plot height.

plot_width

optional, (numeric)
a vector of length three with c(value, min, max). Specifies the width of the main plot and renders a slider on the plot to interactively adjust the plot width.

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.

ggplot2_args

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

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

Examples

library(nestcolor)

adae <- tmc_ex_adae
adsl <- tmc_ex_adsl %>% dplyr::filter(USUBJID %in% adae$USUBJID)
adcm <- tmc_ex_adcm %>% dplyr::mutate(
  CMSTDY = dplyr::case_when(
    CMCAT == "medcl B" ~ 20,
    CMCAT == "medcl C" ~ 150,
    TRUE ~ 1
  ) %>% formatters::with_label("Study Day of Start of Medication"),
  CMENDY = dplyr::case_when(
    CMCAT == "medcl B" ~ 700,
    CMCAT == "medcl C" ~ 1000,
    TRUE ~ 500
  ) %>% formatters::with_label("Study Day of End of Medication"),
  CMASTDTM = ASTDTM,
  CMAENDTM = AENDTM
)
adcm_keys <- c("STUDYID", "USUBJID", "ASTDTM", "CMSEQ", "ATC1", "ATC2", "ATC3", "ATC4")

app <- init(
  data = cdisc_data(
    cdisc_dataset("ADSL", adsl),
    cdisc_dataset("ADAE", adae),
    cdisc_dataset("ADCM", adcm, keys = adcm_keys)
  ),
  modules = modules(
    tm_g_pp_patient_timeline(
      label = "Patient Timeline",
      dataname_adae = "ADAE",
      dataname_adcm = "ADCM",
      parentname = "ADSL",
      patient_col = "USUBJID",
      plot_height = c(600L, 200L, 2000L),
      cmdecod = choices_selected(
        choices = variable_choices(adcm, "CMDECOD"),
        selected = "CMDECOD",
      ),
      aeterm = choices_selected(
        choices = variable_choices(adae, "AETERM"),
        selected = c("AETERM")
      ),
      aetime_start = choices_selected(
        choices = variable_choices(adae, "ASTDTM"),
        selected = c("ASTDTM")
      ),
      aetime_end = choices_selected(
        choices = variable_choices(adae, "AENDTM"),
        selected = c("AENDTM")
      ),
      dstime_start = choices_selected(
        choices = variable_choices(adcm, "CMASTDTM"),
        selected = c("CMASTDTM")
      ),
      dstime_end = choices_selected(
        choices = variable_choices(adcm, "CMAENDTM"),
        selected = c("CMAENDTM")
      ),
      aerelday_start = choices_selected(
        choices = variable_choices(adae, "ASTDY"),
        selected = c("ASTDY")
      ),
      aerelday_end = choices_selected(
        choices = variable_choices(adae, "AENDY"),
        selected = c("AENDY")
      ),
      dsrelday_start = choices_selected(
        choices = variable_choices(adcm, "ASTDY"),
        selected = c("ASTDY")
      ),
      dsrelday_end = choices_selected(
        choices = variable_choices(adcm, "AENDY"),
        selected = c("AENDY")
      )
    )
  )
)
#> [INFO] 2023-08-14 14:44:08.8951 pid:1183 token:[] teal.modules.clinical Initializing tm_g_pp_patient_timeline
if (interactive()) {
  shinyApp(app$ui, app$server)
}