Code (kit) lists

Code lists (also known as kit or medication lists) are only relevant to double blind trials. The code list provides the confidential link between the kit codes and the true treatment group. It is used by the drug packager or pharmacist, for instance, to label the active and placebo treatments with the kit code - see the FAQ for more information. Here is an example of a code list in the randomisation system

Viewing a code list

The randomisation system does not by default display the treatment group, but it is useful for administrators to view the other columns in the code list because it shows the location of trial treatments and whether they are available for use.


A consistent terminology is used throughout the randomisation system, although in practice different trials may use alternative terms.


A kit is a unit of the investigational product or placebo that will be given to a single participant. In practice a kit may be a vial, a bottle containing pills, a pack containing multiple vials etc. Multiple kits may be given to the same participant, for instance at scheduled follow-up visits or because the original kit has been lost or damaged.

Kit code

The kit code is a unique code assigned to a kit. The kit code will be printed on the packaging and given out by the randomisation system. The format of a kit code is usually numeric or alphanumeric (e.g. 7210 or AT6). Some trials may have different types of kits, such as different bottle sizes, different dosages or rescue medication. Randomisation kit code is the kit code given out at randomisation, as opposed to kit codes given out at follow-up visits.

Kit block

A kit block is an administratively convenient block of kits and is used in the dispensing policy (see below). Kits are often shipped in whole blocks and the blocks are balanced to represent the randomisation ratio. For instance, a block of 4 in a trial with 1:1 ratio will contain 2 active and 2 placebo treatments. Note, however, that the kit blocks in the code list are not related to the block sizes chosen to balance the randomisation if random permuted block randomisation is in use.

Sequence number

The sequence number is used to order the code list in a consistent, reproducible manner. It has no other function - in particular do not assume that kits are given out in sequence number order (see dispensing policy below).


Batch is optional but is intended to record the manufacturer's lot or batch number.


Kits must be given an expiry date, and that date must be in the future before they can be dispensed (kits will not be dispensed on the date of expiry). Kits will not be dispensed in the buffer days leading up to the expiry date either. This is to prevent kits being dispensed that may expire during the period of their use.

Viewing a code list

For trials that have a code list, a Code list link may be shown in the top menu to administrators. It will not be shown for trials that are not shipping kits to sites, such as trials where the drug is made up in the pharmacy on demand using bulk supplies.

Expired kits and those without an expiry date are greyed out. The columns shown in the code list are:

Sequence The sequence number (list order)
Kit block Kit block number
Kit code The unique code used to identify a specific kit
Kit type Type of kit – will be 'Standard' by default but a trial may be configured to allow variants such as kit size or dosage
Batch Optional record of manufacturer's lot or batch number
Expiry date Date after which the kit must not be used
Buffer, days Period before the expiry date during which the kit must not be allocated
Status Current status of the kit: Unmade, New, Dispensed, Quarantined, Lost, Damaged, or Destroyed
Location Current location of the kit: Manufacturer, Distributor, Site, or Other
Site Site kit is located at (if any)
Distributor Distributor kit is located at (if any)
Last update Timestamp of last update to kit made by the system (such as dispensing). Does not include changes made by the user on the code list page
Notes Optional notes to record observations
Unblinded drug details The unblinded treatment group of the kit. Only shown if the user has the code list treatment group permission

Filtering and sorting the code list

The list can be filtered and sorted using the controls in the table headings. Text or date columns can be filtered using statements like:

  • A - rows matching A
  • A B or A,B - rows matching A and B
  • (A B) or (A,B) - rows matching A or B
  • (A B) C or (A,B) C - rows matching A or B and C

Numeric columns (displayed with a lighter font colour and aligned to the right) behave slightly differently:

  • 1 - rows with value 1
  • (1 2) or (1,2) - rows with value 1 or 2
  • 1-3 - rows with value within the range of 1 to 3
  • (1-3 7-8) or (1-3,7-8) - rows with value within the range of 1 to 3 or 7 to 8.


Kits can be selected using the checkboxes to the left of the list, or by clicking anywhere on a row. Shift-click and Control/Command-click can be used to select multiple rows.

You can also select kits by using filters on the list (see above). Once your list is filtered to the subset of the list that you want to update, all matching rows can be selected by using Select ▼ > All [n] matching rows. This operation can be repeated to add rows matching different criteria to the selection.

Updating selected kits in a code list

Selected rows are updated using the form above the code list. This takes the user to a confirmation screen showing the actions that will be carried out and any warnings for unusual changes. Warnings are shown when:

  • Changing batch, expiry date, expiry buffer, status or notes for a dispensed kit
  • Moving kits between sites
  • Changing status from Dispensed to any other value
  • Changing status of a previously dispensed kit to New as this will remove the link to the participant the kit was dispensed to
  • Changing location from Site to any other value as this will remove the link to a specific site

