客户案例 · 家庭诊所 · 大温
匿名案例|大温家庭诊所的开源病历系统:系统不换,在外面加 AI 和自动化
换掉一套用了十几年的电子病历系统,风险太大。我们选择不换:在它外面套上 AI 报告、自动化集成和容灾体系,让老系统长出新本事。
隐私说明:诊所已匿名,所有患者信息都已去掉。涉及病历的流水线,全部在诊所自己的服务器上运行,报告数据不出诊所。
项目概述
为一家家庭医生诊所的开源 EMR(电子病历)生产系统,搭了一层现代化的自动化:AI 每晚为 4,000 多位患者增量生成临床摘要,PDF 检验单自动填充,化验结果和传真全自动进出,另有多层备份和异地容灾演练。系统不停机,数据不迁移。客户身份已匿名处理。
很多诊所被困在同一道选择题里:老 EMR 功能落后,可迁移意味着停诊的风险、数据的风险,还有漫长又花钱的实施。我们给的答案是第三条路:老系统留着当数据源,在它周围搭一层现代化的自动化。AI 读它的数据,生成临床报告;微服务替它填表、打单;机器人替它收传真、传化验;备份系统每天演练一次灾难恢复。 医生的工作界面没变,诊所的运转方式却已经完全不同。
挑战
诊所的开源 EMR 存着十几年的病历数据,不能轻易更换;日常运转却依赖大量人工:检验申请单手工誊写,化验结果手工下载再上传,传真一份份处理,医生想快速了解一位老患者的病史,只能翻十几年的记录。系统一旦宕机,全诊所停摆,而原来的备份,从来没有验证过能不能真的恢复。
我们的方案
不动老系统,在它周围做四层。AI 报告层:每晚增量检测有新数据的患者,从 EMR 数据库提取记录做 AI 分析,生成带紧急、常规标记的患者摘要报告和双语索引。表单层:通用的 PDF 自动填充微服务,每种检验单只要一份字段映射配置,患者和诊所信息自动带入。集成层:化验结果每 3 小时自动同步上传进 EMR,两路传真线每小时自动拉取入队,取代了原来的手工操作和付费的供应商工具。容灾层:每晚备份数据库和文档,异地同步,并在备用服务器上自动执行恢复演练,验证备份真的可用。
成果
覆盖 4,465 位患者,累计生成约 8,900 份 AI 摘要报告,医生开诊前就能看到带风险标记的患者全貌;检验单从手工誊写变成自动填充、打印;化验和传真的进出全自动,有去重,有断点记录;备份不再是「希望它有用」,而是每天都真实恢复验证一次。老系统稳定在线两个月以上,没有人工干预。
AI 患者报告流水线:每晚增量,风险分级
流水线的设计是确定的,可以重跑:
- 每晚定时检测哪些患者有新的就诊、化验或文档数据,只处理增量。
- 从 EMR 数据库直接提取结构化记录,AI 生成临床摘要。
- 报告带紧急、常规标记,异常指标排在前面。
- 生成双语索引,医生和工作人员都能快速检索。
- 全部在诊所自己的服务器内完成,病历数据不出院内环境。
AI 在这里是「读病历的助手」:它汇总、提示,诊断的决定始终属于医生。
PDF 检验单自动填充微服务
把「每种表单写一次代码」,变成「每种表单写一份配置」:
- 每种 PDF 检验申请单,对应一份 JSON 字段映射配置。
- 患者和诊所的字段,从 EMR 数据库自动带入,表单特有的字段由前端补充。
- 作为独立的容器服务运行,EMR 的电子表单直接调用。
- 新增一种表单,只要新增一份配置,不用改代码。
化验和传真:全自动进出
诊所和外部机构之间的纸面往来,交给两组自动化接管:
- 化验结果每 3 小时自动同步,上传进 EMR,带已处理记录去重。
- 两路传真账号每小时通过 API 自动拉取,进入 EMR 的收件队列,取代了付费的供应商工具。
容灾:每天真实演练一次恢复
备份分好几层:每晚备份数据库、患者文档和容器镜像,异地同步到灾备服务器,并在灾备机上自动执行恢复测试。备份能不能用,不靠假设,靠每天验证。另有一个守护服务实时监控定制的页面文件,被意外覆盖时自动还原。
技术拆解
- 数据源:开源 EMR 的生产栈(容器化部署,含数据库、检验网关和传真服务)。
- AI 报告流水线:Python 增量检测,直读数据库,大模型分析,凌晨定时运行。
- PDF 填充微服务:FastAPI 加配置驱动的字段映射,容器化独立部署。
- 集成自动化:浏览器自动化上传化验结果;传真 API 定时拉取入队。
- 容灾:多层备份脚本、异地同步、自动恢复演练,加页面文件监控的守护服务。
可复用经验
- 「不迁移」往往是更稳妥的做法:老系统当数据源,新能力全部外挂,风险可控,见效也快。
- 医疗 AI 流水线必须做成增量的、可重跑的、幂等的:每晚全量重算,既浪费,也没法审计。
- 备份系统只有一条验收标准:今天的恢复演练成功了吗?其余都是心理安慰。
- 涉及病历的 AI 分析,应该在院内环境完成,数据不出门是合规的底线。