derive_param_confirmed_bor {admiralonco} | R Documentation |
Adds a Parameter for Confirmed Best Overall Response
Description
The derive_param_confirmed_bor()
function has been superseded in favor of derive_extreme_event()
.
Adds a parameter for confirmed best overall response (BOR)
Usage
derive_param_confirmed_bor(
dataset,
dataset_adsl,
filter_source,
source_pd = NULL,
source_datasets = NULL,
reference_date,
ref_start_window,
ref_confirm,
max_nr_ne = 1,
accept_sd = FALSE,
missing_as_ne = FALSE,
aval_fun,
set_values_to,
subject_keys = get_admiral_option("subject_keys")
)
Arguments
dataset |
Input dataset The After applying |
dataset_adsl |
ADSL input dataset The variables specified for |
filter_source |
Source filter All observations in |
source_pd |
Date of first progressive disease (PD) If the parameter is specified, the observations of the input dataset for deriving the new parameter are restricted to observations up to the specified date. Observations at the specified date are included. For subjects without first PD date all observations are take into account. Permitted Values: a |
source_datasets |
Source dataset for the first PD date A named list of datasets is expected. It links the For example if pd_date <- date_source( dataset_name = "adrs", date = ADT, filter = PARAMCD == PD ) and the actual response dataset in the script is |
reference_date |
Reference date The reference date is used for the derivation of Permitted Values: a numeric date variable |
ref_start_window |
Stable disease time window Assessments at least the specified number of days after the reference date
(i.e. where Permitted Values: a non-negative numeric scalar |
ref_confirm |
Minimum time period for confirmation The assessment and the confirmatory assessment for |
max_nr_ne |
The specified number of Permitted Values: a non-negative numeric scalar |
accept_sd |
Accept If the argument is set to Permitted Values: a logical scalar |
missing_as_ne |
Consider no assessments as If the argument is set to Permitted Values: a logical scalar |
aval_fun |
Deprecated, please use Function to map character analysis value ( The (first) argument of the function must expect a character vector and the function must return a numeric vector. |
set_values_to |
Variables to set A named list returned by |
subject_keys |
Variables to uniquely identify a subject A list of symbols created using |
Details
The input dataset (
dataset
) is restricted to the observations matchingfilter_source
and to observations before or at the date specified bysource_pd
.The following potential confirmed responses are selected from the restricted input dataset:
-
"CR"
: An assessment is considered as complete response (CR) if-
AVALC == "CR"
, there is a confirmatory assessment with
AVALC == "CR"
at leastref_confirm
days after the assessment,all assessments between the assessment and the confirmatory assessment are
"CR"
or"NE"
, andthere are at most
max_nr_ne
"NE"
assessments between the assessment and the confirmatory assessment.
-
-
"PR"
: An assessment is considered as partial response (PR) if-
AVALC == "PR"
, there is a confirmatory assessment with
AVALC %in% c("CR", "PR")
at leastref_confirm
days after the assessment,all assessments between the assessment and the confirmatory assessment are
"CR"
,"PR"
,"SD"
, or"NE"
,there is no
"PR"
assessment after a"CR"
assessment in the confirmation period,there are at most
max_nr_ne
"NE"
assessments between the assessment and the confirmatory assessment, andif the
accept_sd
argument is set toTRUE
, one"SD"
assessment in the confirmation period is accepted. Otherwise, no"SD"
assessment must occur within the confirmation period.
-
-
"SD"
: An assessment is considered as stable disease (SD) if-
AVALC %in% c("CR", "PR", "SD")
and the assessment is at least
ref_start_window
days afterreference_date
.
-
-
"NON-CR/NON-PD"
: An assessment is considered as NON-CR/NON-PD if-
AVALC = "NON-CR/NON-PD"
and the assessment is at least
ref_start_window
days afterreference_date
.
-
-
"PD"
: An assessment is considered as progressive disease (PD) ifAVALC == "PD"
. -
"NE"
: An assessment is considered as not estimable (NE) if-
AVALC == "NE"
or -
AVALC %in% c("CR", "PR", "SD", "NON-CR/NON-PD")
and the assessment is less thanref_start_window
days afterreference_date
.
-
-
"ND"
: An assessment is considered as not done (ND) ifAVALC == "ND"
. -
"MISSING"
: An assessment is considered as missing (MISSING) if a subject has no observation in the input dataset.If the
missing_as_ne
argument is set toTRUE
,AVALC
is set to"NE"
for these subjects.
-
For each subject the best response as derived in the previous step is selected, where
"CR"
is best and"MISSING"
is worst in the order above. If the best response is not unique, the first one (with respect toADT
) is selected. If the selected record is from the input dataset, all variables are kept. If the selected record is fromdataset_adsl
, all variables which are in bothdataset
anddataset_adsl
are kept.The
AVAL
variable is added and set toaval_fun(AVALC)
.The variables specified by the
set_values_to
parameter are added to the new observations.The new observations are added to input dataset.
Value
The input dataset with a new parameter for confirmed best overall response
Author(s)
Stefan Bundfuss
See Also
Other superseded:
derive_param_bor()
,
derive_param_clinbenefit()
,
derive_param_confirmed_resp()
,
derive_param_response()
,
filter_pd()
Examples
library(dplyr)
library(lubridate)
library(admiral)
# Create ADSL dataset
adsl <- tibble::tribble(
~USUBJID, ~TRTSDTC,
"1", "2020-01-01",
"2", "2019-12-12",
"3", "2019-11-11",
"4", "2019-12-30",
"5", "2020-01-01",
"6", "2020-02-02",
"7", "2020-02-02",
"8", "2020-04-01",
"9", "2020-03-01"
) %>%
mutate(
TRTSDT = ymd(TRTSDTC),
STUDYID = "XX1234"
)
# Create ADRS dataset
ovr_obs <- tibble::tribble(
~USUBJID, ~ADTC, ~AVALC,
"1", "2020-01-01", "PR",
"1", "2020-02-01", "CR",
"1", "2020-02-16", "NE",
"1", "2020-03-01", "CR",
"1", "2020-04-01", "SD",
"2", "2020-01-01", "SD",
"2", "2020-02-01", "PR",
"2", "2020-03-01", "SD",
"2", "2020-03-13", "CR",
"3", "2019-11-12", "CR",
"3", "2019-12-02", "CR",
"3", "2020-01-01", "SD",
"4", "2020-01-01", "PR",
"4", "2020-03-01", "SD",
"4", "2020-04-01", "SD",
"4", "2020-05-01", "PR",
"4", "2020-05-15", "NON-CR/NON-PD",
"5", "2020-01-01", "PR",
"5", "2020-01-10", "SD",
"5", "2020-01-20", "PR",
"5", "2020-05-15", "NON-CR/NON-PD",
"6", "2020-02-06", "PR",
"6", "2020-02-16", "CR",
"6", "2020-03-30", "PR",
"6", "2020-04-12", "PD",
"6", "2020-05-01", "CR",
"6", "2020-06-01", "CR",
"7", "2020-02-06", "PR",
"7", "2020-02-16", "CR",
"7", "2020-04-01", "NE",
"9", "2020-03-16", "CR",
"9", "2020-04-01", "NE",
"9", "2020-04-16", "NE",
"9", "2020-05-01", "CR"
) %>%
mutate(PARAMCD = "OVR", ANL01FL = "Y")
pd_obs <-
bind_rows(tibble::tribble(
~USUBJID, ~ADTC, ~AVALC,
"6", "2020-04-12", "Y"
) %>%
mutate(PARAMCD = "PD", ANL01FL = "Y"))
adrs <- bind_rows(ovr_obs, pd_obs) %>%
mutate(
ADT = ymd(ADTC),
STUDYID = "XX1234"
) %>%
select(-ADTC) %>%
derive_vars_merged(
dataset_add = adsl,
by_vars = exprs(STUDYID, USUBJID),
new_vars = exprs(TRTSDT)
)
pd_date <- date_source(
dataset_name = "adrs",
date = ADT,
filter = PARAMCD == "PD" & ANL01FL == "Y"
)
# Derive confirmed best overall response parameter
derive_param_confirmed_bor(
adrs,
dataset_adsl = adsl,
filter_source = PARAMCD == "OVR" & ANL01FL == "Y",
source_pd = pd_date,
source_datasets = list(adrs = adrs),
reference_date = TRTSDT,
ref_start_window = 28,
ref_confirm = 28,
set_values_to = exprs(
PARAMCD = "CBOR",
PARAM = "Best Confirmed Overall Response by Investigator"
)
) %>%
filter(PARAMCD == "CBOR")
# Derive confirmed best overall response parameter (accepting SD for PR,
# accept two NEs, and considering missings as NE)
derive_param_confirmed_bor(
adrs,
dataset_adsl = adsl,
filter_source = PARAMCD == "OVR" & ANL01FL == "Y",
source_pd = pd_date,
source_datasets = list(adrs = adrs),
reference_date = TRTSDT,
ref_start_window = 28,
ref_confirm = 28,
max_nr_ne = 2,
accept_sd = TRUE,
missing_as_ne = TRUE,
set_values_to = exprs(
PARAMCD = "CBOR",
PARAM = "Best Confirmed Overall Response by Investigator"
)
) %>%
filter(PARAMCD == "CBOR")