药事数据分析技能 (Pharmacy Data Analysis)
技能概述
本技能为三甲医院药事管理场景提供标准化的数据分析流程,包含两大工作流:
- 数据清洗工作流 — 对药品调剂差错、盘点数据、前置审方医嘱等原始数据进行系统清洗,输出清洗后的 Excel 文件、修改日志和无法处理项清单。
- 可视化建议工作流 — 根据数据文件、分析目标和目标读者,推荐合适的图表组合,输出 3-5 张图组成的仪表盘页面结构,以 Word 格式交付。
触发条件
满足以下任一条件时触发本技能:
- 用户上传药房相关数据文件(药品调剂差错、盘点数据、前置审方医嘱等)并要求"数据清洗""清洗""清理"等操作
- 用户要求根据数据文件推荐"图表""可视化""绘图""dashboard"等
- 用户明确引用本技能名称或要求"用药事数据分析技能"
工作流一:数据清洗
核心原则
- 先规则后执行:先输出清洗规则和受影响行数,经用户确认后再执行清洗操作
- 禁止自动填充业务关键字段:药品名称、剂量、批号、差错类型等关键字段不得用均值/众数自动填充
- 全程留痕:每一步修改均记录到修改日志
- 交付三件套:清洗后 Excel 文件 + 修改日志 + 无法处理项清单
执行步骤
步骤 1:数据读取与画像
- 读取用户上传的数据文件(支持 .xlsx / .csv / .xls)
- 识别文件编码(优先 UTF-8,回退 GBK/GB18030)
- 输出数据画像:
- 总行数、总列数
- 每列字段名、数据类型、非空率
- 前 5 行预览
步骤 2:问题检测
按以下 5 个维度逐一检测,详细规则参见 references/data-cleaning-rules.md:
| 维度 | 检测内容 | 处置策略 | |------|---------|---------| | 重复行 | 完全重复行、关键字段重复行 | 标记并提示用户确认删除 | | 缺失值 | 逐列统计缺失数量与占比 | 区分关键字段(不自动填充)与非关键字段(可填充并标注) | | 日期与数字格式 | 日期格式不统一、数字存为文本、混入单位文字 | 标准化为 ISO 日期 (YYYY-MM-DD) 和纯数字格式 | | 异常值 | 数值越界、逻辑矛盾(如数量为负、日期在未来) | 标记异常并给出业务判断建议 | | 字段不一致 | 大小写混用、全半角混用、同义异名(如"阿司匹林"与"阿斯匹灵") | 统一规范映射 |
步骤 3:输出清洗方案(等待确认)
输出格式:
【清洗方案概览】
- 原始数据:共 N 行 × M 列
- 检测到以下问题:
1. 重复行:N1 行(占 X%)
- 规则:基于全部列完全匹配
- 处置:删除重复行,保留首次出现
2. 缺失值:N2 列存在缺失
- 关键字段 [列出]:缺失 N 行,不做自动填充
- 非关键字段 [列出]:缺失 N 行,建议以众数/中位数填充
3. 日期格式问题:N3 行
- 涉及列:[列出]
- 规则:统一为 YYYY-MM-DD
...
4. 异常值:N4 行
- 涉及列及异常描述:[列出]
...
5. 字段不一致:N5 处
- 涉及列:[列出]
- 规范映射示例:[列出]
- 预计影响行数合计:N_total 行
- 无法自动处理项:N_unresolved 项(需人工判断)
请确认是否按以上方案执行清洗?如需调整规则,请告知。
必须等待用户明确确认后(如"确认""执行""同意"等),方可进入步骤 4。
步骤 4:执行清洗
- 按确认的规则逐项执行
- 实时记录修改日志(原值 → 新值,行号,规则编号)
- 无法自动处理的项目标记为"待人工确认"
步骤 5:交付清洗结果
输出三个文件:
| 文件 | 格式 | 内容 | |------|------|------| | 清洗后数据 | .xlsx | 完成清洗的数据表 | | 修改日志 | .xlsx | 每条修改的行号、列名、原值、新值、规则编号、时间戳 | | 无法处理项 | .xlsx | 需人工判断的异常项清单,含行号、问题描述、建议处置 |
所有文件保存至用户指定的 D:\AI学习 目录。
工作流二:可视化建议
执行步骤
步骤 1:信息收集
从用户输入中提取三项关键信息:
- 数据文件:已清洗的数据(字段、记录数、时间范围)
- 分析目标:如"差错类型分布趋势""盘点差异率与药品类别的关系"等
- 目标读者:如科室主任、院级质控会、药事委员会等
若用户未提供分析目标或目标读者,主动询问。
步骤 2:图表推荐
为每张推荐图表输出以下结构化描述:
图表 N:[图表名称]
- 图表类型:[柱状图/折线图/饼图/散点图/热力图/漏斗图/箱线图等]
- 回答的问题:[该图表回答什么业务问题]
- 使用字段:X轴=[字段名], Y轴=[字段名], 颜色/分组=[字段名]
- 排序方式:[按值降序/按时间升序/按类别分组等]
- 筛选条件:[如仅统计差错等级≥严重的记录]
- 可能误读点:[如"饼图不宜超过7个扇区""柱状图Y轴须从0开始"等]
详细图表选择指南参见 references/chart-recommendation-guide.md。
步骤 3:仪表盘页面设计
推荐一套 3-5 张图组成的页面结构:
- 顶部 KPI 区:2-4 个核心指标卡片(如总差错数、差错率、高风险药品占比)
- 主图区:1-2 张主分析图(趋势图或分布图)
- 辅助图区:1-2 张交叉分析图(如热力图、堆叠柱状图)
- 明细表:可选的明细数据表
说明页面布局逻辑和阅读顺序。
步骤 4:交付可视化建议报告
以 Word (.docx) 格式输出,包含:
- 分析背景概述
- 图表推荐清单(每张图的完整描述)
- 仪表盘页面结构方案
- 实施注意事项
所有文件保存至用户指定的 D:\AI学习 目录。
参考资源
references/data-cleaning-rules.md— 详细的 5 维度数据清洗规则、药事数据特殊处理策略references/chart-recommendation-guide.md— 药事场景图表选择指南、常见误读防范references/pharmacy-field-glossary.md— 药事数据常见字段词表与规范格式scripts/clean_pharmacy_data.py— 自动化数据清洗脚本,可对 Excel/CSV 执行检测并输出问题报告
注意事项
- 数据清洗前务必备份原始文件
- 药品名称规范化应参照医院 HIS 系统药品字典或《中国药品通用名称》
- 差错等级判定参照《医疗机构药事管理规定》及院内标准
- 盘点差异率计算公式:(实盘数 - 账面数) / 账面数 × 100%
- 所有涉及患者隐私的字段须脱敏后方可分析与导出
Scan to join WeChat group