优美健康管理系统

“健康中国”上升为国家战略,成为十三五重点规划。而预防胜于治疗,也是医疗行业中的共识。在国家的大力推广下,以及人们对健康的重视程度逐步提高的今天,健康管理机构如雨后春笋般,由2008年的300家迅速增长到2017年的7000家。这些健康管理机构又迫切的需

  引言

  健康是人类永恒的话题,更是人类生存的根本。世界卫生组织对健康的定义是:“健康是指生理、心理及社会适应三个方面全部良好的一种状况,而不仅仅是指没有生病或者体质健壮”,也就是说,一个人只有在身体健康、心理健康、社会适应能力和道德等几方面健康,才是完全健康的人[1]。随着社会的进步,人们的生活生平得到了提高,人们开始对身体健康的认识也得到了不断的提高,预防疾病、身体的保健深深受到人们的重视。现在IT技术的快速发展和Internet的广泛应用,计算机应用已经渗透到社会的各个领域。移动互联网的高速发展加速了传统医疗向移动医疗的转移。
  健康管理一般是由个人健康信息的管理,健康评价和健康改善三个组成部分,通过对个人一般情况,目前健康状况和疾病家族史、生活方式等需要管理的个人健康健康信息的手机,对个人进行患病危险性评价,即疾病预测,并在这基础上帮助个人通过行为纠正,改善健康。健康管理是20世纪最先在美国提出的概念,其的核心内容便是医疗保险机构通过对医疗保险客户开展了一系列的健康管理,对疾病起到有效的防治作用,从而将患者的出险概率与患者的实际经济支出有效减少,以将医疗保险赔付损失的情况减少.这在一定程度上,可保证有医疗保险的患者可以享受较低的医疗费用,也大幅度减轻了保险公司的负担[3]。患者在手机上进行想要体检的套餐预约,管理员可以在后台系统查看预约人数,也可以查询会员的数量以及组成分布,还可以对用户的权限进行操作等。

  1项目介绍

  本项目使用的是ssm三层架构,由用户界面层/表示层(User Interface),业务逻辑层(Business Logic Layer)和数据访问层(Data Acess Layer)构成。为了防止用户的密码泄露,我们采用Spring Security框架,对用户的密码进行加密。对用户数量的统计图我用的是Apache ECharts可视化库,图片上传用的是七牛云,前端页面样式采用的是ElementUI框架,对Microsoft Office格式档案读和写的功能采用的是Apache POI。通过集成当前常用的开发框架Spring、SpringMVC、Mybtis(SSM框架)来实现后台管理系统的建立[4]。
  优美健康管理系统是一款应用于健康管理机构的业务系统,实现健康管理机构工作内容可视化、会员管理专业化、健康评估数字化、健康干预流程化、知识库集成化,从而提高健康管理师的工作效率,加强与会员间的互动,增强管理者对健康管理机构运营情况的了解。到现在为止,我国健康管理发展已经十多年,尽管过程困难,但它的理念已逐步得到了认可。全数字化体检系统也已经在我国健康体检中得到应用,先进的信息处理技术通过提高体检质量从而提高健康管理的水平[5]。政府在健康管理发展中起到了积极引导的作用:卫生部颁布预防性诊疗服务规范,将与健康相关产业的主题定位健康管理;卫生部、保监会及劳动和社会保证部出台政策,明确健康管理是医疗保险控制的有效策略。这些都为健康管理的行业发展指明了方向。

  1.1项目简介

  我国人口总数十四亿人,人口老龄化越来越严重,从全国范围来看,健康已经引起了越来越多的人重视,然而健康管理这一项目起源较晚,到现在为止,我国健康管理发展已经十多年,尽管过程困难,但它的理念已逐步得到了认可。所以就算是发展较晚,也影响不了它现在在人们心中的地方,不要说国内外对这一管理系统的需求,单看我国,老龄化加重的情况下,我国迫切需要健康管理系统来对老年人的健康啊问题进行解决。健康管理系统作为健康管理这一热门的方案,市场上有许多企业已经开展了:爱康国宾:以连锁体检机构为基础,线上系统主要作用为引流和维护客户,更多的服务在线下进行。平安好医生:以线上服务为主,提供问诊,健康管理,养生运动等功能为主,带动保险,理财等业务。健康云:致力于中小型健康管理机构的信息化服务,依靠口碑进行宣传。但由于认知退化等原因造成老年群体在使用移动医疗产品时产生信息识别障碍等问题,产生了不同年龄群体在使用移动医疗产品时的不公平现象,老年群体医疗需求激增与供给不足之间的矛盾日益突出[6]。
  优美健康管理系统是为健康体检机构高效的信息化系统,目标是为患者用户提高良好的用户体验。大致结构式为管理后台、微信公众号、预约系统、评估系统、干预系统、知识库系统。
  本项目大致框架是基于SSM的健康管理系统,这次所需完成的这个系统包括用户的体检预约、套餐管理、新增项目、会员数量统计、用户权限设置更改。其中管理员账号的权限高于其他用户,只有管理员能对套餐项、套餐组进行操作。近年来,健康管理在国内的发展空前的块,但由于我国技术不够完善,起步晚、缺少经验,在用户需求的一些方面得不到满足。
  对于我国来说,健康管理事业正处与一个上升的阶段,虽然现在它还比较小众,但相信在不久的将来我国的健康管理也会蓬勃向上的发展。所以我们需要给予现在这些企业员工,老年人提供一个方便的平台,可以随时随刻了解自己的身体,及时的预防疾病,使自己的身体健康得到保障。让不熟悉网络的老年人,更直观的学会,尽量满足大众的要求。这无疑是为国家的发展奠定了基础。

  1.2项目背景

  健康管理系统是针对健康方面的需求对一些健康信息进行管理,其最先兴起于美国,生存环境恶化,人口老龄化加剧、慢性病人群不断增长直接导致美国医疗卫生需求过度增长。美国经济和社会发展面临着巨大的挑战。旧的模式已经应付不了新的挑战,在这种环境下,以健康管理为中心的卫生服务模式应用而生了。
  在美国,最先应用健康管理的是保险行业。20世纪60年代,美国保险业提出了健康管理的概念。20世纪90年代,企业管理者意识到员工的健康直接关系到企业的效益和发展,员工或其家属的健康出现问题会直接造成的生产率下降。实践证明,如果在健康管理方面投入1元钱,则可以减少3~6元的医疗费用,再加上提高生产效率的回报,实际效益更大。从卫生经济学的角度来说,健康管理可以协助卫生资源达到高效合理的配置。
  健康管理可以广泛应用于医疗、企业、保险公司,通过对个体实施个性化管理,可以有效预防疾病、节约治疗支出。由于国情的不同,我国的健康管理在应用前景方面不完全与国外相同。
  中国大健康产业整体规模是8万亿,参照美国大健康产业的市场细分,健康管理市场规模达8800亿。健康管理机构的信息化投入约占28%,即2500亿左右。
  随着当今科技与经济的迅猛发展,同时生活节奏的加快以及工作压力的上升,介于健康与疾患之间的亚健康状态的人群持续增多,越来越多的人开始关注自身的健康状况。然而由于目前国内的健康体检管理系统起步较晚,发展时间不长,健康体检、健康管理、风险评估技术方面的不完善,各方面有待很大的改进。伴随着医疗信息智能技术的普及,尤其是近年来国内外研究者将其引入医学方面的特殊疾病风险预测,为健康风险评估提供了有力的参考。
  本项目是从我国健康现状出发对于老年人身体状况、企业员工时间紧张的情况下,为他们提供方便,有效预防疾病,提高生命质量。加强健康管理,了解个人健康状况,随时掌握个人的医疗信息,在发病前进行有效的干预。
  降低个人和社会的医疗费用。通过健康管理系统来评价个体的健康状况,调动人们的积极性,以合适的预防费用投入获得超值的回报和个人身体健康得到改善,避免个人慢性变发生的危险,从而降低了个人医疗费用的发生。
  医疗过程和计算机结合,使病人的资料能记录在计算机中,可以方便了解病人的状况。所以,为广大人民群众解决医疗资源匮乏等实际问题,对老人和孩子的身体健康情况进行实时监控,发现健康问题及时治疗,从而形成一个健全医疗健康管理体系具有重要的现实意义[7][8]。

  1.5研究流程

  本项目从项目之初共分为用户数量、项目新增、项目组新增、系统设计、系统实现、系统测试等几个部分。从最初的根据一些健康机构的大致模式,获得他们对健康管理系统的实现方法,到对本项目进行的需求分析,再到系统各个模块的设计、实现和最后的系统测试,都要求不断的进取和努力。具体系统架构与工程结构对应关系如图1.1。

  图1.1关系图

