在医疗教育与质量控制中,病历书写规范性长期依赖“老带新”的经验传承,缺乏统一标准和量化反馈。这种模式不仅效率低、主观性强,还容易因带教者个体差异导致培训效果参差不齐。病历盲盒正是为解决这一现实问题而生,它不是通用大模型问答工具,也不是医院信息系统插件,而是一款专为规培生、新入职医生设计的轻量级、可离线运行、命令行驱动的规范化书写训练工具。
项目以脱敏模拟病历为训练载体,融合规则引擎与大语言模型能力,实现“先写后对照、有据可依、即刻反馈”的闭环训练流程。整个系统聚焦临床文书核心规范点,不追求泛化智能,而是把每一条主诉、每一处时间节点、每一项检查描述都纳入可比对、可评分、可整改的技术路径。
项目概述:从交互式训练到结构化报告
病历盲盒的核心逻辑清晰直接:医生先独立完成一段病历书写,系统再将其与标准版本逐字段比对,并调用大语言模型或内置规则引擎进行专业批注,最终生成一份兼具教学性与实操性的 HTML 报告。
项目覆盖多个临床科室,目前已内置十类典型病种的模拟病历片段,包括「消化内科-阑尾炎」「产科-顺产」「骨科-骨折外伤」「心内科-胸痛」「急诊-醉酒」「儿科-肺炎」等。所有病历数据均已完成脱敏处理,不包含真实患者信息,符合医疗数据安全基本要求。
整个工作流由五个核心 CLI 子命令支撑:
train:交互式训练入口,引导用户选择病历、输入书写内容、触发批注与对比 annotate:对指定病历片段生成 LLM 批注,辅助教学主任预设规范要点 compare:接受医生书写文本与标准病历 ID,执行字段级差异分析 report:根据训练会话 ID 生成结构化 HTML 报告 batch:支持批量处理多个病历,输出按科室/病种分类的汇总报告
所有功能均可通过 npm 直接运行,无需编译即可开发调试,也支持全局安装后作为本地命令使用。
技术亮点:轻量、可控、可集成
病历盲盒虽定位垂直,但技术选型兼顾实用性与可维护性,体现出清晰的工程克制意识。
- TypeScript + Node.js 构建 CLI 主干
,类型安全强,开发体验好;借助 tsx实现热执行,省去编译环节,提升迭代效率 - Commander.js 统一 CLI 接口设计
,子命令职责明确,参数语义清晰,便于嵌入医院现有培训平台或教学管理系统 - LLM 调用层解耦设计
,默认兼容 OpenAI API 格式,同时支持自定义 API_BASE,方便对接国内合规大模型服务(如已部署私有化模型网关) - 双模批注机制保障可用性
:若未配置 API Key,系统自动降级至规则引擎,仍能完成字段完整性校验、关键词存在性判断、时序正则匹配等基础规范检查 - Handlebars 模板驱动 HTML 报告生成
,样式简洁、语义清晰,支持打印与分享;终端输出则使用 chalk实现彩色高亮,关键差异一目了然 - readline-sync 支持纯终端交互
,避免依赖浏览器环境,适合在机房、示教室等无图形界面场景稳定运行
项目结构清晰分层,CLI 入口、对比引擎、LLM 模块、报告生成、数据加载各司其职,便于后续扩展新科室病历、新增批注维度或接入院内术语库。
应用场景:聚焦临床教育刚需
病历盲盒并非替代电子病历系统,而是作为其能力延伸,服务于医疗质量提升的“前哨环节”。它可用于以下典型场景:
医院新员工岗前培训帮助新人快速建立标准化书写意识,在正式接触真实病历前完成基础能力筑基
规培基地日常训练教学秘书可批量下发病历片段,学员完成书写后即时获得 AI 批注,减少人工批阅负担
病历质量控制培训质控科可将高频缺陷点(如主诉缺失时间、现病史时序混乱)固化为批注模板,用于专项强化
教学医院规范化训练支持按科室组织训练模块,形成“病种—规范—反馈”闭环,助力住培过程管理数字化
所有场景均不依赖外部网络或中心化服务器,本地运行保障数据不出域,适配医院信息安全部署要求。
使用指南:三步上手,开箱即训
安装与使用极为简单,全程基于命令行操作:
git clone https://github.com/nexorin9/mr-blindboxcd mr-blindboxnpm installcp .env.example .env如需启用 LLM 批注功能,请编辑 .env 文件填入 API 凭据:
API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAPI_BASE=https://api.openai.com/v1启动交互式训练只需一行命令:
npm run dev -- train系统将展示全部病历选项,输入编号或 ID 后,即可进入书写界面。完成后自动触发批注与对比,生成评分与整改建议,并保存 HTML 报告至 output/ 目录。
若仅需查看某病历的标准批注,可单独运行:
npm run dev -- annotate gastro-appendicitis批量评估多个病历并生成科室汇总报告,使用:
npm run dev -- batch所有输出均结构清晰、术语准确,既满足教学反馈需求,也便于培训管理者横向对比学员掌握程度。
总结:让规范书写训练回归本质
病历盲盒没有堆砌炫技功能,也不试图替代医生判断。它只是把临床书写中最常被忽略的细节,比如主诉是否体现“转移性”,病程是否标注“6小时前”,检查结果是否描述具体所见,变成可识别、可对比、可改进的技术对象。它用最小可行产品验证了一个朴素理念:好的医疗教育工具,不在于多智能,而在于多精准、多及时、多可操作。
项目当前完全开源,代码透明,文档完整,欢迎临床教师、医学信息工程师、医疗 AI 开发者共同参与共建。未来可拓展方向包括:接入本地化医学知识图谱、支持 DICOM 影像报告辅助批注、增加多轮修改追踪对比等。
项目当前免费开源,若您对项目有疑问、使用上的困惑或想深入交流,欢迎私信我们,或加入社群讨论。
项目地址(如果访问不了可以把链接中的github替换成gitee):
https://github.com/nexorin9/mr-blindbox
夜雨聆风