Skip to contents

This module produces a patient profile timeline ggplot2::ggplot() type 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)
name of patient ID variable.

aeterm

(teal.transform::choices_selected())
object with all available choices and preselected option for the AETERM variable from dataname.

cmdecod

(teal.transform::choices_selected())
object with all available choices and preselected option for the CMDECOD variable from dataname_adcm.

aetime_start

(teal.transform::choices_selected())
object with all available choices and preselected option for the ASTDTM variable from dataname_adae.

aetime_end

(teal.transform::choices_selected())
object with all available choices and preselected option for the AENDTM variable from dataname_adae.

dstime_start

(teal.transform::choices_selected())
object with all available choices and preselected option for the CMASTDTM variable from dataname_adcm.

dstime_end

(teal.transform::choices_selected())
object with all available choices and preselected option for the CMAENDTM variable from dataname_adcm.

aerelday_start

(teal.transform::choices_selected())
object with all available choices and preselected option for the ASTDY variable from dataname_adae.

aerelday_end

(teal.transform::choices_selected())
object with all available choices and preselected option for the AENDY variable from dataname_adae.

dsrelday_start

(teal.transform::choices_selected())
object with all available choices and preselected option for the ASTDY variable from dataname_adcm.

dsrelday_end

(teal.transform::choices_selected())
object with all available choices and preselected option for the AENDY variable from dataname_adcm.

font_size

(numeric)
numeric vector of length 3 of current, minimum and maximum 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 vignette: vignette("custom-ggplot2-arguments", package = "teal.widgets").

Value

a teal_module object.

Examples

library(nestcolor)
library(dplyr)
library(formatters)

data <- teal_data()
data <- within(data, {
  ADAE <- tmc_ex_adae
  ADSL <- tmc_ex_adsl %>% filter(USUBJID %in% ADAE$USUBJID)
  ADCM <- tmc_ex_adcm %>% mutate(
    CMSTDY = case_when(
      CMCAT == "medcl B" ~ 20,
      CMCAT == "medcl C" ~ 150,
      TRUE ~ 1
    ) %>% with_label("Study Day of Start of Medication"),
    CMENDY = case_when(
      CMCAT == "medcl B" ~ 700,
      CMCAT == "medcl C" ~ 1000,
      TRUE ~ 500
    ) %>% with_label("Study Day of End of Medication"),
    CMASTDTM = ASTDTM,
    CMAENDTM = AENDTM
  )
})

adcm_keys <- c("STUDYID", "USUBJID", "ASTDTM", "CMSEQ", "ATC1", "ATC2", "ATC3", "ATC4")
datanames(data) <- c("ADSL", "ADAE", "ADCM")
join_keys(data) <- default_cdisc_join_keys[c("ADSL", "ADAE", "ADCM")]
join_keys(data)["ADCM", "ADCM"] <- adcm_keys
join_keys(data)["ADAE", "ADCM"] <- c("STUDYID", "USUBJID")

app <- init(
  data = data,
  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(data[["ADCM"]], "CMDECOD"),
        selected = "CMDECOD",
      ),
      aeterm = choices_selected(
        choices = variable_choices(data[["ADAE"]], "AETERM"),
        selected = c("AETERM")
      ),
      aetime_start = choices_selected(
        choices = variable_choices(data[["ADAE"]], "ASTDTM"),
        selected = c("ASTDTM")
      ),
      aetime_end = choices_selected(
        choices = variable_choices(data[["ADAE"]], "AENDTM"),
        selected = c("AENDTM")
      ),
      dstime_start = choices_selected(
        choices = variable_choices(data[["ADCM"]], "CMASTDTM"),
        selected = c("CMASTDTM")
      ),
      dstime_end = choices_selected(
        choices = variable_choices(data[["ADCM"]], "CMAENDTM"),
        selected = c("CMAENDTM")
      ),
      aerelday_start = choices_selected(
        choices = variable_choices(data[["ADAE"]], "ASTDY"),
        selected = c("ASTDY")
      ),
      aerelday_end = choices_selected(
        choices = variable_choices(data[["ADAE"]], "AENDY"),
        selected = c("AENDY")
      ),
      dsrelday_start = choices_selected(
        choices = variable_choices(data[["ADCM"]], "ASTDY"),
        selected = c("ASTDY")
      ),
      dsrelday_end = choices_selected(
        choices = variable_choices(data[["ADCM"]], "AENDY"),
        selected = c("AENDY")
      )
    )
  )
)
#> [INFO] 2024-02-26 01:42:35.9913 pid:1518 token:[] teal.modules.clinical Initializing tm_g_pp_patient_timeline
if (interactive()) {
  shinyApp(app$ui, app$server)
}