优美健康管理系统

  1.3文献综述

  健康是人类永恒的话题,更是人类生存的根本。世界卫生组织对健康的定义是:“健康是指生理、心理及社会适应三个方面全部良好的一种状况,而不仅仅是指没有生病或者体质健壮”,也就是说,一个人只有在身体健康、心理健康、社会适应能力和道德等几方面健康,才是完全健康的人。随着社会的进步,人们的生活生平得到了提高,人们开始对身体健康的认识也得到了不断的提高,预防疾病、身体的保健深深受到人们的重视。
  现在IT技术的快速发展和Internet的广泛应用,计算机应用已经渗透到社会的各个领域。在提高人们健康水平的要求下,干预病人的慢性病,以及进行体检,了解病情等日常健康管理服务,是该课题面临的问题。
  健康管理是20世纪最先在美国提出的概念,这不是一个新概念,事实上,在1929年洛杉矶水利局就成立了最早的健康管理组织,简称HMO。
  健康管理一般是由个人健康信息的管理,健康评价和健康改善三个组成部分,通过对个人一般情况,目前健康状况和疾病家族史、生活方式等需要管理的个人健康健康信息的手机,对个人进行患病危险性评价,即疾病预测,并在这基础上帮助个人通过行为纠正,改善健康。健康管理是20世纪最先在美国提出的概念,其的核心内容便是医疗保险机构通过对医疗保险客户开展了一系列的健康管理,对疾病起到有效的防治作用,从而将患者的出险概率与患者的实际经济支出有效减少,以将医疗保险赔付损失的情况减少.这在一定程度上,可保证有医疗保险的患者可以享受较低的医疗费用,也大幅度减轻了保险公司的负担。

  1.4可行性分析

  本项目使用了Java中的SSM框架来架构系统配合数据库MySQL,密码加密采用的是Spring Security框架,希望能满足客户对于私人信息隐秘的需求。前端页面采用ElementUI框架,ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。通过七牛云官网介绍我们可以知道其提供了多种服务,我们主要使用的是七牛云提供的对象存储服务来存储图片。
  在新增套餐时套餐的基本信息和图片是分两次提交到后台进行操作的。也就是用户首先将图片上传到七牛云服务器,然后再提交新增窗口中录入的其他信息。如果用户只是上传了图片而没有提交录入的其他信息,此时的图片就变为了垃圾图片,因为在数据库中并没有记录它的存在。我在处理这些垃圾图片时使用组件Quartz通过计算redis两个集合的差值找出所有的垃圾图片,就可以将垃圾图片清理掉。通过七牛云工具类删除不用的文件。
  通过POI对Excel表里的数据进行提取,完成预约设置,其实就是设置每一天的体检预约最大数量。客户可以通过微信端在线预约,在线预约时需要选择体检的时间,如果客户选择的时间已经预约满则无法进行预约。用户在体检之前需要进行预约,可以通过电话方式进行预约,此时会由体检中心客服人员通过后台系统录入预约信息。用户也可以通过手机端自助预约。用户里需要添加手机号,并发送验证码,验证码使用的是阿里云的短信服务。
  Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。
  所以在SSM框架和MySQL数据库的帮助下,本次项目可行,且拥有一定的实际意义。

  2.理论技术基础

  本系统整体利用Java的SSM框架和HTML加上MySQL数据库,对此健康管理系统进行技术上的支持,SSM=springmvc+spring+mybatis。Mybatis:持久层的CURD、spring:业务层、IOC、DI(解耦)、和AOP(事务问题)。springMVC:表现层、MVC的操作。

  2.1理论基础

  一直以来,我们发现在全国甚至世界每天存在着各种疾病,这些突发病让您后悔不已,健康管理系统为您提供所有的世界范围内的病例信息,并及时进行预约体检,进行预防,这就是我们要做的和解决的方案,让您有更多的选择空间,对自己的身体有了莫大的保障。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。[[]]Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。SSM三层架构适现在的主流。

  2.2技术支持

  本系统是利用当今比较流行的SSM框架和相对应的MySQL数据库来进行技术上的支持。使用SSM优点(1):开发人员可以只关注整个结构中的其中某一层;(2):可以很容易的用新的实现来替换原有层次的实现;(3):可以降低层与层之间的依赖;(4):有利于标准化;(5):利于各层逻辑的复用;(6):结构更加的明确;(7):在后期维护的时候,极大地降低了维护成本和维护时间。Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合性等方面从Spring中获益。
  spring框架通过IOC(控制反转)思想帮助我们确定对象之间的依赖关系,通过AOP(面向切面编程)帮助我们无耦合的实现日志记录,性能统计,安全控制
  springMVC框架是一个轻量级web框架,将web层进行解耦来简化我们的开发。
  Mybatis框架是一个半自动化的持久层框架。规避了hibernate和JDBC的缺点,使SQL和Java编码分开,功能界面清晰,一个专注业务、一个专注数据。

  2.2.1SSM框架

  SSM又称为Spring全家桶。SSM=springmvc+spring+mybatis。Mybatis:持久层的CURD、spring:业务层、IOC、DI(解耦)、和AOP(事务问题)。springMVC:表现层、MVC的操作。
  MyBatis:MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到了Github。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和java的POJOs映射成数据库中的记录。mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。
  Spring:1997年IBM提出了EJB的思想、1998年,SUN制定开发标准规范EJB1.0、2017年9月份发布了spring的最新版本spring5.0通用版。Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层SpringMVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架。
  SpringMVC:SpringMVC是一个轻量级的Web表现层框架,用来写Controller接收请求跳转页面的,它是Spring框架的一部分。SpringMVC是对Servlet的封装和增强,简化了servlet的操作。它已经超越了Struts,成为目前最优秀的表现层框架。
  SpringMVC操作简单,性能特别高,灵活性特别强。全局只需要一个servlet。

  2.2.2Mysql数据库

  数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。
  数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。
  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。

  2.2.3ElementUI

  ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。官网地址:http://element-cn.eleme.io/#/zh-CN

  2.2.4Spring Security

  Spring Security是Spring提供的安全认证服务的框架。使用Spring Security可以帮助我们来简化认证和授权的过程。常用的权限框架除了Spring Security,还有Apache的shiro框架。官网:https://spring.io/projects/spring-security
  实现的需求为:登录功能:如果没有登录不能访问main.html,提示必须登录,跳转登录页面。登录成功后需要满足如下要求:1.admin可以访问所有资源、2.zhangsan或lisi可以浏览checkitem.html,但不能进行编辑操作,比如删除4.在主页右上角显示用户名5.退出功能:退出后,回到登录页面

  2.3本章小结

  本章介绍了本次项目实施所需要的技术和理论支持,利用Java的SSM框架和HTML加上MySQL数据库,数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。还介绍了一些本项目用到的一些框架以及组件。

  3需求分析

  本次项目根据市场上的爱康国宾、平安好医生、优康云的战略层以及用户定位进行了解后,对本次项目的系统需求进行了分析和探索,对广大用户的需要有了更进一步的想法和实践,在这一系统中需要有会员管理模块、健康预约模块、系统设置模块等等。不只是方便广大的用户,更是为一些医师群体扩展知识,将最新的健康知识库更新在项目中供大家查阅,还提供会员数量组成图,更直观的了解成员组成分布,完善本项目。

  3.1用户分析

  有一定专业知识的医师群体
  对身体状态较为关心的中年群体
  有慢性病的中老年群体
  患者群体:一般以中年人为主,对自身身体状况比较在意。还有部分老年人,由子女帮忙预约,定期做全面体检。

  3.2用户需求

  1.寻找一块方便使用的健康管理系统;
  2.寻找适合自己的体检套餐;
  3.获取更好的体检体验;
  4.得到适合自己的健康计划;
  5.掌握自己的健康信息;

  3.3使用场景

  1.爸妈都退休了,给他们约一个定期体检,保障身体才是对儿女最大的帮助。
  2.最近感觉有点累了,需要做一个全套体检,最好能给出一定的调整方案。
  3.入职前,需要做一个入职体检,使用微信端找到合适的体检项,定好日期去。

  4.企业定期组织员工去体检。

  3.4市场分析

  健康数据现在越发变的重要,数据是形成健康档案的基础,是平台进行个性推荐的分析原料,健康数据包含用户的体检报告数据、健康评测数据、运动数据、饮食数据、体征数据;现阶段对平台来讲较为真实有效的数据为体检报告数据和体征数据,体检报告数据最为重要也最为真实可靠,但是需要平台与医院体检系统的深度对接才能获得,另外用户自行通过健康设备(血压、血糖、尿常规等)上传的体征数据相对也比较可靠,平台不能只是单纯的展示这些数据,这样对用户来讲毫无吸引力,多数平台会对这些数据或多活动地进行些统计分析,其中分析的维度包含有历次数据的对比趋势、平均值、极值、疾病风险、健康建议等;

  3.5市场趋势:根据PEST分析

  P(政策因素):分级诊疗制度的逐渐推进,2016年3月《xxxx办公厅关于促进医药健康发展的指导意见》明确:①推动医生多点执业;②提升基层医疗机构的服务能力;③加快落实分级诊疗。2016年12月,《关于发挥医保调节作用推进本市分级诊疗制度建设有关问题的通知》,规定6项新增推进分级诊疗
  E(经济因素):互联网创业投资遇冷,市场趋于理性。2016年新增创业公司数量减少77%大幅跳水。创业公司获投数量同比减少26%,疯狂投资阶段已过,市场趋于理性,更为谨慎。给用户带来的价值和盈利点成为投资的重点关注指标。
  S(社会因素):医疗资源总量不足,截止2015年,全国的医生总量为300多万人,每千人口执业医师仅有2.21人,而人群就诊次数5-6次。中国在卫生总费用总支出超过4万亿,费用占GDP的6%,虽然对比2010年的4.9%有所提升,但仍只占小比例。
  T(技术因素):大数据技术和AI的加入,释放医生部分经理,医疗领域的第三方服务积极探索和推进大数据技术,并通过AI部分代替医生对基础、常见病历的识别、分析和决策。

  3.6系统总体框架

 
  系统总体按照《软件工程导论》为指导思想,采用敏捷开发的模式逐层迭代项目。系统前端主要通过ajax发送异步请求与Java后端的接口进行交互返回json数据字符串。整个交互过程是轻量级的HTTP请求交互。系统按照javaEE三层架构:接口层、业务层、数据层(持久层)来设计和开发,前端的UI层主要是调用控制层去渲染页面。后台的mysql数据库属于单节点为系统提供数据的存储。
  技术框架定为前端使用Ajax发送请求或者使用jsp模板引擎渲染页面,这一块主要是做视图的展示,接口层会提供丰富的restful接口或者跳转地址给视图层去调用,每一个接口所包含的业务是需要去调用业务层的,业务层的最终落地实现需要使用DAO接口(Mapper)去调用mysql数据库查询和更新数据。因此后端的技术框架是ssm(springmvc+spring+mybatis)提高开发效率。网站总体框架图如图3.1所示:

  3.1网站总体框架图

