*! version 0.9 31 Jan 2019

Title

des_dtl -- Multi-stage drop-the-losers trial design for normally distributed outcomes

Syntax

des_dtl, [options]

Optional
kv(numlist) Number of experimental treatments in each stage. Default value is (3, 1).

alpha(#) Desired familywise error-rate. Default value is 0.05.

beta(#) Desired type-II error-rate. Default value is 0.2.

delta(#) 'Interesting' treatment effect. Default value is 0.5.

delta0(#) 'Uninteresting' treatment effect. Default value is 0.

sd(#) Standard deviation of the responses. Default value is 1.

ratio(#) Allocation ratio between the experimental arms and the shared control arm. Default value is 1.

no_sample_size Do not compute the required sample size.

n_start(#) Starting value for finding the required sample size. Default value is 1.

n_stop(#) Stopping value for finding the required sample size. Default value is -1.

Description

des_dtl determines the final-stage rejection (efficacy) boundary and required sample size of a multi-stage drop-the-losers trial with K experimental (see option k) and a single control treatment,
as described by Wason et al (2017).
That is, when the outcome variable of interest is assumed to be normally distributed.

It is assumed that K null hypotheses are to be tested, given by H_k: τ_k = μ_k - μ_0 ≤ 0, k = 1,..., K, where μ_k is the mean response on arm k.
Thus, arm 0 is assumed to be the control arm.
At each of J - 1 interim analyses, j = 1,..., J - 1, a set of computed test statistics are ranked to determine which experimental treatments continue to stage j + 1 (see option kv) along with the control treatment.
At the final analysis, the test statistic for the remanining experimental treatment is compared to a rejection (efficacy) bound.
If the test statistic exceeds this upper bound, the null hypothesis corresponding to this test statistic is rejected, with superiority of the relevant experimental treatment over control claimed.

Note that it is assumed that in each stage n patients will be recruited to the control arm, and rn patients to each present experimental arm (see option ratio).

The final-stage rejection boundary will be determined to control the familywise error-rate to level α (see option alpha) under the global null hypothesis, HG, which is given by:

HG: τ_1 = ... = τ_K = 0.

The option no_sample_size controls whether the required sample size is computed, with the search controlled when conducted by options n_start and n_stop.
When the search is conducted, des_dtl will aim to find the minimal required value of n to control the type-II error-rate to the desired level, β (see option beta), under the least favourable configuration, LFC.
The LFC requires 'interesting' and 'uninteresting' effect sizes δ and δ_0 to be specified (see options delta and delta0).
Precisely:

LFC: τ_1 = δ, τ_2 = ... = τ_K = δ_0.

In this case, des_dtl will return information on the familywise error-rate and power under HG and the LFC respectively.

For all calculations of error-rates, the standard deviation of the accrued responses is assumed to be known (see option sd).

Finally, the required multivariate normal integration is performed using an internal component of the command pmvnormal described in Grayling et al (2018).
This is included directly in des_dtl.
Similarly, the finaly-stage efficacy boundary is identified using an included implementation of Brent's root finding algorithm (Brent, 1973).

Options

kv(#) A numlist (vector) giving the number of experimental treatments that should be present in each stage of the trial.
Its length indicates the number of stages to the trial, and at least one experimental treatment should be dropped at each analysis.
Thus, its length should be greater than or equal to 2, and its elements should be strictly monotonically decreasing.
Its final element must also be 1.
The (internally specified) default value is (3, 1).

alpha(#) A real giving the desired familywise error-rate.
It should be strictly between 0 and 1.
The default value is 0.05.

beta(#) A real giving the desired type-II error-rate under the LFC.
It should be strictly between 0 and 1.
The default value is 0.2.
Not used when option no_sample_size is specified.

delta(#) A real giving the 'interesting' treatment effect used in the definition of the LFC.
It should be strictly greater than 0.
The default value is 0.5.
Not used when option no_sample_size is specified.

delta0(#) A real giving the 'uninteresting' treatment effect used in the definition of the LFC.
The default value is 0.
Not used when option no_sample_size is specified.

sd(#) A real giving the assumed value of the standard deviation of the responses in the control and experimental arms.
It should be strictly greater than 0.
The default value is 1.

ratio(#) A real giving the stage-wise allocation ratio between the (remaining) experimental arms and the shared control arm.
That is, ratio patients are allocated to each present experimental arm for every one patient allocated to the control arm.
It should be strictly positive.
The default value is 1.

no_sample_size Indicates that the required sample size should not be computed.
Speciying no_sample_size will reduce the execution time.

n_start(#) An integer giving the starting value in the search for the required sample size.
It should be an integer greater than or equal to 1.
The default value is 1.
Not used when option no_sample_size is specified.

n_stop(#) An integer giving the stopping value in the search for the required sample size.
It should either be greater than or equal to n_start, or set to -1, which indicates that n_stop should be internally allocated as three times the sample size required by the corresponding single-stage design using Dunnett's correction for
the specified input parameters.
The default value is -1.
Not used when option no_sample_size is specified.

Examples

Note: Depending on the available processing power, each of the following examples could take several minutes to run.

/// Example 1: A 2-stage 3-experimental treatment drop-the-losers design.

des_dtl

/// Example 2: Modifying the number of treatments in each stage.

des_dtl, kv(5, 1)

/// Example 3: A 3-stage 6-experimental treatment drop-the-losers design with
/// unequal allocation to the experimental arms and the control arm.

des_dtl, kv(6, 4, 1) ratio(0.5)

Stored results

des_dtl stores the following in r():

scalars:

r(u) The final-stage rejection (efficacy) boundary.

r(n) The required stage-wise group size in the control arm.

r(P_HG) The familywise error-rate under HG.

r(P_LFC) The power under the LFC.

r(N) The total required sample size.

Author

Dr Michael J Grayling
Institute of Health & Society, Newcastle University, UK
Email: michael.grayling@newcastle.ac.uk

See also

References:

Brent R (1973) Algorithms for minimization without derivatives. Prentice-Hall: New Jersey, US.

Grayling MJ, Mander AP (2018) Calculations involving the multivariate normal and multivariate t distributions with and without truncation. Stata J 18(4):826-43.

Jennison C, Turnbull BW (2000) Group sequential methods with applications to clinical trials. Boca Raton: Champan and Hall/CRC.

Wason J, Stallard N, Bowden J, Jennison C (2017) A multi-stage drop-the-losers design for multi-arm clinical trials. Stat Meth Med Res 26(1):508–24.

Related commands:

des_ma (a command for designing single-stage multi-arm trials)
des_mams (a command for designing multi-arm multi-stage trials)
pmvnormal (a command used for integration of the multivariate normal
distribution function)
sim_dtl (a command for simulating multi-stage drop-the-losers trials)
sim_ma (a command for simulating multi-arm trials)
sim_mams (a command for simulating multi-arm multi-stage trials)