Teal Module: Patient Profile Timeline Teal Module
Source:R/tm_g_pp_patient_timeline.R
tm_g_pp_patient_timeline.Rd
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 toADSL
.- patient_col
(
character
)
patient ID column to be used.- aeterm
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)AETERM
column of the ADAE dataset.- cmdecod
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)cmdecod
column of the ADCM dataset.- aetime_start
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)ASTDTM
column of the AE start of the ADAE dataset.- aetime_end
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)AENDTM
column of the AE end of the ADAE dataset.- dstime_start
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)CMASTDTM
column of treatment start of the ADCM dataset.- dstime_end
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)CMAENDTM
column of treatment end of the ADCM dataset.- aerelday_start
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)ASTDY
column of the ADAE dataset.- aerelday_end
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)AENDY
column of the ADAE dataset.- dsrelday_start
(
teal.transform::choices_selected()
orteal.transform::data_extract_spec()
)ASTDY
column of the ADCM dataset.- dsrelday_end
(
teal.transform::choices_selected()
orteal.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 withc(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 withc(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 theshiny::helpText()
elements are useful.- ggplot2_args
-
optional, (
ggplot2_args
)
object created byteal.widgets::ggplot2_args()
with settings for the module plot. The argument is merged with optionteal.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(scda)
library(nestcolor)
synthetic_cdisc_data_latest <- synthetic_cdisc_data("latest")
ADSL <- synthetic_cdisc_data_latest$adsl
ADAE <- synthetic_cdisc_data_latest$adae
ADCM <- synthetic_cdisc_data_latest$adcm
#' Modify ADCM
ADCM$CMINDC <- paste0("Indication_", as.numeric(ADCM$CMDECOD))
ADCM$CMDOSE <- 1
ADCM$CMDOSU <- "U"
ADCM$CMROUTE <- "CMROUTE"
ADCM$CMDOSFRQ <- "CMDOSFRQ"
ADCM$CMSTDY <- 1
ADCM[ADCM$CMCAT == "medcl B", ]$CMSTDY <- 20
ADCM[ADCM$CMCAT == "medcl C", ]$CMSTDY <- 150
ADCM$CMENDY <- 500
ADCM[ADCM$CMCAT == "medcl B", ]$CMENDY <- 700
ADCM[ADCM$CMCAT == "medcl C", ]$CMENDY <- 1000
ADCM$CMASTDTM <- ADCM$ASTDTM
ADCM$CMAENDTM <- ADCM$AENDTM
formatters::var_labels(
ADCM[c("CMINDC", "CMDECOD", "CMSTDY", "CMENDY")]
) <- c(
"Indication",
"Reported Name of Drug, Med, or Therapy",
"Study Day of Start of Medication",
"Study Day of End of Medication"
)
adcm_keys <- c("STUDYID", "USUBJID", "ASTDTM", "CMSEQ", "ATC1", "ATC2", "ATC3", "ATC4")
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"
),
cdisc_dataset("ADCM", ADCM,
code = "synthetic_cdisc_data_latest <- synthetic_cdisc_data('latest')
ADCM <- synthetic_cdisc_data_latest$adcm
ADCM$CMINDC <- paste0('Indication_', as.numeric(ADCM$CMDECOD))
ADCM$CMDOSE <- 1
ADCM$CMDOSU <- 'U'
ADCM$CMROUTE <- 'CMROUTE'
ADCM$CMDOSFRQ <- 'CMDOSFRQ'
ADCM$CMSTDY <- 1
ADCM[ADCM$CMCAT == 'medcl B', ]$CMSTDY <- 20
ADCM[ADCM$CMCAT == 'medcl C', ]$CMSTDY <- 150
ADCM$CMENDY <- 500
ADCM[ADCM$CMCAT == 'medcl B', ]$CMENDY <- 700
ADCM[ADCM$CMCAT == 'medcl C', ]$CMENDY <- 1000
ADCM$CMASTDTM <- ADCM$ASTDTM
ADCM$CMAENDTM <- ADCM$AENDTM
formatters::var_labels(
ADCM[c('CMINDC', 'CMDECOD', 'CMSTDY', 'CMENDY')]) <- c(
'Indication',
'Reported Name of Drug, Med, or Therapy',
'Study Day of Start of Medication',
'Study Day of End of Medication')",
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] 2022-10-14 09:10:08.9029 pid:3139 token:[] teal.modules.clinical Initializing tm_g_pp_patient_timeline
if (FALSE) {
shinyApp(app$ui, app$server)
}