回顾性研究数据收集:
在进HIS之前,先把这个问题想清楚
回顾性研究的数据已经存在,但"已经存在"会制造一个陷阱:你可以随时打开HIS看某个患者的检验记录,所以很多人在没想清楚之前就开始截图了。等收集了50例,才发现不同病人取的是不同时间点的值——因为每次打开HIS都是临场判断,没有统一规则。
基线时间点:必须在开始之前定义,没法事后补
举一个具体的情况:你的研究需要"入院时血红蛋白"。病人A入院当天就查了血常规,入院时的值就是那天的值,清晰。病人B入院后第一次血常规在第3天,因为之前忙着处理急症没有第一时间查。你打开HIS,看到第3天的值,判断"这大概就是入院时状态",于是记了下来。
这两例的"基线"实际上不是同一个概念——一个是入院当天,一个是入院后第3天,可能已经经历了补液、输血或其他干预。但在Excel里,它们都在"基线血红蛋白"这一列,看起来完全一样。
这类不一致在手工收集过程中极难察觉,因为每次你的判断在当下都是"合理的"。等100例收完再回头看,已经无法确认哪些病人的基线是严格意义上的入院当天,哪些是第2天,哪些是第3天——原始截图里虽然有日期,但要逐一核对的工作量等于重做一遍。
先写一句话,把基线定义成可操作的规则
解决办法不复杂,就是在开始截图之前把基线定义落成文字。一个合格的基线定义应该精确到让任何人拿着它去HIS里都能找到同一张检验报告:
注意"入院后48小时内"和"第一次"都是具体的条件,没有任何需要临场判断的空间。碰到入院第3天才查血常规的病人,规则已经说了:缺失,不纳入。你不需要再做决定。
不同研究有不同的合理基线定义,但选哪种不是本文的重点——重点是选定之后写成一句话,所有病例统一执行。
筛病例:从哪里拿初始列表
大多数医院的HIS有"出院病人查询"功能,可以按科室、时间段、出院诊断(ICD编码)筛选,导出一份包含住院号的列表——这个操作通常不需要走数据申请流程,只是统计性查询。
拿到初始列表之后,还需要逐一核对排除标准。有一个实用技巧:先检查最能快速排除大量病例的那条标准。比如你需要排除合并肾功能不全的病人,这条可能直接排掉30%的初始列表,之后需要仔细核查的量就小得多。
初始300例经排除标准筛选后剩80-120例是正常比例,不是数据质量问题,是研究设计的正常损耗,估算样本量时要预留进去。
跨年份截图:不同时期的HIS界面格式可能不一样
跨越3-5年的回顾性研究,HIS系统可能经历过升级。同一个指标,2019年的截图里叫"中性粒细胞绝对值",2022年的截图里可能改叫"NEUT#",或者列的排布变了。
用简录AI批量处理这类截图时,它做语义匹配而不是位置匹配——你定义的列名"中性粒细胞绝对值(×10⁹/L)",无论截图里用哪种写法,工具都能识别对应的那行数值。建议在批量处理前,从不同年份各取两三张截图先测试,确认提取结果正确后再展开。
缺失值:如实记录,不要在录入阶段做判断
回顾性研究里某些检验项目没有记录很常见——那次住院根本没查,或者查了但不在你能访问的界面上。遇到这种情况,对应单元格留空。
不要用0填充,不要用参考值正常值填充,不要用上次的值填充。这些处理方式都是在录入阶段引入了不该在这里做的判断。缺失值怎么处理(排除?插补?敏感性分析?)是统计分析阶段的决定,不是录入阶段的决定。