南通市疾病预防控制中心 徐小卫
重点人群是突发公共卫生事件监测的重点对象,落实重点人群“应检尽检”,是突发公共卫生事件下的重点任务,是实现“早发现、快处置”的重要基础。为提高重点人群“应检尽检”工作精细化管理水平,南通市开发了南通市突发公共卫生事件重点人群应检尽检系统(包含重点人群管理、病毒检测数据管理、检测规则管理、预警管理、数据报表等功能),实现了重点人群检测情况的实时跟踪、动态预警,确保重点人群“应检尽检”的便捷化、准确化、信息化,为全市突发公共卫生事件做出了一定贡献。
突发公共卫生事件病毒引发的疾病不仅发病隐匿,感染者也存在数次病毒检测才能发现的情况,同时传染性极强,短暂的接触就可能被感染。而重点人群属于暴露风险高、传播风险大、抵抗力较低的人群,因此提前排查重点人群风险隐患,做到早发现、早报告、早管控就显得尤为重要。为满足南通市突发公共卫生事件重点人群管理相关工作需求,提升重点人群管理、监测预警等方面的工作效率,研发并设计了一套南通市突发公共卫生事件重点人群应检尽检系统(以下简称“系统”)。
系统采用SpringBoot 框架、Thymeleaf 模板引擎和Oracle 数据库,整体技术架构图如图1 所示。
图1 系统整体技术架构图Fig.1 The overall technical architecture of the system
Spring 是为解决企业复杂性应用程序开发,而创建的开源框架,其分层架构内包含核心容器、SpringAOP、SpringDAO、SpringORM、SpringWeb 等组成模块,分为表现层、业务层、持久层等框架整合资源。SpringBoot是由Pivotal 团队基于Spring 开发的全新框架,它是对Spring 的进一步封装,其并不是用来替代Spring 的解决方案,而是和Spring 框架紧密结合用于提升Spring 开发者体验的工具[1]。采用 SpringBoot 可以极大简化开发模式,它集成了大量常用第三方库配置,小部分第三方库几乎可以零配置地开箱即用,大部分的SpringBoot 应用都只需要少量的配置代码,让开发者能够更加专注于业务逻辑的开发[2]。
系统使用Thymeleaf 模板引擎。Web 开发模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML 文档。Thymeleaf 提供了Spring 标准方言以及一个与SpringMVC 完美集成的可选模块,可以快速地实现表单绑定、属性编辑器、国际化等功能[3]。SpringBoot 为Thymeleaf 提供了默认配置,并且还为其设置了视图解析器,因此相较于其他模板引擎(如JSP、FreeMaker、Velocity)Thymeleaf 更适用。
系统使用Oracle 数据库。Oracle 数据库系统是ORA CLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是最流行的C/S(Client/Server)或B/S(Browser/Server)体系结构的数据库之一。Oracle 具备诸多较强能力:如并发控制和数据恢复的能力、对大型规模数据库管理的能力、分布式处理的能力。系统使用较为方便、灵活、功能强大且可移植性好。总之,它是一种效率高、可靠性好且受人们欢迎的一种数据库[4]。
系统前端使用Layui。Layui 是一款采用自身模块规范编写的前端UI 框架,遵循原生HTML/CSS/JS 的开发方式,适合网页界面的快速开发。Layui 区别于那些基于MVVM 底层的前端框架,它更多的是面向后端开发者,无需涉足前端各种工具,只需面对浏览器本身,让一切所需要的元素交互。系统后端选择使用Java 语言,基于SpringBoot 框架进行开发;数据库选用Oracle数据库,基于MyBatis 框架进行数据库构建及操作[5]。MyBatis 运行流程如图2 所示。
图2 MyBatis 运行流程图Fig.2 MyBatis running flow chart
系统应用对象为南通市各县(市)区重点人群“应检尽检”工作小组、相关行业主管部门等。
系统通过数据同步、手工录入等方式将分散在各处的重点人群基础信息汇集至重点人群动态库中,管理人员通过线上查询、统计各类人群在岗数据、病毒检测数据、预警数据等相关信息,系统自动匹配应检未检人群并进行预警提示。系统界面友好,简单易操作,提供关键术语、核心业务逻辑解释,并具备常用查询、统计、预警等功能;访问入口及相关数据部署于政务内网,数据信息的安全性有所保障。
系统主要包含重点人群管理、病毒检测数据管理、病毒检测规则管理、预警管理、数据报表、系统管理六个模块(如图3 所示)。以下将展开讲述六个模块的功能与操作。
图3 系统主要功能模块示意图Fig.3 Schematic diagram of main function modules of the system
该模块实现了人群类别管理和人员信息管理功能。人群分类管理实现了对重点人群类别的配置,支持类别的新增、修改、删除及版本管理;人员信息管理实现了对重点人群的基本信息(姓名、身份证号、主管部门、区县、联系方式、性别、重点人群类别等)管理,相关数据主要通过系统同步、手工录入两种方式进行汇集。支持人员基本信息的新增、修改、删除,查询及基础数据导入日志查询等功能。
该模块实现了病毒检测数据的归集,其中主要分为系统互联归集、人工归集审核。已经具备互联互通能力的系统,其病毒检测数据实现了自动化归集(如本市内各级医疗机构和第三方病毒检测机构的数据);针对极个别不具备互联互通能力的系统数据(如外市病毒检测数据),工作人员可审核后在本模块中上传病毒检测报告进行数据归集。
该模块实现了病毒检测规则配置和检测规则版本管理功能。病毒检测规则配置是针对重点人群类别逐类别配置病毒检测频次;检测规则版本管理是在每次类别周期调整后进行对配置、相关数据进行归档,便于后续追溯。
该模块实现了未检人员管理和多级预警管理功能。未检人员管理通过比对三类数据(重点人群数据、病毒检测数据、人群类别规则数据),判断在岗人员是否按规定频次进行病毒检测。针对未按规定频次检测人员,将在未检人员列表中亮灯预警(黄灯:未检时间小于等于1 天;橙灯:未检时间大于1 天,小于等于3 天;红灯:未检时间大于3 天),支持查看未检人员病毒检测数据、支持按关键字段对预警人员查询、名单导出等操作;多级预警管理功能是对未检人员,支持配置化的逐级递增预警(如逾期1 天未检短信提醒、逾期3 天在公共通行证明应用上提醒等措施)。
该模块实现了区县数据统计、市直数据统计、类别数据统计功能。该模块实时统计全市重点人群“应检尽检”各维度数据,主要包含按类别统计人员底数、纳入预警人数、未按规定频次检测人数、检测率,按县(市)区统计人员底数、纳入预警人数、未按规定频次检测人数、消息提醒人数、检测率。
该模块包含用户管理、角色管理、菜单管理、部门管理、日志管理、字典管理等功能。其中主要的几个功能:用户管理,是记录有权限登录本系统的用户账号信息,支持新增、删除、更新、查询、启用、禁用、导出等用户操作;角色管理,可根据角色划分来控制各功能节点的权限,系统包含超级管理员、市级管理员、区县管理员等角色,结合用户授权,实现各部门的按权访问;部门管理,支持新增、删除、更新、查询、导出等部门操作。
系统采用导入与导出模块,对人员信息批量操作,大幅提高了信息录入速度与准确度。部分业务采用自动化调用、更新,极大提升了数据的时效性和准确性,同时也减轻了基层人员数据维护的负担。
在南通市突发公共卫生事件常态化工作中,为实现“早发现、快处置”,提高重点人群“应检尽检”工作精细化管理水平,设计并开发了本系统。系统自2022 年8 月中旬正式上线,截至2022 年11 月份,累计服务47大类82 小类重点人群,覆盖全市170 余万人,公共通行证应用累计提醒50 余万次,全市重点人群按规定频次病毒检测率达96%。为各县(市)区及30 多个部门提供了重要的信息化支撑,实现了重点人群病毒检测情况的实时跟踪、动态预警,确保了重点人群“应检尽检”的便捷化、准确化、信息化。