基于SSM框架的健康管理系统的设计及实现
2023-06-04程书玲
程书玲
(浙江工贸职业技术学院,浙江 温州 325000)
智慧健康管理系统可为人们提供专业的健康管理建议、实时获取用户硬件检测数据并提供个性化的健康管理服务。其也提供专业的医疗平台为用户提供线上问诊,用户无需出门就可得到检测报告[1]。设计了一款应用于健康管理机构的业务系统,采用B/S架构一级成熟稳定Spring+SpringMVC+Mybatis框架,服务器采用开源的、性能稳定的Tomcat服务器,底层使用mysql数据库[2],为用户制定个性化的健康方案。
1 系统功能及技术架构
本智慧健康管理系统可以让人们足不出户就能获得专业的医疗解答,其可为用户提供可视化的健康项目,对其进行专业化的健康解答,健康干预流程简单。健康检测报告可定制,检测数据为实时的。为了减少用户的等待时间,可提供回访任务的自动生成,分析报告也可一键生成。其可向用户推送健康知识,系统具有会员管理模块,进行预约管理、健康评估、体检管理、慢病管理、医生在线、健康咨询、运动与养生服务。配套服务包括体检方案定制、辅助就医服务[3]、专家远程会诊。系统功能如图1所示。
图1 系统功能图Fig.1 System function
系统前后端分离,后端包括基于SSM框架的智慧健康后台管理系统与移动端应用两部分。后台系统由健康机构人员使用,移动端由用户使用。技术架构为SOA(Service-Oriented Architecture),即面向服务的架构,将重复功能或模块抽取成组件形式,对外提供服务。在项目与服务之间使用ESB(企业服务总线)形式作为通信桥梁,从而提高开发效率[4]。技术架构的组件包括基于网络的分布式应用程序协调服务ZooKeeper和基于Java RPC高性能优秀的服务框架Dubbo。为了满足数据突发性增长或流量并发,采用集群方式,将应用部署在多台服务器上。Dubbo具备智能容错和负载均衡能力,可将用户的每次访问请求发送到压力较小的服务器上,从而保证业务突发猛增时的正常运行。数据库使用mysql技术,采用集群模式应用部署在多个服务器[5]。为了减轻数据服务器的读写压力,采用读写分离技术。移动前端基于手机浏览器开发,使用html5技术。技术架构如图2所示。
图2 技术架构图Fig.2 Technical framework
2 系统主要功能的实现
2.1 系统前端功能模块的实现
用户通过微信小程序登录,登录方式采用手机号快速登录。前端功能模块包括体检预约、报告查询、健康评估、健康干预、健康档案、健康咨询等。其中,体检预约模块可根据用户时间预约体检。报告查询模块可查询体检报告,健康评估可实时了解身体状况,包括生活习惯评估、体检运动饮食评估、体检检测报告评估等[6]。健康干预是基于健康体检结果给出健康状况评估,并有针对性地提出专业的健康管理方案。健康档案是根据用户体检报告建立专属档案,为健康评估提供依据。健康咨询是由健康管理师为用户提供咨询服务和专业的解答。
前端采用成熟的SSM框架,页面与后台数据交互采用ajax异步请求模型,可在不更新整个页面的条件下加载数据,使Web应用程序能够更为迅捷地回应用户动作,节省网络资源。为了减少数据库压力、提高系统性能,采用页面静态化技术,系统上线后,用户访问量较大,但数据变化频率不高,如果每次访问数据都要实时从数据库取出,会对数据库造成很大的访问压力,因此将原来的动态网页通过静态化技术生成静态网页,用户在请求数据时服务器直接给出已经响应后的静态页面,没有动态查询数据库的过程,从而提高响应速度。
2.2 系统后端功能模块的实现
后端主要由医生、健康管理师登录操作,包括会员管理、预约管理、体检管理、健康评估、健康干预等功能。会员管理包括会员信息、会员等级、会员优惠、会员分析4大模块,保存用户的基本信息,方便用户登录,并根据消费记录进行用户升级,以提供优惠,吸引用户注册。会员分析用于数据挖掘,目的是找出潜在客户及更具竞争力的健康服务。体检管理包括检查项管理、检查组管理、套餐管理、预约列表、预约设置。检查项是单一的项目,如身高、体重、肝功能、肾功等。检查组是多个检查项的集合,如身高、体重、血常规检查等。套餐管理是多个检查组的集合,如入职套餐,由多个检查组组成。预约设置是设置每天的体检预约最大数量,客户可通过微信端在线预约,选择体检时间,如果约满则无法预约。预约列表可查看某一天的预约情况,如用户预约的健康项目、预约时间。体检管理根据用户预约时间、家庭住址、工作地址为其自动分配最近的三甲医院。健康评估是根据用户健康体检报告,对其健康状况做出客观评价。健康干预对存在的健康危险因素及危险度进行分析,给出专业综合的定制化健康方案。
3 数据库的实现
系统的技术数据库为mysql数据库,存储结构化数据,而redis数据库则保存图片和验证码。针对系统功能进行数据库表的设计,涉及的数据库表包括检查项表(t_checkitem)、检查组表(t_checkgroup)、套餐表(t_setmeal)、订单表(t_order)、预约设置表(t_ordersetting)。其中,检查项表存储检查项基本信息,包括检查项编码、检查项名称及适用的性别、年龄、价格、注意事项。检查项基本信息表如表1所示。
表1 检查项基本信息Tab.1 Basic information of test items
检查组表存储基本信息,包括检查组编码、检查组名称及适用的性别、年龄、价格、注意事项。检查组基本信息表如表2所示。
表2 检查组基本信息Tab.2 Basic information of test team
套餐表用来存储套餐基本信息,套餐表和检查组表是多对一的关系,因此在进行数据库设计时需要添加一个外键,指向检查组id。
预约表用来存储用户预约体检的基本信息,该表有两个外键,分别指向用户id、检查项id、检查组id、套餐id。
表3 套餐基本信息Tab.3 Basic information of the set
表4 预约基本信息Tab.4 Basic information of the appointment
4 结束语
设计了一套基于SSM框架的智慧健康管理系统,可为用户提供优质的健康服务,制定个性化的健康方案,以提高人们生命的质量,并降低医疗费用[7]的使用。