Specifies a proof-of-concept study with one time-to-event endpoint
evaluated by the milestone survival probability or by the hazard ratio:
the sample sizes, the prior distributions, the external data, the form of
the control group, the decision criterion, the effect measure and the
conduct of the study.
The design is used by qdm_decide, qdm_oc,
qdm_calibrate and qdm_boundary.
Usage
design_tte(
n_t,
n_c,
prior_t,
prior_c = NULL,
criterion,
milestone = NULL,
effect = c("milestone", "hazard_ratio"),
conduct = NULL,
external_t = NULL,
external_c = NULL,
hypothetical_c = NULL,
fixed_c = NULL,
conduct_future = conduct,
nMC = 10000L
)Arguments
- n_t
Number of subjects in the treatment group (a whole number of at least 1).
- n_c
Number of subjects in the concurrent control group (a whole number of at least 0).
- prior_t, prior_c
Gamma prior distributions of the hazards of the treatment and control groups, created by
prior_gamma.prior_cmust beNULL(the default) for a fixed control and is required otherwise.- criterion
Decision criterion for one endpoint, created by
criterion_posteriororcriterion_predictive, with thresholds on the scale of the effect: the milestone survival difference (or the milestone survival itself withfixed_c = 0), or the hazard ratio (positive thresholds).- milestone
Milestone time \(t_0\) (positive), in the same unit as the total observed time of the data. Required for
effect = "milestone"; must beNULL(the default) for the hazard ratio.- effect
Effect measure:
"milestone"(the default; difference of the milestone survival probabilities) or"hazard_ratio".- conduct
Conduct of the study, created by
conduct_tte, used to simulate studies for the operating characteristics;NULL(the default) if they are not needed. With an analysis at an event (cut_events), the number of events must not exceed the number of subjects (n_tplusn_c).- external_t, external_c
External data of the treatment and control groups, created by
borrowwithdata_tte, orNULL(no external data).- hypothetical_c
Hypothetical control, created by
hypotheticalwithdata_tte, orNULL. It can be used only whenn_c = 0.- fixed_c
Fixed control milestone survival probability, a number from 0 to 1 (
effect = "milestone"), or fixed control median survival time, a positive number (effect = "hazard_ratio"); orNULL. It can be used only whenn_c = 0.- conduct_future
Conduct of the future study for a predictive criterion, created by
conduct_tte; by default the same asconduct. Required for a predictive criterion. With an analysis at an event, the number of events must not exceed the number of future subjects.- nMC
Number of simulated future studies for posterior predictive probabilities.
Value
An object of class c("qdm_design_tte", "qdm_design"), a
list with the arguments and the element control
("concurrent", "external", "hypothetical" or
"fixed").
Details
The event times of group \(k\) (\(k = t, c\)) are exponential with
hazard \(\lambda_k\), which has a Gamma prior distribution
(prior_gamma). The data of a group are summarized by the
number of events \(d\) and the total observed time \(E\)
(data_tte), and the posterior distribution of the hazard is
Gamma with shape \(a + d\) and rate \(b + E\). External data enter
through a power prior with weight \(a_0\), which adds \(a_0 d_e\) to the
shape and \(a_0 E_e\) to the rate. The treatment effect is either
effect = "milestone"the difference of the milestone survival probabilities at time \(t_0 = \)
milestone, \(\theta = S_t(t_0) - S_c(t_0)\) with \(S_k(t_0) = \exp(-\lambda_k t_0)\), oreffect = "hazard_ratio"the hazard ratio \(\theta = \lambda_t / \lambda_c\), as in Huang et al. (2019), whose decision rules are based on the normal approximation of the estimated log hazard ratio. Smaller hazard ratios are favorable, so the criterion is usually specified with
direction = "less", for exampletheta_tv = 0.67andtheta_mav = 0.8. Under the exponential model the hazard ratio is also the ratio of the median survival times of the control and treatment groups.
The control group takes one of four forms.
- Concurrent control
n_cis at least 1. External control data can be added throughexternal_c.- External control only
n_c = 0andexternal_cis given. The distribution of \(\lambda_c\) is the posterior distribution given the external control data.- Hypothetical control
n_c = 0andhypothetical_cis given byhypothetical(data_tte(events, exposure)), whose events and total observed time are added toprior_c.- Fixed control
n_c = 0andfixed_cis given: the control milestone survival probability (effect = "milestone") or the control median survival time (effect = "hazard_ratio", control hazard \(\log(2)\) /fixed_c) is a known value, as in a single-arm study compared with a benchmark (with the milestone survival,fixed_c = 0makes the effect the treatment milestone survival itself).prior_cis not used and must beNULL.
Posterior probabilities of the Go and NoGo regions are computed exactly
for a fixed control (from the Gamma distribution of \(\lambda_t\)). With
another control, they are computed by numerical integration for the
milestone survival (see psurvdiff) and exactly from the F
distribution for the hazard ratio (see phazardratio).
For the posterior predictive criterion (criterion_predictive),
a future study with m_t treatment and m_c control subjects
(no control group for a fixed control) is conducted as specified by
conduct_future. The hazard of each group in the future study is
estimated by \((a + d) / (b + E)\), the posterior mean of the hazard
given the future data alone with the prior \((a, b)\) of the group
(prior_t or prior_c); with a weak prior this is close to the
maximum likelihood estimate \(d / E\) and, unlike it, is positive when a
group has no events, so that the hazard ratio is defined. The milestone
survival is estimated by \(\exp(-t_0 (a + d) / (b + E))\). The future
effect is the difference
of the two milestone survival estimates (or the treatment estimate minus
the fixed value), or the ratio of the two hazard estimates (or the
treatment estimate divided by the fixed control hazard). The predictive
probabilities are estimated by simulating nMC future studies,
each with hazards drawn from the posterior
distributions given the proof-of-concept data (see
conduct_tte for the simulation of a study). They are
therefore Monte Carlo estimates, and their computing time is proportional
to nMC times the number of future subjects.
The operating characteristics (qdm_oc,
qdm_calibrate) are computed by simulating nsim
studies conducted as specified by conduct, with exponential event
times whose hazards are given by the median survival times of the
scenarios. With a predictive criterion, every simulated study requires
nMC simulated future studies, so small values of nsim and
nMC are advisable for exploration.
References
Huang, B., Talukder, E., Han, L. and Kuan, P.-F. (2019). Quantitative decision-making in randomized Phase II studies with a time-to-event endpoint. Journal of Biopharmaceutical Statistics, 29(1), 189–202. doi:10.1080/10543406.2018.1489400
See also
Other designs:
design_binary(),
design_binary2(),
design_continuous(),
design_continuous2()
Examples
# Single-arm study compared with a fixed control 3-month survival of 0.72
des <- design_tte(
n_t = 30, n_c = 0, prior_t = prior_gamma(0.1, 1),
criterion = criterion_posterior(theta_tv = 0.15, theta_mav = 0,
gamma_go = 0.6, gamma_nogo = 0.8),
milestone = 3,
conduct = conduct_tte(accrual_time = c(0, 5, 10, 15),
accrual_rate = c(0.4, 2, 4.5),
dropout_hazard = 0.00226, cut_time = 15.44),
fixed_c = 0.72
)
des
#> Design: one time-to-event endpoint (milestone survival at t = 3)
#> Treatment: n = 30, prior Gamma(shape = 0.1, rate = 1)
#> Control: fixed value 0.72
#> Posterior probability criterion
#> Go: P(theta > 0.15 | data) >= 0.6
#> NoGo: P(theta <= 0 | data) >= 0.8
#> Probabilities: exact computation (fixed control)
#> Conduct of the study (operating characteristics):
#> Enrollment: piecewise uniform on (0, 5, 10, 15) with rates (0.4, 2.0, 4.5)
#> Dropout: hazard 0.00226
#> Analysis: at time 15.44
qdm_decide(des, data_t = data_tte(events = 6, exposure = 150))
#> Decision: Go
#> Go: P(theta > 0.15 | data) = 0.6863 (threshold 0.6, met)
#> NoGo: P(theta <= 0 | data) = 0.001061 (threshold 0.8, not met)
#> Posterior distributions
#> Treatment: hazard ~ Gamma(shape = 6.1, rate = 151)
#> Control: fixed value 0.72
# Concurrent control
design_tte(
n_t = 30, n_c = 30, prior_t = prior_gamma(0.1, 1),
prior_c = prior_gamma(0.1, 1),
criterion = criterion_posterior(theta_tv = 0.15, theta_mav = 0,
gamma_go = 0.6, gamma_nogo = 0.8),
milestone = 3,
conduct = conduct_tte(accrual_time = c(0, 12), cut_events = 25)
)
#> Design: one time-to-event endpoint (milestone survival at t = 3)
#> Treatment: n = 30, prior Gamma(shape = 0.1, rate = 1)
#> Control: concurrent, n = 30, prior Gamma(shape = 0.1, rate = 1)
#> Posterior probability criterion
#> Go: P(theta > 0.15 | data) >= 0.6
#> NoGo: P(theta <= 0 | data) >= 0.8
#> Probabilities: numerical integration
#> Conduct of the study (operating characteristics):
#> Enrollment: uniform from 0 to 12
#> Dropout: none
#> Analysis: at event 25
# Hazard ratio in the randomized study of the example of Huang et al.
# (2019) (2:1 randomization, analysis at 127 events): Go if HR < 0.67
# with probability at least 0.5, NoGo if HR >= 0.8 with probability at
# least 0.6
design_tte(
n_t = 112, n_c = 56, prior_t = prior_gamma(0.01, 0.01),
prior_c = prior_gamma(0.01, 0.01),
criterion = criterion_posterior(theta_tv = 0.67, theta_mav = 0.8,
gamma_go = 0.5, gamma_nogo = 0.6,
direction = "less"),
effect = "hazard_ratio",
conduct = conduct_tte(accrual_time = c(0, 13), dropout_hazard = 0.003,
cut_events = 127)
)
#> Design: one time-to-event endpoint (hazard ratio)
#> Treatment: n = 112, prior Gamma(shape = 0.01, rate = 0.01)
#> Control: concurrent, n = 56, prior Gamma(shape = 0.01, rate = 0.01)
#> Posterior probability criterion
#> Go: P(theta < 0.67 | data) >= 0.5
#> NoGo: P(theta >= 0.8 | data) >= 0.6
#> Probabilities: exact computation (F distribution)
#> Conduct of the study (operating characteristics):
#> Enrollment: uniform from 0 to 13
#> Dropout: hazard 0.003
#> Analysis: at event 127
