Skip to main content
Journal of Medical Signals and Sensors logoLink to Journal of Medical Signals and Sensors
. 2011 Jan-Apr;1(1):55–61.

An Overview of Randomization and Minimization Programs for Randomized Clinical Trials

Mahmoud Saghaei 1,
PMCID: PMC3317766  PMID: 22606659

Abstract

Randomization is an essential component of sound clinical trials, which prevents selection biases and helps in blinding the allocations. Randomization is a process by which subsequent subjects are enrolled into trial groups only by chance, which essentially eliminates selection biases. A serious consequence of randomization is severe imbalance among the treatment groups with respect to some prognostic factors, which invalidate the trial results or necessitate complex and usually unreliable secondary analysis to eradicate the source of imbalances. Minimization on the other hand tends to allocate in such a way as to minimize the differences among groups, with respect to prognostic factors. Pure minimization is therefore completely deterministic, that is, one can predict the allocation of the next subject by knowing the factor levels of a previously enrolled subject and having the properties of the next subject. To eliminate the predictability of randomization, it is necessary to include some elements of randomness in the minimization algorithms. In this article brief descriptions of randomization and minimization are presented followed by introducing selected randomization and minimization programs.

Keywords: Computer program, minimization, randomization, randomized clinical trial

INTRODUCTION

As stated in the Consolidated Standards of Reporting Trials,[1] a clear description of the method used to enroll subjects into different arms of a trial is necessary. This, way the reporter declares that no selection bias was present in the trial, and therefore, the trial results are valid.[2] Subjects must be allocated to trial groups randomly. The main purpose of random allocation is to prevent selection biases. In this article different aspects of randomization and minimization are presented, followed by a brief introduction of some common allocation programs.

RANDOMIZATION

Randomization or random allocation is usually performed by generating a random list of subject allocations prior to the start of a trial. Randomization is usually associated with trial blindness. That is, during randomization each subject will be given a unique identification code (numeral or alpha), which after the completion of the study will be decoded to the actual subject group. Traditional methods of subject allocation to treatment groups, such as, allocating every other subject to each group (alternating allocation) is not considered random allocation. Randomization may be simple or blocked.[3] In simple randomization we construct a randomized list of all the subjects who are going to be enrolled into the trial. Although it is effective to randomize subjects into trial arms, simple randomization may accidentally result in clusters of subjects being given the same treatment in certain periods during the trial. Also it tends to be inefficient with respect to the available resources, which is a problem when the trial involves preparation and blind labeling of drugs prior to the intervention. Block randomization can overcome the problem of subject sequestration and resource inefficiency by dividing the whole set of randomized subjects into smaller blocks. In this manner, after completion of a block, an equal number of subjects will be enrolled in each group. Also the researchers have to prepare and label the drugs for only one block at a time. The main usage of block randomization is for controlling the systematic factors, such as, time and location, which otherwise may affect the outcome of the trial. For example, in multi-center trials, each center may receive a whole block of subjects. Unfortunately, block randomization increases the predictability of subject enrollment near the end of the block boundary, especially when the allocations of already enrolled subjects are known and the blocks have an equal number of subjects from each group. Thus, one may guess the group of the next subject, especially if this is the last subject in the block. To overcome this problem we may use variable, but predefined block sizes, with blinding of researchers about the block boundaries. This way the block sizes are different from one another, which reduce the probability of predicting subject membership. Block sizes and numbers can be totally in random, that is the number of blocks and the size of each block can be varied randomly. This is random permuted block randomization.

To allocate subjects to treatment groups randomly, we can use the table of random numbers, tossing a coin, drawing sealed envelopes, and using computer software. Supervising the overall aspects of randomization and keeping records of different allocations, with their labels, is a difficult and error-prone task, which necessitates using advance computer software. Randomization software has the capability to control different aspects of randomization, such as, the type of randomization, generating unique identification codes for each participant and implementation of trial blindness. The typical randomization software has functions and control for selecting the type of randomization from among simple, equal blocks, random fixed permuted blocks, and total permuted blocks. In addition these software offer control over a generation of unique identifier strings to select alpha, numeric or mixed types of unique identifiers in sequential or random orders.

