每月重复填参数?
把复杂配置收进后台
把日期留给使用者
院感数据质控 · 内网页面化 · 实时进度 · 报告自动生成
院感数据质控工具
📦 6 Parts + Conclusion
👉 滑动
PART 01
先说背景
SCENE
PART 02
原来问题
PROBLEM
PART 03
页面改造
WEB
PART 04
实时进度
PROGRESS
PART 05
小插曲
DETAILS
PART ///
写在最后
END
这次改造的核心目标
把技术参数留在服务器,把日期选择留给使用者。
01
PART
先说一个每月重复的场景
SCENE · 院感质控报告
在医院日常工作中,有些任务并不复杂,却需要每个月重复完成。
院感数据质控报告就是其中之一:连接前置机、填写数据库信息、选择医疗机构、设置日期、执行多项质控查询,最后再导出报告。
对于熟悉系统的人来说,这套操作并不困难;但对于临床或院感老师而言,数据库地址、端口、账号等技术参数既不直观,也不应该由普通使用者反复填写。
于是,我尝试把原来的桌面质控程序改造成一个更简单的内网页面。

打开地址
浏览器访问
选择日期
开始和结束
生成报告
后台完成
最终,使用者只需要做三件事。
02
PART
原来的操作存在哪些问题?
PROBLEM · 重复参数与安全边界
原工具需要在指定电脑上运行,并填写前置机地址、数据库端口、用户名、密码、质控日期和医疗机构等信息。
参数不直观
使用者需要了解数据库连接参数,每次操作还要重复填写相同信息。
密码易暴露
数据库密码可能在多人使用过程中暴露,不适合放在普通操作流程里反复出现。
版本难统一
软件需要复制到不同电脑,版本不容易统一;报告执行时间较长时,也看不到具体进度。
内网依赖困难
内网服务器不能访问互联网,依赖安装也比较困难。
院感老师真正关心的,其实只有“我要查询哪个时间段的数据”。
03
PART
从桌面程序到内网页面
WEB · 后台执行与报告下载
改造后的工具部署在一台 Windows 内网服务器上。
数据库地址、端口、账号、医疗机构代码等参数统一保存在服务器后端。临床和院感老师不需要安装软件,也接触不到数据库密码,只需使用浏览器访问内网地址。
选日期
浏览器端
跑 SQL
服务器端
下报告
结果文件
浏览器选择日期 → 服务器执行质控 SQL → 生成报告 → 浏览器下载结果
这样做还有一个好处:以后如果质控规则发生变化,只需要更新服务器上的程序,不需要逐台电脑重新安装。
点击“生成报告”后,服务器会按照顺序连接 openGauss 数据库,执行相应的数据完整性、规范性和关联性检查。
查询完成后,系统会生成三类文件:Word整体报告用于一览数据;Excel 明细报告,便于筛选、统计和进一步处理;HTML 汇总报告,便于快速查看每项质控的执行结果。
数据库连接信息不会发送到浏览器,查询过程也全部在医院内网中完成。
04
PART
增加实时进度显示
PROGRESS · 别让等待变成猜测
在最初版本中,点击“生成报告”后只能看到“正在执行”,使用者不知道程序运行到了哪一步。
还在跑吗
是否卡住
完成多少
进度百分比
失败了吗
实时状态
如果数据量较大,等待几分钟时很容易产生疑问:程序是否还在运行?是不是卡住了?已经完成了多少?有没有查询失败?
现在页面会显示
当前完成百分比、已完成多少项、当前正在执行哪项质控、实时成功和失败数量,以及 Word、Excel 及 HTML 报告生成阶段。

需要说明的是,进度按照 98 项查询的完成数量计算。如果某一条 SQL 本身耗时较长,进度会暂时停留在当前项目,待数据库返回结果后继续增长。
至少,使用者能够清楚地知道程序仍在工作,以及当前具体执行到了哪里。
05
PART
内网环境下的几个“小插曲”
DETAILS · 离线依赖与数据库选择
依赖无法在线安装
服务器无法访问互联网,Python 依赖无法直接下载安装。最终将程序和数据库驱动一起打包成免安装的 Windows 可执行程序,服务器不再需要额外安装运行环境。
脚本兼容性问题
不同 Windows 环境对批处理文件的编码和换行格式处理并不完全一致。中文程序名和非标准换行可能导致启动脚本被错误解析,因此最终将核心程序名、启动脚本内容统一调整为兼容性更好的格式。
连接成功不等于能查业务数据
还有一次比较典型的问题:数据库“测试连接”显示成功,但 98 项查询全部失败。排查后发现,账号可以连接数据库服务,但连接的是默认管理库,而业务数据实际位于另一个数据库中。修改为正确的业务数据库后,质控查询才正常执行。
“数据库能连接”并不等于“业务数据能查询”。
06
PART
简化操作,但不降低安全要求
SECURITY · 方便与规范都要
工具变简单之后,安全边界反而要更加清晰。
仅部署在医院内网,服务器端口只在必要的内网范围内开放。
数据库账号和密码只保存在服务器,浏览器端不显示数据库连接参数。
数据库账号建议采用最小查询权限。
///
LAST
写在最后
END · 小流程也有价值
这次实践并不是要做一个复杂的平台,而是解决一个非常具体的问题:让真正使用报告的人,只关注日期和结果,不再被数据库参数与软件环境困扰。
很多医院信息化改造未必需要从“大系统”开始。把一个每月重复执行的小流程做得更简单、更稳定、更容易使用,同样能够带来实际价值。
一个日期选择框、一个生成按钮、一条进度条
当它能减少重复输入、降低使用门槛、统一程序版本时,这个小工具就有了存在的意义。
我是小北,一位喜欢折腾的医院IT猿
如果你觉得这篇有帮助,欢迎点一下右下角的在看,也可以转给需要的同事。
夜雨聆风