1. 临床研究数据清洗工程导论

临床研究的数据清洗,不是把表格里的空格删掉、把日期格式统一这么简单。它是一项贯穿数据接收、结构解析、质量核查、规则执行、版本留痕和可追溯交付的系统工程。理解这一点,是进入本课程后续所有工具与流程设计的前提。

1.1 临床数据从哪里来,长什么样

临床研究的数据来源通常分为四类。第一类是电子数据采集系统(EDC),例如临床试验中常用的 Rave、Medidata、太美等平台,它们以受控表单形式录入,字段结构相对规范,但不同中心、不同访视的填写习惯仍会造成缺失、逻辑冲突和单位混用。第二类是医院信息系统(HIS/LIS/PACS)导出的诊疗数据,包括检验、影像、医嘱、病程记录,这类数据字段多、编码体系复杂,常以 CSV、Excel 或数据库视图形式交付。第三类是实验室与设备原始数据,如生化分析仪、心电、影像组学输出,往往带有仪器时间戳、单位、参考区间和质控标记。第四类是外部数据与人工记录,包括患者日记卡、随访电话记录、纸质 CRF 转录、第三方数据交换文件等。

从数据类型看,临床数据可分为:结构化字段(如年龄、性别、血压值、实验室指标)、半结构化文本(如不良事件描述、合并用药名称)、时间序列(如生命体征多次测量、连续血糖监测)、编码型数据(如 MedDRA、WHO Drug、ICD-10、LOINC)以及自由文本(如研究者备注、影像报告)。不同来源和类型的数据,清洗策略完全不同:结构化字段适合规则校验和范围检查,文本字段需要术语映射与自然语言处理,时间序列则要处理访视窗、时间点偏移和重复测量。

1.2 清洗在临床研究中的定位

数据清洗位于数据管理与统计分析之间,是保证分析数据集(如 FAS、PPS、安全性集)可信的关键环节。它的上游是数据采集与传输,下游是统计编程、锁库和监管递交。清洗的目标不是“让数据好看”,而是让每一条进入分析的数据都满足完整性、一致性、准确性、及时性和可追溯性。

在监管语境下,清洗还必须满足 ALCOA+ 原则:可归属、可读、同步、原始、准确,以及完整、一致、持久、可用。这意味着每一次修改都要有原因、有操作者、有时间戳、有旧值和新值。清洗不是一次性动作,而是一个带版本控制的持续过程。

1.3 自动化清洗的价值与挑战

自动化清洗的核心价值在于:把重复的格式转换、缺失检查、逻辑校验、术语映射和异常检测交给程序执行,让人专注于规则设计、医学判断和异常裁决。以一项 300 例、5 个访视、约 1200 个字段的 II 期研究为例,人工逐字段核查可能需要数周,而基于规则引擎的自动化清洗可以在数小时内完成首轮扫描,并输出可复核的异常清单。

但自动化并非没有挑战。第一,规则来源多样:方案、CRF 填写指南、统计分析计划、CDISC 标准、实验室参考区间都可能产生校验规则,规则之间可能冲突。第二,数据异质性高:不同中心、不同设备、不同版本表单导致同一字段的取值空间不一致。第三,假阳性与假阴性并存:规则太严会淹没真实问题,规则太松会漏掉关键异常。第四,可追溯性要求高:自动化脚本本身也需要版本管理、测试用例和变更记录。第五,医学判断不可替代:例如“肌酐升高”是否属于不良事件,必须由医学人员结合病史判断,程序只能标记。

临床研究数据清洗工程:来源—处理—交付链路 数据来源层 EDC 系统 受控表单 / 访视数据 HIS / LIS / PACS 检验 / 影像 / 医嘱 实验室与设备 仪器原始数据 / 质控 外部数据与人工记录 日记卡 / 纸质 CRF / 第三方 自动化清洗处理层 结构解析 字段映射 类型转换 编码统一 规则校验 范围检查 逻辑一致性 访视窗校验 异常检测 离群值标记 缺失模式分析 重复记录识别 术语映射 MedDRA WHO Drug LOINC / ICD-10 版本与留痕 变更日志 旧值/新值 操作者/时间戳 交付与反馈层 清洗后数据集 异常清单 / Query 清洗报告 分析数据集(FAS/PPS) 反馈优化规则 核心原则:ALCOA+ 可追溯 · 规则可版本化 · 医学判断与程序标记分离

1.4 课程项目与工具链概览

本课程以一个贯穿始终的模拟项目为载体:某多中心 II 期研究,计划入组 300 例受试者,设置筛选期、基线、第 4 周、第 8 周、第 12 周共 5 个访视,数据来自 EDC 导出、中心实验室文件和部分纸质 CRF 转录。项目将覆盖从原始数据接收到分析数据集交付的完整清洗链路。

工具链方面,课程以 Python 为主要实现语言,使用 pandas 做结构化数据处理,pandera 或自定义规则函数做字段级校验,great_expectations 做数据质量断言,openpyxl 处理 Excel 交付物,SQLite 或 PostgreSQL 管理中间数据表,Git 做脚本与规则版本控制。对于术语映射,课程会演示如何调用本地字典表完成 MedDRA 和 WHO Drug 的初步匹配,并保留人工复核接口。整个工具链不依赖商业软件,所有示例均可在本地环境复现。

本课程后续章节将逐步展开:数据接收与结构解析、缺失值与异常值处理、逻辑校验规则设计、术语编码映射、清洗日志与版本管理、清洗报告撰写、以及最终分析数据集的生成与验证。每一章都会围绕上述模拟项目给出可运行的代码片段、参数示例和判断依据。

需要强调的是,自动化清洗的最终产出不是“干净的数据”这一句话,而是一套可审计的证据链:原始数据、清洗规则、执行日志、异常处理记录、版本差异和最终数据集。只有这条链路完整,临床研究的数据质量才经得起核查,统计分析结论才具备可信度。