优美健康管理系统

  4数据库设计

  目前流行的数据库管理系统有Oracle,DB2,MYSQL等。Oracle和DB2是性能卓越、稳定可靠的大型数据库管理系统,目前拥有较多的用户。MYSQL是一种性能可靠、使用方便的小型数据库系统。一般而言,数据库是由特定的操作系统环境上的一个或者一组文件组成的,而数据库管理系统一般是由运行于用户计算机或网络上的远程计算机上面的一整套程序组成的。

  4.1数据库的选择

  根据对数据组织方式的不同,数据库系统分成关系数据库、层次数据库和网状数据库。目前常见的数据库系统上基本上都是关系型数据库系统。在关系型数据库系统中,数据被组织成为二维表格形式,表格中的每个数据行称为一条记录或直接称为行,每一个列有时被称为字段或直接称为列,通过指定行和列定位一个指定的数据项。
  一个优秀的数据库系统应具备如下特征:
  (1)最大限度的减少数据的重复存储(称为“冗余”),以减少存储空间的占用;
  (2)尽可能地提高数据的查询(搜索)速度;
  (3)提供灵活的数据组织和统计手段;
  (4)保章数据的安全。
  所有对数据库访问操作的管理信息系统都是根据用户的需求设计的,如果对数据库概念理解不深,那么设计出的数据库,不但访问速度慢,让用户不满意,而且还存在很多的重复数据,大量的浪费计算机资源。所以如何符合逻辑的有组织的设计好数据库,使数据库不仅容易维护,而且还让用户方便快捷的访问操作,这将是一个重点。因此,要设计好数据库,先了解一下关于数据库的基本概念是必要的。

  4.2建立数据库

  企业管理器是帮助用户创建数据库的一个有力的工具,利用数据库向导,你可以很容易地创建一个完美的MYSQL数据库。但创建MYSQL数据库之前,你需要知道如何来设计数据库使得所建数据库不仅满足客户需求,并且有较高的管理效率。

  4.2.1建立数据库的任务

  数据库设计实际上主要是所要处理的数据的表示方法和存储结构的设计。在采用数据库技术之前,这些工作分散在应用程序中进行;在采用数据库技术之后,这些工作可以通过数据库设计集中起来系统地进行。
  上图可以看出,进行数据库设计的首要任务是考虑信息需求,也就是数据库要存入什么样的数据。创建数据库并不是仅仅为了存储数据,更主要的目的是从中提取有用的信息。除了考虑数据存储什么数据外,还应考虑存取方式,也就是处理需求。即要根据用户提出的存取要求来设计数据模式和应用程序。

  4.2.2建立数据库方法

  数据库设计方案应该是将用户需求充分融入其中的,所以同用户进行充分的接触和交流是比不可少的。就设计方法来说,应遵循以下几个步骤:
  (1)确定该数据库中需要的表
  (2)确定表中需要的字段
  (3)明确有唯一值的字段
  (4)确定表之间的关系
  (5)优化设计
  (6)输入数据并新建其他数据库对象

  4.3数据库表设计

  数据库是系统的核心,所有业务的操作都要与数据库打交道。一个好的数据库设计能简化开发,给开发人员节省大量时间。如果数据库设计不符合业务场景,很容易产生繁杂的业务。数据库的设计如果要达到规范化的标准,也并不是数据库说一定要可以遵守第一范式、第二范式和第三范式。因此我们要根据实际的业务场景来进行数据库设计,根据业务需要设计出符合业务需求的数据库设计。
  在完成系统需求分析后,我们通过分析已经对整个系统的架构有了深入的了解,确定技术选型后,我们要根据业务来对数据库表进行设计。如果数据表的设计不够合理,很可能开发人员的开发会有困难,同时繁杂的设计也会让系统的一些业务之间耦合性比较大。后期维护起来不仅成本高还需要一些熟悉项目的程序人员。因此,设计出一个完善的数据库是系统开发的第一步。
  用户的需求在需求分析阶段确认后,我们需要根据需求说明书数理业务,然后紧接着就是数据库表的设计。在设计数据表时,我们要结合业务场景而不是一味的遵循数据库规范,有时候一些技巧性的设计对于开发来说能带来事半功倍的效果。
  数据库的概念结构设计是反映全组织信息需求的整体数据库概念结构(概念模式)。概念模式必须是独立于计算机硬件和具体数据库管理系统,不受特定DBMS(数据库管理系统)的限制,不考虑计算机软硬件技术细节。在需求分析阶段得到的数据流程图对数据的动态运动轨迹进行了描述,数据库需求分析定义了数据本身的静态特征,但他们反映的仅是应用需求,并无反映出数据之间的本质联系(即数据的内在特征)。管理系统主要以用户、管理员来共同完成一个业务流程。他们之间存在着数据关联并且靠数据库关键字段进行索引,建立表关联。

 1. analysis_table 检测疾病表

