September 17, 2024
We practice how to design and implement a two-arm group-sequential trial with a time-to-event endpoint, where the summary measure of interest is the hazard ratio (HR).
Design stage
Required number of events
Suppose we wish to test \(H_0 : \text{HR} \geq 1\) versus \(\text{HR} < 1\).
We require:
Q1 How many events would be required for a fixed sample size design?
Choose Fixed, Survival, Sample size

The default values of the design are identical to the example values

Go to tab “Plan a Trial”

Choose an appropriate input type

Enter hazard ratio 0.6

Q1 How many events would be required for a fixed sample size design? \(\rightarrow\) 121

For the survival time distributions, assume:
For recruitment assumptions, assume:
Q2 What is the sample size (number of subjects) for a fixed sample size design?
Q3 What is the expected study duration for a fixed sample size design?
Choose an appropriate survival function input type

Enter median 1 (year)

Choose an appropriate accrual time input type

Enter accrual time 3 (years) and accrual intensity 50 \(\rightarrow\) Number of subjects = 150 (Q2)
Expected study duration (analysis time) = 4.776 years (Q3)

Q4 Suppose recruitment lasts 3.5 years instead of 3 years.
What would be the expected study duration for a fixed sample size design?
Change the accrual time to 3.5 (years) \(\rightarrow\) Expected study duration = 4.2 (years) (Q4)

Q5 Using the same design assumptions as above with a recruitment period of 3.5 years, prepare the sample size calculation in Q6.
Choose kMax = 2

Check the information rates

Choose design type asOF

Done - Ready to perform the sample size calculation

Q6 The interim analysis is planned to take place after how many events?
The final analysis is planned to take place after how many events?

Q7 How long would it take to reach the required number of interim and final events according to the design assumptions?

Q8 What is the critical value for the hazard ratio at the interim and final analysis?

Choose output type Details instead of Summary

Q9(a) What is the expected number of events under the null hypothesis?

Q9(b) What is the expected number of events under the alternative?

Q10 What is the expected study duration according to the design assumptions (i.e., under the alternative hypothesis)?

Q11 What is the expected number of subjects according to the design assumptions (i.e., under the alternative hypothesis)?

Suppose at the time of the interim analysis we wish to add a futility stopping boundary.
Q12 Create a design object which includes this futility stopping rule

Q12 Create a design object which includes this futility stopping rule

Ensure that bindingFutility = FALSE

Ensure that bindingFutility = FALSE

Q13 Use the function getPowerSurvival() to calculate the overall power when adding the futility boundary under the same design assumptions as above.
Choose calculation target “Power”

Assume: max. number of events is 121 and recruitment lasts for 3.5 years (50 subjects per year)

Set the direction to lower (directionUpper = FALSE)

Scroll down to see the results

Q13 What is the the overall power? Q14 The expected study duration and number of subjects?

Q15 What is the expected study duration and number of subjects, under H0? Set HR to 1

Q15 What is the expected study duration and number of subjects, under the null hypothesis?

Suppose at the interim analysis, the observed number of events is 67 and the value of the Z-statistic is -1.10 (where negative values correspond to treatment benefit).
Q16 Re-calculate the stopping boundary based on the observed 67 events at the interim analysis.
Note
See the vignette An Example to Illustrate Boundary Re-Calculations during the Trial with rpact for background information and a description of the general principles for boundary re-calculations.
See also, Wassmer & Brannath, 2016, p78f
Choose group sequential design

informationRates = c(67/121, 1)

Check the critical values: the stopping boundary at stage 1 is 2.795 (Q16)

Remember how much alpha was actually spent at interim: 0.00259 (required at final analysis)

Q17 What is the interim analysis decision?
Continue to the next stage, since the Z statistic -1.10 is between 0 (futility bound) and -2.795 (efficacy bound)
Note
In the current rpact version 4.0.0 the function getDesignGroupSequential() doesn’t know which direction of Z statistic indicates treatment benefit. By default, the critical values are displayed assuming positive Z is beneficial. Only when using functions like getSampleSizeSurvival() or getPowerSurvival() do we indicate the direction.
Suppose at the final analysis, the observed number of events is 129 and the value of the Z-statistic is -2.00 (where negative values correspond to treatment benefit).
Q18 Re-calculate the stopping boundary based on the observed 67 events at interim and 129 events at the final analysis.
Note
Since we have deviated from the planned number of events, our actual alpha spent no longer follows the O’Brien-Fleming-type alpha-spending function. Use the argument typeOfDesign = "asUser" instead.
Note
Since the observed information at the final analysis (129) is larger than the planned maximum information (121) we have a so-called “over-running” case.
See the vignette An Example to Illustrate Boundary Re-Calculations during the Trial with rpact
informationRates = c(67/129, 1)

Choose user defined alpha spending function

Enter how much alpha was actually spent at the interim analysis: 0.00259

Q19 What is the final analysis decision? Reject the null hypothesis since Z = -2.0 < -1.976

Note:
getAnalysisResults() with the argument maxInformation, e.g., getAnalysisResults(design, dataInput, maxInformation = 121).Q21 What is the expected study duration?
Choose Fixed, Survival, 2 Arms, Sample Size

Choose an appropriate survival function input type

Click + to add an additional piecewise survival row

Enter appropriate start time and lambda(2)

Choose an appropriate accrual time input type

Enter accrual time 3.5 and accrual intensity 50

Q21 What is the expected study duration? \(\rightarrow\) 3.67 years

Q22 Use the function getSimulationSurvival to calculate the power of the fixed sample size design with 3.5 years recruitment (50 subjects per year).
Choose calculation target Power simulation

Set the direction to lower (directionUpper = FALSE)

Set planned events to 121 and increase the number of iterations

Enable non-proportional hazards and set the hazard ratio to 0.8 at stage 2

The simulated power is 0.727

Drop-out assumptions can be added to any sample size or power calculation.
Q23 Going back to the assumptions in Q3, what is the expected study duration for a fixed sample size design if we specify in addition that 2% of subjects on each arm will drop out per year?
Enter dropout rate and time

Q23 What is the expected study duration?

Questions and Answers

