【免费领源码】基于springboot的鼻炎患者随访系统 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
本文摘要:本研究基于SpringBoot框架开发了一套鼻炎患者随访系统,旨在优化慢性病患者的医疗管理流程。系统采用B/S架构,使用MySQL数据库存储患者信息,并引入Elasticsearch提升数据检索效率。通过MVC设计模式和Thymeleaf模板引擎构建了用户友好的Web界面,实现了患者信息管理、随访日程、症状评估、用药提醒等核心功能模块。研究重点解决了数据安全性、系统稳定性等关键技术问题,
鼻炎患者随访系统
摘 要
本文旨在开发一款基于SpringBoot框架的鼻炎患者随访系统。系统首先对患者数据进行收集、整理和分析,明确随访的关键指标和目标。在技术上,我们选择MySQL作为后端数据库,确保数据的安全、稳定和高效存储。为了提升数据检索效率和准确性,Elasticsearch被引入作为搜索引擎,通过构建索引和高效查询,为随访系统提供强大的数据支持。
在SpringBoot框架下,我们利用MVC架构和Thymeleaf模板引擎,搭建了一个直观易用的Web界面,用于展示患者的随访数据。MVC架构确保了代码的清晰度和可维护性,而Thymeleaf则提供了丰富的页面布局和样式选项,增强了用户体验。
在系统实现过程中,我们遇到了一些挑战,如数据安全性、系统稳定性、以及用户友好性等方面的问题。通过优化数据库查询、调整系统逻辑、改进用户界面设计等措施,我们成功解决了这些问题,确保了系统的稳定运行和用户体验。
总之,基于SpringBoot的鼻炎患者随访系统不仅提高了患者数据的管理效率,也优化了随访流程,为患者提供了更好的医疗服务。未来,我们将继续完善系统功能,以适应更多临床需求和技术发展。
关键词:鼻炎患者随访系统;SpringBoot框架;Java开发语言;MySQL数据库
Implementation of visualization function for daily operational data of hospitals
Summary
This paper aims to develop a follow-up system for rhinitis patients based on the SpringBoot framework. The system first collected, collated and analyzed the patient data to clarify the key indicators and targets for follow-up. Technically, we choose MySQL as the back-end database to ensure the safe, stable and efficient storage of the data. In order to improve the efficiency and accuracy of data retrieval, Elasticsearch was introduced as a search engine to provide powerful data support for the follow-up system by building indices and efficient queries.
In the SpringBoot framework, we built an intuitive and easy-to-use Web interface with MVC architecture and Thymeleaf template engine. While the MVC architecture ensures code clarity and maintainability, the Thymeleaf offers rich page layout and style options that enhance the user experience.
In the process of system implementation, we encountered some challenges, such as data security, system stability, and user friendliness. By optimizing the database query, adjusting the system logic, improving the user interface design and other measures, we have successfully solved these problems, ensuring the stable operation of the system and the user experience.
In conclusion, the SpringBoot-based follow-up system for patients with rhinitis not only improves the management efficiency of patient data, but also optimizes the follow-up process and provides better medical services for patients. In the future, we will continue to refine the system functions to meet more clinical needs and technological developments.
Keywords: follow-up system for rhinitis patients; SpringBoot framework; Java development language; MySQL database
目 录
第1章绪论
1.1研究背景与意义
随着社会的快速发展和人们生活方式的改变,鼻炎等慢性疾病的发病率逐年上升,已经成为影响公众健康的重要问题。鼻炎不仅影响患者的日常生活和工作,还可能导致其他并发症,增加医疗负担。因此,对于鼻炎患者的有效管理和随访变得至关重要。传统的随访方式多以纸质记录为主,不仅效率低下,而且容易丢失和损坏。同时,由于医生每日需要接诊大量患者,很难对每位患者做到详细、全面的随访。因此,开发一套基于现代信息技术的鼻炎患者随访系统成为解决这一问题的关键。
通过随访系统,医生可以便捷地录入、查询和管理患者信息,减少纸质记录的繁琐和失误,提高随访工作的效率。
系统可以定期提醒医生进行患者随访,确保每位患者都能得到及时、有效的关注和治疗。同时,医生还可以通过系统了解患者的病情变化,为患者提供更加个性化的治疗方案。
随访系统可以方便患者与医生进行沟通,患者可以随时将自己的身体状况反馈给医生,医生也可以及时给予指导和建议,增强医患之间的信任和理解。
系统收集的大量患者数据可以为医学研究提供宝贵资料,有助于科研人员深入了解鼻炎的发病机理和治疗方法。同时,这些数据也可以为医院管理层提供决策支持,帮助医院优化资源配置和服务流程。
综上所述,开发一套基于现代信息技术的鼻炎患者随访系统不仅有助于提高随访效率、增强患者管理、促进医患沟通,还可以为科研和决策提供有力支持,具有重要的现实意义和长远价值。
1.2开发现状
随着医疗科技的持续发展,针对特定疾病如鼻炎的随访系统开发正逐渐成为医疗信息化的重要一环。这一系统的核心目的是为医生和患者提供一个便捷、高效、个性化的随访管理工具,以改善治疗效果和患者体验。
目前,鼻炎患者随访系统的开发面临一些挑战。首先,数据整合与标准化是一大难题,由于医疗数据来源多样、格式不一,如何有效地整合和标准化这些数据成为亟待解决的问题。其次,随访系统的智能化程度还有待提高,以满足更精准的病情跟踪和预测需求。此外,系统的用户友好性和安全性也是不可忽视的问题。
为了应对这些挑战,许多医疗机构和科技公司正在积极投入研发力量。一些先进的随访系统已经能够实现自动化的数据采集、整理和分析,为患者提供个性化的随访计划和建议。同时,这些系统还配备了强大的数据可视化功能,帮助医生更直观地了解患者的病情变化和治疗效果。
随着大数据等技术的不断发展,鼻炎患者随访系统的未来将更加广阔。我们期待看到更多智能化的随访工具出现,能够更精准地预测病情发展、提供更个性化的治疗方案。同时,随着医疗信息化的深入推进,随访系统也将与其他医疗信息系统实现更紧密的集成,为患者提供更全面、更高效的医疗服务。
1.3本文结构
论文将分层次进行编排,除去论文摘要、目录、致谢、文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第1章 交代了项目的背景以及开发的实际目的。
第2章 对本系统所采用的开发技术和环境进行介绍。
第3章 阐述了系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第4章 阐明了系统的具体实现,介绍系统的各个模块的具体实现。
第5章 罗列了部分系统调试与测试的记录。
第6章 对系统进行了认真的总结,以此对未来有一个新的展望。
第2章系统分析
2.1B/S结构
鼻炎患者随访系统通过B/S架构进行实现,基于浏览器和服务器方式进行开发的系统架构,只有把应用程序部署到服务器端,客户端才可以借助导航网址进行系统访问。
基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出响应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户。
在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互。
2.2MySQL数据库
无论是在个人学习中还是在企业办公中,MySQL数据库一直都是一种具有强大扩展性,强大功能的数据信息管理工具和处理工具。由于MySQL数据库的存在,将Windows系统所拥有的优点展现的淋漓尽致,而且能够对Win进行图形化的管理,使得使用者在操作系统的过程中对项目能够做到一目了然;而其强大的储存功能更是为系统工程运作提供了保障。MySQL不仅仅是一种优秀的数据信息处理工具,更是一个拥有独立的,完整的数据库语言的管理平台。
2.3Java语言
Java是一种面向对象的程序设计语言,类是Java程序的基本组成单元,类中又包含了属性和方法,在类中又可以创建无数个对象。类中包含的主要成员是字段和方法,字段是指一种数据变量,方法是指对字段进行操作的集合,包括给其他变量赋值、调用方法等。
2.4SpringBoot框架
Spring框架是Java平台上的一种开源应用框架[8],提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。
2.5Tomcat开源服务器
Tomcat是Apache下的一个核心项目,最新的Servlet 和JSP 规范总是能在其中得到体现。本系统是采用Tomcat6来开发的,目前来说广大编程员都喜欢使用它,所以说现在Tomcat是比较流行的免费的开源Web 应用服务器。它不仅拥有底层技术先进、开发性能稳定、运行时所占系统资源又很小、扩展性好等系统常用的功能;而且它的底层代码是面向所有开发人员的就好像现在的Linux系统一样,编程人员可以自由地往其中加入新的功能,从而促使Tomcat一直处在不断完善和改进的过程中。
第3章系统分析
3.1可行性分析
在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对鼻炎患者随访系统的可行性分析,我们可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。
3.1.1技术可行性分析
技术可行性,指的是在既定时间内,预定功能的实现可能性。在此过程中,必须关注研发和设计过程中是否存在悬而未决的问题,以及完成的项目在实际应用中是否能达到预期效果。若存在缺陷,则需评估后期维护的难易程度。经过对该系统的综合评估,我们认为现有技术完全有能力达成既定目标。通过运用Java技术构建动态页面,结合低耦合架构、灵活的数据库及高性能服务器,我们能够显著提升系统的整体性能。这充分表明,我们不仅追求理论上的卓越,更重视在实际操作中的不断优化与探索。
3.1.2经济可行性分析
经过精心设计与开发,我们采用了Java与MySQL技术构建了鼻炎患者随访系统。这种技术组合不仅显著降低了软硬件的开发与维护成本,同时也极大提升了用户访问网站的便捷性,从而实现了服务质量的全面提升。此外,该系统的推出,有效地减轻了运营者的工作负担。尽管在构建这一系统时面临的挑战并非微不足道,但由于其投入相对较小,且能带来更高的运营效率,我们认为这一系统的建立具有强大的可持续性和经济价值。相较于日常的维护与管理,其带来的长远利益更为显著。
3.1.3操作可行性分析
鼻炎患者随访系统的前台页面简洁易懂,无论是系统管理员还是用户,只要电脑连接到网络,就可以轻松访问网站,而且不需要任何操作指导,只要输入正确的URL地址,就可以轻松完成所有的操作。由于无需任何复杂的环境配置,这个系统非常简单,易于操作,因此它是一个非常实用的工具。
3.2需求分析
3.2.1功能性需求分析
鼻炎患者随访系统我划分为了医生用户模块、患者用户模块和管理员模块这三大部分。
患者用户管理模块:
(1)用户注册登录:对系统中的信息浏览,就必须有这个系统的账号,如果没有账号的话,可以注册用户进行相关的操作,同时用户还可以通过右上角用户名这个按钮对个人信息以及操作的信息进行管控。
(2)患者用户查看鼻炎患者随访系统信息:鼻炎患者随访系统的信息包含了后台首页、患者信息管理、随访日程管理、症状评估管理、用药提醒管理、患者咨询管理、个人中心等,
(3)个人中心:患者用户点击右上角的“用户名”,然后点击“个人信息”可修改密码和个人信息并对其进行管理。
(4)患者信息管理:患者用户点击患者信息管理可以进行查看或添加患者信息。
(5)患者咨询管理:患者用户可以向医生咨询病情。
(6)随访日程管理:患者用户可以查看随访日程列表
(7)症状评估管理:患者用户可以查看医生填写的症状评估。
(8)用药提醒管理:医生指导患者用药提醒信息。
医生用户管理模块
(1)用户注册登录:对系统中的信息浏览,就必须有这个系统的账号,如果没有账号的话,可以注册用户进行相关的操作,同时用户还可以通过右上角用户名这个按钮对个人信息以及操作的信息进行管控。
(3)个人中心:医生用户点击右上角的“用户名”,然后点击“个人信息”可修改密码和个人信息并对其进行管理。
(4)患者信息管理:医生用户点击患者信息管理可以查看患者信息。
(5)患者咨询管理:医生用户可以回复患者咨询的信息。
(6)随访日程管理:医生用户可以查看随访日程列表
(7)症状评估管理:医生用户点击症状评估管理进行填写患者的症状评估。
(8)用药提醒管理:医生指导患者用药提醒信息。
管理员管理模块:后台首页、系统用户、患者信息管理、随访日程管理、症状评估管理、用药提醒管理、患者咨询管理,支持增删改查。
3.2.2 非功能性分析
鼻炎患者随访系统的非功能性需求,比如鼻炎患者随访系统的安全性怎么样,可靠性怎么样,性能怎么样,可扩展性怎么样等。具体可以表示在如3-1表格中:
表3-1鼻炎患者随访系统非功能需求表
|
安全性 |
主要指鼻炎患者随访系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
|
可靠性 |
可靠性是指鼻炎患者随访系统能够按照用户提交的指示进行操作,经过测试,可靠性90%以上。 |
|
性能 |
性能是影响鼻炎患者随访系统占据市场的必要条件,所以性能最好要佳才好。 |
|
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
|
易用性 |
用户只要跟着鼻炎患者随访系统的页面展示内容进行操作,就可以了。 |
|
可维护性 |
鼻炎患者随访系统开发的可维护性是非常重要的,经过测试,可维护性没有问题。 |
3.3系统用例分析
鼻炎患者随访系统的完整UML用例图分别是图3-1、图3-2、图3-3。
图3-1就是患者用户角色的用例展示。

