library(lubridate)
library(dplyr)
library(admiral)
# ensure that `date_source()` from admiralonco is used to avoid deprecation
# warning
unloadNamespace("admiralonco")
library(admiralonco)
adsl <- tibble::tribble(
~USUBJID, ~TRTSDT,
"01", ymd("2020-01-14"),
"02", ymd("2021-02-16"),
"03", ymd("2021-03-09"),
"04", ymd("2021-04-21")
) %>%
mutate(STUDYID = "AB42")
adrs <- tibble::tribble(
~USUBJID, ~PARAMCD, ~AVALC, ~ADT,
"01", "RSP", "Y", ymd("2021-03-14"),
"02", "RSP", "N", ymd("2021-05-07"),
"03", "RSP", "N", NA,
"04", "RSP", "N", NA,
"01", "PD", "N", NA,
"02", "PD", "Y", ymd("2021-05-07"),
"03", "PD", "N", NA,
"04", "PD", "N", NA,
"01", "OVR", "SD", ymd("2020-03-14"),
"01", "OVR", "PR", ymd("2021-04-13"),
"02", "OVR", "PR", ymd("2021-04-08"),
"02", "OVR", "PD", ymd("2021-05-07"),
"02", "OVR", "CR", ymd("2021-06-20"),
"03", "OVR", "SD", ymd("2021-03-30"),
"04", "OVR", "NE", ymd("2021-05-21"),
"04", "OVR", "NA", ymd("2021-06-30"),
"04", "OVR", "NE", ymd("2021-07-24"),
"04", "OVR", "ND", ymd("2021-09-04"),
) %>%
mutate(STUDYID = "AB42", ANL01FL = "Y") %>%
derive_vars_merged(
dataset_add = adsl,
by_vars = exprs(STUDYID, USUBJID),
new_vars = exprs(TRTSDT)
)
pd <- date_source(
dataset_name = "adrs",
date = ADT,
filter = PARAMCD == "PD" & AVALC == "Y" & ANL01FL == "Y"
)
resp <- date_source(
dataset_name = "adrs",
date = ADT,
filter = PARAMCD == "RSP" & AVALC == "Y" & ANL01FL == "Y"
)
derive_param_clinbenefit(
dataset = adrs,
dataset_adsl = adsl,
filter_source = PARAMCD == "OVR" & ANL01FL == "Y",
source_resp = resp,
source_pd = pd,
source_datasets = list(adrs = adrs),
reference_date = TRTSDT,
ref_start_window = 28,
set_values_to = exprs(
PARAMCD = "CBR"
)
) %>%
filter(PARAMCD == "CBR")
Run the code above in your browser using DataLab