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
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.
Terminology
A consistent terminology is used throughout the randomisation system, although in practice different trials may use alternative terms.
Kit
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
Batch is optional but is intended to record the manufacturer's lot or batch number.
Expiry
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 AA B
orA,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 21-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.
Updating
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.
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.
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.
Downloading
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:
id,patientId,code,kitBlock,kitType,batch,expiryDate,expiryBuffer,kitStatus,dispensedVisit,location,siteId,dateUpdate,notes,siteName 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 numbersubjectId
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 datagroup
Unblinded treatment group of the kit. Only shown if the user has the code list treatment group permissioncode
Kit codekitBlock
Kit block numberkitType
Type of kitbatch
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 allocatedkitStatus
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' etclocation
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 sitesdateUpdate
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 rowdistributorId
Distributor ID linked to kit