4. 患者报告结局量表数字化

患者报告结局(Patient-Reported Outcome, PRO)量表数字化的核心任务,不是把纸质问卷“扫描成PDF”或“做成网页表单”,而是把量表的结构、跳转逻辑、计分算法和时间窗规则完整地迁移到电子系统中,并保证电子版与纸质版在语义上等价。本章以EORTC QLQ-C30、MDASI、PRO-CTCAE等5个量表为例,说明电子化映射与逻辑验证的完整过程。

一、数字化映射的四个层次

一个量表从纸质到电子,需要经过四个层次的映射:题目层(题干、选项、编码)、结构层(维度、子量表、条目归属)、逻辑层(跳转、必填、互斥、时间窗)和计分层(原始分、线性转换、缺失值处理)。很多项目只做了题目层映射,结果在数据清理阶段才发现维度归属错误或跳转条件丢失,导致整批数据不可用。

以EORTC QLQ-C30为例,它包含30个条目,其中条目29、30为整体健康状况/生活质量的两个7级评分项,其余28个条目分属5个功能维度(躯体、角色、情绪、认知、社会)和9个症状维度(疲劳、恶心呕吐、疼痛、呼吸困难、失眠、食欲丧失、便秘、腹泻、经济困难)。电子化时必须把每个条目绑定到正确的维度编码,而不是仅按顺序编号。

5量表电子化映射与逻辑验证总览 纸质量表(输入) EORTC QLQ-C30 30条目 / 15维度 MDASI 13症状 / 6干扰项 PRO-CTCAE 症状属性组合 EQ-5D-5L 5维度 / 5水平 FACT-G 27条目 / 4维度 关键差异点 回忆期 / 选项方向 跳转规则 / 计分公式 电子化映射引擎(处理) ① 题目层映射 题干文本 · 选项标签 · 数值编码 · 回忆期 示例:QLQ-C30 Q1-Q28 选项 1-4,Q29/30 选项 1-7 ② 结构层映射 条目→维度绑定 · 维度→子量表归属 示例:PF=Q1-Q5,EF=Q21-Q24,FA=Q10/12/18 ③ 逻辑层映射 跳转条件 · 必填/选填 · 互斥选项 · 时间窗 示例:PRO-CTCAE 症状频率=0 时跳过严重程度 时间窗:MDASI 每日版 24h,QLQ-C30 过去一周 ④ 计分层映射 原始分 → 线性转换 → 缺失值规则 QLQ-C30:RS=(I1+…+In)/n,SS=100×(RS-1)/(range) 缺失:维度内缺失≥1项则维度分缺失(部分量表允许半数) ⑤ 逻辑验证与回归测试 边界值 · 跳转路径 · 计分对照 · 时间窗触发 电子化输出(结果) ePRO 表单 动态跳转 · 实时校验 时间窗提醒 结构化数据 条目级编码 维度分 / 总分 审计追踪 作答时间戳 修改历史 验证报告 映射一致性 计分对照结果 可交付物 映射表 · 测试用例 逻辑验证记录 映射顺序:题目层 → 结构层 → 逻辑层 → 计分层 → 验证;任一层错误都会导致下游数据不可用

二、跳转逻辑的电子化实现

跳转逻辑是纸质量表数字化中最容易出错的部分。纸质量表通常用“如果选择‘否’,请跳至第X题”这类文字描述,电子化时必须转化为明确的条件-动作规则。以PRO-CTCAE为例,它采用“症状频率-严重程度-干扰程度”的属性组合结构。当受试者对“症状频率”选择“从未”时,严重程度和干扰程度两个属性应自动跳过;若选择“偶尔”及以上,则必须依次作答后续属性。

实现时建议用规则表描述,而不是把跳转写死在代码里。例如:

规则ID: PROCTCAE_SKIP_001
触发条件: item_frequency == 0
动作: skip(item_severity), skip(item_interference)
必填校验: 仅对未跳过的条目生效

