乐于分享
好东西不私藏

[医疗软件开源] 病历 Ghost Writer:一款面向临床场景的开源智能病历生成工具

[医疗软件开源] 病历 Ghost Writer:一款面向临床场景的开源智能病历生成工具

在医疗信息化持续深化的今天,医生日常需投入大量时间撰写结构化、合规且符合医学逻辑的病程记录。重复性高、格式要求严、校验维度多,已成为一线医务人员的共性痛点。病历 Ghost Writer 正是为此而生,它不追求替代医生决策,而是将「病历记录」转化为可推演、可校验、可复用的「AI剧本」,让临床文书工作回归专业本质。

项目概述:从检查数据到逻辑闭环的病历生成引擎

病历 Ghost Writer 是一个轻量、可本地部署、支持双模式运行的智能病历辅助工具。其核心能力并非泛化式文本生成,而是围绕真实临床数据流构建的闭环工作流:接收结构化检查结果 → 推断合理病程演化路径 → 套用科室适配模板 → 执行多维规则校验 → 输出可存档、可审计的标准化病历。

项目采用清晰分层架构,CLI 与 Web 服务共享同一套业务逻辑与知识库,确保行为一致。所有功能均基于本地知识驱动,默认无需联网调用大模型;仅当用户主动配置 API 密钥时,才启用 LLM 增强生成能力,兼顾隐私安全与扩展灵活性。

关键特性包括:

  • 智能分析检查结果自动识别并提取血压、心率、心电图、BNP、血常规等关键指标及其异常状态,为后续推理提供结构化输入基础。

  • 病程演化推断依托内置医学知识库,依据症状起始时间、检查异常出现顺序、典型疾病进展规律,生成具有时间逻辑的病情演变描述。

  • 多维度规则校验内置四类校验体系:时间线合理性(TL)、药物相互作用(MED)、诊断与症状匹配(DIA)、基础逻辑一致性(LOG),每类均有编号规则便于定位与追溯。

  • 双入口使用方式支持命令行(Node.js)快速批量处理,也提供 Web 界面(FastAPI + React)实现交互式操作与可视化反馈。

  • 科室定制化模板体系已覆盖内科、外科、急诊科、儿科、妇产科、耳鼻喉科等主流临床科室,支持按病种(如「INTERNAL_MEDICINE_PNEUMONIA」)精准调用。

  • SQLite 持久化存储自动生成记录自动写入本地数据库,支持查询、导出、统计与历史回溯,满足教学、质控与科研场景的数据管理需求。

技术亮点:务实架构下的临床可信度设计

该项目的技术选型与工程实践,处处体现对医疗场景特殊性的尊重。

  • 双引擎协同架构CLI 层以 TypeScript 编写,利用 Commander 实现高可用命令行交互;Web 层基于 Python FastAPI 构建,兼顾高性能 API 服务能力与生态兼容性。两者共用同一套 knowledge/ 医学知识库与 templates/ 模板系统,避免逻辑分裂。

  • 模拟优先的 AI 集成策略默认启用「mock 模式」,所有生成均基于规则引擎与预置模板完成,不依赖外部 API。用户可通过环境变量无缝切换至 OpenAI 或 Qwen、ChatGLM 等国产模型接口,降低使用门槛与合规风险。

  • 结构化输入驱动生成明确限定 JSON 与 CSV 两种输入格式,强制字段语义(如 chiefComplaintcheckResults),杜绝模糊输入导致的不可控输出,保障生成内容的临床可读性与可验证性。

  • 模块化校验即服务校验能力不依附于生成流程,可独立运行。validate 命令支持自定义规则目录、JSON 格式输出,便于集成进 HIS 数据质量巡检流水线。

  • 全链路可追溯性每份生成病历均带唯一 record_{patientId}_{timestamp}.json 命名,同步写入 SQLite 数据库并记录元信息,支持通过 db search 快速定位、db export 完整归档。

应用场景:可用于临床、教学与信息系统的多角色赋能

病历 Ghost Writer 并非通用写作助手,其价值锚定在具体、高频、有明确标准的医疗工作流中。

  • 临床医生日常文书提效可用于将零散检查报告快速转化为符合《病历书写基本规范》的病程记录初稿,大幅减少重复录入与格式调整时间,尤其适用于夜班、会诊后集中补录等场景。

  • 医学教育与案例教学教师可批量生成不同疾病、不同严重程度的虚拟患者病历,作为教学素材或考核题目;学生可通过修改输入参数,观察病程推演变化,加深对疾病自然史的理解。

  • 医院信息系统(HIS)数据治理适合对接 HIS 导出的结构化数据(如 CSV 格式检验结果),批量生成标准化病历草稿,再由人工审核确认,提升电子病历完整率与质控达标率。

  • 科研数据预处理在回顾性研究中,可对脱敏后的历史检查数据批量生成结构化病程摘要,统一表述口径,降低人工标注成本。

  • 质控部门合规性审查利用 validate 命令对存量病历进行自动化扫描,识别时间线矛盾、用药禁忌、诊断依据不足等问题,辅助开展病历内涵质量评价。

使用指南:三步上手,从 CLI 到 Web 全覆盖

第一步:快速安装与初始化

git clone https://github.com/nexorin9/medical-record-ghostwritercd medical-record-ghostwriternpm install

第二步:CLI 模式快速体验(推荐新手)

查看帮助,熟悉命令体系:

npx med-ghost --help

使用示例数据生成一份内科病历(模拟模式,无网络依赖):

npx med-ghost generate ./data/sample/internal_medicine_cases.json --dry-run -v

校验生成结果是否符合逻辑:

npx med-ghost validate ./output/record_*.json

列出所有可用模板,筛选内科相关:

npx med-ghost template list -d 内科

第三步:启动 Web 服务(适合协作与可视化)

进入服务目录并安装依赖:

cd serverpip install -r requirements.txt

启动开发服务器:

uvicorn main:app --reload

访问 http://localhost:8000,即可使用图形界面上传 JSON 文件、选择科室与模板、提交生成任务,并实时查看状态与结果。

API 文档自动生成,访问 http://localhost:8000/docs 即可获得完整的 Swagger 交互式文档,方便开发者快速集成。

总结:让病历回归临床叙事的本质

病历 Ghost Writer 的价值,不在于它能写出多么华丽的文辞,而在于它把「医学逻辑」显性化、「病程演化」结构化、「书写规范」自动化。它不掩盖医生的专业判断,而是将那些本该属于临床思考的时间,从格式排版、术语查证、前后对照中解放出来。

项目坚持开源、可审计、可离线、可定制的设计哲学。知识库开放可见,规则可查可改,模板可增可删,数据库完全掌控在用户本地。这种可控性,正是医疗软件区别于消费级 AI 工具的核心边界。

项目当前免费开源,若您对项目有疑问、使用上的困惑或想深入交流,欢迎私信我们,或加入社群讨论。

项目地址:https://github.com/nexorin9/medical-record-ghostwriter