RPACT Cloud Practical

Friedrich Pahlke

April 16, 2024

RPACT Cloud – Survival Practical

Purpose

Source: practical exercise survival_practical.html provided by Dominic Magirr

Required Number Of Events

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?

Required Number Of Subjects

For the survival time distributions, assume:

  • Median survival on the control arm is 1 year.
  • Exponential distributions.

For recruitment assumptions, assume:

  • It is possible to recruit 50 subjects per year at a uniform rate.
  • Recruitment lasts 3 years.

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

Choose an appropriate accrual time input type

Enter accrual time 3 and accrual intensity 50 \(\rightarrow\) Number of subjects = 150 (Q2)
Expected study duration = 4.776 (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 \(\rightarrow\) Expected study duration = 4.200 (Q4)

Adding An Interim Analysis

We wish to add an interim analysis for efficacy. The interim should happen after approximately half the required number of events. An O’Brien-Fleming type alpha-spending function will be used. No futility analysis is considered (for now).

Q5 Using the same design assumptions as above with a recruitment period of 3.5 years, perform the sample size calculation in two steps using the functions getDesignGroupSequential and getSampleSizeSurvival.

Choose kMax = 2

Check the information rates

Choose design type asOF

 

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)?

Adding A Futility Boundary

Suppose at the time of the interim analysis we wish to add a futility stopping boundary.

A simple rule is considered. If the Z-statistic is above zero (where negative values of the Z-statistic indicate treatment benefit), then the trial is stopped for futility.

However, the rule is considered non-binding.

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.

Assume recruitment lasts for 3.5 years (50 subjects per year).

Assume that the maximum number of events is 121.

Choose calculation target “Power”

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

Set directionUpper = FALSE

Scroll down to see the results

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

To answer Q15 set the hazard ration to 1

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

Interim Analysis Stage

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.

  • Assume the same alpha-spending function as above.
  • Assume the planned maximum number of events is 121.

Choose group sequential design

informationRates = c(67/121, 1)

Check the critical values

Q17 What is the interim analysis decision?

Continue to the next stage, since the Z statistic is between 0 (futility bound) and -2.795 (efficacy bound)

NOTE: 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 getSampleSize... or getPower... do we indicate the direction.

Final Analysis Stage

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.

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.

informationRates = c(67/129, 1)

Choose user defined alpha spending function

Take alphaSpent[1] = 0.00259 from the design before

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

More Complicated Survival Distributions

Let’s go back to our fixed sample size design with 3.5 years of recruitment (Q4).

Suppose now that the control arm follows a piecewise exponential distribution. For the first year the hazard rate is 1.3, and thereafter the hazard rate is 0.5.

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?

Non-proportional Hazards

Suppose that, in addition to the changing hazard rate on the control arm, the hazard ratio also changes.

Suppose that the hazard ratio during the first year is 0.6. Thereafter, the hazard ratio is 0.8.

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”

Multiple hazard ratios not yet available in RPACT Cloud for piecewise survival

But you can copy and paste the command to RStudio and add the second hazard ratio value 0.8:

result <- getSimulationSurvival(directionUpper = FALSE, plannedEvents = 121,
    accrualTime = c(0, 3.5), accrualIntensity = 50,
    piecewiseSurvivalTime = c(0, 1), lambda2 = c(1.3, 0.5), 
    hazardRatio = c(0.6, 0.8))
result$overallReject
[1] 0.735

Drop-outs

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?

What have we learned today?

  • RPACT Cloud
    • GUI basics
    • Reporting
    • Export (qmd, Rmd, html, pdf)
    • Plotting
    • Design comparison
  • The practical exercise survival_practical.html is almost completely reproducible with RPACT Cloud

Questions and Answers