During the last decade many randomization programs have been developed. Some of these programs are downloadable and run on a personal computer (PC), others are used as web services. Although many of these randomization programs are free, a majoritiy of them are not open sources, which prevents close inspection of their algorithm and program functions. In this article some of these softwares are introduced. The selection is based on the availability of service, download, and documentation. This must in no way be considered as an exhaustive list of randomization programs, and the selection is only on availability and ease of use. A comprehensive list of randomization programs is available at the Directory of Randomization Software and Services.[4]

Clinstat

Clinstat is a free, closed source, interactive, multi-module MS-DOS statistical software for carrying out basic statistical analysis, in addition to performing randomization.[5] As it is old, running MS-DOS programs is tricky. Appendix A provides the basic instruction for running an MS-DOS program under the Windows operating system. Upon execution in a DOS console, the program displays a menu for various statistical analyses [Figure 1]. Apart from different statistical modules, there is a randomization module for random number generation, sampling, and allocation of tasks, which can be selected as the eighth option in the main Clinstat menu (under ‘miscellaneous calculations’). In this program the trial groups are unlimited and it randomly allocates up to 1000 subjects into any number of treatment groups. The program support both equal and unequal group sizes. Block randomization (fixed and random sizes) is also supported. Group names or labels cannot be specified, and the subjects are allocated into groups with numeric indicators (that is group 1, 2, 3, …). Further documentation about the software is available on the program's website.

Figure 1.

Figure 1

Clinstat program. A – The first screen of the Clinstat program showing different statistical utilities. To perform randomization, select option 8 ‘miscellaneous calculations’ from this menu. B – Upon selection of option 8 from the main menu, this menu will be displayed in the Clinstat program. For randomization select ‘random sampling and allocation’ (option 1). C – Different randomization procedures in the Clinstat program. D – An output from the program after selecting ‘random allocation in fixed blocks’ (menu option 6), showing two blocks of the output

Randomization.com

Randomization.com is an online, closed-source, free web service for obtaining randomized lists.[6] This program supports up to 20 groups each, with a unique label. Sequentially each subject is given an ID number, which by default starts from one, but it is possible to specify a different starting point. It consists of three generators. The first generator produces random permuted blocks with specified block sizes. Up to four block sizes may be used, and for each block a repeat factor can be specified, which defaults to one [Figure 2]. The second generator is for cross-over studies, where each subject must receive all the treatments in random order. The output determines the order of receiving treatments for each subject. Up to six treatment labels may be entered [Figure 3]. Orders may be produced in random permutations in which some orders may occur more frequently than others, or at balanced permutations, in which different orders occur at the same time. The last generator is for random sampling from a population source. The only thing this generator does is to permute a sequence of integers. In other words it shuffles the sequence in a random way. Separate documentations are available on the service website for each of three generators.

Figure 2.

Figure 2

First generator of Randomization.com for random permuted blocks of determined sizes and numbers. Up to 20 group names may be entered. A maximum of four block sizes together with the number of blocks with each size may be specified

Figure 3.

Figure 3

Second generator of Randomization.com for randomizing the order of treatment in cross-over trials. Up to six treatment labels may be specified

GraphPad QuickCalcs

GraphPad QuickCalcs is a closed-source, free, online limited randomization service for allocating subjects to a number of groups, with repeated block defaults at one.[7] It can also produce a shuffled list of numbers for each group. No documentation is available for this randomization service.

Research Randomizer

Research Randomizer is also a closed-source, free, randomization web service.[8] It can be used for random sampling, random assignment to treatment groups, and block randomization. It does not support group labels. This randomization service has an excellent tutorial with five sample randomization scenarios for random sampling, random assignment, random block assignment, generating random numbers in a specified range, and random ordering of a set of items.

Random Allocation Software and Service: The Random Allocation Software is a closed, source-free, desktop software, running on the MS-Windows operating system.[9] The Random Allocation Software is also available as a free open source web service.[10,11] Both have different settings for simple and blocked randomizations; length, format, and ordering of generated unique identifiers; type and format of program output; and saving sessions for future use. It permits complete control over the randomization protocol. However, it does not support randomization for cross-over trials or adapted randomization. Complete documentation of the program is published in the BMC Medical Research Methodology.[12]

Adaptive Randomization

