[开源] 抗菌药物监测网上报数据自动导出器:面向药学部与信息科的国家监测网格式对齐工具,支持DDD计算、送检率统计与HTML自查报告生成
本项目是专为麻醉科、手术室及医院质控部门设计的转运交接信息完整性分析系统。它不依赖人工抽查而是通过对接手麻系统末段监护数据、PACU入室护理评估单、HIS计费节点这三类真实业务数据源自动识别全身麻醉患者从手术室转入PACU过程中的6类信息断点包括趋势断崖、节点缺失、时间倒置、数据延迟、数据矛盾、评估缺失。系统以SPC EWMA指数加权移动平均量化监护趋势异常程度用统一时间轴对齐多源时间戳并输出0–100分的交接信息完整度评分、结构化整改清单和HTML可视化看板。交付形态为命令行工具CLI 独立HTML文件技术栈采用Python实现核心引擎TypeScript/Node.js构建交互层全程无需数据库或服务器部署开箱即用。定位与能力范围我们不做通用医疗数据平台也不覆盖术前准备或术后随访全链路。本系统聚焦一个明确切口全身麻醉患者从手术室转入PACU这一关键交接环节的信息断点。这个环节在《三级公立医院绩效考核操作手册》《围术期护理质量评价标准》中被反复强调但长期缺乏可量化的客观抓手。传统方式靠人工翻查纸质单或零散系统截图效率低、难复盘、无法横向比对。而本系统把“交接是否完整”转化成可计算、可排序、可归因的问题- 是否存在监护数据突变如出室5分钟内SpO₂下降超15%- PACU入室评估单是否漏填呼吸频率、意识状态等必选项- HIS计费节点是否晚于实际入室时间20分钟以上- 手麻系统记录的出室时间是否早于PACU系统记录的入室时间所有判断均基于三源数据交叉验证而非单点采信。边界清晰只处理已落地的结构化数据非自由文本不介入临床决策不修改原始系统仅生成分析结果与整改建议。核心功能模块系统能力由五层引擎协同完成每层职责分明全部封装为可调用、可审计的逻辑单元模块职责关键机制三源数据适配层统一读取并解析手麻末段监护数据、PACU入室评估单、HIS计费节点支持CSV/JSON格式字段映射规则内置在templates/中可按院内字段名自定义时间对齐引擎将三源时间戳投射至同一时间轴识别延迟、缺失、倒置以手术结束时间为锚点向前向后扩展±30分钟窗口自动校准时区与毫秒精度SPC EWMA引擎检测监护参数血压、心率、SpO₂等的趋势断崖权重α0.3对近3次测量值加权偏离阈值超2.5σ即触发告警断点检测规则引擎执行6类断点判定每类含可配置阈值与扣分权重如“时间倒置”默认容忍±5秒误差超限即判为critical扣20–30分评分与清单生成器计算每位患者的完整度总分生成带优先级的整改条目总分100−各类型扣分之和整改清单按严重程度critical high medium和频次双排序所有引擎输出均沉淀为标准JSON结构detect_result.json确保下游报告与可视化模块可无损消费。使用与配置流程整套流程共四步全部通过命令行驱动无图形界面依赖适合嵌入现有质控工作流# 1. 生成模拟数据首次运行或测试时使用 python -m src.cli generate -d ./data -n 100 # 2. 执行断点检测核心分析步骤 cd cli node dist/index.js detect -d ../data -o ../detect_result.json # 3. 生成统计报告控制台摘要JSON汇总 node dist/index.js report -i ../detect_result.json -o ../report.json # 4. 生成HTML可视化单文件浏览器直接打开 node dist/index.js visualize -i ../detect_result.json -o ../html/visualization.html其中关键参数可按需调整-detect命令支持-v查看逐患者分析日志定位具体哪一行数据触发了“趋势断崖”-report命令输出含评分分布直方图如“60–80分区间占45%”便于快速把握整体水位-visualize生成的页面包含科室雷达图可直观对比麻醉科、骨科、妇科等不同手术科室的交接质量差异。所有输出文件语义清晰detect_result.json是原始分析结果report.json是聚合统计visualization.html是交互式看板三者互为支撑不重复、不遗漏。工程结构与技术选型我们坚持“核心稳、接口轻、交付简”原则-Python承担所有计算密集型任务SPC EWMA需实时滑动窗口计算时间对齐涉及大量时间序列插值pandas numpy组合成熟可靠-TypeScript负责人机交互层CLI命令行工具用commander构建支持子命令自动补全HTML看板用D3.js渲染不依赖任何CDN或后端服务所有图表数据内联在HTML中-零外部依赖部署visualization.html是纯静态文件双击即可在Chrome/Firefox中打开适合质控会议现场投屏-目录即契约src/core/下每个Python模块对应一类引擎cli/src/下每个TS文件对应一个子命令html/仅存放最终产物结构即文档。这种分层不是为炫技而是让一线质控员能看懂、信得过、改得动比如护士长发现某类“评估缺失”误报率高可直接修改src/core/rules.py中对应规则的字段校验逻辑无需碰前端代码。环境与运行要求本地运行仅需两套环境安装简单、版本锁定明确Python环境推荐3.9python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows pip install -r requirements.txt依赖包版本要求作用说明numpy≥1.21监护数据向量化计算基础scipy≥1.7EWMA权重迭代与统计检验pandas≥1.3三源数据清洗、合并、时间对齐faker≥13.0生成符合国内医院命名规范的模拟患者数据click≥8.0Python CLI参数解析框架Node.js环境推荐18.xcd cli npm install npm run build依赖包版本要求作用说明typescript^5.0编译CLI与可视化逻辑commander^11.0构建detect/report/visualize三级子命令d3^7.8渲染直方图、雷达图、饼图、时间线四类图表两套环境完全解耦Python部分可单独用于批量分析Node.js部分可单独用于结果展示。数据输入与输出规范系统不强制要求数据来自特定厂商系统只要满足字段语义即可接入。输入数据需为CSV或JSON字段名可映射映射表见项目文档数据源必需字段示例说明手麻末段监护数据patient_id,surgery_id,time,spo2,hr,bp_systolictime需为ISO格式支持毫秒级精度PACU入室评估单patient_id,surgery_id,in_time,consciousness,breathing_rateconsciousness需为预定义枚举清醒/嗜睡/昏睡等HIS计费节点patient_id,surgery_id,charge_time,charge_itemcharge_item需含“PACU监护费”“麻醉恢复费”等关键词输出严格遵循单一职责-detect_result.json每位患者的断点详情、扣分明细、原始数据快照-report.json科室平均分、断点类型TOP5、高风险患者名单-visualization.html所有图表数据内联无外部请求离线可用。所有字段含义、取值范围、示例值均在项目文档中逐条说明不设隐藏约定。适用角色与典型场景本系统直接服务于四类角色每类都有明确交付价值-麻醉科/PACU护士长每日晨会用visualization.html查看本科室评分雷达图快速定位“评估缺失”高发时段-手术室转运组长导出detect_result.json筛选has_criticaltrue患者回溯交接录像核查原因-医院质控办人员用report.json生成季度对比报表向院领导呈现“时间倒置类断点同比下降12%”-信息科工程师监控detect命令执行耗时与失败率及时发现手麻系统接口超时问题。它不替代人工判断而是把模糊的“感觉交接不顺畅”变成清晰的“P003患者存在时间倒置手麻出室时间比PACU入室时间晚8分钟”让整改有据可依、闭环可溯。项目地址https://github.com/nexorin9/pacu-handoff-breakpoint-detector