一个使用动态随机的例子

  • Published by Viedoc System 2020-05-28
  • Print

本课提供了在Viedoc DesignerViedoc AdminViedoc Clinic中配置动态随机化的例子。它还说明了用于为受试者分配治疗的算法,以及如何执行计算。


简介

About the randomization service

Viedoc offers support for randomization. Subjects can be randomized using:

  • static randomization: randomization based on a randomized list,
  • dynamic randomization (Pocock and Simon): randomization based on an algorithm.

Dynamic randomization ensures a more even distribution of subjects across the treatment groups, with regard to prognostic factors that might influence the effect of treatment on the subjects.

The randomization in Viedoc is configured in a similar way for static and dynamic randomization. The main difference is that for static randomization, a list with outcomes (randomization numbers, treatment groups, and so on) - the randomization list - is created and uploaded by the user, while for dynamic randomization, an algorithm is used to assign subjects to a treatment group and the randomization list is created by the system.

It is possible to upload a separate allocation list that allocates an Investigational Product (IP) to the subject. When the subject is randomized, Viedoc informs the clinic user which IP should be given to the subject. The allocation list is most commonly used in double-blind studies. Uploading of the allocation list is done in a similar way for static and dynamic randomization.

Terminology

Term Definition
RTSM Randomization and Trial Supply Management.
Blinded role A role that does not know which treatment the subject is receiving. Most roles in a clinical trial should be blinded.
Unblinded Statistician

A system role that can configure the randomization in Viedoc Admin.

The Unblinded Statistician sees which subjects are assigned to which treatments, and should therefore not have any role in the study where he/she should not know this information. An Unblinded Statistician can never again work in a blinded role within that study.

Randomization list A list for allocating subjects to treatments or groups. The randomization list shows all available slots in the randomization. When randomization has started (that is, when the first subject has been randomized), the randomization list also shows which subjects have been assigned to which treatment or group.
Allocation list A list for allocating IP to subjects. The allocation list shows all available IPs. When randomization has started, the allocation list also shows which IPs have been assigned to which subjects. Advanced allocation can be set up and for this there are two options for the allocation list(s):
  • Use individual allocation list for each randomization.
  • Use one global allocation list for all your randomizations.
    Note! To be able to use Logistics, a Global allocation list must be used.
Scope

Defines the scope from which a randomization slot or an IP should be selected. One of the following scopes can be chosen:

  • Study
  • Country
  • Site
Factor (Prognostic factor)

Items that might influence the effect of treatment on the subjects, and that are to be used as input when randomizing the subject. For example sex or age. Viedoc supports the use of drop-down lists, radio buttons, integer and free text data types as input items.

Outcome Items to be populated by the randomization service, for example treatment group.
Blinded outcome Items to be populated by the randomization service, that should remain blinded until after the subject has been unblinded or emergency unblinded for a specific subject. These items will not be visible for any user in the system, except for the Unblinded Statistician who can see them in Viedoc Admin, or until an emergency unblinding was performed (for details on how the emergency unblinding is performed in Viedoc Clinic, see Randomization, allocation and emergency unblinding).

Workflow

Randomizations are configured in Viedoc Designer and Viedoc Admin, and executed in Viedoc Clinic. The schematic below depicts what different steps need to be taken, and which roles have permission to perform these steps, depending on the allocation configuration type as described below:

  • Randomization, optionally together with allocation performed at the same time as the randomization within the same form. In this case the form is locked (and therefore not possible to be edited) after the randomization is performed in Viedoc Clinic.
    The configuration workflow in this case looks as illustrated in the following image:
  • Randomization, optionally together with advanced allocation allows you to set up the allocation in a more flexible way, including:

- Configuring individual forms for randomization and allocation, to keep the two steps separated in the study workflow

- The possibility to perform multiple allocations at different visits during the study

- The possibility to replace an already performed allocation with a new allocation

- The possibility to undo an already performed allocation

The configuration workflow in this case looks as illustrated in the following image:

http://help.viedoc.net/l/2e752a/en/

This is a single-sourced file that should have the following content:

Introduction to randomization

若您需要更多信息,请查看:

您也能在以下课程中查看到配置动态随机的例子:

您还能在我们的视频教:


一个实例的描述

