乐于分享
好东西不私藏

从桌面软件到内网页面:院感数据质控工具改造记录

从桌面软件到内网页面:院感数据质控工具改造记录
TOOLS · 院感质控2026.08

每月重复填参数?

把复杂配置收进后台

把日期留给使用者

院感数据质控 · 内网页面化 · 实时进度 · 报告自动生成

院感数据质控工具

内网质控

📦 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 · 方便与规范都要

工具变简单之后,安全边界反而要更加清晰。

1

仅部署在医院内网,服务器端口只在必要的内网范围内开放。

2

数据库账号和密码只保存在服务器,浏览器端不显示数据库连接参数。

3

数据库账号建议采用最小查询权限。

///

LAST

写在最后

END · 小流程也有价值

这次实践并不是要做一个复杂的平台,而是解决一个非常具体的问题:让真正使用报告的人,只关注日期和结果,不再被数据库参数与软件环境困扰。

很多医院信息化改造未必需要从“大系统”开始。把一个每月重复执行的小流程做得更简单、更稳定、更容易使用,同样能够带来实际价值。

一个日期选择框、一个生成按钮、一条进度条

当它能减少重复输入、降低使用门槛、统一程序版本时,这个小工具就有了存在的意义。

我是小北,一位喜欢折腾的医院IT猿

如果你觉得这篇有帮助,欢迎点一下右下角的在看,也可以转给需要的同事。