This is a closed-source, free desktop software, available for download and running, on the MS-Windows operating system, under the dot net framework.[13] This program supports a specific type of randomization in which the randomization probabilities are affected in favor of those treatments with better outcomes. Two kinds of outcome measures can be fed into the program, which is a binary and time-to-event program. It has a limit of up to ten treatment groups. Also this program supports interim measures and stops rules for terminating a trial when certain criteria are met. It has adaptation factors. The more the adaptation factors, the more will be the probability of their assignment to treatments with better outcomes. The zero of this adaptation factor (no adaptation) means complete randomization. This program is a desktop software, running under the Windows operating system and requires pre-installation of the dot net framework.

MINIMIZATION

The most important drawback of the randomization software is the problem of unmatched groups. In the process of randomization it is probable that the treatment groups develop significant differences in some prognostic factors, especially when the sample size is relatively small (<200).[14,15] If these factors have important effects on the primary or secondary outcomes of the study, any important difference in the levels of these factors invalidate the trial results, and necessitate complicated statistical analysis with unreliable results. Various methods have been used to overcome the problem of unmatched trial groups including minimization and stratification, with minimization providing more acceptable results.[16] Taves,[17] in 1974, and Pocock and Simon,[18] in 1975, independently described the method of minimization. With minimization the first subjects are enrolled randomly into one of groups. The subsequent subjects will be allocated to treatment groups after hypothetical allocation of each subject to every group, and then calculating an imbalance score. Using these imbalance scores, we can decide to which group the new subject must be allocated, to have the minimum amount of imbalance, in terms of prognostic factors. Pure minimization is indeed completely deterministic, that is, we can predict which group the next subject will be enrolled in, provided the factor levels of the new subject are known. This may invalidate the principle of trial blindness and introduce some bias into the trial. To overcome this shortcoming some elements of randomness are incorporated into the minimization algorithm, to make the prediction unlikely. Unfortunately the whole process of minimization is well beyond the skill of a typical clinical researcher, especially when the problem of unequal group allocations has to be taken into account. The difficulty in computation has resulted in a relatively less frequent use of minimization methods, in randomized clinical trials. The computer software can perform excellently in these situations, especially when the implementation has been logical. In the following sections, the aspects of two minimization programs are presented. Again the selection of these programs is based on the availability and ease of use.

Minim

Minim is a free, but closed-source, MS-DOS program, for minimizing subjects into the arms of a clinical trial.[19] This program must be run under the DOS or Windows operation system. Appendix A provides the basic instruction for running an MS-DOS program under the Windows operating system. Minim is an interactive program, which means it prompts for user input, one at a time, then displays the next prompt, and asks for another input. Upon execution it prompts for the data file name, which is the file containing the minimization settings for a trial, together with the already allocated subjects’ data if there are any. Therefore, if one has already defined a trial by this program and previously saved it, they can enter its name to load it. Otherwise the name will be used as also the name of the new trial settings. When defining a new trial, the program asks for trial information and the different trial settings. Appendix B is a typical minim program session, which displays the questions the program asks and sample answers to the questions.

To the best of our knowledge this program does not support setting the method and the amount of probability used for allocation of subjects to trial groups. Also it does not allow changing the distance measure.

MagMin

MagMin is an online, closed-source, private minimization service, for blind allocation of subjects to multi-center clinical trials. As this is not a public service, its properties cannot be fully evaluated. However, in an article presenting this program it has been described as a minimization program using the Pocock and Simon's minimization method,[18] using standard deviation as the distance measure.[20] MagMin seems to have limited choice over different aspects of minimization, such as, the choice of distance measure. Anyhow, due to its unavailability it cannot be elucidated for certainty of its full potential. A demo website is available, which shows active allocation.[21] This demo has been previously set up, and in its present form is a running minimization service, which shows allocation of a new subject into the trial without displaying the details of the minimization setting. In the running demo it is possible to add subjects by minimization to an already defined trial. The demo asks for different properties of new subjects and enrolls it into the trial and returns the numerical blind code of the enrolled subject.

MinimPy

