[医疗软件开源] 医疗行为轨迹画像系统:一款面向医院运营与纪检的开源医疗软件
在医保控费持续深化、临床质控要求日益严格的背景下,如何从海量HIS数据中自动识别潜在的过度医疗、不合理用药或骗保线索,成为医院管理者的现实需求。传统方式依赖人工抽查、规则引擎或专家经验,不仅效率低、覆盖窄,还容易因规则滞后而漏检新型异常模式。医疗行为轨迹画像系统(Medical-Behavior-Profiler) 正是为此而生,它不预设规则,不依赖标注,仅凭费用、检验、手术、药品四类常规CSV数据,即可为医生与科室生成可解释的行为画像,并自动标出偏离正常基线的个体。
项目概述
该系统是一个轻量级、开箱即用的Python工具,核心目标是辅助医院运营管理部门与纪检监察部门开展数据驱动的行为分析。它不替代专业判断,但能显著提升线索发现效率和复核精准度。
系统工作流程清晰:– 首先加载四类结构化CSV数据(费用明细、检验申请、手术记录、药品耗材);– 然后在患者、医生、科室三个粒度上完成特征工程,构建多维行为指标;– 接着使用IsolationForest算法进行无监督异常检测,为每位医生、每个科室计算异常分数;– 最终输出结构化报告、可视化雷达图与可读性高的文本摘要。
整个过程无需建模经验,也无需提前定义“什么是异常”,真正实现“数据进来,线索出来”。
技术亮点
本项目虽定位为业务工具,但在技术选型与设计思路上体现出较强的工程严谨性与实用主义风格。
-
无监督异常检测落地实践采用scikit-learn中的IsolationForest算法,而非依赖标签的监督学习。这契合医疗场景中异常样本稀缺、定义模糊的真实约束。算法输出的异常分数直观可比,分数越低表示偏离科室正常模式越显著。
-
三层粒度特征体系特征提取覆盖微观到宏观:
-
患者粒度:总费用、药品/耗材/检查/手术占比、住院天数、重复检验次数等; -
医生粒度:患者数、各项均值指标、异常病例比例; -
科室粒度:医生数量、科室均值、异常医生占比、全院排名。这种分层建模既支持个体研判,也支撑科室间横向对比。
-
双入口交互设计同时提供命令行(CLI)与Web仪表盘两种使用方式:
-
CLI适合批量处理、自动化调度或集成进现有运维脚本; -
Streamlit仪表盘则面向非技术人员,支持拖拽上传、实时图表渲染与交互式筛选。
-
公平性保障机制科室间病种结构、收治难度差异大,直接跨科室比较易失真。系统通过三项设计规避偏差:
-
每个科室独立训练IsolationForest模型,建立专属基线; -
医生画像中明确标注“与本科室均值对比”字段; -
雷达图采用Min-Max归一化,确保各维度可比。
-
输出即用,兼顾人机友好输出结果包含CSV(供Excel打开与二次分析)、JSON(供系统对接)、PNG(用于汇报材料)、TXT(供人工快速阅读),满足不同角色的信息消费习惯。
应用场景
该项目并非通用数据分析平台,而是聚焦于医疗管理特定环节,可用于以下典型场景:
-
医院运营管理部门定期筛查费用结构异常的医生或科室,辅助制定控费改进计划; -
纪检监察部门对高风险科室开展数据初筛,缩小人工核查范围,提升调查效率; -
科主任掌握本科室医生行为分布,识别需重点关注或加强培训的对象; -
医保办评估重点监控药品、耗材、检验项目的使用合理性,发现集中开具倾向; -
信息科为临床科室定制化生成行为画像报告,推动数据赋能一线管理。
需要强调的是,所有异常标记均为统计学意义上的“偏离”,不等于违规认定。系统明确提示“最终判断需由人工复核”,符合医疗合规底线。
使用指南
项目开箱即用,本地部署仅需三步:
安装依赖
pip install -r requirements.txt
快速启动(CLI方式)
默认使用data/目录下的示例数据,结果输出至output/:
python -m src.cli --data-dir data/ --output-dir output/
如需聚焦某科室,支持模糊匹配:
python -m src.cli --data-dir data/ --dept 内科 --output-dir output/
若想调整敏感度,可降低异常分数阈值(越负越严格):
python -m src.cli --data-dir data/ --min-anomaly-score -0.15 --output-dir output/
启动Web仪表盘
streamlit run app.py
浏览器打开后,上传四个CSV文件,点击「加载数据」即可进入分析界面。仪表盘含三大功能Tab:– 异常医生表格:按异常分数排序,显示关键指标;– 雷达图对比:选择两个科室,直观比较费用结构差异;– 异常病例清单:列出被标记为异常的患者及其得分。
所有参数均可通过命令行灵活配置,完整选项见README中的参数表,支持污染比例、随机种子、输出格式等精细化控制。
总结
医疗行为轨迹画像系统不是一个追求复杂算法的炫技项目,而是一个以问题为导向、以交付价值为终点的务实工具。它用成熟的IsolationForest算法解决真实存在的“无标签异常发现”难题,用三层特征工程兼顾业务颗粒度与技术可行性,用CLI+Streamlit双入口覆盖技术与非技术人员,用归一化与科室独立建模保障结果可信度。
对于正在探索数据驱动医院管理的团队而言,它提供了一个低门槛、高透明度、可审计、可扩展的起点。你可以用它跑通第一条分析流水线,也可以基于其模块化结构,接入更多数据源(如电子病历文本、护理记录),或对接内部BI平台。
项目当前免费开源,若您对项目有疑问、使用上的困惑或想深入交流,欢迎私信我们,或加入社群讨论。
项目地址:
https://github.com/nexorin9/medical-behavior-profiler
夜雨聆风