Skip to contents

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_c must be NULL (the default) for a fixed control and is required otherwise.

criterion

Decision criterion for one endpoint, created by criterion_posterior or criterion_predictive, with thresholds on the scale of the effect: the milestone survival difference (or the milestone survival itself with fixed_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 be NULL (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_t plus n_c).

external_t, external_c

External data of the treatment and control groups, created by borrow with data_tte, or NULL (no external data).

hypothetical_c

Hypothetical control, created by hypothetical with data_tte, or NULL. It can be used only when n_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"); or NULL. It can be used only when n_c = 0.

conduct_future

Conduct of the future study for a predictive criterion, created by conduct_tte; by default the same as conduct. 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)\), or

effect = "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 example theta_tv = 0.67 and theta_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_c is at least 1. External control data can be added through external_c.

External control only

n_c = 0 and external_c is given. The distribution of \(\lambda_c\) is the posterior distribution given the external control data.

Hypothetical control

n_c = 0 and hypothetical_c is given by hypothetical(data_tte(events, exposure)), whose events and total observed time are added to prior_c.

Fixed control

n_c = 0 and fixed_c is 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 = 0 makes the effect the treatment milestone survival itself). prior_c is not used and must be NULL.

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

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