在目前的形势下,科技力量已成为我国的主要竞争力。而在科学技术领域,计算机的使用逐渐达到成熟,无论是从国家到企业再到家庭,计算机都发挥着其不可替代的作用,可以说计算机的可用领域遍及生活、工作的各个方面。而对于软件系统的管理便是计算机更为重要的一环,其进行软件系统管理有它独特的优势,可以发挥出更加高效、便捷、减小成本、大储量、延长使用期限的作用。
本次系统设计中,以用户的实际操作感作为整体开发的出发点,结合Java开发语言对软件开发原理,本次软件的开发以实际运用作为出发点,以改善医院慢性病管理效率、效果为目的,使用SpingBoot框架技术整体开发源程序,最终实现一个医院慢性病管理管理系统。在整体的开发过程中,首先了解用户的需要,分析现状及问题点,参考成熟的类似系统,不断改进,最终实现系统的设计开发。
本系统使用Java技术开发,SpringBoot框架,采用的数据库是Mysql。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键词:医院慢性病管理系统,Java,SpringBoot,Mysql
Hospital Chronic Disease Management System Based on SpringBoot
In the current situation, technological strength has become China's main competitiveness. In the field of science and technology, the use of computers has gradually reached maturity. Whether it is from the country, enterprises, or households, computers play an irreplaceable role. It can be said that the available fields of computers cover all aspects of life and work. The management of software systems is a more important part of computers, and its management of software systems has its unique advantages, which can play a more efficient, convenient, cost reducing, large storage, and extended service life role.
In this system design, the user's practical sense of operation is taken as the starting point for overall development, combined with the Java development language for software development principles. The software development is based on practical application, with the aim of improving the efficiency and effectiveness of hospital chronic disease management. The SpringBoot framework technology is used to develop the source program as a whole, and ultimately achieve a hospital chronic disease management system. In the overall development process, first understand the needs of users, analyze the current situation and problem points, refer to mature similar systems, continuously improve, and ultimately achieve the design and development of the system.
This system is developed using Java technology and the SpringBoot framework, using MySQL as the database. During the design process, the system code was fully guaranteed to have good readability, practicality, scalability, universality, ease of later maintenance, easy operation, and concise pages.
Key words: t Hospital Chronic Disease Management System, Java, SpringBoot, MySQL
目 录
第1章 绪论
1.1研究背景
近20多年来互联网技术得到了飞速发展,人们可以通过在线网络更加方便快捷的获取信息和知识,且随着我国医疗体制的不断改革发展,医疗水平得到了质的改善。慢病管理已发展成为我国医疗体系的重要组成部分之一,也是我国未来全面医疗体制发展不可或缺的一部分。传统的慢病健康管理模式存在诸多弊端,不仅不易掌握患者真实的身体健康状态,而且容易出现人为诊断错误,随着慢病患者的增加,也使得医生的问询和诊断工作量越来越大,传统方式已然越来越不适应现代化健康管理需求。加之,再现代社会患有慢性病的患者不断增加,因此,开发一个慢性病管理系统是非常有必要的。
慢性病管理系统具有传统管理模式无法媲美的科学、高效、方便等优点。具有浏览网站公告,医院资讯,慢性病知识,问诊咨询,病历管理等功能。基于SpringBoot的慢性病管理系统可以发挥网络的优势,建立高效共享的病例档案和实现随时随地问诊,减少时间成本,减少人为的干扰,减轻医生的负担,节约人力,物力和财力。
1.2 开发现状
在越来越重视知识的当今社会,各个国家都加大了医疗事业的投入,都希望在以后的社会福祉发展中走在国际的前列,正是这个原因,各地政府依托于互联网来实行在线问问诊,并把此作为改善百姓就医难的动力之源。
在国内,除少数走在发展前沿的三甲,很大一部分的医院还普遍停留在传统的慢病健康教育及管理方式上,但是传统的管理每次都需要人为的查阅纸质或者电子病历,再根据病人的检查结果做出诊断和建议。作为患者,每换一个医院或者医生,都需要重新说明病情,浪费沟通时间。作为医生,一次问询看病的实施给他们带来了需要在短时间正确诊断的巨大压力,并且随着医疗现代化,检查类型的增加和要求的更加严格,医生的工作也会变得越来越繁重。目前慢病健康管理系统还没形成完善的体制,完全可以依托完善的在线系统,实现慢性病管理系统,替代传统就诊和问诊方式。
1.3 研究的内容
本系统从医生和患者的实际需要出发,以提高工作效率、精准掌握包含过往病历在内的患者信息,设计开发了一个基于Springboot的慢性病管理系统,慢性病管理系统围绕管理员,患者用户,医生用户三种角色,主要功能包括首页,轮播图管理,公共消息管理,资源管理(医院资讯,资讯分类),系统用户(管理员,患者,医生),模块管理(日常检测,往期病历,患者信息,慢性病知识,慢性病分类,排班管理,问诊记录,问诊病历)等功能模块。论文首先介绍了本系统的相关技术,并进行了需求分析,分别给出了系统Web服务器端和移动终端的概要设计、数据库设计和详细设计,实现完成的系统经测试上线,运行效果良好。
第2章 相关技术
2.1开发技术
本系统前端框架采用了小程序框架。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2 Java简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,Java servlet API,JSP(Java server pages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 小程序框架
小程序是一种不需要下载即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。 体现了“用完即走”的理念,用户不用关心是否安装了太多 的应用这样的问题。应用将无处不在,随时可用,但又无须安装和卸载。无需下载,使用方便。
在APP时代,我们要用一项功能,一般需要许多步骤。通 常我们需要先去应用市场寻找能实现我们需要功能的应用,之后要下载并安装应用,在使用之前要在手机的桌面上找到 该应用,之后打开使用。而在小程序时代,只需要“搜索”或者“扫一扫”,就可以打开应用了,省去了下载和安装的环节,人和功能的联结将变得更简单,更直接。微信小程序依附于微信这个“航母”应用上,而微信拥有强大的用户群体,小程序继承了用户群这一强大优势,能够轻松解决流量访问问题。在微信平台上开发的小程序更容 易触达用户。对用户而言,如何使用、分享小程序,如何参与活动等都不需要再学习,这是其他平台都不具备的。
除了使用更加便捷外,小程序的“小身材”也能为我 们的手机大大减轻负担。我们的手机中都装了数量不少的APP,一般情况下,安装一个APP需要占用上百兆字节,有些游戏甚至需要用上几个吉字节的内存。手机容量小的用户一旦多装了几个 APP,就要面临内存不足的困扰。在这种情况下,大小不超过 2MB的小程序就成了小内存手机的救星。小程序 不需要安装,那些平时用不上、又不得不装的 APP,通过变身为小程序,就可以彻底从手机中移除了,同时也使得手机桌面更加整洁。
2.4 B/S结构
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
2.5 MySQL数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
2.6 SpringBoot框架
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
第3章 系统分析
3.1 需求分析
医院慢性病管理主要是借助信息管理系统,方便医生提高问诊效率,方便管理员管理用户信息,病历信息等内容,提高管理效率。更好存储所有数据信息及快速方便的检索功能。对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以医院慢性病管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。
3.2 系统可行性分析
3.2.1技术可行性
该系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用小程序框架,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
医院慢性病管理系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.2.2经济可行性
在医院慢性病管理系统开发之前所做的市场调研及相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于医院慢性病管理系统的开发在经济上是完全可行的,没有任何费用支出的。
3.2.3操作可行性
可操作性主要是对医院慢性病管理系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、患者用户,医生用户三个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.3 项目设计目标与原则
1、关于医院慢性病管理系统的基本要求
(1)功能要求:首页,轮播图管理,公共消息管理,资源管理(医院资讯,资讯分类),系统用户(管理员,患者,医生),模块管理(日常检测,往期病历,患者信息,慢性病知识,慢性病分类,排班管理,问诊记录,问诊病历)等功能模块。
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。
(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。
(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。
2、开发目标
医院慢性病管理系统的主要开发目标如下:
(1)实现管理系统信息关系的系统化、规范化和自动化;
(2)减少维护人员的工作量以及实现用户对信息的控制和管理。
(3)方便查询信息及管理信息等;
(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;
(5)考虑到用户多样性特点,要求界面简单,操作简便。
3、设计原则
本系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
医院慢性病管理系统的设计与实现的设计思想如下:
- 操作简单方便、系统界面安全良、简单明了的页面布局、方便查询相关信息。
2、即时可见:对医院慢性病管理系统信息的处理将可以实时查询到,从而实现“即时发布、即时见效”的系统功能。
3、功能的完善性:拥有首页,轮播图管理,公共消息管理,资源管理(医院资讯,资讯分类),系统用户(管理员,患者,医生),模块管理(日常检测,往期病历,患者信息,慢性病知识,慢性病分类,排班管理,问诊记录,问诊病历)等模块的修改维护操作。
3.4系统流程分析
3.4.1操作流程
图3-1登录流程图
3.4.2添加信息流程
添加信息流程图,如图所示:
图3-2添加信息流程图
3.4.3删除信息流程
删除信息流程图,如图所示:
图3-3删除信息流程图
第4章 系统设计
4.1 系统体系结构
本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本系统结构图如图4-2所示。
图4-2 系统功能结构图
4.3开发流程设计
系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。
医院慢性病管理系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。
图4-4开发系统流程图
4.4 数据库设计原则
学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。
通过医院慢性病管理系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:
管理员信息属性图如图4-5所示。
图4-5 管理员信息实体属性图
系统的E-R图如下图所示:
图4-6系统E-R图
4.5 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表chronic_disease_knowledge (慢性病知识)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | chronic_disease_knowledge_id | int | 10 | 0 | N | Y | 慢性病知识ID | |
2 | title | varchar | 64 | 0 | Y | N | 标题 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | type | varchar | 64 | 0 | Y | N | 类型 | |
5 | publisher | varchar | 64 | 0 | Y | N | 发布人 | |
6 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
7 | detailed_introduction | longtext | 2147483647 | 0 | Y | N | 详情介绍 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表classification_of_chronic_diseases (慢性病分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | classification_of_chronic_diseases_id | int | 10 | 0 | N | Y | 慢性病分类ID | |
2 | type_name | varchar | 64 | 0 | Y | N | 类型名称 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表consultation_medical_record (问诊病历)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | consultation_medical_record_id | int | 10 | 0 | N | Y | 问诊病历ID | |
2 | doctor_no | int | 10 | 0 | Y | N | 0 | 医生编号 |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | department_name | varchar | 64 | 0 | Y | N | 科室名称 | |
5 | patient_no | int | 10 | 0 | Y | N | 0 | 患者编号 |
6 | patient_name | varchar | 64 | 0 | Y | N | 患者姓名 | |
7 | upload_time | date | 10 | 0 | Y | N | 上传时间 | |
8 | disease | varchar | 64 | 0 | Y | N | 病症 | |
9 | doctors_advice | text | 65535 | 0 | Y | N | 医生建议 | |
10 | symptom_type | varchar | 64 | 0 | Y | N | 病症类型 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | consultation_record_id | int | 10 | 0 | N | Y | 问诊记录ID | |
2 | doctor_no | int | 10 | 0 | Y | N | 0 | 医生编号 |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | department_name | varchar | 64 | 0 | Y | N | 科室名称 | |
5 | patient_no | int | 10 | 0 | Y | N | 0 | 患者编号 |
6 | patient_name | varchar | 64 | 0 | Y | N | 患者姓名 | |
7 | consultation_time | date | 10 | 0 | Y | N | 问诊时间 | |
8 | content_description | text | 65535 | 0 | Y | N | 内容描述 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | daily_testing_id | int | 10 | 0 | N | Y | 日常检测ID | |
2 | patient_no | int | 10 | 0 | Y | N | 0 | 患者编号 |
3 | patient_name | varchar | 64 | 0 | Y | N | 患者姓名 | |
4 | gender | varchar | 64 | 0 | Y | N | 性别 | |
5 | record_time | date | 10 | 0 | Y | N | 记录时间 | |
6 | weight | varchar | 64 | 0 | Y | N | 体重 | |
7 | heart_rate | varchar | 64 | 0 | Y | N | 心率 | |
8 | blood_pressure | varchar | 64 | 0 | Y | N | 血压 | |
9 | blood_sugar | varchar | 64 | 0 | Y | N | 血糖 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | doctor_id | int | 10 | 0 | N | Y | 医生ID | |
2 | doctor_no | varchar | 64 | 0 | N | N | 医生编号 | |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | gender | varchar | 64 | 0 | Y | N | 性别 | |
5 | age | int | 10 | 0 | Y | N | 0 | 年龄 |
6 | department_name | varchar | 64 | 0 | Y | N | 科室名称 | |
7 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表medical_record_archiving (病历存档)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | medical_record_archiving_id | int | 10 | 0 | N | Y | 病历存档ID | |
2 | title | varchar | 64 | 0 | Y | N | 标题 | |
3 | patient_no | int | 10 | 0 | Y | N | 0 | 患者编号 |
4 | patient_name | varchar | 64 | 0 | Y | N | 患者姓名 | |
5 | visit_time | date | 10 | 0 | Y | N | 就诊时间 | |
6 | diagnostic_results | varchar | 64 | 0 | Y | N | 诊断结果 | |
7 | institution_name | varchar | 64 | 0 | Y | N | 机构名称 | |
8 | related_figures | varchar | 255 | 0 | Y | N | 相关附图 | |
9 | treatment_outcomes | text | 65535 | 0 | Y | N | 治疗结果 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | patient_id | int | 10 | 0 | N | Y | 患者ID | |
2 | patient_no | varchar | 64 | 0 | N | N | 患者编号 | |
3 | patient_name | varchar | 64 | 0 | Y | N | 患者姓名 | |
4 | gender | varchar | 64 | 0 | Y | N | 性别 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | personal_information_id | int | 10 | 0 | N | Y | 个人信息ID | |
2 | patient_no | int | 10 | 0 | Y | N | 0 | 患者编号 |
3 | patient_name | varchar | 64 | 0 | Y | N | 患者姓名 | |
4 | gender | varchar | 64 | 0 | Y | N | 性别 | |
5 | age | int | 10 | 0 | Y | N | 0 | 年龄 |
6 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
7 | home_address | varchar | 64 | 0 | Y | N | 家庭住址 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | visiting_information_id | int | 10 | 0 | N | Y | 出诊信息ID | |
2 | doctor_no | int | 10 | 0 | Y | N | 0 | 医生编号 |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | photo | varchar | 255 | 0 | Y | N | 照片 | |
5 | age | varchar | 64 | 0 | Y | N | 年龄 | |
6 | duty_hours | date | 10 | 0 | Y | N | 值班时间 | |
7 | department_name | varchar | 64 | 0 | Y | N | 科室名称 | |
8 | detailed_introduction | longtext | 2147483647 | 0 | Y | N | 详情介绍 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章 系统实现
5.1基本任务
本章节详细介绍了系统各大功能模块的实现过程和实现方法,对每个功能进行实现,设计详细的根本目标是确定应该具体实现所要求的系统,每个模块都对应着相应的界面和显示的配图。主要从主页面的实现、登录模块的实现、问诊记录模块的实现、排班管理模块的实现、用户信息管理模块的实现、病历管理模块的实现等方面来描述。
系统呈现出一种简洁大方的后台:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。
5.2登录模块的实现
系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。
登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,调用src下的mainctrl类的dopost方法来验证。
用户登录模块的IPO如下所示:
输入:用户名和密码。
处理:
1)检测用户输入的账号、密码是否正确及在数据库已对应存在。
2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。
3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。
图5-1登录流程图
系统登录界面如下所示。
图5-2系统登录界面
登录代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
管理员登录医院慢性病管理系统,管理员后台功能为:后台首页,轮播图管理,公共消息管理,资源管理(医院资讯,资讯分类),系统用户(管理员,患者,医生),模块管理(日常检测,往期病历,患者信息,慢性病知识,慢性病分类,排班管理,问诊记录,问诊病历)等功能,如下图所示:
图 5-3 管理员后台功能界面图
用户管理,在此界面可查看用户的昵称,用户名,姓名,性别,创建时间等信息,还可在此页面进行重置,删除,添加,审核等操作,如图5-4。
图5-4用户管理界面图
图5-5医生用户添加界面图
医院资讯,在此界面可查看医院资讯的标题,封面,文章分类,标签等信息,还可在此页面进行重置,删除,添加等操作,如下图所示:
图5-6 医院资讯管理界面图
图5-7 资讯添加界面图
患者信息,在此界面可维护管理患者信息,还可在此页面进行重置,删除,添加等操作,如下图所示:
图5-8 患者信息管理界面图
图5-9 患者添加界面图
慢性病知识,在此界面可维护管理慢性病知识,还可在此页面进行重置,删除,添加等操作,如下图所示:
图5-10 慢病知识管理界面图
图5-11 知识添加界面图
排班管理,在此界面可维护管理排班信息,还可在此页面进行重置,删除,添加等操作,如下图所示:
图5-12 排班管理界面图
图5-13 排班界面图
5.4患者用户功能模块
患者用户登录医院慢性病管理系统,功能为:首页,网站公告,医院资讯,慢性病知识,出诊信息,智能机器人,我的(基本信息,收藏,日常检测,病历存档,个人信息,问诊病历)等功能,如下图所示:
图5-14 患者用户前台功能界面图
医院资讯, 在此界面可查看资讯信息,包括标题,封面图,文章类型,标签等信息,还可在此页面进行点赞,收藏,评论等操作,如下图所示。
图5-15医院资讯一览 图5-16资讯详情
出诊信息, 在此界面可通过输入医生姓名,科室名称等方式搜索出诊的医生信息,还可在此页面进行点赞,收藏,评论,问诊等操作,如下图所示。
图5-17出诊信息一览 图5-18出诊信息详情 图5-19提交问诊申请界面
日常监测, 在此界面可通过输入体重,心率,血压,血糖等信息,如下图所示。
图5-20日常检测维护界面图
5.5医生用户功能模块
医生用户登录医院慢性病管理系统,功能为:后台首页,模块管理(往期病历,患者信息,出诊信息,问诊记录,问诊病历)等功能,往期病历,在此页面可以维护管理患者的往期病历信息,如下图所示:
图5-21往期病历管理界面图
问诊记录, 在此界面可查看患者提交的问诊申请,可以进行查询,重置,删除,审核答复等操作。如下图所示。
图5-22问诊记录管理界面图
图5-23问诊记录审核处理界面图
图5-24上传病历界面图
第6章 系统测试
6.1系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
医院慢性病管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在医院慢性病管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
6.2系统测试方法
在对医院慢性病管理系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让医院慢性病管理系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个医院慢性病管理系统开发所牵扯的该问题都必须一一解决,提高医院慢性病管理系统平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
6.3功能测试
用户登录测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
登录模块 | 用户名:admin 密码:123 | 弹出错误提示,提示密码错误 | 弹出错误提示,提示密码错误 | 通过 |
登录模块 | 用户名:123 密码:admin | 弹出错误提示,提示用户名错误 | 弹出错误提示,提示用户名错误 | 通过 |
登录模块 | 用户名:admin 密码:admin | 管理员登录成功 | 管理员登录成功 | 通过 |
修改密码测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
修改密码模块 | 原密码:666 新密码:123 确认密码:123 | 弹出错误提示,提示原密码错误 | 弹出错误提示,提示原密码错误 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:333 | 弹出错误提示,提示确认密码不一致 | 弹出错误提示,提示确认密码不一致 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:123 | 密码修改成功 | 密码修改成功 | 通过 |
通过对功能的测试,医院慢性病管理系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所相关技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过咨询老师解决这些问题,对于毕业设计的圆满完成,需要感谢老师们的指导。系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
回顾毕业设计的整个过程,既付出汗水也收获了很多。虽然经历了各种各样的困难,自己的不断研究探索,系统的实现仍有不足之处。
在以后的学习及工作中,我仍然继续学习计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信我可以让更多的好工作,做出更大的贡献。
医院慢性病管理系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。
首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。
感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。
感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们!
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
参考文献
[1]周建辉.基于uni-app的场馆预约微信小程序的设计与开发[J].江苏工程职业技术学院学报,2022,22(04):7-11.DOI:10.19315/j.issn.2096-0425.2022.04.002.
[2]林琳,毛凡,童绥俊,周脉耕.基层慢病管理系统的应用现状与建设方向探讨[J].中国卫生信息管理杂志,2022,19(06):785-791.
[3]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).
[4]阳博,温志萍.基于SpringBoot的在线协同办公系统设计与实现[J].电脑知识与技术,2022,18(22):49-51.DOI:10.14004/j.cnki.ckt.2022.1515.
[5]Gu Mengdie,Sun Rui,Yang Shulin,Gu Huijie,Yuan Ming. Research on copyright appointment registration microplatform system based on vue[J]. MATEC Web of Conferences,2022,355.
[6]朱威. 基于微服务架构的慢病管理系统设计与实现[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.000072.
[7]Ma Jinfeng,Zhang Jing,Li Ruonan,Zheng Hua,Li Weifeng. Using Bayesian optimization to automate the calibration of complex hydrological models: Framework and application[J]. Environmental Modelling and Software,2022,147.
[8]张伟. 基于SpringBoot和Vue的综合教学管理平台设计与实现[D].重庆大学,2021.DOI:10.27670/d.cnki.gcqdu.2021.003900.
[9]马若鹏. 基于微信小程序的实验室考勤管理系统的设计与实现[D].华中科技大学,2021.DOI:10.27157/d.cnki.ghzku.2021.005867.
[10]王光荣,刘志刚.基于小程序的英语选课平台的研究与实现[J].工业控制计算机,2021,34(05):136-138.
[11]胡玉杰. 慢性疾病管理系统的设计与实现[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.001155.
[12]李锋,冒星星,金琰斐,邓建华.基于信息化的骨质疏松慢病管理系统[J].电脑编程技巧与维护,2021(05):98-99.DOI:10.16184/j.cnki.comprg.2021.05.040.
[13]汪哲宇. 数字化慢病管理系统的研究与实践[D].浙江大学,2021.DOI:10.27461/d.cnki.gzjdx.2021.001166.
[14]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).
[15]李丹丹,王丽华,赵丽华,杨雪,杨扬.糖尿病慢病管理系统及数据研究现状及面临问题[J].医学信息,2020,33(19):24-27.
[16]沈佳棋,倪珊,王杰,丁洁.基于Vue+SpringBoot的分类学科竞赛管理系统设计[J].无线互联科技,2020,17(17):74-77.
[17]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).
[18]廉永红,黄洁,张亲娟,潘宁平,谢儒生.区域协同中医慢病管理系统的设计与实现[J].电子技术与软件工程,2020(15):155-157.
[19]曹天泽,潘家志.基于微服务和微信小程序的门户系统设计[J].科学技术创新,2020(18):89-90.
[20]孙钢, 基于云架构的慢病居家健康管理系统. 四川省,成都睿明医疗信息技术有限公司,2020-06-05.
免费领取源码,请点赞关注私信博主