9.3. Variations of Permuted Block Randomization

Although permuted block randomization provides a satisfactory allocation for the majority of clinical trials, some variations of it are also employed.

9.3.1. Permuted Block Design with a Variable Block Size

In a study unmasked to the investigator, permuted block design with block of variable size is sometimes employed (ICH E9), with the intention to make it harder for the investigator to guess the next treatment assignment and thus lessen the potential for selection bias. This strategy and its limitations are discussed in Rosenberger and Lachin (2002). They mention that, under a commonly used model for selection bias, variable block allocation "yields a substantial potential for selection bias in an unmasked study that is approximately equal to that associated with the average block size M". On the other hand, variable block allocation reduces the expected number of assignments that may be predicted with certainty compared to the sequence of permuted blocks of size M.

A permuted block randomization with variable block size can be generated in SAS using random number generators.

EXAMPLE: A 1:1 randomization schedule with a variable block size

Consider a clinical trial with 20 subjects who are to be allocated to two treatments in a 1:1 ratio using permuted blocks of size 2, 4 or 6. The size of each permuted block will be chosen at random with probabilities 0.25, 0.5 and 0.25, respectively. To provide a schedule for a minimum of 20 subjects, 10 permuted blocks need to be generated. The set of 10 blocks can include up to 60 subjects; however, only the first 20 treatment assignments will be used to allocate the study subjects.

Program 9.2 demonstrates how to generate a randomization schedule for the two-arm trial. First, the BLOCKS data set with 10 blocks of variable size is created. The size of each block is computed based on the HALF_SIZE variable which is defined as follows

half_size=rantbl(12345,0.25,0.5,0.25);

This statement invokes the RANTBL function (with the random seed 12345) that assigns values 1, 2 or 3 with probabilities 0.25, 0.5 and 0.25 to the HALF_SIZE variable. After the block size is determined (it is equal to two times HALF_SIZE since there are two treatment groups), HALF_SIZE observations are created in each treatment group within the block. After that, a random value uniformly distributed over (0,1) is added to the data set (RANDOM variable) to randomly permute the treatment assignments within each block. The RANDOM variable is generated using the RANUNI function with the seed set to 678. The last DATA step assigns consecutive allocation numbers (AN variable) to all observations on the list.

Example 9-2. A 1:1 randomization schedule with a variable block size
data  blocks;
    do block=1 to 10;
        half_size=rantbl(12345,0.25,0.5,0.25);
        do j=1 to half_size;
            do treatment=1,2;
                random=ranuni(678);
                output;
            end;
        end;
    end;
proc sort data=blocks out=schedule;
    by block random;
data schedule;
    set schedule;
    an=_n_;
    label treatment='Treatment group'
          block='Block number'
          an='Allocation number';
proc print data=schedule noobs label;
    var an treatment block;
    run;

Example. Output from Program 9.2
Allocation    Treatment     Block
  number        group      number

     1            2           1
     2            1           1
     3            1           1
     4            2           1
     5            1           2
     6            1           2
     7            2           2
     8            2           2
     9            2           3
    10            1           3
    11            1           3
    12            2           3
    13            1           4
    14            2           4
    15            2           4
    16            1           4
    17            1           4
    18            2           4
    19            2           5
    20            1           5
    21            2           5
    22            1           5
    23            2           6
    24            1           6
    25            1           7
    26            2           7
    27            2           7
    28            1           7
    29            2           8
    30            1           8
    31            1           9
    32            2           9
    33            2           9
    34            1           9
    35            1          10
    36            2          10

Output 9.2 displays the allocation schedule generated by Program 9.2. The schedule uses the following sequence of block sizes

(4, 4, 4, 6, 4, 2, 4, 2, 4, 2).

It should be noted that, although in the example above the first 20 subjects happened to be split equally (10 and 10) between the two groups, an unbalanced allocation of 9:11 might have also been an outcome. In general, when a sequence of permuted blocks with a random block size is used, the maximum imbalance in treatment assignments between the two groups is determined by the largest block size allowed. In studies of small size, the need to achieve an exact balance in treatment assignments might be a consideration when choosing an allocation procedure.

9.3.2. Constrained Block Randomization

Clinical trials are often designed to have unequal allocation to different treatment arms. This might be based on efficiency considerations, ethical considerations (placing more subjects on the treatment believed to be more efficient), the need to accumulate more experience with the experimental drug or simply meet regulatory exposure requirements.

