当前位置: 首页 > news >正文

[开源] 临床路径卡牌化培训系统:面向医保办与临床科室的交互式规则教学工具

本项目是临床路径卡牌化培训系统(Pathway-Deck),专为医院医保办工作人员、临床科室教学负责人及新入职医师设计,将卫健委临床路径、DRG/DIP支付规则、医保负面清单等确定性规范,转化为可拖拽、可构筑、可验证的视觉化卡牌。核心机制是确定性规则引擎(非LLM)驱动的四类检查器:互斥组合识别、必选项目校验、分类与总价限价判断、诊断-项目匹配验证;主线能力覆盖模板加载、卡组交互构筑、实时合规反馈、假设分析对比、PDF/CSV双格式报告生成;交付形态包括Web界面(Vite+React)、命令行工具(CLI)、REST API三端统一;技术栈采用TypeScript全栈严格模式、Express后端、@dnd-kit拖拽框架、Vitest全覆盖测试(395+用例,规则引擎语句覆盖率100%)。

定位与能力范围

我们不做通用医疗知识图谱,也不做临床决策辅助,本系统只解决一个具体问题:让临床路径规则“看得见、摸得着、试得出”
它不替代HIS或EMR,而是作为独立培训沙盒存在:医保办用它组织路径宣贯会,科室教学秘书用它带教新人理解“为什么这个药不能和那个检查一起开”,质控人员用它快速验证某条路径变体是否仍符合支付政策。所有规则逻辑均来自预置模板(肺炎、糖尿病、髋关节置换等6个病种),全部基于国家卫健委路径文本、抗菌药物指导原则、医保分担比例公式等公开字段映射而来,无黑箱推理,无概率输出。

规则引擎四大能力边界清晰: -互斥检查:识别如“腹腔镜阑尾切除术中不可同时使用两种不同品牌止血夹”这类硬性冲突; -必选检查:支持严格必选(必须含血常规+CRP)、柔性必选(至少选2项血糖监测方式)、多选一(头孢曲松或哌拉西林他唑巴坦三选一); -限价检查:按病种设定总价上限(如剖宫产¥12,000)、耗材单项上限(如支架¥35,000)、医保报销后自付部分是否超限; -诊断匹配:依据Allow/Disallow模式判定项目适配性,例如冠心病介入治疗中,仅允许使用药物洗脱支架,禁止使用裸金属支架。

这些能力不依赖外部服务,全部在本地运行,保障培训现场断网可用、规则响应毫秒级反馈。

核心功能:从模板到报告的完整闭环

系统围绕“选择→构筑→检查→报告”四步形成教学闭环,每步都针对培训场景做了针对性设计:

步骤

关键动作

教学价值

选择模板

点击预置病种卡片(如“急性阑尾炎(腹腔镜)”),查看规则详情弹窗

快速建立病种路径认知锚点,避免从零阅读冗长文本

构筑卡组

拖拽8类卡牌(手术/检查/药品/耗材等)进构筑区,支持按科室、关键词、类型筛选

将抽象路径条目转化为具象操作,强化项目间关系感知

合规检查

卡组变动500ms后自动触发,违规项高亮闪烁(橘色脉冲),角标标出error/warning/info等级

实时暴露规则违反点,比传统文档划线标注更直观、更可逆

生成报告

一键输出含卡组概览、违规详情表(色标分级)、卡牌清单(违规行高亮)、费用汇总的PDF

提供可存档、可分发、可打印的教学交付物,满足院内归档与考核要求

特别地,“假设分析模式”是培训利器:点击「规则编辑」临时调高某项限价,立即对比修改前后违规项变化,帮助学员理解“为什么这条限价如此设置”。

使用与配置:开箱即用的三类入口

无论你是想快速演示、批量校验还是嵌入工作流,系统都提供对应入口:

  • Web界面

    :适合现场教学,访问 http://localhost:5173 即可使用全部交互功能;

  • CLI命令行

    :适合批量处理或集成进自动化脚本,无需启动浏览器;

  • REST API

    :适合已有内部系统希望调用合规检查能力,所有端点均经supertest验证。

环境要求极简:Node.js >= 18、npm >= 9。安装与启动只需三步:

cd pathway-deck npm install npm run dev

启动后前端监听http://localhost:5173,后端API监听http://localhost:3001,开发服务器自动代理请求,零配置即可开始使用。

CLI常用命令如下(全部支持--help):

命令

用途

示例

npx pathway-deck template:list

查看所有预置病种模板

template:list --json

输出结构化数据

npx pathway-deck template:apply pneumonia -o ./my.json

应用肺炎模板生成初始卡组文件

支持指定输出路径

npx pathway-deck deck:check ./my.json -t pneumonia

对JSON卡组执行合规检查

-j

参数输出JSON结果供程序解析

npx pathway-deck report:generate ./my.json -t pneumonia -o ./report.md

生成Markdown格式合规摘要

兼容WPS/Excel打开的CSV导出也已内置

工程结构:模块职责分明,规则与界面解耦

整个系统按关注点分离为五层,每层职责明确、接口稳定:

层级

模块

职责说明

类型定义

src/types/index.ts

全局数据契约:MedicalItem(原始诊疗项)、Card(可视化卡牌)、Deck(卡组)、Template(路径模板)、ComplianceResult(检查结果)

数据层

src/core/medical-item-store.ts

加载data/medical-items.json(82条项目),支持AND多条件过滤、去重分类统计

