*! version 0.9 31 Jan 2019

Title

des_mams -- Multi-arm multi-stage trial design for normally distributed outcomes

Syntax

des_mams, [options]

Optional
k(#) Initial number of experimental treatments. Default value is 3.

j(#) Maximum number of stages. Default value is 2.

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

beta(#) Permitted 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.

eshape(string) Shape of upper (efficacy) stopping boundary. Default value is pocock.

fshape(string) Shape of lower (futility) stopping boundary. Must be one of fixed, obf, pocock, and triangular. Default value is eshape.

efix(#) Fixed upper (efficacy) stopping boundary value. Default value is 2.

ffix(#) Fixed lower (futility) stopping boundary value. Default value is 0.

separate Utilise a separate stopping rule.

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_mams determines the stopping boundaries and required sample size of a multi-arm multi-stage trial with K experimental (see option k) and a single control treatment, as described by Magirr et al (2012).
That is, when the outcome variable of interest is assumed to be normally distributed.
For further information on MAMS designs, see Wason and Jaki (2012) and Wason et al (2016).

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 at most J analyses (see option j), j = 1,..., J, a set of computed test statistics are compared to a lower (futility) bound,
with any treatment whose test statistic falls below this bound being dropped from the study.
Similarly, the test statistics are compared to an upper (efficacy) bound.
The null hypotheses corresponding to the test statistics that exceed this upper bound are rejected, with superiority of the relevant experimental treatments over control claimed.

The rules for the termination of the study are dependent upon whether a simultaneous or separate stopping rule is used (see option separate and Urach and Posch (2016)).
With a simultaneous stopping rule, the trial is terminated as soon as any test statistic crosses an upper bound, or when all experimental arms have been dropped for futility.
That is, the study continues provided at least one test statistic exceeds the lower bound and none exceed the upper bound, with additional patients recruited to all remaining experimental treatments plus the control.
With a separate stopping rule, the study instead continues until all experimental arms have either been dropped for futility or claimed to be superior to the control.

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 stopping boundaries are determined to control the familywise error-rate to level α (see option alpha) under the global null hypothesis, HG, 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_mams will return information on the familywise error-rate and power under HG and the LFC respectively, as well
as the expected required sample size (ESS), standard deviation of the required sample size (SDSS), and median required sample size (MSS), under HG and the LFC.

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

A selection of possible stopping boundary shapes are supported (see options eshape and fshape): Pocock (1977), O'Brien & Fleming (1979), the triangular test (Whitehead, 1997), and constant boundaries
(see options efix and ffix).

Note that the functionality and syntax of des_mams is deliberately similar to MAMS::mams() in R (Magirr et al, 2012), in order to facilitate the comparison of outputs for validation purposes.
Accordingly, examples provided below are also supplemented with equivalent R code where possible.

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_mams.
Similarly, stopping boundaries are identified using an included implementation of Brent's root finding algorithm (Brent, 1973).

Options

k(#) An integer giving the initial number of experimental treatments.
It should be greater than or equal to 1.
Thus, des_mams will compute conventional two-arm group-sequential trial designs.
However, if such a design is required, the user is recommended to use des_gs instead (available from the author), which is optimised for the determination of such designs.
The default value is 3.

j(#) An integer giving the maximum allowed number of stages.
It should be greater than or equal to 2.
Thus, des_mams will not compute single-stage designs; for this functionality see des_ma.
The default value is 2.

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 1.
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 or option arate 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.

eshape(string) A string giving the shape of the upper (efficacy) stopping boundary.
It must be one of fixed, obf, pocock, and triangular.
The (internally specified) default value is pocock.

fshape(string) A string giving the shape of the futility (lower) stopping boundary.
It must be one of fixed, obf, pocock, and triangular.
The (internally specified) default value is the value of option eshape.

efix(#) Only used if option eshape is equal to fixed.
It is then a real giving the fixed upper (efficacy) stopping boundary value for the interim analyses.
The default value is 2.

ffix(#) Only used if option fshape is equal to fixed.
It is then a real giving the fixed lower (futility) stopping boundary value for the interim analyses.
It should be strictly less than the value of efix when eshape is equal to fixed.
The default value is 0.

separate Indicates that a separate stopping rule should be used, as opposed to the default simultaneous stopping rule.
Not used when option no_sample_size is specified.

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.

In Stata:

/// Example 1: A 2-stage 3-experimental treatment MAMS design.

des_mams

/// Example 2: Modifying the stopping boundary shape.

des_mams, eshape(obf) fshape(triangular)

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

des_mams, k(2) j(3) ratio(0.5)

/// Example 4: A 3-stage 3-experimental treatment separate stopping MAMS
/// design, with larger assumed standard deviation of the responses.

des_mams, j(3) sd(2) separate

Replication in R:

### Install the MAMS package
install.packages("MAMS")

### Example 1: A 2-stage 3-experimental treatment MAMS design.
MAMS::mams(K = 3, power = 0.8, p = NULL, p0 = NULL, delta = 1, delta0 = 0,
sd = 1, ushape = "pocock", lshape = "pocock")

### Example 2: Modifying the stopping boundary shape.
MAMS::mams(K = 3, power = 0.8, p = NULL, p0 = NULL, delta = 1, delta0 = 0,
sd = 1, ushape = "obf", lshape = "triangular")

### Example 3: A 3-stage 2-experimental treatment MAMS design with unequal
### allocation to the experimental arms and the control arm.
MAMS::mams(K = 2, J = 3, power = 0.8, r = c(0.5, 1, 1.5), r0 = 1:3, p = NULL,
p0 = NULL, delta = 1, delta0 = 0, sd = 1, ushape = "pocock",
lshape = "pocock")

### Example 4: A 3-stage 3-experimental treatment separate stopping MAMS
### design, with large assumed standard deviation of the responses.
Not currently supported

Stored results

des_mams stores the following in r():

scalars:

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(ESS_HG) The expected required sample size under HG.

r(ESS_LFC) The expected required sample size under the LFC.

r(SDSS_HG) The standard deviation of the required sample size under HG.

r(SDSS_LFC) The standard deviation of the required sample size under the LFC.

r(MSS_HG) The median required sample size under HG.

r(MSS_LFC) The median required sample size under the LFC.

r(min_N) The minimum possible required sample size.

r(max_N) The maximum possible required sample size.

matrices:

r(l) The lower (futility) stopping boundaries.

r(u) The upper (efficacy) stopping boundaries.

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.

Grayling MJ, Wason JMS, Mander AP (2018) Group sequential clinical trial designs for normally distributed outcome variables. Stata J 18(2):416-31.

Jaki T, Magirr D (2013) Considerations on covariates and endpoints in multi-arm multi-stage clinical trials selecting all promising treatments. Stat Med
32(7):1150-63.

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

Magirr D, Jaki T, Whitehead J (2012) A generalized Dunnett test for multi-arm multi-stage clinical studies with treatment selection. Biometrika 99(2):494-501.

O'Brien PC, Fleming TR (1979) A multiple testing procedure for clinical trials. Biometrics 35(3):549-56.

Pocock SJ (1977) Group sequential methods in the design and analysis of clinical trials. Biometrika 64(2):191-9.

Urach S, Posch M (2016) Multi-arm group sequential designs with a simultaneous stopping rule. Stat Med 35(30):5536-50.

Wason JMS, Jaki T (2012) Optimal design of multi-arm multi-stage trials. Stat Med 31(30):4269-79.

Wason J, Magirr D, Law M, Jaki T (2016) Some recommendations for multi-arm multi-stage trials. Stat Meth Med Res 25(2):716-27.

Whitehead J (1997) The design and analysis of sequential clinical trials. Wiley: Chichester, UK.

Whitehead J, Stratton I (1983) Group sequential clinical trials with triangular continuation regions. Biometrics 39(1):227-36.

Related commands:

des_dtl (a command for designing multi-stage drop-the-losers trials)
des_ma (a command for designing single-stage multi-arm trials)
nstage (a command that provides functionality for multi-arm
multi-stage trials with time-to-event outcomes)
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)