在重症感染患者的治疗过程中,抗菌药物的合理使用直接关系到患者预后、耐药风险控制以及医保控费成效。随着《抗菌药物临床应用指导原则》持续强化落实,以及 DRG/DIP 支付方式改革深入推进,医院对抗菌药物管理(Antimicrobial Stewardship, AMS)的要求已从“经验驱动”转向“数据驱动”与“规则驱动”。如何让临床药师在查房时快速、准确地判断是否应将某类广谱抗菌药由一线降为二线?如何基于本院真实药敏数据给出可追溯、可验证的推荐依据?这正是 抗菌药学查房降阶梯推荐 Ledger 项目诞生的核心动因。
该项目并非通用大模型问答工具,也不是依赖黑盒预测的 AI 应用;它是一个轻量、透明、可审计的规则型决策支持系统,专为药学查房场景设计,聚焦于“降阶梯”这一关键临床动作,以工程化方式落实抗菌药物分级管理制度。
项目概述:用约束满足求解器做药学决策
抗菌药学查房降阶梯推荐 Ledger 是一个开源医疗软件项目,目标是辅助临床药师在日常查房中生成结构化、可执行的抗菌药物调整建议清单(即 Ledger)。其核心逻辑不依赖统计建模或机器学习,而是将临床规则、病区药敏数据与用药约束转化为数学上的约束满足问题(Constraint Satisfaction Problem, CSP),再通过成熟的 CSP 求解器进行精确推理。
系统输入主要包括两类:一是来自医院微生物实验室的 WHONET 格式药敏数据,二是预置的抗菌药物分类规则与病区耐药率阈值配置。输出则是一份清晰的 Ledger 清单,明确列出每位患者当前感染菌种下: - 推荐继续使用的药物及依据(如“对铜绿假单胞菌敏感率 >90%”) - 不推荐使用的药物及原因(如“对肺炎克雷伯菌耐药率已达 78%,超过 ICU 阈值 65%”) - 具体操作建议(如“建议降级为头孢他啶联合氨基糖苷类”)
整个流程全程可解释、无幻觉、不生成虚构文献或编造药敏结果,这是它区别于当前多数 LLM 辅助工具的根本特征。
技术亮点:小而精的规则引擎架构
该项目的技术选型体现“够用、可靠、易维护”的务实理念,拒绝过度工程化,同时保障专业严谨性:
纯 CSP 规则引擎,杜绝 LLM 幻觉风险所有推荐结论均由
python-constraint求解器严格推导得出。每一条“不推荐某药”的判断,都对应一条可验证的约束条件(例如resistance_rate(bacteria, antibiotic, ward) > threshold(ward)),而非概率采样或文本生成。药师可回溯每项结论的数据来源与规则路径。原生支持 WHONET 标准数据格式直接读取医院微生物信息系统导出的 WHONET 表格,字段包括
Ward_ID、Bacteria、Antibiotic、S/I/R和Date。无需额外清洗或格式转换,降低部署门槛。灵活的病区差异化配置能力不同科室耐药压力差异显著。ICU 的碳青霉烯类耐药警戒线可能设为 65%,而普通病房可设为 40%。项目通过
ward_config.py支持按病区独立配置阈值、常用菌种列表与首选药物优先级,适配真实临床分层管理需求。CLI 与 Web 双模式覆盖多类用户习惯偏好脚本化的信息科人员或药师可通过命令行批量生成全病区 Ledger;一线药师则可启动本地 Web 服务,在浏览器中上传数据、选择病区、查看可视化推荐结果,交互简洁直观。
模块职责清晰,便于二次开发与规则扩展源码按功能垂直切分:
antibiotics.py维护药物分类与作用机制规则;csp_solver.py封装求解逻辑;recommendation_engine.py协调数据与规则;ledger.py控制输出格式。新增一种新药或调整某条规则,仅需修改对应模块,不影响整体稳定性。
应用场景:聚焦真实临床工作流
本项目并非理论原型,而是紧密贴合一线药学实践痛点设计,可用于以下典型场景:
临床药师每日查房前的准备环节快速生成当日 ICU 或呼吸科患者的个性化降阶梯建议清单,提升查房效率与建议一致性。
病区抗菌药物使用合理性季度分析结合历史 WHONET 数据批量运行,识别长期高耐药率组合,为科室 AMS 小组提供数据支撑。
医院抗菌药物分级管理制度落地工具将《指导原则》中“根据本院耐药监测数据动态调整经验用药方案”的要求,转化为可每日执行的具体动作。
住院医师规范化培训中的药学思维训练Ledger 输出中明确标注每项推荐的依据(菌种、耐药率、阈值),有助于年轻医生理解“为什么换药”,而非仅记住“换什么药”。
多中心耐药协同监测的轻量级接入节点各医院可基于统一 WHONET 格式导出数据,经本工具生成标准化 Ledger 后,向上汇总至区域 AMS 平台,避免数据口径不一致问题。
使用指南:三步上手,开箱即用
项目对使用者技术门槛友好,无论是信息科同事还是临床药师,均可在十分钟内完成首次运行。
安装依赖
确保已安装 Python 3.8+,然后执行:
pip install -r requirements.txt生成模拟数据(首次体验推荐)
若暂无真实 WHONET 数据,可快速生成符合规范的测试集:
python data/generate_mock_whonet.py该脚本将创建 data/mock_whonet.csv,包含 ICU、呼吸科等典型病区的模拟药敏记录,字段完整、逻辑自洽,适合验证全流程。
CLI 模式:适合批量处理与自动化集成
进入查房准备阶段,常用命令如下:
# 生成 ICU 病区全体患者的 Ledger 清单python -m src.cli ledger --ward ICU# 针对特定患者(如 P001)生成详细降阶梯建议python -m src.cli recommend --patient-id P001 --ward ICU# 导出为 CSV 文件供 Excel 进一步分析python -m src.cli ledger --output ledger.csv --format csv所有 CLI 命令均支持 --help 查看参数说明,输出内容严格遵循 README 中定义的 Ledger 格式。
Web 模式:适合单次交互式使用
启动 Web 服务只需一行命令:
python -m src --mode web服务启动后,打开浏览器访问 http://127.0.0.1:5000/,即可看到简洁界面:支持上传 WHONET CSV 文件、选择目标病区、点击生成 Ledger,并在线预览或下载 PDF/CSV 版本。前端基于 Bootstrap 5 构建,响应式设计适配笔记本与平板设备。
总结:回归临床本质的工具理性
在 AI 工具层出不穷的今天,抗菌药学查房降阶梯推荐 Ledger 提供了一种不同的技术哲学:它不追求“更聪明”,而追求“更可信”;不堆砌前沿算法,而深耕领域规则;不替代药师判断,而强化其决策依据。它用约束满足这一经典人工智能范式,把模糊的经验共识转化为清晰的逻辑表达,把分散的药敏数据凝练为可操作的查房清单。
项目代码完全开源,架构透明,无外部云服务依赖,所有数据处理均在本地完成,符合医院对数据安全与隐私保护的基本要求。它不是万能的终极解决方案,但确是一个值得临床药师、信息科工程师与医院质控人员共同审视、试用并参与共建的实用型医疗软件。
项目当前免费开源,若您对项目有疑问、使用上的困惑或想深入交流,欢迎私信我们,或加入社群讨论。
项目地址:https://github.com/nexorin9/antimicrobial-rounds-recommender
夜雨聆风