If a warning is shown, the user will be required to enter a reason for making the change. This reason will be recorded in the audit trail.

It is not possible to change the kit type, location or site if a kit has been dispensed.

Confirmation of changes to code list

Deallocating a kit from a participant

Sometimes it may be desirable to deallocate a kit from a participant, such as when a participant was randomised in error or withdraws before the kit is used. This can be done by updating the kit in the code list and changing the status from Dispensed back to New. This makes the kit available again for use at the site. Kits deallocated in this way are still shown when viewing the original participant along with the date of deallocation.

🙈 If you deallocate a kit from an unblinded participant and use it again, then the new recipient of the kit is effectively unblinded as well. To prevent this we recommend you do not deallocate kits from unblinded participants.

Dispensing policy

Kits are assigned to participants at randomisation and during follow-up according to a dispensing policy. The default policy is to assign kits which:

  • Match the participant's randomised treatment group
  • Have not expired and are not within the expiry buffer before the expiry date
  • Have a status of New
  • Have a location of Site and are at the same site as the participant

Eligible kits are sorted by expiry date and kit block number, so that kits that expire earlier will be chosen in preference to kits that expire later. For kits with the same expiry date, lower kit block numbers are preferred.

Kits are chosen at random from the pool of eligible kits (with earlier expiry and lower numbered kit blocks preferred) to reduce the chance of treatment information being gleaned from the order in which kits are used. Note this means that kits are not allocated in sequence number order.

The dispensing policy for particular trials can vary from the default policy. Extra factors such as follow-up visit, kit type or patient characteristics may be taken into account. You should check the specification page for your trial to see if this is the case.

Stock levels

It is the administrators responsibility to update the code list to reflect the real world location of kits and make sure sites have enough stock available for randomisation and follow-up visits as appropriate. The drug stocks report shows the number of new, unexpired kits available at each site. It will also show warnings for sites where there are no kits available for any treatment group. Randomisation may fail if there are insufficient kits available at site.

The code list can be updated directly, or via the site restocking feature, which enables low stock emails and automatic restocking of sites to be configured.


The full blinded code list can be downloaded by clicking on the 'Download as CSV' link shown at the top of the code listing. The code list will be sent as a plain text comma separated value file. The field names are given in the first row. For example:

1,3,SG6,1,Standard,,2035-12-12,0,Dispensed,Randomisation,Site,2,"2016-07-14 17:02:24",,"Luton Hospital"2,2,ZV0,1,Standard,,2035-12-12,0,Dispensed,Randomisation,Site,2,"2016-07-14 17:02:24",,"Luton Hospital"3,1,FI4,1,Standard,,2035-12-12,0,Dispensed,Randomisation,Site,2,"2016-07-14 17:02:24",,"Luton Hospital"4,,ZD4,1,Standard,,2035-12-12,0,New,,Site,2,"2016-07-15 15:55:36",,"Luton Hospital"5,,XB3,2,Standard,,2035-12-12,0,New,,Site,2,"2016-07-15 15:55:36",,"Luton Hospital"6,,HC3,2,Standard,,2035-12-12,0,New,,Site,2,"2016-07-15 15:55:36",,"Luton Hospital"7,,KG0,2,Standard,,2035-12-12,0,New,,Site,2,"2016-07-15 15:55:36",,"Luton Hospital"8,,YH5,2,Standard,,2035-12-12,0,New,,Site,2,"2016-07-15 15:55:36",,"Luton Hospital"

The fields present are:

  • id Sequence number
  • subjectId If the kit has been dispensed, the id of the participant the kit was assigned to. Use this field to link kits to other participant data
  • group Unblinded treatment group of the kit. Only shown if the user has the code list treatment group permission
  • code Kit code
  • kitBlock Kit block number
  • kitType Type of kit
  • batch Manufacturer's batch or lot number (optional)
  • expiryDate Expiry date (yyyy-mm-dd format)
  • expiryBuffer Buffer period in days before the expiry date when kit will not be allocated
  • kitStatus Current status of kit - one of 'Unmade', 'New', 'Dispensed', 'Quarantined', 'Lost', 'Damaged' or 'Destroyed'
  • dispensedVisit Visit when kit was allocated, such as 'Randomisation', 'Follow-up' etc
  • location Current location of kit - one of 'Manufacturer', 'Distributor', 'Site', 'Other'
  • siteId ID of site where kit is located. Will be blank if not at a site or if the kit can be used at all sites
  • dateUpdate Timestamp of when kit information was last updated (UTC, yyyy-mm-dd hh:mm:ss format)
  • notes Notes (optional)
  • uploadId ID number of upload which created the row
  • distributorId Distributor ID linked to kit
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us