图3-1 患者用户角色用例图
图3-2就是医生角色的用例展示。

图3-2医生角色用例图
图3-3就是医生角色的用例展示。

图3-3管理员角色用例图
3.4系统业务流程分析
管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。
用户权限下的工作流程主要为:用户通过管理员添加的登录信息功能,在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。
鼻炎患者随访系统的业务流程如下图所示。

图3-5 系统业务流程图
第4章系统设计
4.1系统功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本鼻炎患者随访系统中的用例。那么接下来就要开始对本鼻炎患者随访系统的架构、主要功能和数据库开始进行设计。鼻炎患者随访系统根据前面章节的需求分析得出,其总体设计模块图如图4-1所示。

图4-1 系统功能结构图
4.2数据库设计
4.2.1概念模型设计
借助目前的UML建模软件,ER图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据就业信息的系统分析结果,结合系统的功能模块设计,设计出符合系统的各信息实体。
系统的主要实体间关系E-R图如下图所示。

图4-2 系统E-R图
4.2.2逻辑结构设计
数据库是鼻炎患者随访系统的数据处理的基础,也是界面数据的展示与存储的关键。鼻炎患者随访系统的数据库表如下。
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
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 |
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 |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
doctor_users_id |
int |
10 |
0 |
N |
Y |
医生用户ID |
|
|
2 |
doctors_name |
varchar |
64 |
0 |
Y |
N |
医生姓名 |
|
|
3 |
doctors_gender |
varchar |
64 |
0 |
Y |
N |
医生性别 |
|
|
4 |
doctors_phone_number |
varchar |
64 |
0 |
Y |
N |
医生电话 |
|
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
follow_up_schedule_id |
int |
10 |
0 |
N |
Y |
随访日程ID |
|
|
2 |
patient_users |
int |
10 |
0 |
Y |
N |
0 |
患者用户 |
|
3 |
patient_name |
varchar |
64 |
0 |
Y |
N |
患者姓名 |
|
|
4 |
patients_address |
varchar |
64 |
0 |
Y |
N |
患者住址 |
|
|
5 |
doctor_users |
int |
10 |
0 |
Y |
N |
0 |
医生用户 |
|
6 |
doctors_name |
varchar |
64 |
0 |
Y |
N |
医生姓名 |
|
|
7 |
follow_up_date |
date |
10 |
0 |
Y |
N |
随访日期 |
|
|
8 |
follow_up_records |
text |
65535 |
0 |
Y |
N |
随访记录 |
|
|
9 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
10 |
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: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
medication_reminder_id |
int |
10 |
0 |
N |
Y |
用药提醒ID |
|
|
2 |
patient_users |
int |
10 |
0 |
Y |
N |
0 |
患者用户 |
|
3 |
patient_name |
varchar |
64 |
0 |
Y |
N |
患者姓名 |
|
|
4 |
doctor_users |
int |
10 |
0 |
Y |
N |
0 |
医生用户 |
|
5 |
doctors_name |
varchar |
64 |
0 |
Y |
N |
医生姓名 |
|
|
6 |
evaluation_date |
date |
10 |
0 |
Y |
N |
评估日期 |
|
|
7 |
symptom_index |
int |
10 |
0 |
Y |
N |
0 |
症状指数 |
|
8 |
symptom_assessment |
text |
65535 |
0 |
Y |
N |
症状评估 |
|
|
9 |
medication_reminder |
text |
65535 |
0 |
Y |
N |
用药提醒 |
|
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
patient_consultation_id |
int |
10 |
0 |
N |
Y |
患者咨询ID |
|
|
2 |
patient_users |
int |
10 |
0 |
Y |
N |
0 |
患者用户 |
|
3 |
patient_name |
varchar |
64 |
0 |
Y |
N |
患者姓名 |
|
|
4 |
doctor_users |
int |
10 |
0 |
Y |
N |
0 |
医生用户 |
|
5 |
doctors_name |
varchar |
64 |
0 |
Y |
N |
医生姓名 |
|
|
6 |
reply_status |
varchar |
64 |
0 |
Y |
N |
回复状态 |
|
|
7 |
patient_consultation |
text |
65535 |
0 |
Y |
N |
患者咨询 |
|
|
8 |
consultation_response |
text |
65535 |
0 |
Y |
N |
咨询回复 |
|
|
9 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
patient_information_id |
int |
10 |
0 |
N |
Y |
患者信息ID |
|
|
2 |
patient_users |
int |
10 |
0 |
Y |
N |
0 |
患者用户 |
|
3 |
patient_name |
varchar |
64 |
0 |
Y |
N |
患者姓名 |
|
|
4 |
patient_gender |
varchar |
64 |
0 |
Y |
N |
患者性别 |
|
|
5 |
patient_phone_number |
varchar |
64 |
0 |
Y |
N |
患者电话 |
|
|
6 |
patients_address |
varchar |
64 |
0 |
Y |
N |
患者住址 |
|
|
7 |
patient_details |
text |
65535 |
0 |
Y |
N |
病患详情 |
|
|
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
patient_users_id |
int |
10 |
0 |
N |
Y |
患者用户ID |
|
|
2 |
patient_name |
varchar |
64 |
0 |
Y |
N |
患者姓名 |
|
|
3 |
patient_gender |
varchar |
64 |
0 |
Y |
N |
患者性别 |
|
|
4 |
patient_phone_number |
varchar |
64 |
0 |
Y |
N |
患者电话 |
|
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
symptom_assessment_id |
int |
10 |
0 |
N |
Y |
症状评估ID |
|
|
2 |
patient_users |
int |
10 |
0 |
Y |
N |
0 |
患者用户 |
|
3 |
patient_name |
varchar |
64 |
0 |
Y |
N |
患者姓名 |
|
|
4 |
patients_address |
varchar |
64 |
0 |
Y |
N |
患者住址 |
|
|
5 |
doctor_users |
int |
10 |
0 |
Y |
N |
0 |
医生用户 |
|
6 |
doctors_name |
varchar |
64 |
0 |
Y |
N |
医生姓名 |
|
|
7 |
evaluation_date |
date |
10 |
0 |
Y |
N |
评估日期 |
|
|
8 |
symptom_index |
int |
10 |
0 |
Y |
N |
0 |
症状指数 |
|
9 |
symptom_assessment |
text |
65535 |
0 |
Y |
N |
症状评估 |
|
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
11 |
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 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 |
|
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
15 |
vip_level |
varchar |
255 |
0 |
Y |
N |
会员等级 |
|
|
16 |
vip_discount |
double |
11 |
2 |
Y |
N |
0.00 |
会员折扣 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
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 |
更新时间: |
第5章系统实现
5.1患者用户模块的实现
5.1.1用户登录模块
在登录界面中输入用户名+密码,然后选择相应的角色,点击“登录”按钮,系统会在用户数据库表中匹配相应用户的帐户,如果用户名+密码正确,则会登录到系统中每个用户的主管理界面,否则会提示相应的信息,如果是忘记了密码,请返回登录界面。
用户登录流程图如下所示。

