器数维新 | 常用质量管理图表实战:从表格到热力图,把医院数据"画"出洞察
[!ABSTRACT] 核心摘要
项目:常用质量管理图表实战指南 v1.0
领域:医疗质量安全管理 / 数据可视化 / 质管工具实战
核心指标:9 种核心图表 × 医院实战数据 × 每章配 Python 绘图 + Excel vs Python 对比
三条战线:
- 🟢 基础三件套:表格、柱状图、饼图(分类对比、构成比)
- 🟡 进阶三件套:折线图、散点图、控制图(趋势、相关、稳定性)
- 🔴 高阶三件套:柏拉图、雷达图、热力图(80/20、多维、密度)
两条工具路线:
- 临床科室质控员:Excel + 数据透视表 + BI
- 信息科/质控办:Python + pandas + matplotlib/seaborn
目标篇幅:19,000-21,000 字,11 章
核心隐喻:好图不是画出来的,是”想清楚”出来的——一张图三个问题:谁看?看啥?看完干嘛?
主编前言:质控员小李被主任一句话问懵的故事
周二下午,某三甲医院医务科。
质控员小李把刚做完的月度医疗质量简报投影到大屏,主任坐在对面,扫了一眼,问了一句:
“小李,这图想说明啥?”
小李当场愣住。
屏幕上是一张精心制作的柱状图——28 个临床科室,28 根柱子,五颜六色,标题写着”2026 年 5 月医疗质量指标对比”。
数据是准的,图是漂亮的,但没有结论。
主任没等他回答,直接翻页:
“这个折线图呢?——你画了 24 个月的趋势线,然后呢?”
“这个饼图呢?——占比多少?所以呢?”
“还有这个柏拉图?——前 3 类占 60%?那我们改哪 3 类?”
小李每翻一页,脸色就白一度。
90% 的质控图,死在「没结论」上。
这不是小李能力差,而是大多数质控员都把”画图”当成了”做事”——只要图画出来了,任务就完成了。
但主任要的不是”图”,是**”洞察”**。
图是翻译机,把数据翻译成视觉语言;但真正的语言,是数据背后的临床洞察。
这篇文章要解决什么问题?
第一,让你会用 9 种核心图表——表格、柱状图、饼图、折线图、散点图、控制图(SPC)、柏拉图、雷达图、热力图。每一章配医院实战案例 + Python 绘图代码 + 反例警示。
第二,让你会用”Excel vs Python”两条路线——临床质控员走 Excel + Power BI,信息科/质控办走 Python + pandas + matplotlib。各取所长,不必二选一。
第三,让你避开”90% 的质控图都会踩的坑”——3D 柱状图、彩虹配色、坐标轴截断、没有 UCL 的趋势图冒充控制图……这些”骗主任”的把戏,我见过太多了。
这篇文章适合谁读?
- 🟢 临床科室质控员:想做出”主任看得懂”的图表
- 🟡 医务科 / 质控办中层:想搭建质控数据可视化体系
- 🔴 信息科工程师:想用 Python 做质控数据自动化
- 🟣 临床主任 / 院长:想看懂质控报告里的”门道”
一些阅读建议
- 不必一次读完——可以按章节看,先看你最关心的图表类型。
- 强烈建议跟着 Python 代码跑一遍——每章末尾都附了代码,改改数据就是你的图。
- 反例警示部分必看——这才是”避坑”的核心。
- 第 11 章工具论剑单独看也值——这是我对”Excel vs Python”的完整思考。
狼叔写这篇文章的目的很简单:让中国医院的质控图表,少一点”装饰品”,多一点”手术刀”。
工具只是手术刀,真正重要的是——你敢不敢用它扎痛那个躲在暗处的漏洞。
来吧,咱们开始。
第 1 章:表格——所有图表的祖宗
别小看表格。表格是所有图表的祖宗,也是最容易被写废的图表。
很多质控员有个错觉——“我都开始画柱状图、画饼图了,谁还看表格?” 我在质控办干了十年,见过太多这样的同事:Excel 里拉数据,几列数字往 Word 一贴,标题写”2026 年第一季度医疗质量指标汇总”,然后就发给了医务科。
领导打开一看,皱了皱眉:”这表想说明啥?”
质控员答不上来。
90% 的质控数据表,死在「没结论」上。
1.1 为什么先讲表格
表格是最朴素的图表,它不靠颜色、不靠形状、不靠视觉效果——完全靠结构说话。
这就意味着,一张表格如果结构混乱、信息缺失,没有任何”美化”能救它。反过来说,一张结构完整的表格,即便没有图,也能让主任在 30 秒内抓住重点。
我给科室质控员下过一条死规矩:任何呈给质管办的表格,必须先回答 3 个问题——
- 这张表想回答什么问题?(单变量对比?多科室对比?趋势?构成?)
- 谁会看这张表?(主任?院领导?卫健委?)
- 看的人看完之后要做什么决定?(批评某科室?调整某指标?汇报某事件?)
3 个问题答不清楚,这张表就别发。
1.2 5 字段铁律:合格质控数据表的”宪法”
我把过去十年写过的上千张质控表提炼成 5 个必备字段。少一个,这张表就不合格。
字段 1:指标名(What)
要写”全称+口径定义”,不能只写缩写。比如不能只写”并发症率”,要写”术后 30 天内并发症发生率(以出院诊断为准)”。否则不同科室不同口径,数据打架。
字段 2:目标值/参考值(Standard)
没有目标值的指标都是”耍流氓指标”。比如”VTE 发生率 2.3%”,这数字高不高?有目标值”≤2.0%”才知道——超了。
字段 3:同期对比(Baseline)
本月 6.8% 高不高?对比”上年同期 5.2%”或”上月 7.1%”才知道。没有对比的指标,就是孤零零的数字,没有解读价值。
字段 4:数据源(Source)
“数据从哪来”必须标注清楚。HIS 拉的数据、医务科统计的数据、科室上报的数据,质量参差不齐。我见过最离谱的一张表——骨科上报并发症率 3.2%,医务科从病案首页统计出来 9.2%,差了 3 倍。没标注数据源,所有数字都是”罗生门”。
字段 5:统计口径/时间范围(Span)
是月度数据、季度数据,还是年度数据?是出院数据、在院数据,还是门诊数据?统计起止时间是哪天到哪天?
这 5 个字段,缺一不可。我把它们叫做”质控表的 5 字段宪法”。
1.3 医院实例:某三甲 2026 Q1 围手术期质控指标汇总
下面这张表是某三甲医院 2026 年第一季度围手术期质控指标汇总(节选 8 项 × 6 科室)。
看图说话——30 秒内抓重点:
- 骨科和神经外科是”重灾区”: 手术并发症率分别 9.2% 和 10.3%,远超 5.0% 目标线;手术死亡率 2.1% 和 4.2%,也超 1.5% 目标线。
- 术前 VTE 评估执行率全院不达标: 目标 ≥95%,全院均值仅 76.4%,骨科 62.5%、神经外科 52.1% 触目惊心。
- 抗菌药物 30 分钟给药率: 心外科 65.2%、神经外科 60.5% 未达标,与手术量大、接台密集有关。
- 唯一亮点:病理送检率全院 98.2%,所有科室达标——这一项可以作为标杆写进下季度报告。
如果你只把这张表的数字发给主任,他看完只会问一句”所以呢?” 但你加上这 4 条”看图说话”,主任立刻知道下一步该盯哪几个科室、该改哪几项流程。
1.4 反例警示:3 种”假大空”表格长什么样
反面教材 1:空指标表格
❌ 标题:某科室 2026 年质量指标完成情况
内容:指标 1 完成 ✓;指标 2 完成 ✓;指标 3 完成 ✓
(没有指标名、没有数值、没有目标、没有对比)
这种表只有一个用途——应付检查。检查的人走马观花看完,检查完了大家都忘了写了啥。
反面教材 2:无对比表格
❌ 标题:某科室 2026 Q1 医疗质量指标
内容:手术并发症率 6.8%;非计划重返手术率 2.7%;手术死亡率 1.2%;…(全是当期数字)
这种表看似”详细”,其实等于没写。没有对比的数字,就像没有刻度的尺子——你看不出长短。
反面教材 3:维度混乱表格
❌ 一张表里既有月度数据又有季度数据,既有科室又有医生个人,既有手术类指标又有药占比指标
我见过一张最夸张的”大杂烩”——某医院质控办的月报表,横轴是 28 个临床科室,纵轴是 47 项指标,但其中 8 项是手术指标、12 项是药品指标、9 项是感控指标、7 项是医保指标、11 项是其他指标——全部混在一起,看不出任何主题。
正确做法: 不同主题拆成不同表,每张表只回答一个问题。
1.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: 数据透视表 + 条件格式 + 冻结首行 + 数据有效性。优点:门槛低,人人会;缺点:超过 5 万行卡顿,样式难批量调整,合并单元格是大坑。
Python 怎么做:pandas.DataFrame()加载 →.style.applymap()着色 →.to_html()或matplotlib.table渲染。优点:可重复、可批量、可对接数据库;缺点:需编程基础。
狼叔建议: 临床科室质控员,先用 Excel 把表的”5 字段”填规范;如果数据量超过 10 万行或需要每月自动出表,再考虑 Python。
第 2 章:柱状图——分类对比之王
柱状图是质控办最常用的图表,没有之一。 它的核心使命只有一个——让数据”排队”,让差异”显形”。
我常说:”如果你只能选一种图表,选柱状图;如果你连柱状图都用不好,先别碰其他图。”
2.1 看图三问:谁高谁低?差多少?是否值得管?
柱状图最容易画,也最容易”画死”。很多质控员把柱状图当”数字搬运工”——把数据往 Excel 里一丢,柱状图自动生成,完事。
这种柱状图,没有任何管理价值。
我要求科室质控员画柱状图前,必须先回答 3 个问题:
问 1:谁高谁低? —— 即排序。柱状图如果不排序,就是一堆”乱码柱子”。看了半天不知道哪个最高,看了等于白看。
问 2:差多少? —— 即差距。要把”第一名”和”最后一名”的差距算出来,再除以目标值,看”差距百分比”。
问 3:是否值得管? —— 即优先级。差距大不代表”值得管”,还要考虑:①这个指标重要不重要?②改起来的成本高不高?③改完收益大不大?
我见过太多质控员把柱状图画得”很漂亮”,主任看完问一句”所以呢?”——这就是没回答”是否值得管”。
2.2 医院实例:全院 28 科室手术并发症率横向对比
下面这张图,是某三甲医院 2026 Q1 全院 28 个临床科室的手术并发症率横向对比(已排序)。
看图三问:
问 1(谁高谁低): 神经外科 10.3% > 骨科 9.2% > 胃肠外科 8.5% > 心外科 8.1% > 肝胆外科 7.8% > 普外科 7.5%。
问 2(差多少): 第一名(神经外科 10.3%)与最后一名(康复科 1.5%)差 8.8 个百分点,是目标值(5.0%)的 1.76 倍。
问 3(是否值得管): 神经外科、骨科、胃肠外科、心外科 4 个科室”双超”——既超目标线,又超出平均值 50% 以上——属于”必须管”的范畴。其余 24 个科室虽然也偏高,但属于”可观察”。
结论: 下季度质控办的工作重心,放在”双超”4 科室的专项改进。
你看,一张柱状图,如果按”三问”来做,30 秒就能给主任一份可执行的方案。 这就是柱状图作为”分类对比之王”的价值。
2.3 进阶玩法:堆叠柱状图、分组柱状图、双 Y 轴
柱状图的进阶用法,主要用于”多维度同时对比”。我用 3 种典型场景说明:
场景 1:堆叠柱状图(Stacked Bar)
适用:想看”总量”和”内部构成”。比如某科室 1 年并发症 50 例,其中 SSI 30 例、VTE 12 例、压疮 5 例、其他 3 例。
反例警示: 堆叠柱状图有个致命缺陷——除了最底层那一块,其他部分的”起点”不固定,人眼很难准确比较。如果你的核心信息是”对比各分项的大小”,别用堆叠,用分组柱状图。
场景 2:分组柱状图(Grouped Bar)
适用:2 个分类维度对比。比如”内科 vs 外科”的”并发症 vs 死亡”两组数据。
我常用它来对比”今年 vs 去年”——一眼看出每个科室的进步或退步。
场景 3:双 Y 轴柱状图(Combo)
适用:一个柱状量纲大、一个折线量纲小,共用一个 X 轴。比如”月度手术量(柱)+ 月度并发症率(折线)”。
反例警示: 双 Y 轴是”看上去很专业”,但实际上极容易误导读者——左右两个 Y 轴比例尺不一样,会让本不明显的差异”显得明显”。只有当两个指标有明确的逻辑关系时,才用双 Y 轴。
2.4 反例警示:3 种”挖坑式”美化
反例 1:3D 柱状图
3D 效果让”前面的柱子”显得比”后面的柱子”高,纯粹是视觉欺骗。所有数据可视化教材都禁止 3D 柱状图——可惜 Excel 默认模板里就有,很多质控员照搬。
反例 2:彩虹配色
一根柱子一种颜色,28 根柱子就是 28 种颜色——彩虹一般的效果,目的是什么?颜色要承载信息,不是装饰。 我见过的最离谱的一张柱状图,28 个科室用了 28 种颜色,颜色之间没有任何规律,纯粹是”为了让图好看一点”。
正确做法: 全院均值以上用红色,以下用蓝色;只有 Top 3 用突出色;其余用灰色。
反例 3:坐标轴截断
Y 轴不从 0 开始,而是从 5% 开始——这会让 6% 和 9% 的柱子看起来差很远,实际上只差 50%。
这是”画图骗主任”的典型手法。 我见过某科室画并发症率,故意把 Y 轴从 8% 开始,然后用 1% 的差距”证明”自己全院最低。主任看完大怒——因为另一个科室的质控员刚好在场,拿出了另一张 Y 轴从 0 开始的柱状图,直接揭穿。
铁律:除了有专业解释的特定场景,Y 轴必须从 0 开始。
2.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: 选中数据 → 插入 → 柱状图 → 右键”设置坐标轴格式”调整最小值 → 双击柱子改颜色。优点:5 分钟出图;缺点:批量出图难(每月改数据都要重新选颜色)、配色难统一。
Python 怎么做:matplotlib.pyplot.bar()一行画图;seaborn.barplot()一行加误差线;for dept, rate in zip(depts, rates)一行批量配色。优点:可重复、可批量、可对接 SQL;缺点:需编程基础。
狼叔建议: 单张图用 Excel 足够;如果每月都要画”全院 28 科室对比”,用 Python 写一个脚本,每月改一行数据,自动生成 PDF 月报。
第 3 章:饼图——构成比的视觉速记
饼图是”构成比”的视觉速记。 它的本质是:把 100% 切成几块,让你一眼看出”哪一块最大”。
但饼图是质控办最容易被”画坏”的图表之一。原因很简单——它太容易画了。Excel 里点两下就出来,但凡事都有代价:饼图对数据的要求极严格。
3.1 饼图的铁律:总和=100%、类别≤7
铁律 1:总和必须等于 100%。
饼图的数据来源,必须是”构成比”——也就是”分子分母之和”。如果你想表达”医院感染部位构成”,分子必须是各类感染的总例数,分母必须是总感染例数。绝对不能用”绝对数”画饼图。
比如,我见过一张”医院感染部位构成饼图”,数据是:”SSI 30 例、VAP 20 例、UTI 10 例、其他 5 例”——这就是绝对数画饼图,违反铁律。正确做法是把它转成占比:”SSI 46.2%、VAP 30.8%、UTI 15.4%、其他 7.7%”。
铁律 2:类别数量 ≤ 7。
人眼对”角度”的辨识能力有限。当类别超过 7 个时,饼图会变成”意大利薄饼”——一片一片分不清谁是谁。
如果你的数据类别 > 7,别硬塞进饼图。要么合并小类(“其他”),要么换柱状图。
3.2 医院实例:某院 2025 年医院感染部位构成比
下面这张图,是某三甲医院 2025 年医院感染部位构成比(186 例总感染)。我特意用了 3 种饼图样式做对比:
3 种样式对比:
(a) 标准饼图: 最常见,把每个扇区用不同颜色区分。优点:直观;缺点:中心区域是空的(浪费空间)。
(b) 环形图(Donut): 把中心挖空,可以放”总数””关键指标”等附加信息。这是我个人最推荐的样式——既保留了饼图的”构成比”特性,又能在中心位置放关键数字。
(c) 南丁格尔玫瑰图(Nightingale Rose): 把饼图的”扇形”换成”花瓣”,花瓣的”半径”代表大小。视觉冲击强,但容易”误导”——人眼对半径的判断不准确,会让小类别显得比实际大。 我只在大屏展示、年终汇报这种”重场景”用,日常质控报告不用。
看图说话:
手术部位感染占 42%、呼吸机相关肺炎占 28%——这两类就占了 70%。ICU 感控是改进重点,具体来说就是”手术部位感染预防”和”VAP 预防 bundle”。
3.3 饼图 vs 环形图 vs 玫瑰图:不同场景的取舍
| 场景 | 推荐样式 | 理由 |
|---|---|---|
| 月度质控简报 | 环形图 | 中心放总数 + 关键指标 |
| 院长办公会汇报 | 玫瑰图 | 视觉冲击强,适合大屏 |
| 学术论文 / 数据上报 | 标准饼图 | 通用、兼容、不踩雷 |
| 不推荐场景 | 3D 饼图 | 详见反例 |
核心取舍原则: 视觉冲击力越强的图,越容易”骗人”;学术严谨性越强的图,越”平”。日常质控报告,宁选”平”的图,不选”骗”的图。
3.4 反例警示:3 种”无效饼图”
反例 1:3D 饼图
3D 效果让”前面的扇区”显得比”后面的扇区”大。纯粹的视觉欺骗。所有数据可视化教材都把 3D 饼图列为”反模式”。
我见过某医院年终汇报的 3D 饼图——主任指着最前面的”SSI 46%”那块说”占了一半”,但实际上那块只有 30%,3D 效果让它的角度看起来比实际大了 50%。
反例 2:爆炸式分离
把饼图每一片”炸开”,中间留缝——视觉效果很炸,但破坏了”总和=100%”的视觉暗示。读者看完会以为这些是”独立的数字”,不是”构成比”。
反例 3:百分比标签叠在一起
当扇区 < 5% 时,百分比标签会被挤到图外,或者几个小标签叠成一团,完全看不清。正确做法: 把 < 5% 的小类合并为”其他”,或者把标签引出到图外。
3.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: 选中”占比”列 → 插入 → 饼图。优点:3 步出图;缺点:①不擅长画环形图和玫瑰图(需手工调),②配色靠运气。
Python 怎么做:matplotlib.pyplot.pie(sizes, autopct='%1.1f%%')一行画饼图;wedgeprops={'width': 0.45}改环形图;projection='polar'+bar()改玫瑰图。优点:样式切换一行代码;缺点:配色需自定义。
狼叔建议: 临床质控员直接用 Excel 饼图够了;质控办做大屏汇报时,用 Python 写个脚本,一键生成”标准饼图+环形图+玫瑰图”三件套,方便选择。
第 4 章:折线图——趋势是质管生命线
“一张好的折线图,胜过一千个数字。”
折线图是质量管理图表的”灵魂图表”——因为它能把”过去发生了什么、现在怎么样、未来怎么走”全部装在一张图里。
如果你去医院问主任”你最关心什么”,十个主任有八个会回答:”趋势。”
为什么?因为趋势回答了质管的核心问题——“我们是在变好还是变差?”
4.1 折线图的灵魂是”时间维度”,不是”线”
很多质控员画折线图,纠结的是”线要粗一点还是细一点”、”圆点还是方点”、”红色还是蓝色”——这些都不重要。
折线图的灵魂,是”时间维度”。 没有时间维度的折线图,不如表格。
判断一张折线图是不是”合格的折线图”,就看一个问题:这张图的 X 轴是不是”时间”? 如果不是,赶紧换柱状图。
典型反例: 我见过某医院的折线图,X 轴是”28 个临床科室”,Y 轴是”并发症率”——这画的是折线图,但 X 轴不是时间。这是把”分类数据”硬画成”折线图”——错误。分类数据该用柱状图。
4.2 医院实例:24 个月 VTE 发生率趋势
下面这张图,是某三甲医院 2024-07 至 2026-06 共 24 个月的 VTE(静脉血栓栓塞症)发生率趋势。
看图说话:
整体趋势: 24 个月来,VTE 发生率在 1.8%-2.4% 之间波动,基本稳定。但 3 个月移动平均线显示,长期趋势在缓慢上升——这与全国 VTE 防治形势严峻的现状一致。
异常事件: 2025-10 突然拉升到 3.6%(基线 2.0% 左右),11 月回落到 2.8%。这次尖峰是 24 个月里最显眼的异常。
挖根因: 我让质控员小陈去查 2025-10 发生了什么。她翻遍记录,发现:
2025-09,医院启动 DRG 改革,把”低风险组”纳入结算范围。
2025-10,VTE 评估执行率突然从 78% 下降到 62%——很多科室为压缩平均住院日,跳过了术前 VTE 评估。
直接结果:术后 VTE 发生率飙升。
这张折线图救了一个潜在的医疗纠纷。 如果没有这张图,大家都以为”DRG 改革没问题”,直到某天某个病人猝死在厕所里。
4.3 进阶玩法:多线对比、移动平均线、季节性分解
玩法 1:多线对比(同期 vs 上年 vs 目标线)
适用:把”今年””去年””目标”三条线放在一起——一眼看出”今年比去年好/差多少””离目标还有多远”。
我用这种图做月度质控简报,主任 5 秒就能看完。
玩法 2:移动平均线(3 个月 / 6 个月)
适用:数据”噪声大”时,用移动平均线看长期趋势。
注意: 移动平均线会”抹平”短期异常——所以图中要同时保留原始数据线 + 移动平均线,避免漏掉异常事件。
玩法 3:季节性分解(进阶,不展开,以后另外开篇详述)
用 statsmodels.tsa.seasonal_decompose 把趋势、季节、残差三部分拆开看。适合”有明显季节性”的指标(如冬季呼吸科死亡率高、夏季消化科高)。
4.4 反例警示:2 种”骗主任”的折线图
反例 1:Y 轴不从 0 开始
Y 轴起点设为 2.0%,而不是 0%——这样 2.4% 和 1.8% 的差距看起来”巨大”,实际只差 33%。
正确做法: 折线图的 Y 轴必须从 0 开始(或从”目标值”开始,但必须标注”起点非 0”且附文字说明)。
反例 2:刻度人为压缩
把 Y 轴刻度从”0、1、2、3、4”改成”1.9、2.0、2.1、2.2、2.3”——这样所有波动都会被放大,本来是”正常波动”看起来像”剧烈波动”。
这是更隐蔽的”骗主任”手法。我见过某科室的折线图,Y 轴刻度从 1.95 到 2.05,看起来像”心脏骤停”一样上下剧烈跳动,实际上只是 1.8% 到 2.4% 的正常波动。
铁律:折线图的刻度间距必须是均匀的,且必须从 0(或目标值)开始。
4.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: 选中”时间”列 + “指标值”列 → 插入 → 折线图 → 添加”目标线”(在数据末尾加一行”目标值 2.0%”画水平线)。优点:简单;缺点:无法自动算移动平均。
Python 怎么做:pandas.Series.rolling(3).mean()算 3 个月移动平均;matplotlib.pyplot.plot()+axhline()一行画目标线;statsmodels.tsa.seasonal_decompose()一行做季节性分解。优点:可自动化、可对接数据库。
狼叔建议: 月度简报用 Excel 出图足够;如果需要”自动月度报表 + 自动异常告警”,用 Python 接数据库 + 邮件推送。
第 5 章:散点图——相关性分析的显微镜
散点图是”找关系”的眼睛。
前面讲的表格、柱状图、饼图、折线图,都是”看一个变量”的图。散点图不一样——它一次看两个变量,让你发现它们之间是否存在某种”暗线”。
我用散点图最多的场景,是”找离群点”和”看相关性”。
5.1 散点图能干啥:找 2 个指标的”暗线”
场景 1:相关性分析
比如”平均住院日 vs 住院总费用”——直觉上,住院日越长,费用越高。但这个”直觉”是否成立?用散点图一画就知道了。
如果散点呈”左下到右上”的分布,说明两者正相关;如果呈”左上到右下”,说明负相关;如果是一团散沙,说明没关系。
场景 2:离群点发现
散点图最厉害的地方,是它能”揪出离群点”——那些不符合常规模式的点。比如一堆病人住院 5 天、费用 8000 元,突然出现一个”住院 3 天、费用 5 万元”的点——这要么是 DRG 高倍率病例,要么是数据错误,要么是检查/药品密集型病人。
场景 3:四象限矩阵(高级)
把散点图按 X、Y 中位数切成四块,每块代表一种”类型”:
- Q1(右上): 高 X + 高 Y(双高)
- Q2(左上): 低 X + 高 Y(异常)
- Q3(左下): 低 X + 低 Y(双低,优质)
- Q4(右下): 高 X + 低 Y(异常)
不同象限用不同颜色区分,一眼看出”哪类病例最多”。
5.2 医院实例:5872 例出院患者的「住院日 vs 费用」散点图
下面这张图,是某三甲医院 2025 年 800 例出院患者的「平均住院日 vs 住院总费用」散点图(为可视化清晰,从 5872 例中随机抽 800 例 + 30 例离群点)。
看图说话:
整体相关性: 散点呈”左下到右上”的明显正相关分布,回归线斜率约为 1500 元/天——也就是说,每多住一天院,费用平均增加 1500 元。这个数字与该院 DRG 测算结果一致。
四象限分布:
- Q1(高费用高天数): 复杂病例、危重病例、术后并发症病例——这是医院必须收治的”硬骨头”,管理重点是”控费”。
- Q2(高费用低天数): 检查/药品密集型,可能是肿瘤化疗、白血病、感染性心内膜炎等。
- Q3(低费用低天数): 优质高效,DRG 支付的”理想病例”,管理重点是”复制经验”。
- Q4(低费用高天数): 效率待提升,可能是康复期长、等待检查时间长的病人,管理重点是”优化流程”。
离群点(红色): 图中标记的 30 个红色离群点,是”DRG 高倍率病例”——住院 15-28 天、费用 8-15 万。这些病例是医保审核的重点对象,医院需要专门管理。
实操启示: Q1 和 Q4 是管理重点。Q1 控费(避免被医保审核拒付),Q4 提效(缩短住院日)。
5.3 进阶:相关系数 r 与回归线
相关系数 r(Pearson Correlation)
衡量两个变量”线性相关”的强度:
- |r| = 1:完美线性相关
- |r| = 0.7-1.0:强相关
- |r| = 0.4-0.7:中等相关
- |r| < 0.4:弱相关
注意:r 衡量的是”线性相关”,非线性关系 r 也会很低。 比如 y = x²,r 可能只有 0。
回归线
把散点图的所有点”拟合”成一条直线(或曲线),表达”X 每增加 1,Y 平均增加多少”。
我常用它来给主任讲”趋势”——“主任,这张图说明,住院日每增加 1 天,我们平均多花 1500 元。所以缩短住院日就是省钱。”
5.4 反例警示:相关≠因果
这是我反复强调的一点——散点图最容易”误导”读者的,是让人把”相关”误认为”因果”。
我举一个真实的案例:
某医院感控科做了 12 个月的”手术室温度 vs 术后感染率”散点图。结论是:”手术室温度越低,术后感染率越高。”——r = 0.62,看似强相关。
感控科很兴奋,准备把全院手术室温度从 22℃ 提高到 25℃。我让他们冷静一下,做了进一步分析。
真相是:
- 冬季(12-2 月),手术室不开空调,温度自然降到 18-20℃。
- 冬季病人本身基础状态差(呼吸道感染高发),加上春节前后手术量大、医生疲劳——多重因素叠加。
- 手术室温度和感染率的相关,是”季节”这个共同原因造成的”伪相关”。
铁律: 看到散点图的相关性,先问 3 个问题:
- 有没有”第三个变量”同时影响 X 和 Y?
- 这个相关在”时间上”是不是先后发生?
- 如果改变 X,Y 会不会跟着变?
只有这 3 个问题都答”是”,才可能是”因果”。
5.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: 选中 X 列 + Y 列 → 插入 → 散点图 → 右键”添加趋势线” → 选”线性”显示 R²。优点:5 分钟搞定;缺点:相关系数需手算(=CORREL(X,Y)),四象限需手工切。
Python 怎么做:matplotlib.pyplot.scatter()一行画图;numpy.polyfit()+numpy.poly1d()一行画回归线;scipy.stats.pearsonr()一行算 r 和 p 值;seaborn.regplot()一行搞定”散点 + 回归 + 置信区间”。优点:可批量、可深入统计。
狼叔建议: 探索性分析用 Python(seaborn.pairplot()一次性看 10 个变量的两两关系);做汇报图用 Excel 简单清晰。
第 6 章:控制图(SPC)——被低估的神器
控制图(SPC,Statistical Process Control)是医疗质量管理最被低估的工具。 ^8ebcdc
我走访过 100 多家医院,真正在用 SPC 的不到 10 家。90% 的医院把”控制图”画成了”趋势图”——这不叫 SPC,这叫浪费纸。
6.1 SPC 的核心思想:过程稳定 ≠ 没有异常,而是异常可预测
这是理解 SPC 的关键。SPC 不是说”不许有问题”,而是说”问题是可预测的,不可预测才是问题”。
传统质量管理认为”出问题就是异常”——但 SPC 认为:在一个稳定的过程中,问题以一定概率出现是”正常”的;只有问题以异常概率出现时,才叫”异常”。
SPC 的 3 条线:
- 中心线(CL): 过程的平均值
- 上控制限(UCL): CL + 3σ
- 下控制限(LCL): CL - 3σ
落在 UCL/LCL 之内的波动,是”系统固有变异”——正常。
落在 UCL/LCL 之外的点,是”特殊原因变异”——异常,需要找根因。
核心思想用大白话说: “只要在 3σ 范围内,就不管;超出 3σ 才查根因。”
6.2 医院实例:骨科 12 个月髋关节置换 SSI 率 P 控制图
下面这张图,是某三甲医院骨科 2025-07 至 2026-06 共 12 个月的髋关节置换术后 SSI(手术部位感染)率 P 控制图。
看图说话:
3 条线(关键修正——P chart 在变样本量下 UCL/LCL 是阶梯形,不是水平线):
- CL(中心线):3.05%(总感染 15 例 / 总手术 492 例)
- UCL(上控制限):10.74% ~ 11.42%(因各月手术量不同,呈阶梯形)
- LCL(下控制限):0%(负值取 0)
P chart 公式:
- CL = Σd / Σn
- UCL_i = p̄ + 3·√[p̄(1-p̄)/n_i]
- LCL_i = max(0, p̄ - 3·√[p̄(1-p̄)/n_i])
12 个月数据解读:
- 10 个低感染月份(0-1 例)的 SSI 率在 0%~2.56% 之间,均落在控制区内——属于”系统固有变异”,不需要找根因。
- 2026-03(率 13.16%、UCL 11.42%、超出 1.74 个百分点)和 2026-04(率 11.90%、UCL 11.01%、超出 0.89 个百分点)——这两个月均超出当月 UCL,必须立刻调查。
根因调查: 我让骨科质控员小张去查 2026-03 与 2026-04。发现:
- 这两个月医院引入了 2 名新主刀医生,术前抗菌药物给药时间不规范(提前 2 小时给药,导致术中血药浓度不足)。
- 同时,这两个月连台手术 7-8 台,接台间隔仅 10 分钟,手术室消毒时间被压缩。
改进措施:
- 对这 2 位新主刀医生进行术前抗菌药物规范培训,考核合格方可上台。
- 规定接台间隔不少于 30 分钟。
- 术后 3 个月监控,SSI 率回落到 2.5% 以下,过程重新稳定。
6.3 8 种 Western Electric Rules:识别”特殊原因变异”
光看 UCL/LCL 还不够。**Western Electric Rules(西方规则)**是 SPC 的”异常识别”标准,有 8 条:
| 规则 | 含义 | 实战中常见 |
|---|---|---|
| ① 1 点超 3σ | 单点超出 UCL/LCL | 最常见 |
| ② 连续 9 点同侧 | 连续 9 个点都在 CL 上方或下方 | 缓慢漂移 |
| ③ 连续 6 点递增/递减 | 6 个点持续上升或下降 | 趋势性变化 |
| ④ 连续 14 点交替上下 | 14 个点反复跳动 | 周期性问题 |
| ⑤ 连续 2/3 点超 2σ 同侧 | 3 个点中有 2 个超 2σ | 偶发异常 |
| ⑥ 连续 4/5 点超 1σ 同侧 | 5 个点中有 4 个超 1σ | 系统偏移 |
| ⑦ 连续 15 点在 1σ 内 | 过分聚集,分层不清 | 数据造假? |
| ⑧ 连续 8 点超 1σ 任意一侧 | 8 个点都在 1σ 之外 | 系统性问题 |
实战应用: 医院质控员每周扫一次控制图,8 条规则逐一检查——发现任一条触发,立刻报警。
6.4 三种常用控制图:P chart / U chart / X-bar R chart
P chart(率控制图)
适用:率类指标,如”SSI 率””死亡率””VTE 率”。每组样本量可以不同(用泊松近似)。
本节案例就是 P chart。
U chart(每单位不良事件数控制图)
适用:每单位不良事件数,如”每千住院日压疮例数””每万门诊次差错数”。比 P chart 灵活。
X-bar R chart(均值-极差控制图)
适用:连续型指标,如”平均住院日””平均费用””手术时间”。分两部分:X-bar 图看均值稳定性,R 图看组内一致性。
6.5 反例警示:没有 UCL 的趋势图 ≠ 控制图
这是最常见的混淆——很多医院拿折线图冒充控制图。
伪控制图 vs 真控制图的区别:
- 伪控制图:只有折线 + Y 轴
- 真控制图:折线 + 中心线 + 上控制限 + 下控制限 + 异常点标注
我见过某三甲医院的”控制图月报”,洋洋洒洒 20 张图,但仔细一看——全是折线图,没有 UCL/LCL。我问质控科长:”这是控制图吗?” 他说:”我们管它叫控制图。”
我当场黑脸:”你这是侮辱 SPC 这三个字母。”
铁律:没有 UCL/LCL 的图,就是折线图;没有 UCL/LCL 的”控制图”,就是耍流氓。
6.6 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: Excel 没有内置控制图,需要手算 UCL/LCL(=AVG + 3*STDEV),然后画”折线图 + 2 条水平参考线”。过程繁琐,容易出错。
Python 怎么做:statsmodels.stats.proportion.proportion_confint()一行算 UCL/LCL;matplotlib.pyplot.plot()+axhline()一行画 3 条线;异常点用numpy.where()自动标注;statsmodels.spc模块可直接调用标准化控制图函数。
狼叔建议: 这是为数不多的”必须用 Python 不用 Excel”的图表场景——SPC 对计算的准确性要求极高,Excel 手算 UCL 极易出错。质控办强烈建议用 Python 实现自动化 SPC 监控。
第 7 章:柏拉图——80/20 法则的质管落地
柏拉图(Pareto Chart)是质管人最应该掌握的图表之一。
它的本质是:柱状图 + 累计折线 = 双 Y 轴组合图。
柱状图说”哪类问题多”,累计折线说”前几类占了多少”。两个信息合在一起,就回答了一个核心问题——“管好哪 20%,就能搞定 80% 的问题?”
这就是著名的 80/20 法则(二八定律)——意大利经济学家帕累托发现的”关键少数”现象。 ^76bd2c
7.1 柏拉图 = 柱状图 + 累计折线(双 Y 轴组合)
柏拉图的结构:
- X 轴: 问题类别(按频次从高到低排序)
- 左 Y 轴: 频次(柱状)
- 右 Y 轴: 累计百分比(折线,0-100%)
画柏拉图的硬步骤:
- 把所有问题类别按频次从高到低排序
- 画柱状图(左 Y 轴)
- 计算累计百分比,画折线(右 Y 轴)
- 在累计 80% 处画一条水平线,标出”关键少数”
关键洞察: 80% 阈值线左侧的所有类别,就是”关键的少数”——管好这些,就管好了 80% 的问题。
7.2 医院实例:某院 2025 年 142 例不良事件类型分布
下面这张图,是某三甲医院 2025 年 142 例不良事件的类型分布柏拉图。
看图说话:
前 4 类”关键少数”:
- 给药错误:38 例(累计 26.8%)
- 跌倒/坠床:28 例(累计 46.5%)
- 压疮:25 例(累计 64.1%)
- 手术差错:21 例(累计 79.0%)
前 4 类占 79%——这正好验证了 80/20 法则。
后 6 类”琐碎多数”:
- 输血反应、院内感染、检查延误、沟通失误、设备故障、其他——合起来才占 21%。
管理启示:
- 把 80% 的质控资源放在前 4 类的改进上——给药错误、跌倒、压疮、手术差错。
- 后 6 类不是不管,而是”分别管理”——每个类别单独建专项改进小组。
这是柏拉图最厉害的地方——它把”什么都要管”的质控员,变成”抓重点”的质控员。
7.3 二八定律的质管启示
我在多个医院推行”二八定律管理法”,具体操作是:
第 1 步:每月做一张柏拉图
把所有问题分类、统计频次、做柏拉图——找出本月前 20% 的”关键问题”。
第 2 步:前 20% 列入”必改清单”
把前 20% 的关键问题列入下月”必改清单”,每个问题配一个改进小组。
第 3 步:后 80% 列入”观察清单”
后 80% 的琐碎问题,合并为”常规观察”,不投入专项资源。
第 4 步:每月复盘
下月再做一张柏拉图,看前 20% 是否变了——如果前 20% 已经解决,就找下一批前 20%。
这套方法在我推行的医院里,平均减少 40% 的质控工作量,但质量改进效果提升 30% 以上——因为资源集中在刀刃上。
7.4 反例警示:柏拉图的 3 种”无效画法”
反例 1:不排序
把类别按字母顺序或随机顺序排——柏拉图瞬间变成”普通柱状图”,失去”二八”含义。
铁律:柏拉图必须按频次从高到低排序,这是柏拉图的灵魂。
反例 2:不算累计百分比
只画柱状图,不画累计折线——柏拉图就退化成普通柱状图,无法判断”前几类占多少”。
反例 3:类别超过 15 项
15 项类别,前 3 项可能只占 30%,柏拉图的”集中”特征消失。正确做法: 把 < 5% 的小类合并为”其他”,让前 5-7 类成为主体。
7.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: 数据按频次降序排 → 插入 → 柱状图 → 右键”更改系列图表类型”把累计百分比改成折线 → 右键”设置次坐标轴”。优点:模板成熟,网上搜”Excel 柏拉图”有大量教程;缺点:每次新增类别都要重新做图,排序变化后图表易错位。
Python 怎么做:pandas.DataFrame.sort_values()一行排序;matplotlib.pyplot.bar()+twinx()+plot()三行画图;累计百分比用numpy.cumsum() / sum() * 100一行算。优点:可重复、可对接数据库;缺点:初次设置稍复杂。
狼叔建议: 临床质控员用 Excel 模板(网上下”Excel 柏拉图自动生成模板”);质控办建议用 Python 脚本,每月自动出图。
第 8 章:雷达图——多维度五维扫描
雷达图(Radar Chart)是把”多个柱状图拧成一个圈”。
当你需要同时看一个科室的”5 个维度”或”8 个维度”时,雷达图比 5 张柱状图直观得多——一眼看出”哪个维度是短板”。
8.1 雷达图的本质
雷达图的结构:
- 一个中心点
- N 条从中心向外辐射的轴(每条轴代表一个维度)
- 数据点连接成多边形
本质: 把”X 轴 = 维度”的柱状图,改成”X 轴 = 角度”的极坐标图。
适用场景: 综合评分、多维度对比、能力模型评估。
不适用场景: 时间趋势、构成比、相关分析。
8.2 医院实例:全院 12 科室医疗质量综合评分
下面这张图,是某三甲医院全院 12 个临床科室的医疗质量综合评分雷达图。我用 4 个代表性科室做对比。
5 个评分维度:
- 医疗质量(权重 30%)
- 运营效率(权重 20%)
- 患者满意度(权重 20%)
- 教学科研(权重 15%)
- 学科建设(权重 15%)
4 个代表科室解读:
心外科(绿色,标杆):
- 5 维全部 85+ 分,是全院综合标杆
- 学科建设和教学科研特别突出(90+ 分)
- 短板:运营效率稍弱(88 分)——可能是高端术式多、费用高
骨科(蓝色,本期):
- 5 维全部 78-92 分,整体均衡
- 患者满意度最高(92 分)
- 短板:运营效率(78 分)——可能与平均住院日较长有关
骨科(虚线,上期):
- 5 维 70-85 分,整体比本期差
- 与本期对比,5 维全面提升——改进措施见效
急诊科(红色,待提升):
- 5 维全部 60 分以下,是全院洼地
- 学科建设仅 58 分——这与急诊科”重临床、轻科研”的传统有关
- 改进重点:学科建设、教学科研、运营效率三方面补强
核心洞察: 雷达图最大的价值不是”看分数”,而是”看形状”——多边形越接近正多边形(规则形状),说明科室发展越均衡;形状越”凹”或”凸”,说明有短板或长板。
8.3 进阶:多系列叠加、阈值线、维度权重
玩法 1:多系列叠加
把”本期”和”上期”两条雷达图叠在一起——一眼看出”哪些维度提升了、哪些维度退步了”。
注意: 不要叠超过 3 条线,否则会”乱”。
玩法 2:阈值线
每个维度画一条”达标阈值”(如 80 分),低于阈值的部分用红色填充——让短板一眼可见。
玩法 3:维度权重
雷达图天然支持”权重”——每个维度的轴长按权重缩放。权重 30% 的维度轴长,权重 15% 的轴短。
注意: 加权会让”短板”看起来更短,但也容易让人困惑——是否加权取决于听众。给主任看不加权(直观),给绩效分配看加权(精确)。
8.4 反例警示:雷达图的 4 个大坑
坑 1:维度超过 7 个
10 维度以上的雷达图,会变成”密集蛛网”——人眼分不清每条轴。
铁律:雷达图维度 ≤ 7 个。
坑 2:量纲不统一
把”并发症率(%)””平均住院日(天)””满意度(分)””手术量(台)”混在一起画雷达图——量纲不同,会让某些维度被淹没。
正确做法: 所有维度先归一化到”0-100 分”,再画雷达图。
坑 3:跨科室直接比绝对值
某三甲医院直接把 28 个科室的”并发症率””死亡率””住院日”画到一张雷达图上——结果骨科、心外科、神外这些”手术科室”的指标天生就比”内科”高,看起来”很差”,但其实是病种结构问题。
正确做法: 同类型科室对比(手术科室 vs 手术科室,内科 vs 内科),或者用”标准化分数(Z-score)”代替绝对值。
坑 4:维度顺序影响形状
把”医疗质量”和”运营效率”的轴位置换一下,多边形的形状就完全不同——人眼对”形状”敏感,容易误读”形状变了 = 评分变了”。
正确做法: 固定维度顺序(比如全部按权重从高到低),保证多次对比时形状变化只反映”分数变化”。
8.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: 数据归一化 → 插入 → 雷达图 → 设置轴范围 0-100。优点:模板成熟;缺点:多系列叠加易乱、阈值线难加。
Python 怎么做:matplotlib.pyplot.subplot(projection='polar')一行建极坐标;plot()+fill()两行画多边形;fill_between()一行加阈值区域。优点:样式可控、可批量;缺点:需理解极坐标。
狼叔建议: 临床科室自评用 Excel 足够;全院多科室对比用 Python 写脚本,可批量出图。
第 9 章:热力图——数据密度的视觉武器
热力图(Heatmap)是质管办最”炫”,也最被滥用”的图表。
它把数字转成颜色——颜色越深,数值越大(或越小)。当你要展示”两个分类维度的交叉强度”时,热力图是无可替代的。
但热力图也是最容易被滥用的图表之一——很多质控员把热力图当”美化工具”,什么数据都往上塞,结果画出来的图”花里胡哨但没人看得懂”。
9.1 热力图的核心价值:2 个分类维度的交叉强度
热力图的本质:
- X 轴: 一个分类维度(如科室、时段、月份)
- Y 轴: 另一个分类维度(如疾病类型、医生、设备)
- 单元格颜色: 两个维度的”交叉强度”(频次、率、密度)
适用场景:
- 28 科室 × 24 时段 的不良事件密度(本节案例)
- 30 种手术 × 12 个月 的并发症分布
- 50 种药品 × 28 科室 的使用强度
- DRG 病组 × 科室 的住院日/费用分布
不适用场景:
- 时间趋势(用折线图)
- 单变量对比(用柱状图)
- 相关性分析(用散点图)
9.2 医院实例:28 科室 × 24 时段 不良事件密度
下面这张图,是某三甲医院 28 个临床科室 × 24 个时段 的不良事件密度热力图。颜色越深,事件越多。
看图说话:
整体规律:
- 凌晨 0-5 点整张图明显颜色深——夜间是不良事件高发期。
- 上午 9-11 点有第二个高峰(交接班 + 手术集中)。
- 下午 14-16 点次高峰(手术后观察期)。
- 夜间 20-22 点相对平静(夜班医生刚接班)。
热点识别:
- 骨科 × 凌晨 2-4 点 (图左上角”*”位置):骨科术后并发症集中爆发。
- 神经外科 × 凌晨 1-3 点(图中”*”位置):神经外科危重病人夜间病情变化。
- 泌尿外科 × 凌晨 3-4 点(图中”!”位置):术后出血集中。
管理启示:
- 加强夜间值守——特别是凌晨 0-5 点骨科、神经外科、泌尿外科的值班力量。
- 优化交接班——上午 9 点交接班时,必须把”夜间异常”完整交接。
- 夜班激励——对夜间值班的医护给予绩效倾斜,稳定夜间团队。
这是热力图最厉害的地方——它把”科室”和”时段”两个维度的交叉规律,一次性呈现在一张图里。 用表格要写 28 × 24 = 672 个数字,用柱状图要画 28 张图,用热力图一张搞定。
9.3 进阶:色阶选择指南
热力图的”灵魂”是色阶——颜色选错了,信息就丢了。
常见色阶对比:
| 色阶 | 适用场景 | 注意事项 |
|---|---|---|
| Sequential(单色渐变) | 单调数据(如密度、强度) | 推荐 Reds、Blues、Greens |
| Diverging(双向色阶) | 有”中位”的数据(如 Z-score、差异) | 推荐 RdBu_r(红-白-蓝) |
| Qualitative(分类色) | 无序分类 | 慎用,会让数据看起来”离散” |
狼叔建议: 医疗数据默认用 Reds(单色红)或 viridis(感知均匀)——这两种色阶对色盲友好,且数值越大颜色越深,符合直觉。
反例警示:
- 彩虹色阶(
jet): 看似鲜艳,但人眼对”中间色”敏感度低,会丢失信息。所有数据可视化教材都把 jet 列为”反模式”。 - 过多样色阶: 在一张图里用 5 种颜色——读者会问”为什么这块是蓝色,那块是绿色?”简单最好。
9.4 反例警示:热力图的 3 种”踩雷”
雷区 1:过度依赖颜色
热力图把数字转成颜色——但色盲读者(占人口 8%)会看不清。狼叔见过某医院的热力图,绿-红配色,色盲医生完全分不清。
正确做法: ①加注释(在热点单元格标”!”或”*”),②用色盲友好色阶(viridis),③附原始数据表。
雷区 2:忽略绝对值
一张全院不良事件热力图,骨科 5 例,康复科 1 例——颜色上看骨科”红得发黑”,康复科”几乎透明”。但实际上骨科事件多是因为手术量大、风险高,而康复科事件少是因为基本不做手术。没有标准化,热力图就会”误导”。
正确做法: 把绝对数转成”率”(如每千住院日事件数),再画热力图。
雷区 3:维度太多,单元格太密
50 科室 × 24 时段 = 1200 单元格的图——根本看不清。
正确做法: ①降维(只选 Top 10 科室),②分组(把科室按”内科/外科”分组画多张小热力图)。
9.5 工具选择:Excel vs Python
[!TIP] 工具选择:Excel vs Python
Excel 怎么做: Excel 条件格式 → 色阶 可模拟热力图,但仅限 2D 小规模数据(如 10×10)。超过 20×20 单元格,Excel 就开始卡顿,且配色难看。
Python 怎么做:seaborn.heatmap(data, cmap='Reds', annot=True)一行画热力图;sns.clustermap()一行做聚类热力图;matplotlib.pcolormesh()自定义更精细。优点:可处理大数据(1000×1000 流畅)、配色专业、可聚类。
狼叔建议: 10×10 以下小规模用 Excel 条件格式足够;超过 20×20 必须用 Python——这是热力图的”红线”。
第 10 章:图表组合拳——实战图谱
单张图表是”看见”,图表组合是”看懂”。
实战中,我很少单独发一张图——一个完整的质控报告,通常是 3-5 张图的组合,每张图回答一个问题,合在一起回答”全局怎么样”。
这一章我分享两个实战案例:案例一(Excel 月报)和案例二(Python 专项改进)。
10.1 案例一:某院月度医疗质量简报(3 图 1 表 + Excel)
场景: 每月 5 号,质控办要给院长办公会提交上月的医疗质量简报。听众:院长 + 6 位副院长 + 12 位临床科室主任。时长:15 分钟汇报。
简报结构(3 图 1 表):
图 1:全院 28 科室并发症率柱状图(横向对比)
- 回答:谁高谁低?——Top 5 科室一眼锁定。
图 2:24 个月 VTE 趋势折线图(时间维度)
- 回答:在变好还是变差?——趋势稳定性。
图 3:不良事件类型柏拉图(关键少数)
- 回答:管好哪 20%?——前 4 类占 79%。
表 1:8 项核心指标当月 vs 同期 vs 目标值
- 回答:具体指标表现?——详细数据。
Excel 实现过程(供临床质控员参考):
- 数据从 HIS 导出 → 复制到 Excel
- 图 1:数据透视表 → 柱状图 → 排序 → 配色 → 5 分钟
- 图 2:数据透视表 → 折线图 → 添加目标线 → 标注异常 → 10 分钟
- 图 3:数据透视表 → 排序 → 柱状图 + 累计折线 → 双 Y 轴 → 15 分钟
- 表 1:Excel 表格 → 条件格式(超标红) → 5 分钟
总耗时:约 40 分钟,每月可重复。
优点: 全院人手人会,模板可复用。
缺点: 配色不统一、异常点标注靠手动、每月都要重做。
10.2 案例二:某科围手术期专项改进(5 图组合 + Python)
场景: 骨科围手术期质控改进专项,需要一份完整的”诊断报告”。听众:骨科全体医生 + 麻醉科 + 手术室 + 质控办。时长:60 分钟专题会。
专项报告结构(5 图组合):
图 1:骨科 12 个月 SSI 率 P 控制图(稳定性)
- 回答:过程是否受控?——超出 UCL 的点必须查根因。
图 2:骨科 vs 全院并发症雷达图(综合评估)
- 回答:5 维综合评分在什么水平?——与全院标杆对比。
图 3:骨科手术患者住院日 vs 费用散点图(效率 + 离群点)
- 回答:效率如何?哪些是高倍率离群点?
图 4:骨科围手术期里程碑甘特图(改进计划)
- 回答:改进任务的时间节点是什么?——责任人 + 时间。
图 5:骨科 24 小时不良事件热力图(时间规律)
- 回答:哪个时段是高危时段?——加强夜间值守。
Python 实现过程(供信息科参考):
1 | # 5 张图,1 个脚本,每月跑一次 |
总耗时:首次开发 4 小时,之后每月 10 分钟(改数据库查询条件,一键出图)。
优点: 自动化、可重复、配色统一、可直接对接数据库。
缺点: 需 Python 基础、首次开发成本高。
10.3 实战心法:图表组合的”3+2”原则
我总结了一套”3+2”原则,适用于所有质控报告:
3 张图必备:
- 横向对比图(柱状图):谁高谁低
- 时间趋势图(折线图):在变好还是变差
- 关键少数图(柏拉图):管好哪 20%
2 张图可选:
4. 相关性/离群点图(散点图):谁异常
5. 多维评估图(雷达图):综合怎么样
1 张表兜底:
- 详细数据表,让读者能溯源
实战心法:每个报告不超过 5 张图 + 1 张表。 多于 5 张图,听众就看不过来了。
10.4 数字化时代的图表新玩法
Power BI / FineBI / Tableau / 国产 BI:
适合:院领导驾驶舱、临床科室看板。
特点:拖拽式,无需编程;实时刷新;权限管理。
质管通 / 狼叔的自研自用平台:
适合:医院个性化需求。
特点:可对接 HIS / EMR / 院感系统;支持自定义指标。
Python + Jupyter + Streamlit:
适合:信息科 / 质控办自研。
特点:开源免费,可深度定制;可对接任意数据源;支持 AI 自动分析。
我的建议: 临床科室用 BI 工具(零代码),信息科/质控办用 Python 自研(高灵活)。
第 11 章:工具论剑:Excel vs Python 完整对比矩阵
做图表,到底用 Excel 还是 Python?
这是质控办每年都在争论的问题——有人说”Excel 够用”,有人说”必须上 Python”。我的观点:不是非此即彼,而是各取所长。
这一章,我用 8 维度对比表 + 决策树 + 两条路线建议,把这个问题讲透。
11.1 8 维度对比矩阵
| 维度 | Excel | Python | 实战选择 |
|---|---|---|---|
| 学习成本 | ⭐⭐(人人会) | ⭐⭐⭐⭐(需编程) | 临床选 Excel,信息科选 Python |
| 重复劳动 | ⭐⭐(每次重做) | ⭐⭐⭐⭐⭐(函数复用) | 每月都做选 Python |
| 可视化上限 | ⭐⭐⭐(内置有限) | ⭐⭐⭐⭐⭐(无限定制) | 复杂图选 Python |
| 数据量 | ⭐⭐(<10万行卡) | ⭐⭐⭐⭐⭐(百万行流畅) | 大数据选 Python |
| 可复用性 | ⭐⭐(模板难维护) | ⭐⭐⭐⭐⭐(代码即资产) | 长期项目选 Python |
| 团队协作 | ⭐⭐⭐(共享文档) | ⭐⭐⭐⭐(Git + Jupyter) | 大团队选 Python |
| 数据源接入 | ⭐⭐⭐(ODBC/插件) | ⭐⭐⭐⭐⭐(任意 API/DB) | 多源数据选 Python |
| AI 集成 | ⭐⭐(Copilot 辅助) | ⭐⭐⭐⭐⭐(原生 LLM 生态) | AI 应用选 Python |
核心结论:
- Excel 优势: 门槛低、人人会、模板化
- Python 优势: 自动化、可复用、可深度定制
- 关键分水岭: 数据量 & 重复频率
11.2 真实场景决策树
我总结了 3 个最常用的决策路径——
决策树 1:数据在哪里?
1 | 你的数据在哪? |
决策树 2:图给谁看?
1 | 你的图给谁看? |
决策树 3:更新频率多高?
1 | 你的图更新频率? |
实战经验:80% 的医院质控场景,Excel 足够。 但剩下 20% 的”重点场景”(围手术期专项、抗菌药物管理、DRG 入组分析)——这些需要 Python。
11.3 狼叔建议的两条路线
🟢 路线 A:临床科室质控员路线
工具栈: Excel + 数据透视表 + Power Query + Power BI 看板
典型工作流:
- HIS 导出原始数据 → Excel
- Power Query 清洗、合并
- 数据透视表做交叉分析
- 条件格式 + 色阶做”伪热力图”
- 柱状图/折线图/柏拉图三件套做月报
- 嵌入 Power BI 看板,实时刷新
学习路径:
- 阶段 1:熟练数据透视表 + 基础图表(1 周)
- 阶段 2:Power Query 数据清洗(2 周)
- 阶段 3:Power BI 看板搭建(1 个月)
- 阶段 4:Dax 公式做高级计算(2 个月)
优点: 零代码、人人会、模板丰富。
缺点: 难以自动化、大数据卡顿、定制受限。
🔵 路线 B:信息科 / 质控办路线
工具栈: Python + pandas + matplotlib/seaborn + Jupyter + 数据库直连
典型工作流:
- Python 脚本直连 HIS 数据库
- pandas 做数据清洗、合并、分组
- matplotlib/seaborn 做可视化
- statsmodels 做 SPC 控制图
- Jupyter Notebook 做探索分析
- 导出 HTML / PDF 自动报表
学习路径:
- 阶段 1:Python 基础 + pandas(1 个月)
- 阶段 2:matplotlib + seaborn(2 周)
- 阶段 3:数据库 SQL(2 周)
- 阶段 4:SPC / 高级统计(1 个月)
- 阶段 5:Jupyter + 自动化报表(2 周)
优点: 自动化、可重复、可对接任意数据源、可结合 AI。
缺点: 学习曲线陡、需要 IT 支持。
11.4 未来 3 年趋势:LLM 让”自然语言出图”成为可能
趋势 1:Excel Copilot 让”自然语言出图”成为可能
Microsoft 365 Copilot 已经支持”用一句话生成 Excel 图表”——比如输入”画出各科室并发症率柱状图,目标线 5%”,Excel 自动出图。未来 3 年,Excel 用户的图表效率会大幅提升。
趋势 2:Python + LLM 让”零代码图表”成为可能
只要你会写 prompt,就能让 LLM 生成 Python 代码——比如”用 Python 画出某科室 12 个月 SSI 率 P 控制图”,LLM 直接给出可运行代码。未来 3 年,编程门槛会大幅降低。
趋势 3:真正的赢家是”会用工具的人”
工具在变,工具人在变。但”想清楚一张图要回答什么问题”这件事,工具替不了你。 这是质管人的核心能力。
狼叔的终极建议:
- 临床质控员:Excel + Power BI,快速上手,把时间花在”数据洞察”上
- 信息科/质控办:Python + AI,深度定制,把时间花在”自动化”上
- 不管用哪个工具,先想清楚”这张图要回答什么问题”,再动手画
结语:好图不是画出来的,是”想清楚”出来的
写到第 11 章,我猜很多读者心里在想:”狼叔,这 9 种图表我已经看了一遍,但到底怎么用在工作里?”
我给你三个问题,不管你画什么图,先问自己——
第一,这张图谁看? —— 主任?院长?卫健委?病人?不同听众,图的”语言”不一样。
第二,这张图让人看啥? —— 不是”看数字”,而是”看趋势/看差异/看结构/看问题”。
第三,看完之后干嘛? —— 改流程?改指标?改考核?如果看完什么都不做,这张图就是废图。
好图不是画出来的,是”想清楚”出来的。
工具千变万化,但”想清楚”这件事,十年不变。
🎁 彩蛋预告:质效精研 P34 / P35 即将连发
很多老读者问:”狼叔,你之前发的质效精研系列预告里好像也包含这方面的内容?”
是的——P34 和 P35 已经写好,正在精修,目前质效精研发到了 18 期, 跟这个话题相关的两期也快发到了。
📘 P34《鱼骨图、柏拉图、甘特图的「深度混合使用法」》
一个 RCA 复盘会上,7 个科室主任围坐,6 次会议搞不定的根因,3 张图 + 30 分钟全部定位——这就是”工具深度组合”的力量。
质控员、医务科长、临床主任必看。
📘 P35《Excel 不只是表格——用函数实现质控自动化》
你以为 Excel 只是录数据?错了。VLOOKUP / INDEX-MATCH / 数据透视表 / Power Query / VBA——一套 Excel 武器库,能让你从”录数据的”升级成”做数据的”。
零代码,人人能学。
两篇连发,敬请期待。 关注「白衣狼的医质管空间」公众号,第一时间收到推送。
📦 文末福利:模板 + 代码 + 反例清单
文中提到的所有素材,已上传至个人网站。点击「阅读原文」可直接下载使用——
- 📊 9 张医院实战示例图(PNG,公众号适配,可直接引用)
- 🐍 9 张图的 Python 源码(
generate_all_charts.py,改数据即可复用) - 📋 质控数据汇总表 v2.0(Excel 模板,5 字段铁律已内置)
- 🚨 9 种图表的反例警示清单(PDF,打印贴墙上,团队避坑)
- 🎯 SPC 控制图自动监控脚本(Python,接 HIS 数据库后一键告警)
所有素材永久免费。 这是狼叔对中国医院质管圈的一点心意——愿我们少一点”为了画图而画图”,多一点”用图说话、用图决策”。
写在最后
2016 年,我第一次在医院的周会上画柏拉图,台下 30 个主任没一个看得懂。
2026 年,医院里每个质控员都会画柏拉图了——但大部分还是”画图”而不是”用图”。
这 10 年,我最大的感慨是:工具会越来越简单,但思考永远是稀缺品。
这张表、那张图、这条线、那个点——它们都是”看得见”的。
真正值钱的是”看不见”的:你为什么选这张图、你想让人看到什么、你期待看完之后别人做什么决定。
这 11 章,你学会了 9 种图表的工具用法。
但工具是死的,人是活的。
愿你做那个”用图说话”的人。
愿中国医院的质控图表,少一点”装饰品”,多一点”手术刀”。





