陈金钰
(常熟市疾病预防控制中心信息科,江苏常熟 215500)
目前信息化发展如火如荼,卫生信息也飞速发展,在卫健委的牵头下,我国各医疗机构推进了一系列医疗便民措施,像互联网医院、市民健康档案、大数据健康平台等一系列卫生健康应用。在我国特别是经济发达地区,信息通信技术迅速发展和普及应用,微信已成为人们移动终端不可或缺的APP,其使用率已达87%,加上公众号各种功能接口的开放,使相应的开发得到了事半功倍的成效。我中心顺应潮流希望借微信庞大的用户基数为基础,开发一套健康证微信自助系统优化流程,为人民群众提供真正的便利[1]。
食品、公共场所、医疗及药品、生活饮用水等各类从业人员的卫生证明均为从业人员健康证,由卫生监督所、市场监督管理局根据有关法律、法规负责监督和管理。《食品卫生法》《公共场所卫生管理条例》《传染病防治法》《化妆品卫生管理条例》《生活饮用水卫生监督管理办法》等实施以来,相关单位逐步加强对有关从业人员健康证的管理工作。
我中心承担对全市从业人员健康证办理工作,前来办理健康证的人数逐年增多,窗口的压力也越来越大。在电子车票、电子优惠券、电子发票等逐渐普及的今天,老百姓已经逐渐习惯了在手机上动动手指就能完成各项业务办理,传统的窗口登记、排队等服务方式已经跟不上形势,群众对于便民、利民提出了更高的要求[2]。
为了让群众更方便快捷的办理健康证体检业务,常熟疾控历时一年开发的《健康证微信自助系统》于2017年5月正式投入使用,本项目被常熟市科技局列入2015、2016年度常熟市科技发展计划(社会发展类)项目①,被苏州市科技局列入2016年度苏州市产业技术创新专项——民生科技(应用基础研究——医疗卫生)指导性项目②。
《健康证微信自助系统》是依托于微信公众平台开发的[3],该系统从微信预约、登记、支付、进度查询,到电子健康证发放,实现一站式健康证微信办理体验,同时也完成了“互联网+健康证”业务闭环。
本系统按照“更少的环节,简洁的流程,更短的时间,优秀的服务,良好的品质”的原则,在进一步简化流程、提高效率的同时,考虑到信息产业发展速度快的特点,在体系结构、方案设计、功能设计及硬件的选择上,充分利用现有基础,依据“标准和开放”原则,标准化设计理念,创建可扩展且灵活的应用平台[4]。
收集整理各类从业人员健康证办理相关的业务资料及办理环节中的问题反馈,参照上级业务部门的工作规范要求,优化业务流程。并根据优化后的业务流程设计算法流程以及按照算法流程编写程序算法。通过现场调查和研究,健康证办理的主要流程如下:健康证自助系统主要流程主要涉及体检登记—选择体检医院;体检流转单—查看体检进程;电子健康证—体检合格发放电子健康证。健康证自助系统主要功能模块包括:体检登记、体检流转单、微信支付、电子健康证、查询健康证、个人中心、单位查询、办证指南。
将登记表、体检表、健康证电子化,移植到自助机及微信页面上进行测试使用,与常熟市区域卫生信息平台进行接口调试,满足微信运营的简洁化和人性化。还要考虑整个系统运行的稳定性。
将登记表、体检表、健康证的基础信息进行结构化处理,并使用数据库设计三大范式进行优化,降低数据库字段的冗余度,对关键数据进行索引处理优化并提高数据检索速度。
图1 工作流程图
(1)系统主要由4大服务模块构成:数据库中间件服务,WEB应用服务,数据库集群服务,分布式缓存服务。
(2)WEB应用服务:用Spring MVC作应用服务,使用nginx和tomcat实现web的均衡负载。
(3)分布式数据库中间件:使用MyCat作为分布式数据库中间件,在数据库分区和子分段后实现数据操作的一致性。
(4)分布式缓存:用redis作为缓存服务,完成session缓存和热点数据的缓存。
(1)Mysql:多用户多任务数据库系统占用相对较少的系统资源,但MySQL功能强大,可用作大型数据库系统。作为为WEB数据库设计的开源数据库服务器,它体积小,可以在各种平台上运行,如Unix,Linux,Windows等。它的特点是响应速度非常快,主要针对中小型企业,但对于庞大的数据库来说还不够。
(2)SqlServer:体积比较大,仅限于在windows平台上运行,虽然它占用了更多的系统资源,但使用起来非常方便,并且支持图形管理和命令,主要与ASP语言开发配合使用。
(3)Oracle:1)最高认证级别的ISO标准安全认证。2)使用比较复杂,同时提供GUI和命令行,在unix和windowsNT下操作相同。3)拥有长时间的开发经验,得到广泛的应用,完全向下兼容,毫无风险。4)可以支持多层次网络计算,以及兼容多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。5)能在多种平台上运行。并且支持所有行业标准,使用完全开放的策略,可以轻松地为客户选择最合适的解决方案,完全满足开发人员。6)性能最高,保持开放平台下的TPC-C和TPC-D的世界记录。
经过对上述性能特点的比较,拥有速度快、体积小、总体拥有成本低、易学易用、语言简洁等优点的mysql作为我们的数据库选择。
(1)数据库主从备份。将两台服务器同时用作数据库服务器:一台作为主服务器数据库,另一台作为备用服务器数据库。主从备份在两台服务器之间进行策略设置。
(2)数据库文件备份。由于主从备份存在一个严重的漏洞,一旦工作人员进行数据误删除的时候,主从数据库以及镜像服务器同样会执行此操作,这将导致系统无法恢复这部分数据,为此我们采用每小时提供一次数个据库的完整备份。备份数据库文件存储在分布式文件存储服务器中,以确保备份数据的安全性。
图2 系统架构图
(3)数据库误操作恢复方案。由于数据库采用主从备份,当用户进行误删除时,该部分操作也会同步到其他备份服务器。此时,管理员需要在数据库主动复制之前手动选择相对应的备份记录以进行手动数据库误操作恢复。该操作必须在服务停止后操作,从而有效的避免新数据对数据恢复的影响。
(4)用户账号的安全性。用户使用健康证功能,办理健康证先绑定身份证后才可以下一步操作,必须上传身份证。确保用户实名操作。用户在注册账号时会随机生成一个唯一的GUID作为数据加密的盐,由盐+用户密码组合后使用MD5散列算法进行加密处理。由于MD5哈希算法是不可逆的,无法通过逆运算法获得出相应的明文,因此将MD5哈希算法用于加密帐户密码。
(1)测试目标。主要目的是全面测试系统的性能和所有功能,确保系统性能满足要求,功能全面。
本系统包括的功能模块:系统设置功能,业务设置功能,权限管理功能,财务费用功能,体检管理功能,体检服务和查询统计功能。
(2)测试范围。不同测试阶段其测试范围不同,整个测试阶段包含了软件系统的所有功能模块和业务。
单元测试:单元测试主要针对系统中所有的Service层的所有方法编写测试用例进行覆盖测试,代码覆盖率已达80%。
功能测试:功能测试基于系统的API接口文档来编写测试用例,目的是用于系统部分开放功能接口进行黑盒测试。
系统测试:系统测试阶段涵盖整个业务的数据流程。需要对自助机端(12个)、PC后台(142)、微信端(14)的所有页面进行测试,共计168个页面。根据用户的操作模式编写测试用例,模拟用户在页面上的点击以测试界面功能。
本系统的上线使用可以简化办事流程、提高服务效率,以微信这一群众广泛使用的通信工具为媒介,解决在从业人员健康证办理过程中日益突出的窗口排长队、常排队问题。随着目前信息化的发展,本中心从实际便民惠民角度出发,通过移动互联网、物联网、大数据、云计算等技术手段,推陈出新。把原有的疾控业务,例如健康证、HPV疫苗预约登记、老年肺炎、流感预约做成公众号功能推送的云端,方便市民预约登记。并将一些动物咬伤处置、死亡医学证明办理、接种指南、艾滋病常识等基础知识做成科普类文章,通过微信等多媒体普惠给市民。并且根据今年的疫情与时俱进的做了一些管控措施科普知识介绍、重点人员管控系统等功能,为疫情的防控出一份力。通过我中心在信息化领域的不断深耕前行,通过信息化手段不断优化流程,提高办事效率,更好的为市民服务。
注释
①常熟市科技发展计划(社会发展)-CS201614.
②苏州市2016年度产业技术创新专项(民生科技—医疗卫生应用基础研究)—SYSD2016017.