图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.1.2用户注册模块
注册模块满足用户两部分,当用户想要进行资料相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录。
用户注册界面如下所示。
图5-3用户注册界面
用户注册的逻辑代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
5.1.3患者信息管理模块
当患者用户登录后可以查看或添加患者信息。
患者信息管理界面如下图所示。
图5-4患者信息管理界面
5.1.4患者咨询管理模块
患者可以向医生咨询信息。
患者咨询管理界面如下图所示。
图5-5患者信息管理界面
5.2医生用户症状评估管理模块
医生用户点击症状评估管理会显示出所有患者的评估列表。
症状评估管理界面如下图所示。
图5-6症状评估管理界面
5.3管理员系统用户管理模块
后台管理员在“系统用户”这一菜单中可以对用户和管理人员的账号信息进行添加管控。
管理员系统用户管理界面如下图所示。
图5-5管理员系统用户管理界面
第6章系统测试
6.1测试目的
系统开发的最后一个步骤就是系统测试,系统测试也是整个系统十分重要的一个环节,测试的好坏关系到产品的发展。客户对软件的质量、性能和可靠性等需求就要通过测试来实现。测试过程要必须遵循严谨性、完善性、规范性的原则,测试的主要目的就是看看在系统运行中,是否会出现bug,然后对出现的bug进行调试,直到程序完美运行。但是软件的测试只能尽可能的减少bug,理论上来说是无法达到消除bug。但是bug越少,系统出错的概率就越低,用户使用起来也更方便、更安全。
6.2测试用例
系统测试包括:用户登录功能测试、患者信息查看功能测试、患者信息添加、患者信息搜索、密码修改功能测试,如表6-1、6-2、6-3、6-4、6-5所示:
用户登录功能测试:
表6-1 用户登录功能测试表
|
用例名称 |
用户登录系统 |
|
目的 |
测试用户通过正确的用户名和密码可否登录功能 |
|
前提 |
未登录的情况下 |
|
测试流程 |
1) 进入登录页面 2) 输入正确的用户名和密码 |
|
预期结果 |
用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
|
实际结果 |
实际结果与预期结果一致 |
患者信息查看功能测试:
表6-2 患者信息查看功能测试表
|
用例名称 |
患者信息查看 |
|
目的 |
测试患者信息查看功能 |
|
前提 |
用户登录 |
|
测试流程 |
点击患者信息列表 |
|
预期结果 |
可以查看到所有患者信息 |
|
实际结果 |
实际结果与预期结果一致 |
添加患者信息界面测试:
表6-3 添加患者信息界面测试表
|
用例名称 |
添加患者信息测试用例 |
|
目的 |
测试患者信息添加功能 |
|
前提 |
管理员正常登录情况下 |
|
测试流程 |
1)点击患者信息管理,然后点击添加后并填写信息。 2)点击进行提交。 |
|
预期结果 |
提交以后,页面首页会显示新的患者信息 |
|
实际结果 |
实际结果与预期结果一致 |
患者信息搜索功能测试:
表6-4患者信息搜索功能测试表
|
用例名称 |
患者信息搜索测试 |
|
目的 |
测试患者信息搜索功能 |
|
前提 |
无 |
|
测试流程 |
1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
|
预期结果 |
页面显示包含有搜索关键字的患者信息 |
|
实际结果 |
实际结果与预期结果一致 |
密码修改搜索功能测试:
表6-5 密码修改功能测试表
|
用例名称 |
密码修改测试用例 |
|
目的 |
测试管理员密码修改功能 |
|
前提 |
管理员用户正常登录情况下 |
|
测试流程 |
1)管理员密码修改并完成填写。 2)点击进行提交。 |
|
预期结果 |
使用新的密码可以登录 |
|
实际结果 |
实际结果与预期结果一致 |
6.3测试结果
通过编写鼻炎患者随访系统的测试用例,已经检测完毕用户登录功能测试、患者信息查看功能测试、患者信息添加、患者信息搜索、密码修改功能测试,通过这5大模块为鼻炎患者随访系统的后期推广运营提供了强力的技术支撑。
第7章结论
本文描述了鼻炎患者随访系统设计与实现的原理和开发过程,该系统是通过SpringBoot框架来搭建系统后台的开发,中间件使用的是Tomcat服务器,配合Java开发语言数据库管理平台采用开源的MySQL,配合HTML页面展示技术。
在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从开发这个鼻炎患者随访系统的过程中我也收获了许许多多宝贵的方法以及设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、Java、SpringBoot、MySQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
参考文献
·[1]Prabawani B ,Hadi P S ,Fisher R M , et al. Socioeconomic perspective of agroforestry development in Central Java [J]. Environmental and Sustainability Indicators, 2024, 22 100354-.
·[2]毕玉玺. 医院信息系统对病案质量和医疗安全的影响 [J]. 信息系统工程, 2024, (02): 16-19.
·[3]马瑶瑶,张洁,祁琪等. “提高住院患者抗菌药物治疗前病原学送检率”专项行动对医院微生物室设备及信息系统功能配置的成效调查 [J/OL]. 中华医院感染学杂志, 2024, (06): 931-936[2024-03-10]. http://kns.cnki.net/kcms/detail/11.3436.r.20240205.1100.062.html.
·[4]梅甜,林仁回,李银等. 数据库一体机提升医院信息系统性能的探索与实践 [J]. 现代医院, 2024, 24 (01): 80-83.
·[5]陈红. 数字化档案管理信息系统在医院档案管理中的应用 [J]. 办公自动化, 2024, 29 (02): 70-72.
·[6]孙超. 医院档案管理信息系统的设计与实现 [J]. 办公自动化, 2024, 29 (01): 70-72.
·[7]贺艳. 医院消毒供应中心的日常管理 [J]. 人人健康, 2023, (36): 97.
·[8]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
·[9]李娟. 医院统计报表数据质量分析及控制研究 [J]. 中国总会计师, 2023, (07): 117-119.
·[10]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):
·[11]刘琦. 财务会计在医院财务管理中的地位和作用分析 [J]. 现代营销(上旬刊), 2022, (09): 61-63.
·[12]朱怡宁. 常州市市级城市公立医院综合改革研究[D]. 中国矿业大学, 2022.
·[13]郭荣丽. 浅谈医院财务绩效管理中存在的问题及对策 [J]. 经济师, 2022, (03): 81-82.
·[14]刘伟丽. 内部控制在医院收费管理中的应用浅析 [J]. 财经界, 2022, (06): 92-94.
·[15]赵小杰. 医院财务管理内部控制体系优化研究 [J]. 财经界, 2021, (32): 91-92.
·[16]许兴红. 论医院日常业务收入的规范化会计核算 [J]. 大众投资指南, 2021, (21): 128-129.
·[17]赵丽娜. 医院财务管理和会计核算探讨 [J]. 中国乡镇企业会计, 2021, (09): 98-99.
·[18]张冉. 利用OA办公自动化系统助力医院管理效率的提升 [J]. 名医, 2021, (13): 189-190.
·[19]朱思嘉. 档案管理模式改革在医院档案管理中的应用研究 [J]. 兰台内外, 2021, (18): 63-64.
·[20]张其勇. 医院财务管理面临的问题及对策研究 [J]. 财会学习, 2021, (17): 53-54.
致谢
经过无数个日夜的辛勤耕耘,这篇文章终于在今天圆满落幕。创作过程中,我面临了诸多挑战,但得益于老师和同学们的鼎力相助,我得以顺利克服难关。在此,我要特别感谢我的导师,他的耐心指导和无私帮助使我在迷茫时找到了方向。同时,我也要向所有传授我知识、解答我疑惑的老师们表示衷心的感谢!
此外,本文的完成也离不开众多国内外SpringBoot技术领域的专家学者们的著作。正是站在这些巨人的肩膀上,我才能够有所突破。因此,我要向这些学者们表示崇高的敬意和衷心的感谢!同时,我还要感谢Google等公司提供的强大搜索引擎,它极大地简化了我的资料搜集过程。
在此,我想说的是,虽然我已经尽力而为,但由于学识有限,文章中难免存在不足之处。我恳请各位老师不吝赐教,对我的论文提出宝贵的批评和建议。感谢你们在百忙之中抽出时间审阅我的论文,你们的指导将是我前进道路上最宝贵的财富。
更多推荐
所有评论(0)