确诊疾病名称、判断是否死亡,判断疾病类型,患者信息。

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 name nvarchar(255)      
3 sex nvarchar(255)      
4 age nvarchar(255)      
5 height int      
6 weigh int      
7 checktime date      
8 ilname nvarchar(255)     确诊疾病名称
9 die int     是否死亡的标志
10 fast int     是否是急性病
11 contagion nvarchar(255)     是否是传染病
12 profession nvarchar(255)     职业
13 nation nvarchar(255)     名族
14 marriage nvarchar(255)     婚姻状况

2. check_list 检查表
检查的项目和科室,身体信息数据是否正常。

序号 名称 数据类型 允许空值 是否主键 说明
1 CHECK_ID int N PK  
2 DOCTOR_ID nvarchar(255)     检查项目
3 NAME nvarchar(255)     检查科室
4 SEX nvarchar(255)      
5 AGE int      
6 CHECKROOM nvarchar(255)      
7 CHECKTIME date      
8 CHECK_KIND nvarchar(255)      
9 CHECK_RESULT nvarchar(500)      

 
 
3. ifo_doctor 医生表
医生的专业,是否能挂号。

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 DOCTOR_ID nvarchar(255)      
3 DOCTOR_NAME nvarchar(255)      
4 DOCTOR_PRO_ID nvarchar(255)     专业
5 DOCTOR_ENTRY_TIME date      
6 EXIT_STATU nvarchar(255)     能否挂号

