跳到主要内容

本文阅读时长:约 4 分钟

自动计算

自动计算读取已有字段值,按公式生成派生结果。eCRF 是电子病例报告表,计算规则是其方案版本的一部分。

录入人员应填写来源字段,计算字段由系统生成并显示为只读。自动计算本身不判断结果是否合理,也不等同于逻辑核查。需要对结果生成质疑时,应另外配置核查规则。

规则组成​

入口为 项目设置 → eCRF设计 → 自动计算。具备设计权限、且方案处于设计中时,可以新建或编辑规则。

配置项说明
名称便于识别规则;输入框允许留空并由系统生成名称
计算字段保存结果的目标字段,先在表单设计中创建
作用范围规则使用的事件范围;选择目标字段后出现
计算公式在公式编辑器中引用来源字段并编写运算关系

当前界面没有独立的“输入变量”填写表格。来源字段直接在“计算公式”编辑器中引用。示例中,身高、体重及结果字段均采用数字输入框,结果字段的数据类型为小数。

自动计算配置选择目标字段、事件范围,并在公式中引用来源字段

公式帮助说明支持加 +、减 -、乘 *、除 /、幂 ** 的混合运算。输入 $ 后可通过编辑器候选选择字段;输入 @ 可查看可用函数。需要手动唤出候选时,可在编辑器中使用 Ctrl+Space。字段引用应从当前方案的候选中选择,不应仅凭显示名称自行拼写。

列表选择型来源参与计算时,系统按编码值运算。选项显示的文字与编码可能不同,量表设计者须确认编码与实际分值一致。

计算过程​

在未提交表单中,输入变化后即可更新计算结果,不必等待表单提交。示例中,身高录入 170 cm、体重录入 65 kg 后,体重指数自动显示为 22.491349,结果输入框不可编辑。

未提交表单根据身高体重自动计算结果,计算字段为只读

体重指数(BMI,即体重与身高平方的比值)的示例公式为:

$WEIGHT / ($HEIGHT / 100) ** 2

其中 WEIGHT 是以 kg 记录的体重变量,HEIGHT 是以 cm 记录的身高变量。先除以 100 转为米,再平方。该表达式中的变量名仅属于示例,其他项目须使用自身配置中的变量。

自动显示计算结果不代表数据已正式提交。录入人员仍须核对来源值、单位和计算结果,再按数据录入完成提交。

空白结果不等于零

来源缺失或运算无效时,不能把空白结果解释为零。示例中将身高改为 0 后,计算结果变为空白,身高还触发了独立的强制范围约束。应先检查来源值和字段提示,不能手工填写结果代替检查。

规则列表与失效状态​

列表显示编号、名称、表单、计算字段、作用范围和操作,支持表单筛选、关键词搜索和“只看失效”。查看、编辑、删除为不同入口;草稿或已发布版本不能按设计中状态直接改写规则。

字段、表单或引用关系发生变化后,应重新检查公式。发现失效标记时,应由设计人员核对来源字段、计算目标和作用范围,并在修订版本内处理。不能以“列表仍有这条规则”判断公式可继续使用。

配置示例​

以下内容为配置参考,具体公式由研究方案确定。

场景来源计算目标检查重点
体重指数身高、体重BMI单位换算、分母为零、小数精度
量表总分各题编码或得分总分编码是否等于分值;缺失项如何处理
单位换算原单位数值换算结果原始单位、换算系数、舍入要求

设计时先创建来源字段和结果字段,再在公式中选取实际引用。不同事件采用不同公式时,应检查作用范围;同名字段出现在不同表单时,也须核对其完整路径。

测试与方案版本​

规则应先保存到草稿并应用至测试中心,使用模拟数据检查:正常值、边界值、小数、零、空值、来源修改和结果字段约束。结果精度应符合研究方案,不能仅以页面出现数字作为测试通过。

计算规则跟随研究参与者自身方案版本运行。中心切换版本后,旧研究参与者不会因此自动使用新公式;更新方法见eCRF 设计的版本化。

常见情况原因与处理
结果字段不能手工填写该字段是自动计算目标;应核对来源字段和公式
尚未提交就已经有计算结果输入期间会进行计算;仍须完成正式提交
数值与人工计算不同先检查单位、选项编码、括号、运算顺序和精度
修改配置后原有记录结果没有按新公式变化检查研究参与者实际版本及其是否完成升级
有公式但结果为空检查来源是否齐全、是否选择空值、分母是否为零,以及规则是否失效
计算结果明显异常却没有质疑自动计算与逻辑核查独立;核对是否配置并提交了适用核查