规则层

src/core/rule-engine/

四个独立检查器(互斥/必选/限价/诊断匹配)+ 协调器(orchestrator),输入Deck与Template,输出标准化Violation数组

接口层

src/api/routes/

REST端点:/api/cards(查卡牌)、/api/decks(管卡组)、/api/check(跑检查)、/api/templates(读模板)

界面层

src/frontend/components/

所有UI组件:Card(带翻转动画)、CardPool(带分类Tab与搜索)、DeckArea(拖拽排序)、RulePanel(违规列表+高亮联动)、ComplianceReport(全屏报告)

这种结构确保:新增一个病种模板,只需补充JSON文件;增加一类检查规则,只需实现checkXxx(deck, rules): Violation[]签名函数;更换前端框架,不影响规则引擎运行。

数据与扩展:真实字段驱动,开放格式兼容

所有业务数据均来自两个开放JSON文件: -data/medical-items.json:82条诊疗项目,覆盖呼吸内科、内分泌科、骨科等6+科室,每项含名称、类型、价格、医保类别、适用诊断等字段; -data/templates/目录下6个病种模板:每个JSON明确定义必选项目列表、互斥组合数组、限价数值、Allow/Disallow诊断匹配规则。

扩展方式透明: - 新增病种?复制任一模板JSON,修改病种名、规则数组、限价数值,放入templates/目录即可被系统识别; - 补充诊疗项目?在medical-items.json中追加对象,字段结构与现有项一致; - 导出卡组?点击「导出JSON」获得完整结构化数据(含所有元信息); - 导出摘要?「导出CSV」生成合规摘要表,列含卡牌名、类型、价格、违规级别、违规代码,直接导入Excel/WPS分析。

所有数据格式、字段含义、扩展方法均在项目文档中有对照说明,不设隐藏约定。

限制与说明:明确边界,专注核心价值

我们明确不覆盖以下场景,以保障系统轻量、可靠、可解释: - 不接入HIS或EMR实时数据:所有项目与规则均为静态JSON加载,不依赖数据库或外部API; - 不做自然语言理解:拒绝“把这段医嘱转成卡组”类需求,所有输入必须是结构化卡牌操作; - 不支持动态规则生成:限价、互斥等规则必须预先定义在模板中,不提供GUI规则编辑器; - 不处理患者个体差异:系统校验的是路径层面的群体规则,不涉及具体患者禁忌症、过敏史等个性化判断。

这些限制不是能力缺失,而是主动取舍,正因放弃泛化,才能做到规则100%可追溯、检查结果100%可复现、教学过程100%可回放。

项目地址:
https://github.com/nexorin9/pathway-deck

http://www.cnnetsun.cn/news/2548082.html

相关文章:

  • Claude Code 基础配置篇-三层配置体系详解
  • 【AI Daily】AI日报 | 2026-05-24
  • 【DeepSeek生产环境性能崩塌预警】:7类高频OOM错误代码级定位图谱(含torch.compile失效的3个隐藏触发条件)
  • 鸿蒙PC:Qt适配OpenHarmony实战【度量间】:把长度、重量、温度三类换算装进 Qt Quick
  • 鸿蒙PC:Qt适配OpenHarmony实战【汇换】:用固定汇率做一个单机金额换算工具
  • AWS云服务深度解析
  • 深度剖析Claude Code实操逻辑,解锁AI编程高效开发方式
  • Kubernetes边缘计算部署方案:将K8s延伸到边缘节点
  • 云网络与负载均衡
  • 企业团队如何利用Taotoken CLI工具统一配置开发环境与API密钥
  • 从零开发游戏需要学习的c#模块,第二十三章(存档与高分系统)
  • 【图像压缩】基于ADMM的卷积稀疏编码高效算法Matlab实现
  • 【电容钳位多级逆变器】多级逆变器上的SPWM技术——电容钳位拓扑结构,电容钳位拓扑结构的三电平输出附Simulink仿真
  • 专业级GPU内存检测:MemTestCL的5个实战场景深度解析
  • Windows下JMeter高并发压测端口耗尽问题排查与修复
  • CPT 强化学习(Cumulative Prospect Theory Reinforcement Learning)代码实现
  • 喜马拉雅xm-sign v3算法逆向解析与Node.js本地生成
  • C# MQTT性能优化:工业级高可靠低带宽实战指南
  • 基于LIME可解释性AI的宇宙学模型分类:从fσ8数据到物理洞察
  • 镜像视界浙江科技有限公司煤矿领域技术地位与核心优势
  • AI安全实战面试:安全案例分析类面试题解析
  • 云原生可观测性体系建设:从0到1搭Prometheus+Grafana+ELK+SkyWalking全家桶
  • 在线医疗服务系统(10088)
  • OpenAI Assistant API vs 开源框架:创业者该如何选择技术栈?
  • DeepSeek总结的将 Rust Delta Kernel 集成到 ClickHouse
  • 小微团队如何利用Taotoken管理多个项目的AI成本
  • AI Agent Harness Engineering 模型压缩技术:让智能体在资源受限设备上高效运行
  • 在Ubuntu 22.04上从零部署nnUNet_v2:一个医学影像研究生的踩坑与填坑实录
  • 5分钟拯救你的B站收藏:m4s缓存视频无损转换实战
  • 为什么92.7%的企业漏检DeepSeek生成的隐性偏见内容?3类高危prompt绕过案例首次公开