In multi-arm trials, the number of subjects enrolled in each arm may reflect the roles played by the arms in the trial's objective. For example, consider a three-arm study with an experimental drug arm, an active control arm and a placebo arm. The primary objective of the trial is to compare the experimental drug to the active control and the placebo arm is included in the study to perform safety assessments. Power considerations may call for a size of 500 subjects in each of the two active treatment arms, and additional 200 subjects to be enrolled in the placebo group.

The allocation ratio of 5:5:2 will lead to a large block size (the smallest block size is 12), which, in turn, can lead to logistical problems described below. However, changing the treatment ratio to a similar, but more manageable ratio of 2:2:1, may not be acceptable since it requires enrolling 50 additional placebo subjects.

When the allocation ratio calls for a large block size, permuted blocks can turn out to be quite unbalanced with some treatment groups gathered at the beginning of the block and other groups at the end. To illustrate, consider a three-arm clinical trial with a 5:5:2 treatment ratio. With this ratio, the smallest block size is 12 and one can theoretically come across the following unbalanced block

(1,1,1,1,1,2,2,2,2,2,3,3).

Highly unbalanced blocks of this kind are a concern in multi-center trials stratified by center. If some of the centers enroll less than a full block of subjects, these centers might end up with an extreme imbalance in treatment assignments, or even without all treatment arms represented. That may lead to problems at the analysis stage and, if there are many small centers, the described phenomenon will have a negative impact on the overall balance of treatment assignments.

To avoid these problems when the block size is large, constrained randomization methods proposed by Youden (1964, 1972) can be used. Constrained block randomization does not use every existing permuted block with a given treatment ratio but only the better balanced blocks specified in advance.

Consider again the trial with a 5:5:2 allocation to three treatments (Treatments 1, 2 and 3). Blocks of size 12 can be constructed in the following way: five permuted blocks (1,2) or (2,1) are lined up and then two Treatment 3 assignments are randomly inserted (one among the first six assignments and the other one among the last six assignments). An example of a block generated with the described algorithm is given below

(2,1,1,2,3,1,2,2,3,1,2,1).

Another way to build a constrained randomization schedule with a block of size 12 is to generate a random permutation of

(1,1,1,2,2,3)

followed by a random permutation of

(1,1,2,2,2,3),

or vice versa, at random. This set of assignments is less restrictive compared to the allocation algorithm described above.

It is worth noting that other constrained block randomization algorithms have been proposed in the literature. For example, Berger et al (2003) introduced a randomization procedure (known as the maximal procedure) which uses any sequence in a block for which the maximum imbalance does not exceed a prespecified number.

With constrained randomization, blocks left incomplete at the end of enrollment will exhibit a better balance compared to a regular permuted blocks schedule, which might be especially important if the trial utilizes interim analyses. Constrained randomization is also less susceptible to accidental bias caused by a time trend in a prognostic covariate.

Constrained randomization schedules can easily be generated using PROC PLAN by imposing a constraint on a full factorial design in which the number of factors is equal to the block size (Song and Kuznetsova, 2003).

9.3.3. Allocation for Clinical Trials with Treatment Group Splitting

A common example of constrained randomization—perhaps not recognized as such—arises when treatment groups are split for a washout period or safety extension.

EXAMPLE: Dose-ranging study with a placebo washout

Consider a multi-center dose-ranging study with six treatment arms in which each arm is to be split in a 2:1 ratio at the end of the main study period for a placebo washout. Two thirds of each treatment arm will continue on the base study treatment, while the remaining third will be switched to placebo. This study design results in 12 different treatment regimens defined by a combination of a treatment arm (one of 6) and whether a subject will be switched to placebo or stay on the base study treatment during the placebo washout period.

At the base study start, the subjects are randomized to one of the 12 regimens (Arm 1 without switch, Arm 1 with a switch, Arm 2 without switch, Arm 2 with a switch,..., Arm 6 without switch, Arm 6 with a switch) in a

2:1:2:1:2:1:2:1:2:1:2:1

ratio. The minimal block size (18) can be too large for the study if most centers are expected to enroll about 6–9 subjects. Therefore, a constrained randomization schedule will be employed in which each block of 18 is built of three sub-blocks of six consecutive allocations in the following way:

  • Each sub-block of six contains all six base study arms.

  • In addition, to evenly spread the allocations to placebo washout across the three sub-blocks, two of the six base study arms within each sub-block are assigned to placebo washout and each sub-block has a different pair of the base study treatments assigned to the placebo washout.

  • The sub-blocks of six are distributed among the centers to achieve the balance across the six base study arms within the centers and the balance in 12 treatment regimens across the centers.

