目录
摘要
本文主要介绍了基于SpringBoot框架的老年慢性病药物管理系统的设计与实现过程。该系统旨在提高老年慢性病患者的药物管理效率,减轻医护人员的工作负担,同时确保患者用药的安全性和有效性。
首先,我们对老年慢性病患者的药物管理需求进行了详细的分析,明确了系统的功能和特点。然后,我们采用了SpringBoot框架作为系统的开发基础。同时,我们结合了MySQL数据库和Java开发语言,实现了系统的数据存储和业务逻辑处理。
在系统的设计过程中,我们注重了系统的可扩展性、可维护性和易用性。通过合理的模块划分和接口设计,使得系统能够方便地与其他系统进行集成和扩展。同时,我们也充分考虑了用户的使用习惯和需求,设计了简洁明了的操作界面和友好的交互方式。
在实现过程中,我们采用了分层架构的设计思想,将系统的不同功能模块进行了划分和封装,提高了系统的可维护性和可扩展性。同时,我们也注重了代码的质量和可读性,采用了规范的编码风格和注释方式,使得代码易于阅读和维护。
以上是基于SpringBoot的老年慢性病药物管理系统的设计与实现的摘要内容。该系统的设计和实现过程充分体现了SpringBoot框架的优势和特点,为类似系统的开发提供了有益的参考和借鉴。
关键词:老年慢性病药物管理系统;SpringBoot框架
This paper mainly introduces the design and implementation process of the drug management system for elderly chronic diseases based on the SpringBoot framework. The system aims to improve the efficiency of drug management in elderly patients with chronic diseases, and reduce the work burden of medical staff, while ensuring the safety and effectiveness of medication for patients.
First, we conducted a detailed analysis of the drug management needs of elderly patients with chronic diseases, clarifying the functions and characteristics of the system. Then, we adopted the SpringBoot framework as the development of the system. At the same time, we combined the MySQL database and the Java development language to implement the systematic data storage and the processing of business logic.
In the design process of the system, we focus on the scalability, maintainability and ease of use. Through reasonable module division and interface design, the system can be easily integrated and expand with other systems. At the same time, we also fully consider the user's use habits and needs, designed a simple and clear operation interface and friendly interaction mode.
In the implementation process, we adopted the design idea of hierarchical architecture, divide and encapsulate the different functional modules of the system, and improve the maintainability and scalability of the system. At the same time, we also focus on the quality and readability of the code, using the standard coding style and annotation method to make the code easy to read and maintain.
The above is a summary of the design and implementation of the elderly chronic disease drug management system based on SpringBoot. The design and implementation process of this system fully embodies the advantages and characteristics of the SpringBoot framework, and provides a useful reference and reference for the development of similar systems.
Keywords: chronic disease drug management system for the elderly; SpringBoot framework
- 绪论
- 选题背景及意义
随着我国人口老龄化趋势的加剧,老年慢性病患者数量不断增加,给医疗系统带来了巨大的挑战。同时,老年慢性病患者的药物管理也是一个重要的问题,因为老年患者常常需要同时服用多种药物,药物之间的相互作用和剂量调整都需要医生进行精确的判断和管理。因此,开发一套适合老年慢性病患者的药物管理系统具有重要的现实意义和社会价值。
本文旨在设计和实现一套基于SpringBoot框架的老年慢性病患者药物管理系统,旨在提高老年患者药物管理的效率和质量,减轻医务人员的工作负担,同时确保患者的用药安全和有效性。该系统的设计和实现可以为类似系统的开发提供有益的参考和借鉴,推动医疗信息化的发展和应用。
随着医疗信息化的发展,药物管理系统在国内外得到了广泛的研究和应用。在国外,一些发达国家已经建立了完善的药物管理系统,实现了药品信息的数字化管理、用药监控和预警等功能。例如,美国的电子病历系统已经实现了与药品管理系统的无缝对接,医生可以通过系统直接查询患者的用药记录,并根据患者的用药情况调整治疗方案。同时,一些国外的研究机构也在不断探索新的药物管理技术和方法,如基于大数据的药物使用分析、基于人工智能的用药推荐等。
在国内,药物管理系统的研究和应用也取得了长足的进展。近年来,随着医疗信息化政策的推动和医疗机构的数字化转型,越来越多的医疗机构开始引进和应用药物管理系统。这些系统不仅可以实现药品信息的数字化管理,还可以进行用药监控、用药提醒、药物配伍禁忌检查等功能,大大提高了药物管理的效率和质量。同时,国内的一些学者也在不断探索新的药物管理技术和方法,如基于云计算的药物管理系统、基于移动设备的用药提醒等。
然而,当前的药物管理系统还存在一些问题。首先,一些系统的功能较为单一,无法满足老年慢性病患者复杂多样的用药需求。其次,一些系统的用户界面不够友好,操作复杂,不利于老年患者的使用。最后,一些系统的可扩展性和可维护性较差,不能满足医疗机构不断变化的业务需求。
因此,本文旨在设计和实现一套功能全面、操作简便、可扩展性强的老年慢性病患者药物管理系统,以满足老年患者和医疗机构的需求,推动医疗信息化的发展和应用。
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景及意义和国内外研究现状,收集用户需求信息。其次,在开发工具上,最终确定是基于Mysql数据库,在Java的springboot框架设计的基础上实现,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
MySQL是一个关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,现在属于Oracle公司旗下产品。它使用结构化查询语言(SQL)进行数据库管理。MySQL是最流行的关系型数据库管理系统之一,尤其在WEB应用方面表现出色。
MySQL的主要特点包括:
1.关系型数据库:它使用表格来存储数据,每个表格都有行和列,行代表记录,列代表字段。这种结构使得数据的管理和查询变得非常高效。
2.SQL语言:MySQL使用SQL语言进行数据操作,这是一种非常强大且通用的语言,可以用于创建、修改、查询和删除数据库中的数据。
3.开源和免费:MySQL是开源的,意味着任何人都可以查看、修改和分发其源代码。此外,社区版是免费的,适合中小型网站的开发。
4.高效和稳定:MySQL的设计注重性能和稳定性,即使在处理大量数据时也能保持高效的性能。
5.支持多种平台:MySQL可以在多种操作系统上运行,包括Windows、Linux、Mac OS等。
6.可扩展性:MySQL支持各种扩展功能,如复制、分区、集群等,使得数据库可以适应不同的应用场景。
总的来说,MySQL是一个功能强大、易于使用且高度灵活的数据库管理系统,广泛应用于各种类型的网站和应用中。
Java是一种广泛使用的编程语言,由Sun Microsystems公司(现在属于Oracle公司)的James Gosling在1991年创建。Java是一种面向对象的编程语言,它旨在提供一个平台无关的编程模型,让编写的程序能够在任何支持Java的平台上运行。
1. 跨平台性:Java通过Java虚拟机(JVM)实现了跨平台性。JVM是一个在特定硬件和操作系统上运行的软件,它能够将Java字节码转换为机器代码并执行。因此,只要安装了JVM,Java程序就可以在任何平台上运行。
2. 面向对象:Java是一种纯粹的面向对象语言,支持类和对象的概念,以及继承、多态等面向对象的特性。
3. 静态类型:Java是一种静态类型语言,所有的变量在声明时都需要指定类型,并且类型在程序运行期间不能改变。
4. 垃圾回收:Java提供了自动的内存管理和垃圾回收机制,程序员无需手动管理内存。
5. 安全性:Java被设计为一种安全的语言,具有多种防止错误和恶意代码的机制,如类型检查、访问控制等。
6. 多线程:Java内置了多线程支持,可以方便地编写并发和分布式程序。
7. 丰富的API:Java拥有庞大的标准库和第三方库,提供了丰富的API供程序员使用,包括文件操作、网络编程、数据库连接、图形界面开发等。
Java广泛应用于企业级应用、Web开发、移动应用开发、嵌入式系统、大数据处理等多个领域。
B/S模式,全称为Browser/Server(浏览器/服务器模式),也被称为B/S结构,是WEB兴起后的一种网络结构模式。
B/S模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。在这种模式中,客户机上只需要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer等,而服务器则安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
此外,B/S模式是一种基于浏览器和服务器的应用程序架构,也被称为Web应用程序开发模式。该模式将应用程序的业务逻辑和数据处理都放在服务器端完成,而客户端只需要通过浏览器来访问服务器。这种模式实现了跨平台、跨操作系统和分布式计算等特点,主要依赖于Web技术,如HTML、CSS、JavaScript等,以及Web服务器、数据库等后端技术。
与传统的C/S(Client/Server)开发模式相比,B/S开发模式可以减少客户端的安装和维护工作,提高了应用程序的可移植性和易用性,适合于大规模企业级应用的开发。
SpringBoot框架是由Pivotal团队提供的一个全新框架,旨在简化新Spring应用的初始搭建以及开发过程。它并不是一门新技术,而是将之前常用的Spring、SpringMVC、data-jpa等常用的框架封装到了一起,帮助开发者隐藏这些框架的整合细节,实现敏捷开发。
SpringBoot框架的特点包括:
1. 不需要模板化的配置:SpringBoot项目通过特定的方式进行配置,使开发人员不再需要定义样板化的配置。
2. 自动整合第三方框架:在SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了。
3. 配置文件的简化:SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.java的文件去编写配置信息。
此外,SpringBoot框架是构建微服务框架SpringCloud的基础。因此,对于想要从事快速应用开发或微服务开发的开发者来说,掌握SpringBoot框架是非常重要的。
本章内容概括了老年慢性病药物管理系统的系统目标、可行性分析、功能分析以及用例分析。
老年慢性病药物管理系统的核心目标是优化老年人慢性病的药物治疗过程,确保用药安全、有效和便捷。
老年慢性病药物管理系统的技术可行性非常高。首先,现代的信息技术已经发展到了非常成熟的阶段,特别是数据库技术、网络技术和移动应用技术等,都为开发这样一个系统提供了强大的技术支持。其次,市场上已经存在许多类似的管理软件,这些软件的成功案例和技术实现方式可以为我们的系统开发提供借鉴和参考。最后,我们的团队具有丰富的软件开发经验和技术实力,能够确保系统的顺利开发和稳定运行。
从经济角度来看,老年慢性病药物管理系统也具有很高的可行性。首先,系统的开发成本相对较低,因为我们可以借鉴已有的技术和框架,避免重复开发。其次,系统的运行和维护成本也不高,因为我们可以采用云计算等技术,实现系统的自动化和智能化管理。最后,系统的使用将大大提高医疗资源的利用效率,减少医疗浪费,从而为医疗机构和社会带来经济效益。
社会可行性方面,老年慢性病药物管理系统也具有很大的优势。首先,系统的使用将大大提高老年人的用药安全性和有效性,改善他们的生活质量。其次,系统的推广使用将有助于推动医疗信息化和智能化的发展,提高医疗服务的水平和效率。最后,系统的实施也将为医疗机构和社会创造更多的就业机会和经济效益。
老年慢性病药物管理系统我划分为了前端模块和后端模块两大部分。
前端患者用户模块:
- 注册登录:患者用户可以通过注册功能创建个人账户,之后可以使用用户名和密码登录系统。注册登录功能确保了患者用户信息的安全性和隐私性,同时也便于患者用户管理自己的个人信息和查询记录。
- 首页:首页是患者用户最常访问的页面,我们在这里整合了药品查询和推荐功能。患者用户可以根据药品名称、用途、适用症状等关键词查询药品信息,系统也会根据患者的历史查询记录和收藏情况,推荐相关药品,帮助患者更快速、更准确地找到适合自己的药品。
- 留言反馈:留言反馈功能允许患者用户对药品管理系统提出自己的意见和建议,以及对药品使用过程中的问题进行咨询。系统管理员会定期查看并回复这些留言,以确保患者用户的留言反馈被及时解决。
- 药品查询:在药品查询页面,我们提供了点赞、收藏、评论等交互功能。患者用户可以对药品进行点赞,表示认可或喜欢;也可以将药品收藏到自己的个人账户中,方便日后查看;同时,患者用户还可以发表评论,分享自己的用药体验和评价,为其他患者提供参考。
- 我的账户:我的账户页面是患者用户管理自己个人信息的重要平台。在这里,患者用户可以查看和编辑自己的个人信息,如姓名、性别、年龄、联系方式等;还可以修改登录密码,确保账户的安全性。
- 个人中心:个人中心是患者用户的个人空间,这里整合了多个实用功能。个人首页展示了患者的基本信息和健康数据;电子病历功能允许患者上传和管理自己的病历资料;病历更新功能则方便患者随时更新自己的病情和治疗进展;日常记录功能可以帮助患者记录每日的健康状况和生活习惯;收藏功能则让患者可以随时查看自己收藏的药品和文章。
前端医生用户模块
- 注册登录:注册登录模块是前端医生用户模块的基础功能,它允许医生用户进行账号的创建和登录。通过注册,用户可以拥有属于自己的个人账户,享受个性化的服务。登录功能则确保用户信息的安全性,确保用户能够顺利访问和使用系统中的各项功能。
- 首页:首页是医生用户登录后首先看到的界面,也是系统的核心功能之一。药品查询推荐模块会根据医生的查询历史和偏好,智能推荐相关的药品信息,帮助医生快速找到所需的药品。同时,首页还会展示最新的药品资讯和行业动态,帮助医生保持对药品市场的了解。
- 留言反馈:留言反馈功能允许医生用户对药品管理系统提出自己的意见和建议。系统管理员会定期查看并回复这些留言,以确保医生用户的留言反馈被及时解决。
- 药品查询:药品查询模块是医生用户最常用的功能之一。在此模块中,用户可以根据药品名称、成分、适用症状等关键词进行搜索,获取详细的药品信息。同时,用户还可以对药品进行点赞、收藏和评论操作,方便自己日后的查阅和参考。
- 我的账户:我的账户模块是医生用户管理个人信息的重要平台。在此模块中,用户可以查看和修改自己的个人信息,如姓名、联系方式等。同时,用户还可以修改自己的登录密码,确保账户的安全性。
- 个人中心:个人中心模块是医生用户的个人工作平台。在个人首页中,用户可以快速查看自己的工作任务和进度。电子病历模块则允许用户创建和管理患者的病历信息,方便医生进行诊断和治疗。病历更新模块则允许医生随时更新患者的病历信息,确保信息的实时性和准确性。日常记录模块则帮助医生记录自己的日常工作和生活,如患者会诊、手术记录等。留言反馈模块则允许医生与其他用户或系统进行沟通交流。收藏模块则允许医生收藏自己常用的药品信息或资料,方便日后的查阅和使用。
后端管理员模块:
- 登录:登录功能是管理员进入后台管理界面的第一步,通过输入正确的用户名和密码,管理员可以安全地访问后台管理系统,开始进行各项管理工作。系统会对输入的用户名和密码进行验证,确保只有授权的管理员才能访问后台。
- 后台首页:后台首页是管理员进入后台后首先看到的页面,它展示了系统的主要功能和最新的数据概览。管理员可以在这里快速了解系统的整体运行状态,以及各个模块的最新动态。
- 系统用户:系统用户模块允许管理员管理系统中的所有用户,包括管理员、患者用户和医生用户。管理员可以在此模块中添加新用户、删除用户、修改用户信息以及查询用户信息,确保系统的用户数据准确无误。
- 电子病历管理:电子病历管理模块是管理员管理患者病历的重要工具。管理员可以在此模块中添加新的病历记录、删除不再需要的病历、查询特定病历、查看病历详情以及更新病历信息。此外,管理员还可以进行日常病历的更新管理,确保病历信息的实时性和准确性。
- 病历更新管理:病历更新管理模块是管理员监控和管理病历更新情况的重要工具。在这个模块中,管理员可以实时查看哪些病历有最新的更新记录,包括更新的时间、更新的内容以及更新的用户。这有助于管理员确保病历信息的及时性和准确性,以便医生能够基于最新的信息进行诊断和治疗。
- 药品查询管理:药品查询管理模块允许管理员对系统中的药品信息进行管理。管理员可以添加新的药品信息、删除不再需要的药品信息、查询特定药品信息以及查看药品的详情和评论。这有助于管理员及时了解和更新药品信息,确保患者能够获取到准确的药物信息。
- 病症类型管理:病症类型管理模块是管理员管理系统中所有病症类型的地方。管理员可以在此模块中添加新的病症类型、删除不再需要的病症类型、查询特定病症类型以及查看病症类型的详情。这有助于维护系统的病症类型数据的完整性和准确性。
- 日常记录管理:日常记录管理模块允许管理员对系统中的日常记录进行管理。管理员可以删除不再需要的日常记录、查询特定日常记录以及查看日常记录的详情。这有助于管理员了解系统的日常运行情况,及时发现问题并进行处理。
- 系统管理:允许管理员上传、删除和修改系统中的轮播图,以展示给前台用户。这有助于管理员根据需求调整系统的展示效果。
- 留言管理:留言管理模块是管理员处理用户留言反馈的地方。管理员可以在此模块中查看用户留言、回复用户留言以及删除不再需要的留言。这有助于管理员及时了解用户的反馈和需求,提升用户体验和服务质量。
老年慢性病药物管理系统的非功能性需求比如老年慢性病药物管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等,具体可以表示在如下3-1表格中:
表3-1老年慢性病药物管理系统非功能需求表
安全性 | 主要指老年慢性病药物管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指老年慢性病药物管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响老年慢性病药物管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着老年慢性病药物管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 老年慢性病药物管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
老年慢性病药物管理系统的完整UML用例图分别是图3-1、3-2、3-3。
患者用户角色用例如图3-1所示。
图 3-1老年慢性病药物管理系统患者用户角色用例图
医生用户角色用例如图3-2所示。
图 3-2老年慢性病药物管理系统医生用户角色用例图
管理员角色用例如图3-3所示。
本章主要通过对老年慢性病药物管理系统的、系统目标、可行性分析、功能需求分析、系统用例分析,确定整个老年慢性病药物管理系统要实现的功能。同时也为老年慢性病药物管理系统的代码实现和测试提供了标准。
- 老年慢性病药物管理系统总体设计
本章主要讨论的内容包括老年慢性病药物管理系统的功能模块设计、数据库系统设计。
本老年慢性病药物管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图 4-1老年慢性病药物管理系统架构设计图
表现层(UI):也称为用户界面层,它负责与用户进行直接的交互。一个优秀的UI设计能够显著提升用户的体验,确保用户在使用老年慢性病药物管理系统时感到舒适和便捷。为了确保良好的兼容性,UI界面设计需要适应不同版本的平台和各种屏幕尺寸的分辨率。此外,UI交互功能必须合理设计,确保用户的操作能够得到相应的反馈和结果,这要求表现层与业务逻辑层之间保持良好的通信和协同工作。
业务逻辑层(BLL):这一层主要处理老年慢性病药物管理系统的数据和业务逻辑。当用户通过表现层提交数据时,业务逻辑层会接收这些数据,进行处理,并将结果传递给数据层进行存储或查询。同时,当系统需要从数据层读取数据时,业务逻辑层会处理这些数据,并将其传递给表现层进行展示。
数据层(DL):虽然本老年慢性病药物管理系统的数据存储在服务端的MySQL数据库中,但数据层仍然作为一个独立的部分存在。它的主要功能是存储和管理老年慢性病药物管理系统的数据。数据层与MySQL数据库进行交互,执行数据的增、删、改、查等操作,确保数据的完整性和安全性。
这三个层次相互独立但又紧密协作,共同构成了老年慢性病药物管理系统的完整架构。通过合理的分层设计,可以提高系统的可维护性、可扩展性和可重用性,为用户提供更好的服务和体验。
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本老年慢性病药物管理系统中的用例。那么接下来就要开始对本老年慢性病药物管理系统的架构、主要功能和数据库开始进行设计。老年慢性病药物管理系统根据前面章节的需求分析得出,老年慢性病药物管理系统的功能模块图如下图所示。
图 4-2老年慢性病药物管理系统功能模块图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
-
-
- 数据库概念结构设计
-
下面是整个老年慢性病药物管理系统中主要的数据库表总E-R实体关系图。
图 4-3老年慢性病药物管理系统总E-R关系图
通过上一小节中老年慢性病药物管理系统中总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 | 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 | 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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | daily_records_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_age | varchar | 64 | 0 | Y | N | 患者年纪 | |
5 | patient_gender | varchar | 64 | 0 | Y | N | 患者性别 | |
6 | diagnostic_diseases | varchar | 64 | 0 | Y | N | 诊断病类 | |
7 | record_date | date | 10 | 0 | Y | N | 记录日期 | |
8 | blood_pressure_data | int | 10 | 0 | Y | N | 0 | 血压数据 |
9 | blood_glucose_data | int | 10 | 0 | Y | N | 0 | 血糖数据 |
10 | heart_rate_data | int | 10 | 0 | Y | N | 0 | 心率数据 |
11 | other_remarks | text | 65535 | 0 | Y | N | 其他备注 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | disease_type_id | int | 10 | 0 | N | Y | 病症类型ID | |
2 | type_name | varchar | 64 | 0 | Y | N | 类型名称 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | 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_phone_number | varchar | 64 | 0 | Y | N | 医生电话 | |
4 | doctors_gender | 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 | drug_inquiry_id | int | 10 | 0 | N | Y | 药品查询ID | |
2 | drug_name | varchar | 64 | 0 | Y | N | 药品名称 | |
3 | drug_images | varchar | 255 | 0 | Y | N | 药品图片 | |
4 | indicative_diseases | varchar | 64 | 0 | Y | N | 主治病类 | |
5 | shelf_life | varchar | 64 | 0 | Y | N | 保质期限 | |
6 | current_inventory | int | 10 | 0 | Y | N | 0 | 目前库存 |
7 | manufacturer | varchar | 64 | 0 | Y | N | 生产厂家 | |
8 | function_introduction | text | 65535 | 0 | Y | N | 功效介绍 | |
9 | instructions_for_use | text | 65535 | 0 | Y | N | 使用说明 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | 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 | 更新时间 |
表electronic_medical_records (电子病历)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | electronic_medical_records_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_phone_number | varchar | 64 | 0 | Y | N | 患者电话 | |
5 | patient_address | varchar | 64 | 0 | Y | N | 患者地址 | |
6 | id_number | varchar | 64 | 0 | Y | N | 身份证号 | |
7 | patients_age | varchar | 64 | 0 | Y | N | 患者年纪 | |
8 | patient_gender | varchar | 64 | 0 | Y | N | 患者性别 | |
9 | diagnostic_diseases | varchar | 64 | 0 | Y | N | 诊断病类 | |
10 | inspection_report | varchar | 255 | 0 | Y | N | 检查报告 | |
11 | medical_record_certificate | varchar | 255 | 0 | Y | N | 病历证明 | |
12 | treatment_plan | varchar | 64 | 0 | Y | N | 治疗方案 | |
13 | description_of_the_condition | text | 65535 | 0 | Y | N | 病情叙述 | |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | 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_updates (病历更新)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | medical_record_updates_id | int | 10 | 0 | N | Y | 病历更新ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | doctors_phone_number | varchar | 64 | 0 | Y | N | 医生电话 | |
5 | patient_users | int | 10 | 0 | Y | N | 0 | 患者用户 |
6 | patient_name | varchar | 64 | 0 | Y | N | 患者名字 | |
7 | patients_age | varchar | 64 | 0 | Y | N | 患者年纪 | |
8 | patient_gender | varchar | 64 | 0 | Y | N | 患者性别 | |
9 | diagnostic_diseases | varchar | 64 | 0 | Y | N | 诊断病类 | |
10 | this_report | varchar | 255 | 0 | Y | N | 本次报告 | |
11 | improvement_plan | varchar | 64 | 0 | Y | N | 改善方案 | |
12 | doctors_note | text | 65535 | 0 | Y | N | 医生备注 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | patient_users_id | int | 10 | 0 | N | Y | 患者用户ID | |
2 | patient_name | varchar | 64 | 0 | Y | N | 患者名字 | |
3 | patient_phone_number | varchar | 64 | 0 | Y | N | 患者电话 | |
4 | patient_address | 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 | 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 | 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 | 会员折扣 |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
整个老年慢性病药物管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
- 老年慢性病药物管理系统详细设计与实现
老年慢性病药物管理系统的详细设计与实现主要是根据前面的老年慢性病药物管理系统的需求分析和老年慢性病药物管理系统的总体设计来设计页面并实现业务逻辑。主要从老年慢性病药物管理系统界面实现、业务逻辑实现这两部分进行介绍。
-
- 前端首页模块
首页是患者用户最常访问的页面,我们在这里整合了药品查询和推荐功能。患者用户可以根据药品名称、用途、适用症状等关键词查询药品信息,系统也会根据患者的历史查询记录和收藏情况,推荐相关药品,帮助患者更快速、更准确地找到适合自己的药品。前台首页模块展示如下图所示。
图 5-1前台首页模块图
不是老年慢性病药物管理系统中正式用户的是可以在线进行注册的,当填写上自己的账号+设置密码+确认密码+昵称+邮箱+手机号+身份+用户姓名+用户性别等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。用户注册流程图如下所示。
图 5-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-4 用户登录流程图
登录模块如下图所示。
图 5-5登录模块图
登录代码如下:
/
* 登录
* @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.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
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());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
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-6留言反馈模块图
药品查询:在药品查询页面,我们提供了点赞、收藏、评论等交互功能。患者用户可以对药品进行点赞,表示认可或喜欢;也可以将药品收藏到自己的个人账户中,方便日后查看;同时,患者用户还可以发表评论,分享自己的用药体验和评价,为其他患者提供参考。药品查询模块如下图所示。
图 5-7药品查询模块图
个人中心:个人中心是患者用户的个人空间,这里整合了多个实用功能。个人首页展示了患者的基本信息和健康数据;电子病历功能允许患者上传和管理自己的病历资料;病历更新功能则方便患者随时更新自己的病情和治疗进展;日常记录功能可以帮助患者记录每日的健康状况和生活习惯;收藏功能则让患者可以随时查看自己收藏的药品和文章。患者用户个人中心模块如下图所示。
图 5-8患者用户个人中心模块图
个人中心:个人中心模块是医生用户的个人工作平台。在个人首页中,用户可以快速查看自己的工作任务和进度。电子病历模块则允许用户创建和管理患者的病历信息,方便医生进行诊断和治疗。病历更新模块则允许医生随时更新患者的病历信息,确保信息的实时性和准确性。日常记录模块则帮助医生记录自己的日常工作和生活,如患者会诊、手术记录等。留言反馈模块则允许医生与其他用户或系统进行沟通交流。收藏模块则允许医生收藏自己常用的药品信息或资料,方便日后的查阅和使用。医生用户个人中心模块如下图所示:
图 5-9医生用户个人中心模块图
系统用户:系统用户模块允许管理员管理系统中的所有用户,包括管理员、患者用户和医生用户。管理员可以在此模块中添加新用户、删除用户、修改用户信息以及查询用户信息,确保系统的用户数据准确无误。系统用户管理流程图如下所示。
图 5-10用户管理流程图
系统用户模块如下图所示。
图 5-11系统用户模块图
电子病历管理:电子病历管理模块是管理员管理患者病历的重要工具。管理员可以在此模块中添加新的病历记录、删除不再需要的病历、查询特定病历、查看病历详情以及更新病历信息。此外,管理员还可以进行日常病历的更新管理,确保病历信息的实时性和准确性。电子病历管理模块如下图所示。
图 5-12电子病历管理模块
药品查询管理:药品查询管理模块允许管理员对系统中的药品信息进行管理。管理员可以添加新的药品信息、删除不再需要的药品信息、查询特定药品信息以及查看药品的详情和评论。这有助于管理员及时了解和更新药品信息,确保患者能够获取到准确的药物信息。药品查询管理模块如下图所示。
图 5-13药品查询管理模块
系统管理:系统管理功能中,管理员主要负责轮播图的管理,包括上传、修改和删除轮播图,以维护系统的外观和用户体验。轮播图管理模块如下图所示。
图 5-14轮播图管理模块图
留言管理:留言管理模块是管理员处理用户留言反馈的地方。管理员可以在此模块中查看用户留言、回复用户留言以及删除不再需要的留言。这有助于管理员及时了解用户的反馈和需求,提升用户体验和服务质量。留言管理模块如下图所示。
图 5-15留言管理模块图
日常记录管理:日常记录管理模块允许管理员对系统中的日常记录进行管理。管理员可以删除不再需要的日常记录、查询特定日常记录以及查看日常记录的详情。这有助于管理员了解系统的日常运行情况,及时发现问题并进行处理。日常记录管理模块如下图所示。
图 5-16日常记录管理模块图
在系统开发的流程中,前台、后台以及数据库的建设只是整个项目的基础构建部分,完成了这些仅仅意味着系统框架的搭建告一段落。然而,一个系统的真正成熟与稳定,关键在于其是否能经受住严格的测试。测试是系统开发流程中不可或缺的一环,它对于确保系统质量至关重要。
一个系统测试的目的就是检验系统在真正的工作环境和条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。
表6-1 评论测试用例
测试用例编号 | YL_03 | |
测试用例名称 | 系统使用者进行在线评论 | |
测试用例描述 | 使用者输入评论内容等信息 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入完整的评论内容 | 提示“评论成功”,并进入系统 | 预期结果 |
不输入的评论内容 | 提示“请输入完整” | 预期结果 |
-
-
- 创建数据测试
-
在系统中,创建功能也是基础功能之一,因此创建功能的测试很有代表性。在此章节主要列举在创建时各种情况下系统结果的测试。由于系统涉及创建功能操作过多,因此将多处统称创建功能。
创建数据用例如表6-2 所示。
表6-2 创建数据测试用例
测试用例编号 | YL_05 | |
测试用例名称 | 系统使用者进行创建数据 | |
测试用例描述 | 使用者输入要创建的数据 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入完整并且格式正确的数据 | 提示“创建成功”,并显示所有数据 | 预期结果 |
核心位置数据但非必要位置不输入数据 | 提示“创建成功”,并显示所有数据 | 预期结果 |
核心数据位置不输入数据 | 提示“创建失败” | 预期结果 |
-
-
- 修改数据测试
-
在系统中,修改功能是系统主要实现功能,因此修改功能的测试很有代表性。在此章节主要列举在修改时各种情况下系统结果的测试。由于系统涉及修改功能操作过多,因此将多处数据表记录修改和状态修改统称修改功能。
修改数据用例如表6-3所示。
表6-3 修改数据测试用例
测试用例编号 | YL_06 | |
测试用例名称 | 系统使用者进行修改数据 | |
测试用例描述 | 使用者对可修改的数据项进行修改 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
将现有数据修改成正确的数据 | 提示“修改成功”,并显示所有数据 | 预期结果 |
将现有数据修改成错误的数据 | 提示“修改失败” | 预期结果 |
-
-
- 查询数据测试
-
在系统中,查询功能是使用系统使用最多也是最基础的功能,因此查询功能的测试很有代表性。在此章节主要列举在查询时各种情况下系统结果的测试。
查询数据用例如表6-4所示。
表6-4 查询数据测试用例
测试用例编号 | YL_05 | |
测试用例名称 | 系统使用者进行查询数据 | |
测试用例描述 | 全部查询以及输入关键词查询 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
界面自动查询全部 | 显示对应所有记录 | 预期结果 |
输入已存在且能匹配成功的关键字 | 显示所查询到的数据 | 预期结果 |
输入不存在的关键字 | 显示数据界面为空 | 预期结果 |
在本次测试的过程主要针对所有功能下的添加操作,修改操作和删除操作,并以真实数据一一进行相关功能项目的输入,最终能够保证每个项目涉及的功能都能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。
经过深入研究与分析,我们明确了基于Java和MySQL数据库的老年慢性病药物管理系统的可行性。该系统结合Java与MySQL技术,实现了高效的老年慢性病药物管理系统。通过本次开发实践,我们深刻认识到学习的无止境和实践的重要性。尽管在初期遇到了如页面显示不规范、数据库连接问题以及参数传递困难等挑战,但通过查阅资料和团队协作,我们成功解决了这些问题。在此过程中,我们积累了丰富的知识和问题解决能力,尤其是学会了如何从海量信息中筛选出有价值的内容。
我们意识到,尽管理论知识是宝贵的,但每个人的编程思路和数据处理方法各不相同。因此,实践成为了找到解决方案的关键。在毕业设计过程中,我们不断提升自我,积累了丰富的经验,这将对未来的职业发展产生积极影响。
在开发老年慢性病药物管理系统的过程中,我们参考了众多相关系统的成功案例,取其精华、去其糟粕,逐步完善了系统功能。然而,该系统仍存在诸多不足,需要我们在后续的学习中不断改进。实践表明,老年慢性病药物管理系统具有广阔的发展前景。经过严格的测试与运行,该系统功能完善、界面美观、操作简便,技术理论上已趋成熟。
- 曹正. 临床药师指导对老年慢性病患者合理用药及依从性的影响分析 [J]. 中国现代药物应用, 2024, 18 (06): 160-163.
- 迟晨汝,周志庆,刘欢,等. 老年慢性病住院患者服药依从性现状及影响因素研究 [J]. 包头医学院学报, 2024, 40 (03): 60-64.
- 李雨晴,张艳,景丽伟,等. 老年慢性病共病病人治疗负担现状和影响因素分析 [J]. 循证护理, 2024, 10 (04): 700-704.
- 文皓,汪世秀,吕静,等. 老年慢性病患者医院-家庭过渡期安全用药管理的研究进展 [J]. 护理学杂志, 2023, 38 (19): 117-121.
- 廖小丽. 药师干预对长期口服药物治疗的老年慢性病患者的管理效果 [J]. 基层医学论坛, 2023, 27 (25): 133-135.
- 刘莎,谢贵阳. 老年慢性病患者药物自我管理行为水平与药物不良事件发生的关系分析 [J]. 中国药物滥用防治杂志, 2023, 29 (06): 974-977.
- 郭姣姣,刘方,张春慧,等. 老年慢性病共病患者参与药物管理体验的现象学研究 [J]. 军事护理, 2023, 40 (03): 19-22.
- 冯书云,陈朋举,王宁,等. 老年慢性病患者合作药物治疗管理模式的探索(英文) [J]. Journal of Chinese Pharmaceutical Sciences, 2022, 31 (11): 866-876.
- 毛佳伊,黄欢欢,周婷婷,等. 智能药物管理系统在老年慢性病患者住院-居家过渡期的应用 [J]. 护理学报, 2022, 29 (21): 74-78.
- 毛佳伊. 智能药物管理系统优化及在老年慢性病患者住院-居家中的应用研究[D]. 重庆医科大学, 2022.
- 王玥坤,宋娟,冷静. 基于药物治疗管理和欧洲药学监护联盟分类系统对老年慢性病患者开展持续性药学监护实践 [J]. 医学研究生学报, 2021, 34 (12): 1298-1303.
- 孙迪,孙家驹. 药师在老年慢病患者药物治疗管理中的作用 [J]. 中医药管理杂志, 2021, 29 (17): 85-86.
- 邹胜泽,罗哲婵. 自我管理教育在临床药物管理中的实践 [J]. 中医药管理杂志, 2020, 28 (08): 123-124.
- 张萍,杨春芸,张丹霞,等. 同伴支持管理对提高老年慢性病患者自我就医与服用药物行为的价值 [J]. 中医药管理杂志, 2019, 27 (18): 143-144.
- 江国粹. 基于高阶思维能力培养的“MySQL数据库技术”课程教学改革研究 [J]. 安徽电子信息职业技术学院学报, 2024, 23 (01): 39-43.
- 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
- 赵彩霞,张栽培,杨璇. 基于Java编程导航学习平台开发设计的研究 [J]. 家电维修, 2024, (03): 62-64
- Zamroni A ,Boer M ,Butet A N , et al. Kinship relationship of Uroteuthis chinensis in the waters of western Kalimantan and northern Java based on morphometric characters and genetic structure [J]. Regional Studies in Marine Science, 2024, 72 103442-.
- 雷欣,马宏琳,郑霖,等. 基于SpringBoot的域名信息系统设计与实现 [J]. 电脑知识与技术, 2024, 20 (05): 44-47.
- Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):
老年慢性病药物管理系统设计与实现工作已结束,虽然过程中充满挑战,但内心充满自豪和满足。感谢大学四年间教导我的所有老师,他们的专业知识与人生智慧让我成长为能独立完成系统的学生。特别感谢指导老师,他耐心解答疑惑,引导我解决问题,提升自主解决能力。室友和同学们的宝贵建议和支持也让我取得长足进步。未来,我将继续努力追求卓越,不辜负所学所悟和老师期望。坚信坚定信念和不懈努力,未来定能取得更辉煌成就。期待更美好未来!
此外,老年慢性病药物管理系统设计与实现不仅是技术挑战,挫折和困难是成长的垫脚石,让我更深入理解问题,精确找到解决方案。每次解决问题,都感到满足和自豪。
对于未来,我充满期待和信心。无论道路多崎岖,只要保持坚定信念,持续努力,定能取得更大成就。期待将知识和技能运用到实际中,为社会做出更大贡献。
最后,感谢所有帮助和支持我的人。你们的教诲、鼓励和支持让我有今天的成就。我会继续努力,不辜负期望,为实现更美好的未来而奋斗。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~