对于EORTC QLQ-C30,跳转相对简单,但存在“条目29、30为7级评分,其余为4级评分”的选项差异,电子表单必须按条目动态渲染选项,不能统一用4级选项覆盖全部条目。MDASI则包含“过去24小时”的回忆期,且13个症状条目和6个干扰条目均采用0-10数字评分,电子化时需保留0-10的整数输入或滑块,并明确“0=无症状,10=能想象的最严重程度”的锚点方向。

三、计分算法的电子化映射

计分算法必须与量表官方 scoring manual 逐条对照。以EORTC QLQ-C30为例,其计分分两步:

  1. 计算原始分(Raw Score, RS):RS = (I₁ + I₂ + … + Iₙ) / n,其中n为该维度包含的条目数。
  2. 线性转换为0-100分(Standard Score, SS):SS = 100 × (RS - 1) / (range),其中range为选项跨度。对于4级选项,range=3;对于7级选项,range=6。

功能维度和症状维度的解释方向不同:功能维度得分越高表示功能越好,症状维度得分越高表示症状越严重。电子化系统应在输出时同时保留RS和SS,并标注维度类型,避免后续分析时方向混淆。

缺失值处理是计分的另一关键。QLQ-C30规定:若一个维度内有一个或多个条目缺失,则该维度得分视为缺失,不进行插补。但部分量表(如FACT-G)允许在缺失不超过半数时按已答条目计算。电子化时必须把缺失规则写入计分引擎,并在数据输出中标记“维度分缺失”而非“0分”。

四、时间窗提醒的配置

时间窗是ePRO区别于纸质量表的重要能力。不同量表的时间窗不同:QLQ-C30要求“过去一周”,MDASI每日版要求“过去24小时”,PRO-CTCAE通常要求“过去7天”或“过去24小时”按版本而定。电子化系统需要为每个量表配置允许填写窗口和提醒策略。

例如,某临床试验设定QLQ-C30在每次访视前3天开放填写,访视当天为截止日,超窗后表单锁定。MDASI每日版则设定每日08:00推送提醒,允许在当日23:59前填写,逾期记为缺失。这些规则应配置在调度模块中,而不是硬编码在表单页面。

五、5量表映射与逻辑验证任务

下面给出一个可直接执行的映射与验证任务框架,覆盖5个量表。任务分为映射表编制、测试用例设计、执行验证三步。

量表 条目数 关键跳转 计分要点 时间窗
EORTC QLQ-C30 30 无复杂跳转,但Q29/30为7级选项 RS→SS线性转换,缺失≥1项则维度缺失 过去一周
MDASI 19 无跳转,全部0-10评分 症状均分、干扰均分,不反向计分 过去24小时
PRO-CTCAE 按症状组合 频率=0时跳过严重程度和干扰 属性级计分,不合成总分 过去7天/24小时
EQ-5D-5L 5+1 无跳转 5维度各5水平,VAS 0-100 当天
FACT-G 27 无跳转 5级评分,部分条目反向计分 过去7天

验证阶段至少设计三类测试用例:边界值用例(如全选最低分、全选最高分、单条目缺失)、跳转路径用例(如PRO-CTCAE频率=0与频率≥1两条路径)、计分对照用例(用官方样例数据核对SS值)。执行时记录每条用例的输入、预期输出和实际输出,差异项必须回溯到映射表修正。

实践提示:映射表建议用电子表格维护,字段包括:量表名、条目ID、题干、选项编码、维度归属、计分方向、跳转规则ID、时间窗、备注。该表既是开发依据,也是验证阶段的对照基准。
常见错误:把“缺失”当作“0分”参与计分;把功能维度和症状维度的方向混用;跳转规则只在前端实现而未在后端校验;时间窗只做提醒不做锁定。这些都会导致电子版数据与纸质版不可比。

完成上述映射与验证后,5个量表的电子版应达到:条目编码与官方一致、跳转路径可复现、计分结果与手工计算一致、时间窗行为符合方案要求。只有这四项全部通过,电子化映射才算真正完成。