3. 健康档案数据采集与整合
健康档案平台的数据来源天然分散:医院 HIS/EMR 产生就诊与诊断记录,LIS/PACS 产生检验检查结果,基层公卫系统产生建档、随访与体检数据,可穿戴设备产生连续体征,居民自报端补充生活方式与症状信息。这些数据在编码体系、时间粒度、主键规则、更新频率上差异极大。本节要解决的核心问题是:用什么方式把数据取进来、用什么接口约定保证可对接、取进来之后如何清洗并映射到统一标准,最终形成可被档案主索引关联、可被业务复用的规范化数据。
一、多源数据采集方式的选择
采集方式不是越实时越好,而要与数据源能力、业务时效要求和改造成本匹配。常见有四类:
- 数据库直连/视图抽取:适用于院内业务库可开放只读账号的场景,通过增量字段(如
update_time、自增 ID)做增量拉取。优点是改造小,缺点是耦合源库结构,源表变更即断链。 - 接口调用(API/WebService):适用于有对外服务能力的系统,按约定资源与分页参数拉取,实时性可控,是平台间对接的主流方式。
- 消息订阅(MQ/HL7 消息):适用于要求准实时同步的临床数据,如检验危急值、出院小结,事件驱动、延迟低,但需要处理消息重复与乱序。
- 文件批量导入:适用于体检报告、历史数据迁移、区域平台定期交换,通常以 CSV/XML/JSON 打包,按批次校验入库。
实际工程中往往组合使用:历史数据用文件批量导入做一次性初始化,增量数据用接口或消息订阅持续同步。采集频率需按数据类别区分,例如体征类可 5~15 分钟一次,就诊记录可按小时或按事件触发。
二、接口设计的关键约定
接口设计要先把“身份、时间、编码、幂等”四件事定清楚,否则后续清洗会反复返工。
- 身份标识:请求中必须携带居民唯一标识(如身份证号哈希、区域健康卡号)与来源系统标识,便于回溯与主索引匹配。
- 时间语义:明确区分“业务发生时间”和“数据入库时间”,统一使用带时区的 ISO 8601 格式,避免跨系统时区错位。
- 编码体系:诊断用 ICD-10、药品用国家医保编码、检验项目用 LOINC 或本地码表,接口层先原样传输,映射在平台侧完成。
- 幂等与重试:每条记录带业务唯一号,服务端按唯一号去重,支持失败重试而不产生重复档案。
一个典型的增量拉取请求可设计为:
GET /api/v1/health-records?orgCode=HZ001
&patientIdType=ID_CARD
&since=2024-05-01T00:00:00+08:00
&pageSize=500
&cursor=eyJpZCI6MTIzNDV9
Header: X-Source-System: HIS
X-Request-Id: 7f3a-...-9c2
响应: { "code":0, "data":[...], "nextCursor":"...", "hasMore":true }
采用游标分页而非页码分页,可避免数据持续写入时漏读或重复。响应中返回 nextCursor 与 hasMore,采集端循环拉取直到 hasMore=false,并记录本次最大游标作为下次起点。
三、数据清洗与标准化映射
原始数据进入平台后,先落到贴源层(ODS)保留原貌,再经清洗与映射进入标准层。清洗主要处理五类问题:
- 缺失值:关键字段(姓名、性别、出生日期)缺失的记录进入待补全队列,非关键字段允许空值但需标记。
- 格式不一致:日期统一为
YYYY-MM-DD,性别将“男/1/M”归一为M,电话去除空格与横线。 - 重复记录:按“居民标识 + 业务类型 + 发生时间 + 关键值”生成指纹,指纹相同则合并,保留来源优先级更高的记录。
- 逻辑冲突:如出院日期早于入院日期、检验值超出仪器量程,标记为异常并进入人工复核。
- 值域越界:体温超出 30~45℃、血压收缩压低于舒张压等,按规则拦截。
标准化映射是把本地码翻译成平台统一码。以检验项目为例,本地“血常规-白细胞”需映射到统一项目码与单位:
| 本地项目名 | 本地单位 | 统一项目码 | 统一单位 | 换算 |
|---|---|---|---|---|
| 白细胞计数 | 10^9/L | WBC | 10^9/L | ×1 |
| 血红蛋白 | g/dL | HGB | g/L | ×10 |
| 血糖 | mg/dL | GLU | mmol/L | ×0.0555 |
映射表需版本化管理,每条映射记录来源系统、本地码、统一码、生效时间与审核人。当源系统升级码表时,新增映射版本而不覆盖历史,保证已入库数据可追溯。
四、整合后的档案关联
清洗映射完成后,数据按居民主索引归集。主索引通过身份证号、健康卡号、姓名+出生日期+手机号等多因子匹配,将不同来源的记录挂到同一居民档案下。整合结果应满足:同一居民的就诊、检验、随访、体征按时间轴可排序;同一指标在不同来源下单位一致、可比较;每条记录可回溯到来源系统与原始记录号。
整合完成后,平台应提供数据质量看板,至少监控四项指标:采集成功率、清洗拦截率、映射命中率、主索引匹配率。当映射命中率持续偏低时,说明本地码表新增了未登记项目,需要补充映射规则;当主索引匹配率下降时,需检查多因子匹配阈值是否过严或来源数据质量是否劣化。通过这套“采集—接口—清洗—映射—整合—监控”的闭环,健康档案才能真正从多源碎片变为可用、可信、可追溯的统一数据资产。