Random allocation software for parallel group randomized trials
© Saghaei. 2004
Received: 17 August 2004
Accepted: 09 November 2004
Published: 09 November 2004
Skip to main content
© Saghaei. 2004
Received: 17 August 2004
Accepted: 09 November 2004
Published: 09 November 2004
Typically, randomization software should allow users to exert control over the different aspects of randomization including block design, provision of unique identifiers and control over the format and type of program output. While some of these characteristics have been addressed by available software, none of them have all of these capabilities integrated into one package. The main objective of the Random Allocation Software project was to enhance the user's control over different aspects of randomization in parallel group trials, including output type and format, structure and ordering of generated unique identifiers and enabling users to specify group names for more than two groups.
The program has 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. A formatted random list generated by this program can be used directly (without further formatting) by the coordinator of the research team to prepare and encode different drugs or instruments necessary for the parallel group trial.
Random Allocation Software enables users to control different attributes of the random allocation sequence and produce qualified lists for parallel group trials.
An important aspect of any trial that should be clearly stated in the final report is the method used to assign treatments (or other interventions) to participants . In the final report of the trial, authors should specify the method of sequence generation, i.e. whether they have used mechanical means, a computer generated random list or random number table. After preparing a random sequence, subjects will be allocated to the trial groups using an implementation method such as numbered containers, central telephone line, or allocation by a person who is not involved in the main research and patient care (the encoder). During the process of allocation each subject will be given a unique identification code (Unique Identifier, UI). This UI will be used as a label to uniquely identify the patient's group after completion of the study. During the study period this UI will be given to the main researchers together with the necessary treatment (e.g. drug or placebo). Usually these treatments are prepared by the encoder with the same physical characteristics (shape, color, size, etc), differing only by the UI labels to blind the main researchers about the actual patient group. Following enrollment of all subjects into the study, these UIs are decoded to determine the patient group. Depending on the preference of the researchers or facilities of the research environment, subjects are randomly allocated to intervention groups using either a random list prepared before the study (In Advance method) or a randomized allocation at the moment of intended intervention (Just In Time method; JIT). Both the JIT and In Advance methods produce acceptable allocations, and the actual choice depends on the availability of certain facilities for each method. Usually the randomization components of these two methods are produced by running a randomization software on either an Internet service provider or a local computer. The local encoder will obtain the next allocation (JIT method) or the entire random list (In Advance method) from the service provider or from the software on local computer and prepare the necessary blinded equipments.
Independent running on a local computer without any need to access the Internet
Different types of program output: to file (html or text files), window and system clipboard
Provisions for different block design
Capability to deal with a larger number of groups
Specifying a name for each group
Control over the format, length and ordering of the generated UIs
Control over the format of generated sequence
Saving or loading the randomization settings
Viewing previously generated randomized sequences
Random Allocation Software is a program created in Microsoft Visual Basic 6, and it installs in the same way as ordinary Windows software (i.e. running setup.exe and following on screen instructions). Once installed and run, there are some controls in the main window for specifying the number of groups (2 to 16), sample size and the name of each group. It also contains menu items to determine the program output and randomization settings. The default program output is saved into either html or text files, and it may also have output to a window or to the system clipboard. A variety of randomization options can be set in the options window. The length of generated UIs (named as Code in the program) can be between 3 to 10 characters and there are options for different alphanumeric structures. In addition, these UIs can appear in sequential or random order in the generated random list. The program can generate simple or block randomization in different types, including equal size blocks, multiple block lengths with random variation among the specified block sizes and complete randomized blocks (random number and size of blocks). The generated sequence will appear in a multiple columns format and the number of columns (1 to 10) can be changed in the options window. Output to html file will be formatted in the form of one block per table. Borders of the tables may be shown or hidden. By clicking the 'Generate' button in the main window the random sequence will be generated and opened by the default viewer for the output file (e.g. Internet Explorer for html files). Previously created output files can also be viewed from inside the program. Additional options include saving the current randomization settings, loading a previous setting and enabling the program to save the last setting upon program exit.
During execution, the program produces a random sequence of allocation using the Rnd function that generates a floating point random number. The Rnd function uses the linear-congruent method for pseudo-random number generation as depicted by the following formula:
x1 = (x0 * a + c) MOD (2^24) 
x1 = new value
x0 = previous value (an initial value of 327680 is used by Visual Basic unless the Randomize X function is used to specify a different seed as X)
a = 1140671485
c = 12820163
The seed of the Rnd will be the Timer function, which will return the number of seconds elapsed since midnight. Although this version of the program does not produce repeatable lists, it is possible to revise the program in subsequent versions to save the value of the seed to reproduce the same random list. The output consisted of shuffled allocations each of which is a UI, group name pair. The program checks for the uniqueness of the UIs and generates an error message if the specified UI length is insufficient to hold the entire sample size.
Runs test was used to check randomness of the output list with sample sizes from 10 to 190 (10, 30, 50, ..., 190) and from 200 to 3000 (200, 600, 1000, ..., 3000). Each runs test was carried out for the group number of 2, 3, 5 and 6. SPSS 10 software was used to perform the runs test.
A simple randomized list produced by the software for a sample size of 30 subjects into three groups of Case, Control and Placebo with numeric sequential unique identifiers
The same setting as in table 1, but with the numeric UIs in random order
A block randomization list with four blocks of equal sizes
In block randomization the final sample size is usually larger than the specified one.
A total of 18 runs test were performed to check the randomness of the program output, which resulted in P values of 0.22 to 0.81.
The main use of Random Allocation Software is to produce simple or block randomized sequences for parallel group trials. Its use is restricted to parallel group randomized trials. Compared with similar software, it enables the user to control the length, order and format of the UIs; and the type and format of the output. It allows specifying up to 16 groups for parallel trials.
Random Allocation Software has been designed to produce random sequences consisting of UI, group name pairs with additional control over the output format and type. Available randomization software generally has limitations in the number of groups, naming each group, generating UIs and control over the output. Many of these problems have been addressed in the present software. As has been stated in previous sections, the main use of this software is for randomization in parallel group trials. The software can be revised to support crossover and other types of randomized trials. The experienced user may test the randomness of the program output by selecting numeric labels for group names and then exporting the generated list into a statistical software such as SPSS to execute a runs test on the exported data.
Project name: Random Allocation Software
Public use access:
http://www.msaghaei.com/Softwares/dnld/RA.zip (Latest version)
Operating systems: Windows 98, Me, 2000, XP. It should be noted that on some Windows operating systems (especially Windows 2000) during installation of the program an error message like "Setup Cannot Continue... System Files Are Out of Date" may be displayed. If this happens, click OK and restart the system. Then run the setup.exe again. This is due to a known bug in the installation programs of Microsoft Visual Basic . This problem has been removed from the newer versions of the program. Users are recommended to download the latest version from the first address.
Programming Language: Visual Basic 6
Other requirements: Internet Browser (Internet Explorer 5 or higher is recommended)
License: Free for academic use.
Just in Time
The author thanks Azra Kianinejad, Department of Human Development, Kobe University, Kobe, Japan for her kind review of the manuscript.
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.