让我们考虑以下情况:我们进行一项试验,比较三种治疗组:A,B和C。我们希望将患者随机分配给这些治疗方法,并且希望将治疗方法A分配50%,而治疗方法B和C分别占25%。可能影响治疗效果的预后因素是受试者的性别(男性或女性)和受试者的年龄(<= 30或> 30),我们希望在随机分配中取得平衡。我们认为,对于受试者的性别而言,平衡比对受试者的年龄更为重要,因此我们在要素性别上设置了较高的因素权重。

总结:

  • 三个治疗组:A,B和C。
  • A:B:C的分配比例= 2:1:1
  • 两个因素:性别(男性或女性)和年龄(<= 30或> 30)
  • 因素权重:性别2,年龄1。

流程

Viedoc Designer中完成的操作

在Viedoc Designer设置表单

在这个随机的例子中,我们使用两个表单:

  1. 添加受试者表单 - 包括两个字段:
    • 性别
    • 年龄
  2. 治疗组表单(随机表单)- 包括以下三个字段:
    • 性别 - 返回添加受试者表单的性别的值。
    • 年龄- 返回添加受试者表单的年龄的值。
    • 治疗组- 包含一个具有三个选项的代码列表:A,B和C。此项将由随机服务生成。

Add_SUBJ的研究开始的事件中,将表单Add Subject添加到活动ACT1中。在活动ACT2中添加了Treatment表单:在Treatment event中分配治疗,这是第一个计划的访视。

请注意! 随机表单(此处称为Treatment)必须包含您打算用于分配的所有输入因素和结果。

提示!一旦保存在Viedoc Clinic中,就无法再编辑随机表格。在表单中添加一条提示消息,要求Clinic用户在对患者进行随机分组之前确保数据正确(请参见下图)。

提示!因为Treatment表单中的Treatment项是将由随机服务生成的字段,并且不应由Clinic用户填写,所以最好使它对诊所用户不可见,只要患者还未随机的。为了实现此目的,您可以将可见性条件设置为高级条件满足为真,即为TREAT!= null(当该项不为空时显示该项)。然后,Clinic用户在打开表单时看不到该字段。但是,一旦诊所用户单击随机化,随机化服务将给受试者分配治疗组,该项不再等于空并出现在表单上。

在这个例子中,随机化结果(治疗组)不是盲的。如果您决定设置盲的结果,则该字段也必须包含在随机表单中。盲态结果将永远不会显示给Clinic用户,在导出中将不可见,并且您无法设置可见性条件或基于盲结果来编辑检查。

在Viedoc Designer中设置随机

随机化映射是在Viedoc Designer中研究设计中的研究设置中设置的。 随机映射告诉Viedoc随机形式在哪里以及如何使用该形式上的变量。

我们将随机化设置如下:

  • 我们为Treatment表单选择访视活动表单
  • 作为因素,我们在Treatment表单中选择GenderAge项。
  • 作为结果,我们在Treatment表单中选择Treatment字段。 此项将由随机服务生成。

有关如何在Viedoc Designer中设置随机映射的逐步说明,请看RTSM Settings

设置随机映射后,需要发布研究设计以使随机生效。

Viedoc Admin中完成的操作

邀请用户担任Unblinded Statistician角色

研究经理需要邀请用户加入非盲统计师的角色。 非盲统计师角色应仅授予应该是非盲且不参与研究评估程序的用户,否则盲态数据将被打破。 在这项研究中,非盲统计师统计师永远都不可能扮演盲态角色。

有关如何为用户分配角色的分步说明, 请见管理用户

在Viedoc Admin中配置动态随机化

注意! 随机化只能由分配了系统角色非盲统计师的用户来配置。

要进入随机化页面,请在Viedoc Admin中的RTSM字段中单击工具箱图标。

在此示例中,我们不使用分配,因此我们仅设置一个随机列表,如下所示:

  • 我们将列表的范围设置为研究
  • 作为因素,我们选择GenderAge
  • 作为结果,我们选择Treatment

随机方法选择动态随机(Pocock/Simon随机算法)

请注意!只有满足以下条件,才能选择动态随机方法:

  • 仅选择一个结果
  • 所选的输入因子以及结果都有一个代码列表(不能使用自由文本字段)。

我们将动态随机化配置如下:

  • 作为变分法,我们选择值域(这是集合中最大值和最小值之间的差)。
  • 我们将概率设置为800(相当于80%)。
  • 在我们的示例中,在Gender因子中实现平衡比在Age因子中实现平衡更为重要,因此我们将Gender权重设置为2,将Age设置为1。
  • 因为我们希望为治疗组A分配50%,为治疗组B和C分别分配25%,所以我们将治疗组A的分配比设置为2,将治疗组B和C的分配比例设置为1。
  • 作为随机项最大值(每张随机列表),我们最多输入50个随机项。

