OpenClinica 用户手册/自动生成 CRF
下面描述的系统是标准 OpenClinica CRF 的扩展,它试图通过自动化和简化常见任务,使经验丰富的 OpenClinica 开发人员更容易使用 OpenClinica。
- 自动生成测试数据
- 自动执行数值数据的范围验证(以及验证错误消息)
- 自动执行变量名称唯一性和长度检查(以帮助避免OID 问题)
- 将描述和左项名称中的内容与呈现分离
- 在单个显示器上以缩减但可用的尺寸呈现 CRF 表格
然后,你可以:
- 手动将自动生成的测试数据输入 CRF 以进行测试
或者,你可以
- 设置 Word 合并,将测试数据合并到纸质 CRF 的 Word 版本中以测试系统
- Word 合并还会生成一个带有代码列表的带标记的 CRF,用于数据分析。
- 一个计算表格,包含名为 Calculations 和 Merge 的表格(与主 OpenClinica 表格分开)
- 可选地,一个纸质 CRF 的 Word 版本,用于将测试数据合并到其中(使用简单的邮件合并)
数据流如下:
- 计算表格(Calculations 表格上的项目数据)-> OpenClinica 表格
- 计算表格(Merge 表格上的测试数据)-> Word CRF 或纸质 CRF
如果使用多个 Openclinica CRF 来模拟单个纸质 CRF,则可以使用一个额外的表格(最多 256 个数据点)在 Word 合并之前合并 Merge 表格。如果需要超过 256 个点,则必须执行多次 Word 合并。
以下示例文档(适用于 OpenClinica 3.1.2)展示了此页面上详细说明的过程
如果有多个 OpenClinica CRF 代表单个纸质 CRF
关于合并数据的更多细节(如果你需要)
计算表格包含两张表
- Calculations 表格包含用于计算测试数据、范围限制和错误消息(以及其他内容)的公式。
- Merge 表格引用 Calculations 表格中的测试数据,并自动更新。
这张表格最适合使用宽屏显示,这样表格的三个主要部分可以同时可见。这三个主要部分是:
- 左侧是内容条目(白色),它是接下来的两个部分的基础
- 中间是自动生成的测试数据(橙色和绿色)
- 右侧是 CRF 代码(黄色)
- 大部分时间都在屏幕外,错误检查部分(粉色)检查是否有错误
在内容条目区域输入数据时,测试数据将在中间生成,OpenClinica 需要的值将在右侧生成。输入完数据后,你需要将右侧(黄色)部分从 Calculations 表格复制并粘贴为值到 OpenClinica 表格中的 Items 表格,然后将其上传到 OpenClinica。
错误检查部分是隐藏在屏幕外的部分,它会捕获 ITEM_NAMES 是否不唯一,以及是否超过特定长度(在列上方指定)。如果发现错误,该行的标题单元格将以红色突出显示(滚动到侧边查看错误)。
- 标题:用作 DESCRIPTION 和 LEFT_ITEM_TEXT 的基础。
- 简短名称:通常大写,加上前缀(下面),直接转换为 ITEM_NAME
- 前缀:简短名称的两个字母前缀(请参阅 CDISC 的 CDASH 获取可能的取值)
- 最小值:可接受的最小测试值。用于自动填充测试数据部分和字段:RESPONSE_TYPE、RESPONSE_LABEL、DATA_TYPE、WIDTH_DECIMAL、VALIDATION 和 VALIDATION_ERROR_MESSAGE。日期测试值应输入为字符串文字(以引号开头,例如 '24 Apr 2011')
- 最大值:与上面的字段相同,但这是可接受的最大测试值。
- 小数位数/日期:帮助定义 DATA_TYPE 和 WIDTH_DECIMAL。可能的取值为 ST、DAT、正整数或空(等效于 0)
- 验证覆盖:如果你想对字段使用正则表达式验证,而不是范围验证,你可以在此处指定正则表达式。
- 消息覆盖:如果你覆盖了验证(在上面的验证覆盖中),请指定触发正则表达式时要显示的消息
- 下方附加文本:应该出现在字段下方的文本(作为附加段落追加到描述中)
- 右侧附加文本:应该出现在字段右侧的文本
- 部分 - 与 SECTION_LABEL 同义,除了你只需要标记部分的开始
- 组:GROUP_LABEL 的同义词
- 单位:与 UNITS 相同
- 列:COLUMN_NUMBER 的同义词
- 页码:PAGE_NUMBER 的同义词
- 问题:QUESTION_NUMBER 的同义词
- RESPONSE_TYPE
- RESPONSE_LABEL
- RESPONSE_OPTIONS_TEXT
- RESPONSE_VALUES_OR_CALCULATIONS
- RESPONSE_LAYOUT
- DEFAULT_VALUE
- 必需:REQUIRED 的同义词
- 右侧附加文本:RIGHT_ITEM_TEXT 的同义词
- 标题:与 HEADER 相同
某些字段很少使用,在需要修改时可以使用手动更改(不要忘记使用格式突出显示此修改):SUBHEADER、PARENT_ITEM、PHI
在计算表中,选择从 C 行到最后一个有效项目名称的条目之间的所有黄色单元格
在 OpenClinica 电子表格的项目表中,选择单元格 B1,然后粘贴为值
'测试项目 3' 下的文本作为纯文本输入到 '下方附加文本' 列中。
- 由于白色可编辑区域没有被保护,请避免使用拖放或剪切和粘贴操作来移动单元格。相反,请使用复制和粘贴,然后删除旧数据
- 如果需要超过 256 行,可以通过选择最下面的行并在取消保护表格后(请参阅 Microsoft Excel 填充参考)填充电子表格中更下面的行来扩展表格中的行数。
- 可以通过拖放和填充来修复公式
- 它不会创建复杂的测试数据,有时你必须覆盖特定单元格 - 对其进行不同格式化,以便它们不会意外更改
- 它不会更新节、组或其他表格
- 它不会为所有可能的选中值创建测试数据,只创建极值
- 它不会创建测试计划,无论是用来测试自身还是用来测试规则或计算
合并表有一个手动输入的“1 次访问日期”列,可以在其中更新访问日期。
- 在尝试合并数据之前,请确保测试数据工作簿中最上面的表格包含你要导入的数据(你可能需要重新保存工作簿)。
- 打开你的 Word CRF。
- 在 Word 2010 中,选择邮件选项卡,然后单击“选择收件人”,然后单击“使用现有列表”,并选择测试数据工作簿。
- 当系统提示你选择数据源时,单击“显示全部”,然后选择“通过 DDE 的 MS Excel 工作表 (*.xls)”。DDE 可以防止浮点数出现精度问题,其中 1.99 等数字在合并时显示为 1.989999999。
如果 DDE 尚未作为数据源类型提供,则可能需要启用 DDE。例如,在 Word 2010 中,单击文件,选项,然后选择高级,并在常规部分选中“在打开时确认文件格式转换”复选框。
Word 的合并功能最多提供 256 个字段(请参阅 如何在 Word 中设计和设置邮件合并地址列表),因此,如果你有超过 256 个数据点,则需要将多个工作簿合并到多个 CRF 中。
你可以使用 X 和 O 来代表纸质 CRF 中的选中和未选中复选框。
使用邮件合并预览检查你的字段是否正常工作。
- 若要打印用于数据输入的测试数据,请在打印时隐藏注释,然后执行邮件合并。
- 未合并的 CRF 用作数据分析师的标记 CRF
Word 合并只接受单个宽电子表格作为输入,因此你可能需要组合来自各个 CRF 工作簿的测试数据。在此电子表格中,数据作为垂直列收集,然后转置为行,用于 Word 合并。
- 首先,在“test data.xlsx”工作簿中创建表格,并创建对每个 OpenClinica CRF 的计算表中测试数据的引用。
- 其次,在“Combined”表格中,创建访问日期,然后转置来自表格的数据
随着 OpenClinica CRF 中测试数据的更新,“test data.xlsx”也会自动更新
在“test data.xlsx”工作簿中为每个CRF创建工作表,然后创建对ItemName列和测试数据列的引用。 请参考“Test data.xlsx”电子表格中的示例。 数据应如下所示
将CRF工作表转置到Combined工作表
[edit | edit source]- 切换到Combined工作表,在顶行第一个空白单元格中开始输入此公式“=TRANSPOSE('”。
- 切换到CRF工作表,选择要转置的数据,然后关闭公式的括号。
- 您的公式应如下所示:“=TRANSPOSE('1 Visit'!A1:G10)”
- 切换回Combined工作表,从包含您刚输入的公式的单元格开始,选择一个目标区域,该区域的宽度与源区域的长度相同,长度与源区域的宽度相同。
- 要转置,请选择该区域,然后按F2,然后按CTRL-SHIFT-Return
对所有可用的CRF重复此操作。
最后:保存时,请选择Combined工作表为最上面的工作表。 测试数据工作簿现在将随着CRF的更新而更新。
未来改进的想法
[edit | edit source]- 计算和合并工作表目前存储在单独的电子表格中,目的是将这些数据与OpenClinica看到的数据分开。 如果我们可以确定OpenClinica不受这些附加工作表的影响,那么我们可以使用单个CRF。 此外,如果Items工作表可以包含计算(它目前无法),那么Items工作表就可以仅仅是Calculation工作表的引用,而无需任何复制/粘贴操作。
- 代码列表(RESPONSE_LABELS 和 RESPONSE_OPTIONS)可以存储在单独的工作表中,并且可以通过使用简单的文本引用来包含代码列表。
- 可以修改Required字段以模拟规则,并引用其他字段,这些字段会触发测试数据是否需要以及以什么值(例如,当字段A为1时,测试数据应为必填)。