Program 9.3 implements the described constrained permuted block allocation algorithm and generates a schedule with ten blocks of size 18. First, PROC PLAN outputs ten blocks (BLOCK variable) of six arms (ARM variable assumes values 1 to 6 for each value of BLOCK) into the WASHOUT data set. It assigns to each of the 6 arms a value of 1, 2 or 3 (WASHOUT variable) by randomly permuting the set of values 1, 1, 2, 2, 3, and 3, among the six observations of each block:

Example 9-3. Dose-ranging trial with a placebo washout, Part 1
ods listing close;
proc plan seed=56789;
    factors block=10 ordered arm=6 ordered;
    treatments washout=6;
    output out=washout washout nvals=(1 1 2 2 3 3);
data washout;
    set washout;
    label block='Block number'
          arm='Base study arm'
          washout='Washout';
proc print data=washout noobs label;
    ods listing;
    run;

Example. Partial output from Program 9.3
Base
 Block    study
number     arm     Washout

   1        1         3
   1        2         2
   1        3         3
   1        4         1
   1        5         2
   1        6         1
   2        1         1
   2        2         2
   2        3         3
   2        4         2
   2        5         3
   2        6         1
   3        1         2
   3        2         1
   3        3         2
   3        4         3
   3        5         1
   3        6         3
   4        1         2
   4        2         1
   4        3         2
   4        4         3
   4        5         3
   4        6         1

Output 9.3 lists the first four blocks in the WASHOUT data set. Within each block, The WASHOUT variable determines which of the six treatment arms will be switched to placebo in the first, second or third sub-block of six, respectively. In the first block of 18 (BLOCK=1), the first sub-block of six will have Arms 4 and 6 switched to placebo washout (WASHOUT=1), the second sub-block of six will have Arms 2 and 5 switched to placebo washout (WASHOUT=2) and the third sub-block of six will have Arms 1 and 3 switched to placebo washout (WASHOUT=3).

The next step is to build the constrained blocks of 18 based on the WASHOUT data set. To do that, for each BLOCK=1 to 10, for each ARM=1 to 6 within the block, three observations (with the value of variable SUBBLOCK equal to 1, 2 and 3) are output into the REGIMENS data set. The SWITCH variable is set to YES when the SUBBLOCK=WASHOUT (a sub-block where a respective arm switches to placebo) and NO otherwise. The treatment regimen is then defined as (2*ARM-1) if the arm does not switch to placebo and as 2*ARM if the arm switches to placebo. A random key (RANDOM) is added to each observation in order to randomly permute the treatment regimens within each sub-block of 6. As in Program 9.2, this variable is uniformly distributed over (0,1).

Example 9-4. Dose-ranging trial with a placebo washout, Part 2
data regimens;
    set washout;
    length switch $3.;
    do subblock=1 to 3;
        if washout=subblock then do;
            switch='Yes';
            treatment=arm*2;
        end;
        else do;
            switch='No';
            treatment=arm*2–1;
        end;
        random=ranuni(6789);
        output;
    end;
    label block='Block number'
          arm='Base study arm'
          washout='Washout'
          subblock='Sub-block'
          switch='Switch to placebo?'
          random='Random key'
          treatment='Treatment group';
proc print data=regimens noobs label;
    var block arm washout subblock switch random treatment;
    run;

Example. Partial output from Program 9.4
Switch
 Block    Base study                Sub-       to        Random    Treatment
number       arm        Washout    block    placebo?      key        group

   1           1           3         1        No        0.71089         1
   1           1           3         2        No        0.93229         1
   1           1           3         3        Yes       0.40721         2
   1           2           2         1        No        0.05740         3
   1           2           2         2        Yes       0.75990         4
   1           2           2         3        No        0.42393         3
   1           3           3         1        No        0.28561         5
   1           3           3         2        No        0.65511         5
   1           3           3         3        Yes       0.05164         6
   1           4           1         1        Yes       0.92032         8

Output 9.4 lists the first ten observations in the REGIMENS data set.

To complete the randomization schedule, the REGIMEN data set needs to be sorted by block (BLOCK), subblock (SUBBLOCK) and randomly generated key (RANDOM) to have the treatment regimens randomly permuted within each sub-block of 6 (see Program 9.5).

Example 9-5. Dose-ranging trial with a placebo washout, Part 3
proc sort data=regimens out=schedule;
    by block subblock random;
data schedule;
    set schedule;
    an=_n_;
    label an='Allocation number';
proc print data=schedule noobs label;
    var an arm switch block subblock treatment;
    run;