有关如何在Viedoc Admin中设置随机化的分步说明请见配置一个动态随机

Viedoc Clinic中完成的操作

在Viedoc Clinic中随机一个受试者

当诊所用户在Viedoc Clinic中添加了一个受试者(即填写添加受试者卡表单)并打开Treatment表单时,GenderAge的值会自动从添加受试者卡表单中填充。 单击随机化后,受试者将被分配到其中一个治疗组。

注意! 在对受试者进行随机化后,随机化形式(Treatment表单)变为只读。 这意味着,即使原始添加受试者表单中的GenderAge值发生变化,Treatment表单中的任何字段也无法编辑。

后台计算

本节说明了如何在每次随机分配新受试者时进行计算,以分配三种治疗方法(A,B或C)之一。

参考文献

以下文章介绍了在Viedoc中实现的动态随机方法的基础理论:

  • Pocock S.J. and Simon R. Sequential treatment assignment with balancing for prognostic factors in the controlled clinical trial. Biometrics 1975;31:103-115.
  • Miller E. Probability sharing in a modified Pocock-Simon method. 12th Int. Conf. of S.C.M.A Jun 22, 2005.

下一篇文章介绍了在Viedoc中实现的改进的Pocock and Simon方法中使用的Donald E. Knuth的减法随机数生成器算法:

  • Donald. E. Knuth. The Art of Computer Programming, volume 2: Seminumerical Algorithms. Addison-Wesley, Reading, MA, second edition, 1981.

Concepts and terminology for dynamic randomization

下表列出了根据Pocock and Simon方法用于动态随机化的算法所基于的术语。

术语 描述 计算方法
D 一个因子的值集中的变化量
  • 范围-集合中最大值和最小值之间的差。
  • 范围平方-范围的平方。
G 所有因素之间的不平衡总量 通过将每个因子的D与因子权重相乘,然后对所有因子求和,得出G。
P (p) 分配使不平衡最小化的可能性

分配使不平衡最小化的可能性。可能性决定了人们希望偏爱治疗组的程度,从而导致最小的失衡。

在随机化期间,基于概率截止值,计算每个治疗分配的概率P。此概率临界值(以下称为p)是统计师提供的介于0和1之间的静态十进制数。在Viedoc中,必须将概率截止值输入为x / 1000。因此,对于0.8(80%)的p,应该输入数字800。

在随机化期间,每种治疗的P分布如下:
(N =治疗次数,p =概率临界值)

  • 如果所有治疗分配的Gs均相同,则每种治疗的概率均相同:P = p / N。
  • 如果一种治疗的G最低,则其概率P为p。剩余的治疗组将分割剩余的概率:P =(1- p)/(N-1)
  • 如果一个或多个处理共享最低的G值,则Viedoc首先计算剩余的非优待治疗组将得到的值,然后将其余部分在优待治疗组之间进行分配。
随机数 0到1之间的随机数 使用Donald E. Knuth的减法随机数生成器算法生成。
随机种子 一个用于初始化随机数生成器的值 该值基于代表当前日期的刻度数。

流程

使用上述算法,为要随机化的每个新受试者计算频率表。 使用基于刻度数的随机种子代表当前日期,生成一个大于或等于0且小于1的随机数。 使用Ps和该随机数,选择治疗指标,从而为患者分配该治疗。

添加新受试者并应随机分配治疗后,将执行以下计算:

计算

一旦第一个受试者被随机化,就可以从Viedoc Admin下载随机列表。

将下载一个Excel文件,该文件具有以下三页:

  • Configuration1)- 总结因素和结果在随机中的代码列表。(随机化方法,变分法,概率,每个列表的最大随机项,因子权重和分配比)。
  • Current distribution2)- 当前根据不同因素获得用药组的已随机受试者。
  • Slots3)- 每一行是一个受试者:
    • 随机化的详细信息:因素和结果,受试者详细信息,对受试者进行了随机化的诊所用户的用户详细信息(电子邮件地址)以及随机化的日期和时间,
    • 应用算法的详细信息:变化方法,概率P,因子权重,分配比,每个列表的最大随机项,Gs(每个可能分配的不平衡总量),Ps(每个可能分配的概率P), 随机数(使用Donald E. Knuth的减法随机数生成器算法生成的0到1之间的随机数)和随机种子(用于表示当前日期的滴答数,用于初始化随机数生成器的值)。 参见下图。