4.ifo_emploment职位表

序号 名称 数据类型 允许空值 是否主键 说明
1 EMPLOMENT_ID int N PK  
2 EMPLOMENT_NAME nvarchar(255)      
3 EMPLOMENT_TYPE nvarchar(255)      
4 EMPLOMENT_ENTRY_TIME date      

4. medicine 药品表
药品的有效期,名字,毫升数。

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 MnoID nvarchar(20)      
3 Mname nvarchar(50)      
4 Mspecs nvarchar(10)      
5 Munit nvarchar(50)      
6 Mprice int      
7 Mdate date      
8 Mval int     有效期
9 Mnumber int      
10 Sno nvarchar(20)      
11 isCF nvarchar(20)      

5. medicine_media 药品性质
药品名称,有效期时间。

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 MnoID nvarchar(20)      
3 Mname nvarchar(50)      
4 Mspecs nvarchar(10)      
5 Munit nvarchar(50)      
6 Mprice int      
7 Mdate date      
8 Mval int     有效期
9 Mnumber int      
10 Sno nvarchar(20)      
11 isCF nvarchar(20)      

7.medicine_record 药品记录

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 MnoID nvarchar(20)      
3 Mname nvarchar(50)      
4 Mspecs nvarchar(10)      
5 Munit nvarchar(50)      
6 Mprice int      
7 Mdate date      
8 Mval int     有效期
9 Mnumber int      
10 Sno nvarchar(20)      
11 isCF nvarchar(20)      