Example. Partial output from Program 9.5
Switch
Allocation    Base study       to        Block     Sub-    Treatment
  number         arm        placebo?    number    block      group

     1             2          No           1        1           3
     2             3          No           1        1           5
     3             6          Yes          1        1          12
     4             5          No           1        1           9
     5             1          No           1        1           1
     6             4          Yes          1        1           8
     7             5          Yes          1        2          10
     8             4          No           1        2           7
     9             3          No           1        2           5
    10             2          Yes          1        2           4
    11             6          No           1        2          11
    12             1          No           1        2           1
    13             3          Yes          1        3           6
    14             5          No           1        3           9
    15             1          Yes          1        3           2
    16             2          No           1        3           3
    17             4          No           1        3           7
    18             6          No           1        3          11
    19             3          No           2        1           5
    20             2          No           2        1           3

Output 9.5 lists the treatment assignments of the first 20 subjects in the dose-randing trial. The first column is the subject's allocation number, the second column (Base study arm) indicates the arm to which the subject will be assigned during the base study and the switch column shows whether or not the subject will be switched to placebo at the end of the base study. The column "Treatment group" contains the treatment regimen (one of 12) that the subject is allocated to at randomization. The other two columns help understand the allocation algorithm implemented in Programs 9.3, 9.4 and 9.5.

9.3.4. Balanced-Across-Centers Allocation

A large number of incomplete blocks can seriously impair the balance of treatment assignments in clinical trials with stratified randomization (Hallstrom and Davis, 1988). As the last block in each stratum is often left incomplete at the end of enrollment, stratified assignment can result in as many incomplete blocks as there are strata. If the number of subjects in each stratum is small the imbalance in treatment assignments might be considerable. Typically, this is of concern in a study with numerous small centers. For example, in a 30-center study stratified by center as many as 30 blocks might be incomplete. Additional stratification by gender may result in as many as 2 × 30 = 60 incomplete blocks.

To avoid having a large number of incomplete blocks, a central randomization algorithm can be employed to allocate the subjects. With central randomization, a subject is assigned the next available allocation number (and the respective treatment) in his or her stratum (for example, gender), regardless of what center this subject belongs to. This allocation scheme can be easily implemented with the Interactive Voice Response System (IVRS). However, if centers are small, the central randomization may result in some centers being very unbalanced in treatment assignments, up to a point of having only one treatment assigned to all subjects at the center. That may lead to bias if a center happens to deviate from the other centers in efficacy or safety assessments due to a training issue. Also, it will lead to a suboptimal drug re-supply pattern, where the drug kits at the center with an unbalanced allocation will have to be replenished more frequently than it would have been necessary with a balanced allocation. Thus, even when an IVRS solution is available, there are merits to having the allocation balanced within the centers.

If no IVRS or similar technology is available to support a central randomization algorithm in a study, the randomization is stratified by center by necessity of drug distribution, if nothing else. In a study with a large number of small centers it may lead to a large number of incomplete blocks.

The imbalance caused by incomplete blocks can be lessened by having the blocks balanced across the centers. Consider a study with 40 small centers and a 2:1:2 ratio of allocation to Treatments 1, 2 and 3. The subject allocation is stratified by center to facilitate drug distribution. Stratification by gender is desired but the small size of the centers, which are expected to enroll six to nine subjects, makes it problematic. Almost all the permuted blocks of five will likely be left incomplete.

To improve the balance in treatment assignments within each stratum, the randomization schedule for each stratum will be prepared following a modified version of Zelen's (1974) approach described in Section 9.2.3. There are 30 different permutations of (1,1,2,3,3). These blocks can be arranged in six balanced sets of five blocks so that the five permuted blocks within each set will have a 2:1:2 allocation ratio across the row of subjects allocated first, second, and so on. Thus, when the five blocks within the first balanced set are distributed among Centers 1 through 5 (see Table 9.1), a balance is established across these five centers among the subjects allocated first, second and so on, at their respective center. If the same number of subjects are allocated to all five centers, there will be a perfect balance in treatment assignments across the centers even if all five blocks are incomplete. Of course, in real life the number of subjects enrolled will vary across the centers but even in this case the described algorithm provides a better balance than an allocation schedule built from randomly selected permuted blocks. Further, the second balanced set of fuve blocks will be sent out to Centers 6 through 10; the procedure will be repeated until all the blocks are generated for all 40 study centers.