让我们考虑添加的第一个受试者,看看如何执行第一组计算以分配随机治疗组。

分配表中的所有值(在图中用2表示)在起点处都等于0。我们正在添加性别=女性且年龄> 30的第一个受试者。为此,我们遵循工作流程为三种可能的结果(治疗)分别计算D,G和P。

我们将使用以下符号:

  • 因素权重
    • wG-性别素子权重= 2
    • wA-年龄的素子权重= 1
  • 分配比例
    • rA-治疗A的分配比例= 2
    • rB-治疗B的分配比= 1
    • rC-治疗C的分配比= 1
  • 方差
    • dAM-治疗方差变量= A,性别=男性的变量
    • dAF-治疗方差变量= A,性别=女性的变量
    • dA(<=30) -治疗方差变量= A,年龄<= 30的变量
    • dA(>30)-治疗方差变量= A,年龄> 30变量
    • dBM,dBF, dB(<=30),dB(>30), dCM,dCF,dC(<=30), dC(>30) -治疗组B和C的方差变量,与上述治疗组A的方法相同。

我们从假设地分配三种治疗组中的每一种开始,并为每种分配计算方差。由于要添加的受试者是年龄> 30岁的女性,因此我们只需要计算这些因子值的方差即可。

  • 假设将分配治疗组A,我们将1分配到分配表中,在治疗组A的行中,在“女性“列中,在“年龄> 30”列中。每个因子的方差计算如下,并由图像的最后一个表格说明:
    • dAF = 1 / rA-0 = 1/2 = 0.5(添加了一个女性受试者,这使分布表中与“女性”列相对应的最大值= 1,而最低= 0)
    • dA(>30) = 1 / rA-0 = 1/2 = 0.5(添加了一个年龄> 30的受试者,这使得分布表中对应于年龄> 30的列的最大值= 1,而最低的= 0 )
  • 假设将分配治疗组B,我们在治疗组B的行中“女性”列和“年龄> 30”列中向分配表添加1。每个因素的方差:
    • dBF = 1 / rB-0 = 1(添加了一个女性受试者,这使得分布表中与“女性”列相对应的最大值= 1,最低值= 0)
    • dB(>30) = 1 / rB-0 = 1(添加了一个年龄> 30的受试者,这使得分布表中对应于“年龄> 30”列的最大值= 1,最低值= 0)
  • 假设将分配治疗组C,我们在治疗组C的行中“女性”列和“年龄> 30”列中向分配表添加1。每个因素的方差:
    • dCF = 1 / rC-0 = 1(添加了一个女性受试者,这使分布表中与“女性”列相对应的最大值= 1,最低值= 0)
    • dC(>30) = 1 / rC-0 = 1(添加了一个年龄> 30的受试者,这使得分布表中对应于“年龄> 30”列的最大值= 1,最低值= 0)


然后,我们为三种可能的治疗方案中的每一种计算不平衡总量。这些是随机项表中表格中显示的值(图像中为3),用于Gs列中的第一项:

  • GA = dAFwG + dA(>30)wA = 0.5*2 + 0.5*1 = 1.5
  • GB = dBFwG + dB(>30)wA = 1*2 + 1*1 = 3
  • GC = dCFwG + dC(>30)wA = 1*2 + 1*1 = 3

然后,我们为三种可能的治疗分配中的每一种计算概率(P)。在我们的示例中,我们将概率(p)设置为0.8。 G最低(在我们的情况下为A)的治疗组将获得概率(P)为p(在我们的情况下为0.8)。剩余的治疗任务将分割剩余的概率。这些是在“插槽”表中的表(图像中为3)中显示的值,用于第一个条目的“ Ps”列:

  • PA = 0.8(因此涵盖了所有大于或等于0且小于0.8的值)
  • PB = 0.1(因此涵盖了所有大于或等于0.8且小于0.9的值)
  • PC = 0.1(因此涵盖了所有大于或等于0.9且小于1的值)

然后,我们使用Donald E. Knuth的减法随机数生成器算法生成一个介于0和1之间的随机数,并基于基于刻度数的随机种子值来表示当前日期。对于第一个条目,此数字显示在随机列表的表中(图像中为3),在“随机”列中,在我们的示例中为Random = 0.934 ...考虑每个治疗分配的概率以及随机数,如图所示,治疗C将分配给第一个受试者。