8.news 信息表
患者名字,时间。

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 publish_name nvarchar(255)      
3 publish_time datetime      
4 publish_context nvarchar(255)      

9.order_list 顺序表
 

序号 名称 数据类型 允许空值 是否主键 说明
1 ID int N PK  
2 DOCTOR_ID nvarchar(255)      
3 DOCTOR_NAME nvarchar(255)      
4 ORDER_NAME nvarchar(255)      
5 ORDER_TIME date      

 
 
 
10.prescription_list 药方表
药品名称,使用方法,禁忌,病人id,医生id,处方的日期,。

序号 名称 数据类型 允许空值 是否主键 说明
1 PRESCRIPTION_ID int N PK  
2 MEDICINES_NAME nvarchar(255)     药品名称
3 MEDICINES_USE_WAY nvarchar(255)     使用方式
4 MEDICINES_TABOO nvarchar(255)     药品禁忌
5 RE_ID nvarchar(255)     病人的ID
6 DOCTOR_ID nvarchar(255)     医生的ID
7 CHECK_STATE int      
8 CHECK_DATE date     处方日期

11.registration_management 挂号表
挂号管理id,门诊类型,诊疗费用,医生编号,病人的备注。

序号 名称 数据类型 允许空值 是否主键 说明
1 REGISTRATION_ID nvarchar(255) N PK 挂号管理Id
2 SICK_NAME nvarchar(20)      
3 SICK_SEX nvarchar(255)      
4 SICK_AGE int      
5 SICK_TYPE nvarchar(255)     门诊类型
6 SICK_FEE int     诊疗费
7 REGISTRATION_FEE int     挂号费用
8 SICK_DORCT_ID nvarchar(255)     医生编号
9 SICK_MEMO nvarchar(255)     病人备注

12.room_list 科室表
科室类型,科室的负责人。

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 ROOM_ID nvarchar(255)      
3 ROOM_NAME nvarchar(255)      
4 ROOM_TEL nvarchar(255)      
5 ROOM_LEADER nvarchar(255)     科室负责人

13.treatment_record 治疗方案
医生编号,患者编号,就诊时间,问诊记录,就诊结果。

序号 名称 数据类型 允许空值 是否主键 说明
1 id int N PK  
2 DOCTOR_ID nvarchar(255)     医生编号
3 SICK_ID nvarchar(255)     病人编号
4 RECORD_TIME date     就诊时间
5 RECORD_ROOM nvarchar(255)     问诊记录
6 RECORD_RESULT nvarchar(255)     就诊结果
7 CARE_USE nvarchar(255)      
8 SEX nvarchar(255)      
9 age int      

14.user_table 用户表
身份证号码,隶属那个科室,个人职务

序号 名称 数据类型 允许空值 是否主键 说明
1 USER_ID int N PK  
2 USER_NAME nvarchar(255)      
3 USER_PASSWORD nvarchar(255)      
4 USER_TEL nvarchar(255)      
5 USER_PID nvarchar(255)     身份证号码
6 USER_ROOM nvarchar(255)     隶属那个科室
7 USER_PRO nvarchar(255)     个人职务

 

  5系统实现

  功能模块的设计是整个系统设计的重要部分,它决定怎么实现系统的功能,不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系统设计,功能模块的设计是关键。

  5.1登录页面

  系统运行,打开页面,进行用户登录,别采用腾讯登录验证方式,合适验证码,防止不法分子登陆。并选择登陆的角色。
  登录地址:http://localhost:8080/log/do.html
优美健康管理系统

  5.2系统首页面

  登陆成功后进入到系统的首页,在首页有工作台可以供用户进行想要进行的操作。
优美健康管理系统

  5.3发病率统计页面

  这是其中一个页面功能,统计各个年龄段的发病率。
优美健康管理系统

  5.4疾病统计页面

  统计全国疾病的分布状况。
