狼叔造了个工具:每月手工拼半天Excel,现在5分钟搞定——奖罚通知自动生成器
序言:那个永远对不齐的Excel
“狼叔,这个月的奖罚通知我实在对不上了。”
月初的周三,何姐把三个文件摊在我面前,表情像刚打了一场败仗。她是质管办的资深干事,做事极细致,但每个月做奖罚通知的那天,办公室气压都特别低。
“你看——“她指着屏幕,”全院质控汇总表里有32个科室,迟交汇总表科室名是另一个写法,通报里又是另一种。光是把’呼吸与危重症医学科’对齐到’呼吸内科’,我就得一个一个找。更别说门诊乙级每份100、终末乙级每份200、优秀奖励每份300、迟交按天算、质控医生每人200、不良事件每例30——六七种规则,每一条都要对着Excel一行一行算。”
她揉了揉眼睛:”我从早上九点干到现在,还有一半没弄完。最怕的是什么你知道吗?不是累,是怕算错。因为这是真的涉及钱的——算错了,经管办按这个发工资,科室找上门来,你说不清。”
我看着她屏幕上密密麻麻的三个窗口——质控汇总、迟交表、通报文档,像三个互相不认识的人,在各自的格子里说着不同的语言。
这件事,难道不应该是机器干的吗?
一、痛点:月度奖罚的”三费困境”
质管办每个月月初要出一个文件:《质管办质量奖罚汇总表》。这份文件直接交给经管办,作为当月绩效工资的依据之一。
它涉及的内容非常多:
- 病历奖惩:门诊乙级扣100元/份,环节乙级扣100元/份,终末乙级扣200元/份,优秀奖励300元/份
- 迟交扣罚:按迟交天数×50元
- 质控医生奖励:200元/人
- 不良事件上报:30元/例
- 单病种上报:按实际奖励
数据来源是三个不同的文件:
- 全院质控汇总.xlsx — 质控医生评的每一份病历的评级
- 出院病历迟交汇总表.xlsx — 病案室统计的迟交情况
- 医疗质量安全管理通报.docx — 质控医生和不良事件的奖励名单
输出要覆盖34个科室的详细表(Sheet1)和49个科室的汇总表(Sheet2),格式要适合A4纸打印,领导签字栏要留空白。
我总结这叫月度奖罚的”三费困境”:
第一,费时。 三个源文件,格式各不相同,Excel、Word混搭。光是把数据从各自表格里提取出来,再按34个科室一一对齐,熟练工也要干半天。碰到科室名称写法不一致——“呼吸与危重症医学科”对应”呼吸内科”、”肛肠科(中医科二)主院区”对应”中西医结合肛肠科”——还得靠人脑映射。
第二,费眼。 六七条计算规则混在一起,每一条涉及的源数据位置还不一样。门诊乙级看质控汇总的第几列,迟交金额看迟交表的第几列,优秀标记又在另一列。眼睛在三张表之间反复横跳,一下午下来比做三台手术还累。
第三,费心。 这是钱的问题。一个科室少算了100块,科室主任拿着绩效单来找你;多算了200块,经管办说数据不对退回来重做。而且,只有一个人做,没有人审核——第二个人想审也审不了,因为他不知道你的计算过程。一个人做的表,只有一个人知道对不对。
说白了,这东西规则是死的,格式是固定的,每个月都要来一遍——这完全是机器最擅长的事。但过去几年,我们一直在用人力做机器该做的事。
二、破局:让规则被写进代码,而不是记在脑子里
我想起一个概念——“自动化偏见“的反面。
通常说的自动化偏见是指”人过度信任机器的判断”。但在医院质控场景里,情况恰好相反:我们有大量本该自动化却没有自动化的工作。不是我们不想,而是”没人写那个程序”。
就像月度奖罚这件事,本质上是一个确定性计算:
- 规则是明确的(门诊乙级 = 100元,终末乙级 = 200元……)
- 输入是固定的(三个源文件)
- 输出格式是固定的(34科室详表 + 49科室汇总,A4打印)
没有任何需要”人脑判断”的地方。那为什么还要人来做?
想了十分钟,我在纸上画了三步:
上传三个文件 → 程序按规则计算 → 输出A4格式Excel
然后打开VS Code,开始写代码。
技术方案非常轻:Python Flask 做Web界面,openpyxl 读写Excel,python-docx 解析Word里的表格。前端就是一个上传页面,连CSS框架都没用——因为不需要。
三、项目速览:奖罚通知生成器
奖罚通知生成器是一个Web工具,功能一句话:上传三个源文件,一键生成适合A4纸打印的奖罚通知Excel。
整个工具长什么样?
一个浏览器页面,三个上传框,一个”生成奖罚通知”按钮。你上传:
- 全院质控汇总.xlsx
- 出院病历迟交汇总表.xlsx
- 医疗质量安全管理通报.docx
点击按钮,十几秒后下载一个排版好的Excel文件。
输出文件包含两个Sheet:
| Sheet | 内容 | 覆盖范围 |
|---|---|---|
| Sheet1 | 病历奖惩明细 + 质控医生奖励 + 不良事件奖励 + 单病种奖励 + 奖罚合计 + 领导签字栏 | 34个临床科室 |
| Sheet2 | 全院汇总(含社康) | 49个科室 |
涉及的7条计算规则全部内置:
| 项目 | 金额 | 数据来源 |
|---|---|---|
| 门诊乙级 | 100元/份 | 全院质控汇总 |
| 环节乙级 | 100元/份 | 全院质控汇总 |
| 终末乙级 | 200元/份 | 全院质控汇总 |
| 优秀奖励 | 300元/份 | 全院质控汇总(第13列) |
| 迟交扣罚 | 天数×50 | 迟交汇总表 |
| 质控医生 | 200元/人 | 质量通报(表格16) |
| 不良事件 | 30元/例 | 质量通报(表格17) |
技术栈:Python Flask + openpyxl + python-docx,代码不到500行,跑在本地浏览器,不需要联网,不需要装数据库。
四、亮点细说:三个设计让我自己都觉得舒坦
4.1 科室名称自动映射——告别”人脑翻译”
这是整个工具最实用的功能,没有之一。
医院的科室名称是出了名的混乱。同一个科室,在质控汇总表里叫”呼吸与危重症医学科”,在奖罚模板里叫”呼吸内科”;在HIS系统里叫”肛肠科(中医科二)主院区”,在模板里叫”中西医结合肛肠科”。更麻烦的是,有些病区要合并——比如”眼科”和”眼科盐港院区”,在奖罚模板里统称”眼科”。
以前人工做表的时候,这是最耗时的步骤——34个科室,一个一个人脑翻译,翻完还要数一遍有没有漏。
现在程序内置了一个科室名称映射字典,40多个映射关系全部写死在代码里。不管你源文件里的科室叫什么,程序自动翻译成模板里的标准名称,同名科室的金额自动合并。
1 | '呼吸与危重症医学科' → '呼吸内科' |
这意味着:源文件怎么写都行,输出永远是一致的。
4.2 Excel公式内嵌——不是死数据,而是活表格
一般的自动化工具生成Excel,就是把算好的数字填进格子里。表面看起来没问题,但有个隐患:数字是死的。
万一领导说”这个科室的乙级数你再核实一下”,你只能回到三个源文件里重算。
我做的这个工具,生成的Excel里嵌入了SUM公式。每一列的汇总行不是硬编码的数字,而是 =SUM(C4:C36) 这样的实时公式。
这意味着:
- 打开Excel就能看到公式逻辑
- 任何一个数字都可以追溯到计算公式
- 经管办的人可以自己验证——不是”你说多少就是多少”
4.3 源数据”三合一”——一个页面搞定全部输入
这是Web界面设计上的一个小心思。
传统的数据处理脚本,要么在命令行指定文件路径,要么在代码里硬编码文件名。但质管办的源文件名每个月都在变——“2026年3月全院质控汇总.xlsx”、”2026年4月……”。每次改文件名都要改代码,很不方便。
我用Flask做了一个极简的Web界面:三个上传框,一个按钮。文件名随便叫什么,拖进去就认。不需要记命令行,不需要改代码。质管办任何一个同事打开浏览器就能用。
更关键的是,上传→处理→下载全都在本地完成,文件不会上传到任何服务器。信息安全这一点,在医院是底线。
五、落地效果:从半天到5分钟
这个工具上线后,最直观的变化是:
变化一:时间从”半天”变成”5分钟”。 何姐第一次试用的时候,上传三个文件,点生成,十几秒后下载了Excel。她打开看了三十秒,说了一句话:”狼叔你要是早做这个,我这几年少受多少罪。”
变化二:不再怕”错了”。 以前做完表,心里是悬的——不知道哪个科室的数字多看了一个零。现在程序算的,规则写死在代码里,要么全对,要么全错(没有”部分对”这种事)。而且SUM公式内嵌,任何人打开都能核对逻辑。
变化三:可以复用。 以前换个月份,所有操作从头来一遍。现在只要源数据格式不变,上传新文件就行。本质上,我写的不是”三月份的奖罚通知”,而是一个通用的奖罚通知生成模板。
变化四:解放了一个人。 原来每月固定有一个下午,质管办有一个人是”废”的——她不能干别的事,全扑在拼表上。现在这半天的时间可以用在更有价值的事情上,比如下临床巡查、做根因分析。
六、狼叔碎语:不是写代码,是写”业务规则”
写这个小工具的时候,我在想一件事:
大多数医院质控的数字化,缺的不是”技术”,而是”翻译”。
什么意思?你让一个软件工程师来做这个奖罚通知系统,他可以做一个功能强大的管理平台,有数据库、有权限管理、有可视化图表。但做完之后,质管办的人不会用——因为那个系统是按照”软件的逻辑”设计的,不是按照”质控工作的逻辑”设计的。
而我的工具只有500行代码,没有数据库,没有用户系统,就是一个上传→生成→下载的流水线。但何姐一打开就会用——因为它的逻辑就是她干了三年的事,只是把手工动作翻译成了代码。
程序设计的本质,不是写代码,是写业务规则。 你首先要理解——这个工作的输入是什么,规则是什么,输出是什么。然后把规则翻译成代码。规则写对了,代码哪怕丑一点,工具也是好用的。
有人问我:”狼叔,你是不是转行搞IT了?”
我说:没有。我只是终于受不了每个月看同事对着一张Excel表干半天的样子了。
质控工具开发的门槛,其实比大多数人想象的低。只要你做质控的时间够久,你对那些”重复劳动”的痛点够痛,你就能找到最值得自动化的那个点。剩下的,交给Python。
下一篇预告:狼叔项目系列之三——「指标自动计算引擎」,聊聊怎么让机器半夜自动从HIS/EMR抽数据算国考指标,第二天上班直接看报告。
狼叔 | 医院质量管理从业者,业余代码爱好者
奖罚通知生成器 v1.0 | Python Flask + openpyxl | 约500行代码
下一篇:指标自动计算引擎——告别手工从HIS提数的时代








