Overview
oncoPoS performs Probability of Success (PoS)
calculations for a phase 3 oncology study using a Bayesian Hierarchical
model. The prior in this model is based on the data observed in an
earlier study, design features for the phase 3 study that is being
assessed and the industry benchmark for success.
The Bayesian framework used in oncoPoS relies on the
work by (Hampson et al. 2022). See PoS Bayesian Framework vignette for
details.
The main functions of the oncoPoS are
run_stan and gen_pos, which generate the PoS
estimate and its standard error (SE) at each planned analysis by running
rstan. The SE is calculated as
,
where
is the estimated PoS and
is the total number of post-warmup MCMC draws.
The PoS estimate can be generated without considering an observed treatment effect from an earlier study, or it can incorporate prior ORR and/or PFS data as described in the sections below.
PoS estimate example
Let’s assume that we designed a phase 3 randomized oncology trial in a certain disease setting with progression-free survival (PFS) as a primary endpoint. The design features of this study are as follows:
- Target hazard ratio (HR): 0.70;
- Group sequential design with two analysis;
- Target number of events at each analysis: 370, 468;
- Approximate HR bound at each analysis: 0.779, 0.8204.
While the overall alpha level of 2.5% and power 95.5% could be seen
as design features in general, these are not considered as direct design
features for the PoS estimation and therefore are not inputs in
oncoPoS relevant functions.
To proceed with the PoS estimation, an industry benchmark is required as well. We treat the benchmark as a random variable , reflecting uncertainty in the prior probability of trial success. Without considering the specific design features of this trial, we assume there is a 50% chance that such a trial will be successful, i.e., , with a default variance of .
No earlier study data
If there is no specific earlier study that could be linked directly to this phase 3 through an objective response rate (ORR) or PFS, the PoS estimate at each analysis is calculated as following:
Prior PFS data
Let’s change the above scenario and assume that there was a randomized phase 2 trial with observed PFS hazard ratio (HR) of 0.53 and a 95% confidence interval (CI) of (0.31, 0.91). This phase 2 trial led to the decision to continue the clinical development of the compound in the specific disease setting and thus design a phase 3 trial. This additional information is incorporated in the PoS estimates as follows:
gen_pos(
target_hr = 0.7,
J = 2,
nevents3 = c(370, 468),
hr_bound = c(0.779, 0.8204),
omega_mean = 0.5,
use_pfs = TRUE,
est_obs_pfs = 0.53,
low_obs_pfs = 0.31,
upp_obs_pfs = 0.91,
seed = 245,
refresh = 0
)
#> # A tibble: 2 × 5
#> J pos pos_se omega_mean omega_var
#> <int> <dbl> <dbl> <dbl> <dbl>
#> 1 1 0.732 0.0198 0.515 0.0173
#> 2 2 0.816 0.0173 0.515 0.0173Prior ORR data
If an earlier study didn’t have a reliable PFS estimate and only ORR was available, it can be used for PoS estimation as well. We will assume that, based on the earlier study 33 out of 60 and 18 out of 63 participants in the experimental and control arms had responses respectively.
In this case, when the ORR data is used, the coefficients for the linear relationship between the log treatment effect on ORR and PFS are estimated indication-specific using prior meta-analytic data through a Bayesian hierarchical model. If no indication is specified, the default coefficients (calculated as the mean across all indication groups) will be used.
Indication Groups
-
Group 1: Hematologic malignancies
Includes classical Hodgkin lymphoma (cHL), diffuse large B-cell lymphoma (DLBCL), follicular lymphoma (FL), multiple myeloma (MM), non-Hodgkin lymphoma (NHL), and peripheral T-cell lymphoma (PTCL). -
Group 2: Gynecologic cancers
Includes cervical, endometrial, and ovarian cancers. -
Group 3: Thoracic malignancies
Includes non-small cell lung cancer (NSCLC), small cell lung cancer (SCLC), and mesothelioma. -
Group 4: Urologic and gastrointestinal solid
tumors
Includes bladder cancer, gastric cancer, and renal cell carcinoma (RCC). -
Group 5: Breast cancer
Includes breast cancer.
Here we specify the indication group as breast cancer (Group 5):
gen_pos(
target_hr = 0.7,
J = 2,
nevents3 = c(370, 468),
hr_bound = c(0.779, 0.8204),
omega_mean = 0.5,
use_orr = TRUE,
n_resp_trt2 = 33,
n_trt2 = 60,
n_resp_ctrl2 = 18,
n_ctrl2 = 63,
indication = 5,
seed = 245,
refresh = 0
)
#> # A tibble: 2 × 5
#> J pos pos_se omega_mean omega_var
#> <int> <dbl> <dbl> <dbl> <dbl>
#> 1 1 0.86 0.0155 0.533 0.0187
#> 2 2 0.898 0.0135 0.533 0.0187Single-arm setting
When no concurrent control arm is available in the earlier study, the SOC response rate cannot be observed directly. Instead, a distribution is placed over using user-specified lower and upper bounds on the control ORR:
-
low_soc_rr: lower bound for the control ORR -
upp_soc_rr: upper bound for the control ORR
In this setting, n_resp_ctrl2 and n_ctrl2
are replaced by low_soc_rr and upp_soc_rr. For
example, assuming the SOC ORR is bounded between 5% and 20%:
gen_pos(
target_hr = 0.7,
J = 2,
nevents3 = c(370, 468),
hr_bound = c(0.779, 0.8204),
omega_mean = 0.5,
use_orr = TRUE,
n_resp_trt2 = 33,
n_trt2 = 60,
single_arm = TRUE,
low_soc_rr = 0.05,
upp_soc_rr = 0.20,
indication = 5,
seed = 245,
refresh = 0
)
#> # A tibble: 2 × 5
#> J pos pos_se omega_mean omega_var
#> <int> <dbl> <dbl> <dbl> <dbl>
#> 1 1 0.864 0.0153 0.539 0.0206
#> 2 2 0.91 0.0128 0.539 0.0206