4. 临床数据追溯的标识体系

临床数据追溯的核心难点,不在于“有没有记录”,而在于“能不能把一条数据从最终分析数据集反向定位到某一次具体操作”。要解决这个问题,必须建立一套分层、可组合、可校验的标识体系。本节围绕六类标识——受试者ID、访视ID、表单ID、字段ID、设备ID、操作ID——说明其编码规则、关联关系,以及如何据此构建可追溯的实体-事件图谱。

一、六类标识的职责边界

这六类标识并非并列关系,而是分属“实体”与“事件”两个层面。实体标识描述数据附着在谁、哪次访视、哪张表单、哪个字段上;事件标识描述数据由哪台设备、哪次操作产生。二者交叉,才能形成完整的追溯链。

标识层面回答的问题典型编码示例
受试者ID实体数据属于哪位受试者SITE01-S0012
访视ID实体属于哪个时间点/访视V03-D7
表单ID实体属于哪张CRF表单VS-01
字段ID实体属于表单中哪个字段VS-01.SYSBP
设备ID事件由哪台设备采集DEV-SITE01-007
操作ID事件由哪次操作产生/修改OP-20240612-000871

需要强调的是,字段ID是追溯的最小实体粒度。任何一条可审计的数据点,最终都应能落到“受试者+访视+表单+字段”这一四元组上,再通过设备ID与操作ID挂接事件信息。

二、编码规则设计

编码规则应满足三个约束:唯一性、可解析性、稳定性。唯一性保证不冲突;可解析性保证从编码本身能读出层级;稳定性保证系统升级或中心更名后历史编码不被破坏。

受试者ID建议采用“中心号-受试者序号”结构,如 SITE01-S0012。中心号与受试者序号之间用连字符分隔,序号固定四位,便于排序与校验。访视ID建议采用“访视序号-访视标签”,如 V03-D7,其中 V03 表示第三次访视,D7 表示第7天,标签仅作可读性补充,不参与主键计算。

表单ID采用“表单缩写-版本号”,如 VS-01 表示生命体征表单第1版。字段ID则在表单ID后追加字段名,用点号连接,如 VS-01.SYSBP。这种“父级.子级”结构使字段ID天然携带其所属表单信息,反向解析即可还原层级。

设备ID建议包含中心与设备序号,如 DEV-SITE01-007,便于按中心统计设备使用情况。操作ID采用“OP-日期-流水号”,如 OP-20240612-000871,日期保证可读,流水号保证同日唯一。操作ID不携带业务语义,避免因业务变更导致编码规则失效。

编码中应避免使用空格、中文、斜杠等易在导出、传输、解析中出错的字符。连字符与点号是较安全的分隔符,但需在系统层面统一约定,不可混用。

三、关联关系与实体-事件图谱

六类标识的关联关系可以概括为:受试者ID是根,访视ID挂在受试者下,表单ID挂在访视下,字段ID挂在表单下,形成一条实体层级链;设备ID与操作ID则作为事件节点,通过“产生/修改”关系连接到字段ID上。这样,任何一个字段值的变化,都能同时向上追溯到受试者与访视,向旁追溯到设备与操作。

实体-事件图谱:六类标识的关联结构 受试者ID SITE01-S0012 访视ID V03-D7 表单ID VS-01 字段ID VS-01.SYSBP 设备ID DEV-SITE01-007 操作ID OP-20240612-000871 采集自 产生/修改 实体链(实线):受试者 → 访视 → 表单 → 字段,构成数据点的四元组定位。 事件链(虚线):设备与操作挂接到字段,记录“谁在何时以何方式产生或修改了该值”。 反向追溯:由字段ID出发,可同时还原实体路径与事件路径,形成完整审计证据。

图中实线表示实体层级,虚线表示事件挂接。实际系统中,字段ID是实体链的末端,也是事件链的锚点。一次血压值修改,操作ID记录修改动作,设备ID记录采集设备,字段ID记录被修改的具体数据点,三者共同构成一条可审计事件。

四、构建图谱时的关键校验

仅有编码规则还不够,图谱要可用,必须做三类校验。第一是完整性校验:每个字段ID必须能解析出合法的表单ID、访视ID、受试者ID,任何一级缺失都应标记为“断链”。第二是唯一性校验:同一受试者、同一访视、同一表单、同一字段在同一时间点只应有一个有效值,重复出现需触发核查。第三是事件一致性校验:操作ID的时间戳应落在访视窗口内,设备ID应属于该受试者所在中心,否则提示异常。

以示例数据为例,若出现 VS-01.SYSBP 对应操作ID为 OP-20240612-000871,而该受试者访视ID为 V03-D7,则需核对2024-06-12是否落在D7访视窗口内。若窗口为D7±3天,即第4至第10天,则6月12日需与首次访视日期比对后才能判定是否合规。这类判断不能靠人工逐条比对,而应通过图谱查询自动完成。

常见错误是让字段ID直接包含受试者ID,例如 SITE01-S0012.VS-01.SYSBP。这看似方便,实则破坏了层级解耦:一旦受试者ID规则调整,所有字段ID都要重写。正确做法是字段ID只保留表单与字段信息,受试者与访视通过外键关联。

五、可执行的编码规范示例

以下是一份可直接用于建库或配置的编码规范片段,字段名与格式可根据实际EDC系统调整,但层级关系应保持一致。

受试者ID:  {SITE}-{SUBJ}
  示例:    SITE01-S0012
  规则:    SITE 为中心号,SUBJ 为四位序号

访视ID:    {VISIT}-{LABEL}
  示例:    V03-D7
  规则:    VISIT 为访视序号,LABEL 为可读标签

表单ID:    {FORM}-{VER}
  示例:    VS-01
  规则:    FORM 为表单缩写,VER 为两位版本号

字段ID:    {FORM_ID}.{FIELD}
  示例:    VS-01.SYSBP
  规则:    点号前为表单ID,点号后为字段名

设备ID:    DEV-{SITE}-{SEQ}
  示例:    DEV-SITE01-007
  规则:    SITE 为中心号,SEQ 为三位设备序号

操作ID:    OP-{YYYYMMDD}-{SEQ}
  示例:    OP-20240612-000871
  规则:    日期为操作发生日,SEQ 为六位流水号

这套规范的价值在于:任何一条数据记录,只要保留字段ID、设备ID、操作ID三个值,就能通过图谱查询还原出完整的实体路径与事件路径。字段ID负责“定位数据点”,设备ID负责“定位采集源”,操作ID负责“定位动作”。三者缺一,追溯链就会断裂。

最后需要提醒的是,标识体系一旦上线,变更成本极高。建议在首次建库前就确定分隔符、大小写规则、序号位数和版本策略,并写入数据管理计划。对于历史数据迁移,应保留原始编码并建立映射表,而不是直接重编码,以免破坏已有审计轨迹。