2. 临床数据采集的源头系统

临床数据采集工程的第一步,不是写接口,而是搞清楚“数据从哪来、以什么形态存在、由谁产生、什么时候产生”。医院信息系统(HIS)、检验信息系统(LIS)、影像归档与通信系统(PACS)、电子病历系统(EMR)、护理系统、手术麻醉系统(手麻系统)是绝大多数医院的核心业务系统,它们各自承担不同的临床环节,也各自沉淀了结构、粒度、时序特征完全不同的数据。理解这些差异,直接决定了后续采集方式(数据库直连、视图、消息、接口服务、文件解析)的选择。

一、各源头系统的定位与数据特征

HIS(医院信息系统)是医院业务的“主干道”,覆盖挂号、门诊、住院、收费、医嘱、药品、结算等。它的数据以事务型、强结构化为主,典型表包括患者主索引(PATIENT)、就诊记录(VISIT/ENCOUNTER)、医嘱(ORDERS)、费用明细(BILL_DETAIL)。HIS 数据的特点是:主键体系完整、更新频繁、与费用强绑定,但临床语义相对粗(例如医嘱只记录“药品名+剂量+频次”,不记录执行结果)。采集 HIS 时最关键的字段是患者唯一标识(PatientID/EMPI)与就诊号(VisitID/EncounterID),它们是跨系统关联的锚点。

LIS(检验信息系统)管理标本流转与检验结果。数据分为两层:标本层(标本条码、采集时间、接收时间、检验项目组合)和结果层(检验项目代码、结果值、单位、参考区间、异常标志、审核状态)。LIS 数据是典型的“一对多”结构:一次标本对应多个检验项目,每个项目有独立的结果值和时间戳。采集时必须保留结果状态(初步/审核/危急值),否则会把未审核结果误当成最终结论。此外,LIS 的检验项目编码在不同医院、不同仪器间差异极大,需要建立本地字典映射。

PACS(影像归档与通信系统)存储影像与放射报告。它遵循 DICOM 标准,数据分为影像对象(DICOM 文件,含 Study/Series/Instance 三级 UID)和诊断报告(常以结构化报告或文本形式存在 RIS 中)。PACS 的数据特征是大文件、非结构化、以 UID 为索引。采集时通常不直接搬运影像像素,而是采集检查元数据(检查号、检查部位、检查时间、报告结论、报告医生),影像本体通过 DICOM 网关或对象存储引用。

EMR(电子病历系统)是临床文档的核心载体,包含入院记录、病程记录、手术记录、出院小结等。EMR 数据以半结构化/非结构化文本为主,部分医院已实现结构化病历(如元素化模板)。它的采集难点在于:同一份病历可能包含大量自由文本,需要自然语言处理或模板解析才能提取关键字段(如诊断、症状、用药)。EMR 还承担临床文档的版本管理,采集时要关注“最终版”与“草稿版”的区别。

护理系统记录生命体征、护理评估、出入量、给药执行等。它的数据特征是高频、时序性强、粒度细:体温、血压、心率可能每 4 小时甚至每小时记录一次,出入量按次记录。护理数据是临床时序分析(如早期预警评分 NEWS、脓毒症筛查)的关键输入。采集护理数据时,必须保留记录时间(RecordTime)与业务时间(EventTime)的区分,因为补录、修改会导致两者不一致。

手麻系统(手术麻醉信息系统)覆盖手术排班、麻醉记录、术中生命体征、用药与事件。它的数据特征是高密度时序信号 + 事件标记:麻醉机、监护仪以秒级或分钟级采集血压、心率、SpO₂、呼气末 CO₂ 等,同时记录插管、切皮、给药、输血等事件。手麻数据对时间精度要求极高,采集时通常需要时间同步机制(如 NTP),否则术中事件与生命体征曲线无法对齐。