优美健康管理系统

  6系统调试与测试

  在设计系统时,有一些错误是不可避免的。程序语句中发生的错误会导致程序无法启动或者报错,因此需要立即进行修改,这些是容易暴露和修改的错误,还有一种不容易进行修改的是程序中出现的公式错误或者是因为运行时处理的不当导致的错误。这些错误不容易被发现,只在偶尔运行时会出现。所以,要想把这些不易找到的问题解决掉是比较耗费精力的。

  6.1测试的重要性

  软件测试在整个开发过程中是非常必要的,只有通过测试的软件才能称为是合格的软件。软件测试以往是在运行以及最终的维护阶段前进行的,是在向用户提供软件前确保软件是否合格的必须进行的方法。在最近几年中,软件工程领域试图采用一种全新的看法,为了确保本阶段的研究成效是理想的,必须对开发过程中每一个阶段的结束时都要进行一次测试,以此让此阶段存在的问题暴露出来并对其进行查询和补救。以免由于错过了最佳的纠错时间而导致最后的错误无法纠正或是给后期的开发带来麻烦。
  测试的意义远远不止上述这些方面,其实不管采取怎样的办法或是采用怎么样的技术都无法完全避免软件开发过程中的失误。虽然使用最新的开发语言以及方式可以尽可能的使开发过程中出现失误的几率降低,但是降低并不意味着可以完全避免,因此就要靠最终的检测来查找出存在的漏洞并进行改正和完善,并且还可以通过最终的检测查找出失误率。测试属于是整个程序开发过程中每个阶段的的收尾环节,测试的结果决定着本个阶段的成功与否,因此必须给予足够的重视。研究发现,测试环节往往占据着整个系统开发过程中的百分之四十甚至更高,不仅如此,在经费方面测试花销所占据的比例也在总数的百分之四十左右,最高的可以达到百分之五十,由此可见测试的重要性。
  虽然测试环节至关重要,但仍然会由于的这样那样的困难让人半途而废,比如在测试的过程中一遍遍的查找漏洞还是一件及其精细的工作,需要有足够的耐心,会让人感到枯燥乏味,并且在这个过程中耗费的时间往往跟所看到的成效是不成正比的,远不及设计和编写程序过程中可以在短期内看到立竿见性的效果,最重要的是,如果一直查找不到问题所在或者发现项目达不到自己预期的效果很容易让人产生挫败感。
  因此想要使开发工作有一个圆满的结果必须要端正态度,要有足够的耐心和永不言弃的决心,将测试工作进行到底。
  6.2测试的目的
  根据上述分析我们了解到测试的意义在于纠错,那么就应该对症下药,专门选取在运行过程中容易出错的地方或者是程序比较复杂的地方,有针对性的进行检测。测试的目的是为了找出程序中潜在的问题或者是一直没有被查找出来的错误,并不是为了向大家展现程序有多么的完善,只有在测试的过程中发现错误,及时查找到错误的根源并对其进行纠正,这样的测试才是有意义的测试。
  并且,在测试的过程中,对于所出现问题的修改环节也是在帮助开发人员及时找出项目所存在的问题,以免错误到后期暴露引起麻烦或者造成损失。就算测试完了并没有发现任何需要修改的问题,测试环节也是必要的,因为只有经过测试,整个开发过程才算是完整和圆满。

  6.3测试的步骤

  测试是需要按照既定的环节来分步进行的,各个环节是相互有衔接的,并且较复杂的大型软件的各个系统还是层层嵌套的。本系统虽然说不上是大型的系统,但也必须按照规定的步骤来,测试的过程主要分为以下几步
  (1)模块测试。模块测试主要是指检查在程序编写过程中代码的错误或是设计模块出现的错误,这类错误往往比较难以查找,需要有足够的耐心和细心。
  (2)系统测试。系统测试主要是指针对软件的设计出现的问题。
  (3)验收测试。验收测试主要是指查找系统需求说明书中出现的问题。

  6.4测试步骤

  软件开发整个过程当中,软件测试是必须一步一步的去完成,必须遵循着步骤慢慢的进行。不能过于着急,省略了测试这一步骤;不能软件测试过于简单,这样检查不出来问题。
  软件测试有软件测试的步骤,一般的软件测试的都包含一些主要的步骤,这些主要步骤如下:
  1.首先需要明确一个软件测试的目标。也就是要知道这个软件系统所拥有的功能是如何的实现的,它需要的需求是否符合。使用该软件系统的使用者主要需求有哪些?实际应用中的主要业务需求有哪些?系统的总体需求又有哪些?
  2.编写对应的软件测试的详细计划。要在时间上面进行安排,在软件开发进行到什么时候需要完成相应的测试;软件开发的文档中的详细定义这是每一个软件测试一定要有的;还要考虑软件测试需要完成的人员配置。
  3.编写每个系统软件测试对应的方法并且能够设计出软件测试。注意一下,软件测试的主要内容一般都是要完整的,对应软件测试的常用方法都是可行的。
  4.进行软件测试并且收集在软件测试完成的结果。一旦开始进行软件测试,就要及时的统计软件测试中出现的数据,这样有利于在软件开发后期进行有效的分析。
  5.分析软件测试的结果。把软件测试收集到的完整数据进行有效分析,把发现的问题进行合理的分析并且修改。
  6.在解决软件测试过程中出现的问题然后再次进行软件测试。修改软件测试进行时发现的一些失误之后,还需要再次进行软件测试,以免出现问题。
  在软件系统开发的过程中,软件测试是占有40%的系统软件开发的时间,所以必须完成软件测试,才能够成为一个合理的软件系统。软件测试一定要摆正自己的态度,不能够轻视软件测试。

  7结论

  本系统通过对比市面上的健康网站,总结了用户需求,开发出了功能更加完善,更加便捷和美观的健康网站。
  前端采用了ElementUI+JQuery来进行布局,与后端接口交互通过传递ajax请求获取json数据返回来展示。后端采用JavaEE经典框架组合SpringMVC+Spring+MyBatis,这种架构可以简化开发,并且符合三层架构的设计思想,可以做到控制层、业务层、持久层解耦,并且容易进行部署。数据层框架mybatis使用MBG逆向工程生成通用的CRUD代码,对于一些特殊的sql我采用手写然后注册Mapper接口来使用,因此只需要很少的配置代码就可以完成项目的搭建。健康网站的数据存储在mysql数据库中。
  在系统分析的前期,我通过调查用户需求并和同学们讨论明确了市面上健康网站的一些不足之处并在设计的过程中进行了完善,并通过范式以及实际的场景来均衡数据库的设计模式。在设计的过程中,对于出现的问题我通过查询资料,咨询老师,以及与同学们讨论,对整个系统不断进行完善,从而更好地实现系统的功能。
  本次的健康网站系统是我一直想要开发的,整个开发的过程,从选题到技术的选择,项目调查,需求分析以及设计与实现整整历时几个月。其中我利用大学所学的编程方面的知识以及课外实践所积累的经验来实现的技术开发这一块,不懂的地方就通过百度搜索了相关的技术博客来解决的。在整个实现的过程中我发现了自己在技术方面有很多薄弱的地方,因此整个系统做下来我的编码能力有了很大的提升。在进行需求分析的时候需要画ER图和用例图,我并没有利用Visio而是选取的ClickChartsPro来设计,简化了很多步骤,数据库表的建立直接选用navicat_mysql的可视化界面快速创建,在进行在设计数据库的时候我采用了比较经典的思路,先通过调查确定需求,然后设计物理数据库和逻辑数据库,最后进行的代码开发。
  通过本次的系统开发我明白了大学所学的知识有多么重要,由于我本科的专业是信息管理与信息系统,在平时自己也做过一些管理系统,因此在进行整个项目的开发过程中我对于整个流程和步骤并没有很费力,尤其是进行数据库设计的时候我在明确了各部分的功能需求之后设计起来思路就比较清晰了。在进行开发的过程中我除了运用大学所学到的知识外还查阅了一些技术博客,从中明白了自己的不足之处,同时也提高了自己的动手实践能力,对于测试过程中出现的BUG我也通过定位到相应的部分来进行了修改,并完善了系统的功能。
  由于这个网站是我精心设计的,所以整个的功能模块还是很完善的,页面我也相对比较满意,所以完工以后我感受到了一种前所未有的成就感。但是在代码编写的过程中也暴露出了很多我的不足之处,这对于缺乏实践经验的我来说确实是一种挑战。在处理的过程中从发现问题到解决问题,虽然耗费了相当多的时间,但是也就是在这种环境中我的动手能力得到了提高,让我所学的知识不再只是停留在基本的理论上,而是能够运用到实际中,我觉得这对于我来说是一种锻炼,也是一种成长。
  经过了这次的系统设计,我巩固了大学所学的知识,也提高了自己的动手能力,在接下来的时间里,我会通过各种实践来学习更多专业方面的知识,要善于思考,并想办法解决所面临的各种问题,要运用自己的能力开发出更加完善的网站,让理论和实际充分结合起来,为社会做出贡献。

  参考文献

  [1]Marc Berg.Patient care information systems and health care work:a sociotechnical approach.International Joumal of Medical Informatics,1999,(55):87-101.
  [2]孟祥军,马志庆,侯忠波.基于智能手机与平板APP的移动医疗发展与应用[J].移动通信,2015(20):92-96.
  [3]常琦,袁慎芳,邱雷,董晨华,梁栋,胡步青.基于知识和无线传感网络的结构健康管理系统[J].振动、测试与断,2012,32(1):105-110.doi:10.3969/j.issn.1004-6801.2012.01.020.
  [4]YAN-SONG CUI,ZI-REN-WANG,KE-LIANG-CHEN:Design and Implementation of Data Resource Management Platform Based on SSM,2018 3rd International Conference on Electrical,Control and Automation Engineering(ECAE 2018)ISBN:978-1-60595-080-8 2018-05-20.
  [5]兰丽云,王瑜,郭国斌,等.全数字化体检系统在健康管理中的应用[J].医疗设备,2012,25(2):22-23.
  [6]牛慧珍,沈桓宇.老年健康管理移动医疗产品设计研究[J].工业设计,2018(10):40-41.
  [7]胡海峰.智慧家庭健康服务系统的研究[J].科技视界,2018(26):100-102.
  [8]《中国高血压防治指南》修订委员会.中国高血压防治指南2018年修订版[M].北京:人民卫生出版社,2018.
  [9]冯燕奎,赵德奎.JSP实用案例教程[M].北京:清华大学出版社,2014.
  [10]王家华.软件工程[M].东北:东北大学出版社,2015.
  [11]张大治,应群.精通Eclipse[M].北京:清华大学出版社,2016.
  [12]张向宏,陈绿萍.软件测试理论与实践教程[M].北京:人民邮电出版社,2015.
  [13]王宜贵.软件工程[M].北京:机械工业出版社,2016.
  [14]张洪斌.java2高级程序设计[M].北京:中科多媒体出版社,2017.
  [15]徐建波,周新莲.Web设计原理于编程技术[M].中南大学出版社,2015.
  [16]孙鑫编著.Java Web开发详解[M].电子工业出版社,2016.
  [17]耿祥义编著.JSP基础编程[M].清华大学出版社,2014.55-162
  [18]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,2018.
  [19]Jon Titus.ECN Technical Editor:The Eclipse of stand[J].Journal of Zhongkai Agrotechnical College,Vol.19,No.2,2016.
  [20]Markus Aleksy,Axel Korthaus,Martin Schader.Use Java and the CORBA realization distribute type system,Journal of Pingxiang College,No.4,2015.
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.sbvv.cn/chachong/15133.html,

(0)
写文章小能手的头像写文章小能手游客
上一篇 2021年11月22日
下一篇 2021年11月22日

相关推荐

My title page contents