Table 9-1. Permuted Blocks for the First Ten Centers in a Balanced-across-centers Allocation Scheme
Allocation order within each centerCenter
12345678910
1st subject2131323113
2nd subject3213131312
3rd subject1331211233
4th subject3112313321
5th subject1323132131

The described randomization schedule can be generated in SAS (Song and Kuznetsova, 2003). The algorithm is implemented in Program 9.6 using PROC PLAN. First, the six balanced sets of blocks are generated as six 5 × 5 Latin squares, where the value of TREATMENT=1 is mapped to 2, and the vector of 4 remaining values (2, 3, 4, 5) is mapped to one of the six permutations of (1, 1, 3, 3). This is accomplished by calling PROC PLAN with numeric values for treatment specified as (2 1 1 3 3), (2 1 3 1 3), (2 1 3 3 1), (2 3 1 1 3), (2 3 1 3 1) and (2 3 3 1 1). After that, all six balanced sets of five blocks each are put together, the order of the sets is randomly permuted, and the order of the blocks within each set is randomly permuted.

Example 9-6. Balanced-across-centers allocation
proc plan seed=6767;
    factors row=5 col=5 ordered/noprint;
    treatments treatment=5 cyclic 4;
    output out=sq1 treatment nvals=(2 1 1 3 3);
proc plan seed=7878;
    factors row=5 col=5 ordered/noprint;
    treatments treatment=5 cyclic 4;
    output out=sq2 treatment nvals=(2 1 3 1 3);
proc plan seed=8989;
    factors row=5 col=5 ordered/noprint;
    treatments treatment=5 cyclic 4;
    output out=sq3 treatment nvals=(2 1 3 3 1);
proc plan seed=9797;
    factors row=5 col=5 ordered/noprint;
    treatments treatment=5 cyclic 4;
    output out=sq4 treatment nvals=(2 3 1 1 3);
proc plan seed=8791;
    factors row=5 col=5 ordered/noprint;
    treatments treatment=5 cyclic 4;
    output out=sq5 treatment nvals=(2 3 1 3 1);
proc plan seed=6917;
    factors row=5 col=5 ordered/noprint;
    treatments treatment=5 cyclic 4;
    output out=sq6 treatment nvals=(2 3 3 1 1);
data sixsq;
    set sq1(in=in1) sq2(in=in2) sq3(in=in3) sq4(in=in4) sq5(in=in5) sq6(in=in6);
    retain r1-r6;
    if _n_=1 then do;
        r1=ranuni(4565);
        r2=ranuni(7271);
        r3=ranuni(8171);
        r4=ranuni(6171);
        r5=ranuni(7567);
        r6=ranuni(9231);
    end;
    random=r1*in1+r2*in2+r3*in3+r4*in4+r5*in5+r6*in6;
proc sort data=sixsq out=schedule;
    by random row;
data schedule;
    set schedule;
    by random row;

an=_n_;
    center=ceil(_n_/5);
    label an='Allocation number'
          center='Center'
          treatment='Treatment group';
proc print data=schedule noobs label;
    var an center treatment;
    run;

Example. Partial output from Program 9.6
Allocation              Treatment
  number      Center      group

     1           1          2
     2           1          3
     3           1          1
     4           1          3
     5           1          1
     6           2          1
     7           2          2
     8           2          3
     9           2          1
    10           2          3
    11           3          3
    12           3          1
    13           3          3
    14           3          1
    15           3          2
    16           4          1
    17           4          3
    18           4          1
    19           4          2
    20           4          3

Output 9.6 displays the treatment assignments of the first 20 subjects. It is easy to see that the obtained assignments are identical to the assignments at Centers 1 through 4 in Table 9.1.

The benefits of balancing across the centers are most obvious when the block size is large, e.g., in the case of a 5:5:2 allocation ratio. Balancing across centers can also be advantageous when a stratification of the schedule by another factor, e.g., gender, is contemplated in a study with small centers. Such a schedule will make the treatment groups better balanced in gender and will provide at least as good a balance in overall treatment assignments as a randomization not stratified by gender.

In the extreme case of a very small stratum, e.g., when only two-three subjects per center are expected to be enrolled in a study with a minimal block size of 8, the schedule built of incomplete blocks balanced across the centers can be considered for the stratum. More examples can be found in Cho, et al. (2004).

A balanced-across-centers allocation schedule is a special case (a single-factor case) of the factorial stratification proposed by Sedransk (1973). In the multi-factor case, the factorial stratification provides a close balance across all first, second, third and so on assignments in all strata. Factorial stratification is most beneficial if subjects are evenly distributed across the strata, which is not often the case.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.37.126