临床源头系统数据特征与采集锚点 HIS 医院信息系统 • 事务型、强结构化 • 患者主索引 / 就诊号 / 医嘱 / 费用 • 更新频繁,与费用强绑定 锚点:PatientID + VisitID LIS 检验信息系统 • 标本层 + 结果层,一对多 • 项目代码 / 结果值 / 单位 / 参考区间 • 含审核状态与危急值标志 锚点:标本条码 + 项目编码 PACS 影像归档系统 • DICOM 标准,大文件非结构化 • Study / Series / Instance 三级 UID • 检查元数据 + 诊断报告 锚点:检查号 + StudyUID EMR 电子病历系统 • 半结构化 / 非结构化文本 • 入院记录 / 病程 / 手术 / 出院小结 • 版本管理:草稿 vs 最终版 锚点:病历号 + 文档版本 护理系统 • 高频、时序性强、粒度细 • 生命体征 / 出入量 / 给药执行 • 记录时间 ≠ 业务时间 锚点:住院号 + 记录时间戳 手麻系统 • 高密度时序信号 + 事件标记 • 血压 / 心率 / SpO₂ / 麻醉用药 • 秒级/分钟级,需时间同步 锚点:手术号 + 事件时间轴 统一患者主索引(EMPI)+ 就诊号关联 跨系统数据汇聚的公共锚点:患者 → 就诊 → 各业务事件 采集策略由数据特征决定:结构化直连 / 视图抽取 / 消息订阅 / 文件解析 / 时序对齐 注:图中字段与锚点为通用工程示例,实际以医院系统字典与接口文档为准

二、数据特征如何决定采集方式

把六个系统的特征放在一起看,可以归纳出一条清晰的决策逻辑:结构化程度决定抽取方式,时序密度决定同步策略,标识体系决定关联能力。

  • HIS、LIS:结构化程度高,优先采用数据库直连或只读视图抽取,按增量时间戳或自增主键做增量同步。LIS 需额外处理“结果审核状态”过滤。
  • PACS:影像本体不搬,只采集元数据与报告;通过 DICOM 网关或 RIS 接口获取检查与报告信息,用 StudyUID 关联影像。
  • EMR:文本为主,采集后需进入后结构化环节(模板解析或 NLP),并保留文档版本号,避免草稿覆盖终稿。
  • 护理系统:高频时序,建议按“患者+时间窗”批量拉取,保留 RecordTime 与 EventTime 双时间戳。
  • 手麻系统:秒级信号,需先做时间同步(NTP),再按手术号聚合生命体征曲线与事件标记。
工程提示:跨系统关联的第一道坎是患者标识不统一。HIS 用 PatientID,LIS 可能用住院号,PACS 用检查号,护理系统用床号+住院号。必须在采集层之上建立 EMPI(企业级患者主索引)映射,否则后续所有临床数据都无法按患者维度聚合。

三、一个可参考的采集优先级与字段清单

实际工程中不可能一次接入所有系统。建议按“临床价值 × 接入难度”排序,先接入标识体系清晰、结构化程度高的系统。下表给出一个示例性的首期接入清单,字段为最小必要集,实际以医院接口文档为准。

系统 首期采集对象 最小必要字段(示例) 建议采集方式
HIS 患者、就诊、医嘱 PatientID、VisitID、医嘱编码、开立时间、状态 只读视图 + 增量时间戳
LIS 检验结果 标本条码、项目编码、结果值、单位、审核状态 数据库直连 + 状态过滤
PACS 检查元数据与报告 检查号、StudyUID、检查部位、报告结论 DICOM 网关 / RIS 接口
护理系统 生命体征 住院号、项目、值、RecordTime、EventTime 按时间窗批量拉取
手麻系统 术中生命体征与事件 手术号、时间戳、参数值、事件类型 NTP 同步 + 时序聚合

四、采集前必须确认的三件事

在动手写任何采集脚本之前,先确认三件事,可以避免后期大量返工。

  1. 标识映射是否可用:确认 HIS 的 PatientID 能否与 LIS、PACS、护理系统的患者标识建立稳定映射。若不能,先推动 EMPI 建设或建立临时映射表。
  2. 时间基准是否一致:各系统服务器时间是否同步到同一 NTP 源。手麻、护理这类时序数据,时间偏差超过 1 分钟就会导致事件与体征错位。
  3. 数据状态语义是否明确:LIS 的“审核状态”、EMR 的“文档版本”、HIS 的“医嘱状态”分别代表什么,采集时是否需要过滤。把状态字段一并采集,比事后猜测更可靠。
常见误区:把“能连上数据库”当成“能采集数据”。很多系统的表结构没有注释,字段含义依赖业务字典,直接 SELECT * 拿到的数据往往无法解释。正确做法是先拿到接口文档或数据字典,确认字段语义后再设计抽取逻辑。

总结来看,HIS、LIS、PACS、EMR、护理系统、手麻系统并不是六个孤立的数据库,而是一条从“患者身份”到“就诊事件”再到“临床细节”的数据链。采集工程的核心任务,是识别每个系统在这条链上的位置,用正确的锚点把它们串起来,并根据各自的数据特征选择匹配的采集方式。这一步做扎实,后续的清洗、映射、整合才有稳定的基础。