MinimPy is a free, open-source, desktop minimization program, which allocates subjects to treatment groups in a clinical trial.[22] With this program nearly all aspects of a minimization model can be configured. Of special note is the ability to choose distance measure and the probability method. In addition this program supports the biased coin minimization as the probability method, which has not been used in previous programs. MinimPy is produced using the python programming language,[23] which is very strong and efficient for computational purposes, and it is one of the most readable programming languages. MinimPy requires python to be installed, with gtk libraries, for support of graphic user interface. This program has different windows for such things as minimization settings, variables, groups, allocations, and balance [Figure 4]. It also supports pre-loading an already allocated sample into a trial.

Figure 4.

Figure 4

MinimPy program showing different tabs for settings, variables, groups, allocations, table and balance. In this figure the settings tab is displaying variuos aspects of minimization protocol such as probability method and distance measure

CONCLUSIONS

With the advent of computer program and online services for randomization and minimization in clinical trials, an increasing number of randomized clinical trials are going to make efficient use of them. However, there are few aspects of these program and services that need more attention to make them more acceptable for various needs of clinical researches. Also it can be concluded that there is an increasing need to move toward open-source development, to enhance the quality of the produced software and make them available to the critiques of different clinical and software specialists.

APPENDIX

Appendix A: Running MS-DOS Programs

MS-DOS programs usually do not need installation. To run the program you need an MS-DOS operating system. Alternatively, you can run the program in a DOS console under Windows. For the latter, click the start menu and select Run. A dialog window appears. Type ‘cmd’ (without quotes) in this dialog window, to open a DOS terminal, with the blinking cursor in front of a greater than sign (>). Command and programs are run by typing their names in front of this command prompt. First change the current directory to the one where your program is situated. Here we suppose your program name is prog.exe and it is in the C: \myprog folder:

> cd\

> cd myprog

> prog.exe

Appendix B

Below is a typical minim program session that displays questions the program asks (in italic) and sample answers to the questions (bold). Texts between braces ({.}) are comments provided here to further elaborate the answers to questions:

What is the title for this trial? Test Trial

Type variable name No. 1 (‘*’ to end) ? Gender

How many categories has Gender ? 2

What name for category 1? Male

What name for category 2? Female

What weighting should Gender have? 1

{The weight of this variable showing its relative importance. A value of 1 means no special importance}

Type variable name no. 2 (‘*’ to end) ? Age

How many categories has Age? 3

What name for category 1? < 20 YO

What name for category 2? 20 – 50 YO

What name for category 3? > 50 YO

What weighting should Age have? 1

Type variable name no. 2 (‘*’ to end) ? *

Give the name of treatment group 1? Acetaminophen

Give a symbol to represent Acetaminophen ? A

Give a value for proportional allocation ? 1

{The ratio of allocation for this group. It is the partial contribution of this group in total sample size. Default is 1}

Give the name of treatment group 2? Placebo

Give a symbol to represent Placebo ? P

Give a value for proportional allocation ? 1

Give the name of treatment group 3 (‘*’ to end) ? *

graphic file with name JMSS-1-55-g005.jpg

Is that all correct ? Y

Type ‘A’ for Allocating new patients by minimization, or ‘U’ for Updating data with manually entered patients, or ‘S’ to StoP >> A

Do you have details of a patient ? Y

What is the value of Gender for this patient?

graphic file with name JMSS-1-55-g006.jpg

Value, or code in range 1 to 2 ? 1

What is the value of Age for this patient?

<20 YO. 1

20 – 50 YO. 2

>50 YO. 3

Value, or code in range 1 to 3 ? 2

Current patient details are:

graphic file with name JMSS-1-55-g007.jpg

Do you want to alter any of these details? N

Patient allocated to treatment Placebo.

Do you have details on a patient?

BIOGRAPHY

graphic file with name JMSS-1-55-g008.jpg

Mahmoud Saghaei is a professor in the Department of Anesthesia at the Faculty of Medicine, Isfahan University of Medical Sciences, Isfahan, Iran. He is also a part time member of Medical Image and Signal Processing Research Center (http://misp.mui.ac.ir/en/), which works on different aspects of biomedical engineering solutions to link the medical society with engineers.

Footnotes

Source of Support: Nil

Conflict of Interest: None declared

REFERENCES


Articles from Journal of Medical Signals and Sensors are provided here courtesy of Wolters Kluwer -- Medknow Publications

RESOURCES