springboot医疗问诊系统-课设毕设附源码92299
随着人工智能技术的快速发展和医疗资源供需矛盾日益突出,传统问诊模式存在效率低、流程繁琐、基层服务能力不足等问题,因此本课题设计并实现了一套“基于人工智能技术的医疗问诊系统”,旨在提升医疗服务的智能化、便捷化与可及性。系统采用Spring Boot + Vue前后端分离架构,结合MySQL数据库,并集成自然语言处理、语音识别与图像识别等AI能力,构建安全、高效、可扩展的智慧医疗平台。系统包含三大功能模块:普通用户端支持注册登录、AI智能问答、医生信息查询、挂号问诊提交、健康档案管理及处方评价等;医生端提供挂号问诊管理、电子处方开具、病例文档建档等功能;管理员端则实现用户管理、数据统计、药品库存预警、资讯公告维护等系统运维能力。通过该系统,有效优化了就诊流程,提升了医患沟通效率与医疗资源调度水平,为推动“互联网+医疗健康”发展提供了可行的技术实践方案。
关键字:医疗问诊系统;AI智能问答;医生信息;挂号问诊
With the rapid development of artificial intelligence technology and the increasingly prominent contradiction between supply and demand of medical resources, the traditional consultation mode has problems such as low efficiency, cumbersome processes, and insufficient grassroots service capabilities. Therefore, this project designs and implements a "medical consultation system based on artificial intelligence technology" aimed at improving the intelligence, convenience, and accessibility of medical services. The system adopts a Spring Boot+Vue front-end and back-end separation architecture, combined with MySQL database, and integrates AI capabilities such as natural language processing, speech recognition, and image recognition to build a secure, efficient, and scalable smart healthcare platform. The system includes three major functional modules: ordinary user side supports registration and login, AI intelligent Q&A, doctor information query, registration and consultation submission, health record management, and prescription evaluation; The doctor side provides functions such as registration and consultation management, electronic prescription issuance, and case document filing; The administrator end implements system operation and maintenance capabilities such as user management, data statistics, drug inventory warning, and information announcement maintenance. Through this system, the medical treatment process has been effectively optimized, the efficiency of doctor-patient communication and the level of medical resource scheduling have been improved, and a feasible technical practice scheme has been provided to promote the development of "Internet plus medical health".
Key words:Medical consultation system; AI intelligent question answering; Doctor information; Registered consultation
目录
随着我国人口老龄化加剧、慢性病发病率上升以及公众健康意识不断增强,医疗服务需求持续快速增长。然而传统医疗体系长期面临优质资源分布不均、基层诊疗能力薄弱、挂号难、候诊时间长等问题,导致患者就医体验差、医生工作负担重、医疗效率低下。
与此同时人工智能技术在自然语言处理、语音识别、图像理解等方向取得显著突破,已逐步应用于症状分析、健康问答和智能分诊等医疗场景。结合成熟的Web开发技术(如Spring Boot + Vue前后端分离架构)与云服务基础设施,为构建一个支持文本、语音、图片等多模态输入的医疗问诊系统提供了可靠的技术基础。
本课题所构建的医疗问诊系统,对不同用户群体具有明确的应用价值。对普通用户而言,系统通过AI智能问答与医生信息展示,帮助其快速获取初步健康建议、精准了解医生专长,减少盲目挂号,提升就医效率与体验。对医生用户而言,系统将患者提交的问诊信息、健康档案集中呈现,并在开具电子处方后自动提示建立病例文档,有效减轻文书负担,使其更专注于诊疗本身,提高工作规范性与效率。对管理员而言,系统提供患者问诊、医生预约、患者评价及药品库存等核心数据的可视化统计,以及用户、内容和基础信息的统一管理能力,便于全面掌握平台运行状况,及时优化资源配置,保障系统安全稳定运行。整体而言,该系统通过智能化与信息化手段,实现了医患高效对接与服务流程闭环,为“互联网+医疗”场景提供了实用可行的技术方案。
近年来,随着人工智能与医疗深度融合,我国在智能医疗问诊系统领域的研究取得了显著进展。众多学者围绕智能预问诊、AI辅助诊断和患者管理等方向展开了深入探索。例如,樊爱青等人(2025)研究了人工智能辅助诊疗系统在全科门诊中的应用效果,结果表明该系统能显著提升医生问诊效率并改善患者就医体验,尤其在常见病初筛和慢性病管理方面表现出良好的临床价值[1]。王淑(2025)基于SERVQUAL服务质量模型对互联网医疗智能预问诊系统的运行机制进行分析,指出系统在响应性、可靠性与移情性方面仍有优化空间,强调需结合用户需求持续改进交互设计[2]。
在技术实现层面,国内研究普遍采用Spring Boot作为后端开发框架,结合Vue.js构建前后端分离的现代化Web应用架构。阚文(2022)和王曼维等(2022)均提出基于Spring Boot的智慧医疗问诊系统设计方案,实现了模块化服务部署与高效接口通信,提升了系统的可维护性与扩展性[3~4]。徐震阳等人(2023)进一步提出多端融合的医疗健康平台架构,支持患者、医生与管理员三端协同工作,体现了系统集成化的发展趋势[5]。此外,张小亮等(2022)开发了基于AI的门诊导诊系统,通过自然语言处理技术实现症状识别与科室推荐,为智能导诊功能提供了实践参考[6]。
与此同时,患者对AI问诊的接受度也成为研究热点。黄玉莹等人(2025)通过实证研究发现,感知有用性、易用性和信任程度是影响患者采纳AI问诊的关键因素[7];操心怡(2023)在其硕士论文中进一步验证了服务质量与用户满意度之间的正向关系[8]。这些研究不仅揭示了技术推广中的社会心理障碍,也为系统设计提供了“以用户为中心”的优化方向。总体来看,国内研究已从单一功能实现转向系统性架构设计与用户体验优化并重的发展阶段。
国际上,人工智能在医疗问诊领域的应用更加注重模型创新与知识融合,尤其在自然语言理解、知识图谱增强与生成式AI方面处于领先地位。Nie J 等人(2025)提出了一种基于检索增强生成(Retrieval-Augmented Generation, RAG)的医疗问答系统,通过结合结构化医学知识库与大语言模型,有效提升了回答的准确性与可解释性[9]。Pan T 等(2025)则构建了多任务知识图谱增强的神经外科问答模型,在复杂专科领域实现了精准答案生成,展示了知识图谱在专业医疗场景中的强大支撑能力[10]。
在算法层面,强化学习与深度学习被广泛应用于提升AI诊断的智能化水平。Zou X 等(2024)开发并验证了一种基于强化学习的AI诊断辅助算法,能够在动态交互中不断优化问诊路径,模拟真实医生的决策过程,显著提高了诊断建议的个性化程度[11]。马睿(2024)在其研究中也探讨了深度强化学习在智能问诊中的应用潜力,提出了一种状态-动作空间建模方法,用于引导AI完成从症状采集到初步诊断的全过程[12]。此外,Reichenpfader D 等(2024)利用大型语言模型对现有医疗问答系统进行自动评估,提出了一套基于语义一致性与医学正确性的评价体系,为系统性能测试提供了新思路[13]。
国内外研究普遍表明,智能医疗问诊系统的发展正朝着智能化、集成化和用户中心化方向演进。无论是国内对系统实用性和服务流程的优化,还是国外在AI模型与知识融合上的深入探索,都体现出提升问诊效率、减轻医生负担、改善患者体验的共同目标。在此趋势下,本系统旨在结合成熟的技术架构与实际医疗场景需求,构建一个基于人工智能的高效问诊平台。重点解决传统问诊中信息采集不规范、候诊时间长、医疗资源紧张等问题,通过AI预问诊、智能导诊、自动生成病历等功能,提升基层医疗服务效率,推动人工智能技术在医疗领域的落地应用。
本论文共分为七个主要章节,具体结构如下:
1. 绪论:介绍研究背景与意义,回顾国内外研究现状,并概述论文的组织结构。
2. 相关技术介绍:详细介绍与本研究相关的技术,包括Java语言、B/S框架、SpringBoot框架和Mysql数据库。
3. 需求分析:对系统的功能需求和非功能需求进行分析,明确用户和管理员的需求,并进行可行性分析,包括技术、操作和经济可行性。
4. 系统设计:涵盖系统架构设计、总体流程设计和功能设计,并进行数据库的概念设计与表设计。
5. 系统实现:具体描述各个功能模块的实现过程,展示系统如何根据需求进行开发。
6. 系统测试:阐述测试的目的、方法和内容,分析测试结果并得出结论,以验证系统的稳定性和功能完整性。
7. 总结:总结研究的主要成果和贡献,指出存在的不足及未来的研究方向。
Java语言是一种广泛使用的高级编程语言,具有平台无关性、面向对象特性和丰富的标准库。Java通过Java虚拟机(JVM)实现跨平台运行,开发者可以编写一次代码,在任何支持JVM的环境中执行。Java的面向对象特性使得代码复用和模块化变得更加容易,促进了软件的维护和扩展。Java支持多线程编程,允许开发者在同一程序中同时执行多个任务,提升了应用程序的性能。
Java语言的语法结构简洁且易于理解,吸引了大量开发者。Java的标准库包含数据结构、输入输出处理、网络编程等众多功能模块。这使得开发者在构建应用程序时能够高效利用已有工具,减少重复劳动。Java广泛应用于企业级应用、移动应用、Web开发和大数据处理等领域。
2.2 B/S框架
B/S(Browser/Server)架构是一种基于浏览器和服务器的系统架构模式,用户通过浏览器与服务器进行交互。B/S架构简化了客户端的部署和管理,用户无需在本地安装复杂的软件,只需使用标准浏览器即可访问应用程序。服务器端负责处理业务逻辑和数据存储,客户端则主要负责展示用户界面和数据交互。B/S架构的设计使得系统更新和维护集中在服务器端,降低了维护成本。
B/S架构通常采用Web技术进行实现,包括HTML、CSS和JavaScript等。用户在浏览器中发起请求,服务器响应并返回数据。数据传输通常通过HTTP或HTTPS协议进行,B/S架构的灵活性使其适用于在线购物、信息管理系统和社交网络等各类应用场景。由于其易于扩展性,B/S架构可以方便地支持大规模用户访问,适应不断变化的业务需求。
2.3 SpringBoot框架
SpringBoot框架是基于Spring框架的开源项目,简化Java应用程序的开发过程。SpringBoot通过约定优于配置的理念,减少了传统Spring应用的繁琐配置,开发者可以快速搭建和部署应用程序。框架提供了一系列默认配置,支持自动化配置,简化了应用启动的复杂性。SpringBoot内置了嵌入式Web服务器,使得开发者能够独立运行Java应用,无需外部容器。
SpringBoot支持微服务架构,开发者可以轻松创建和管理多个微服务。框架集成了丰富的功能模块,包括安全、数据访问和消息中间件等,支持RESTful API和JSON数据格式的处理。SpringBoot还提供了强大的监控和管理功能,允许开发者实时监控应用的健康状态和性能指标。借助SpringBoot,开发者能够高效构建和维护现代企业级应用,满足复杂业务需求。
2.4 Mysql数据库
MySQL是一种流行的开源关系型数据库管理系统,用于存储和管理数据。在医疗问诊系统中,MySQL可以用于数据存储、数据查询和数据管理等方面,用户可以免费使用和修改源代码,为平台提供可靠和高性能的数据库支持。MySQL支持多种存储引擎,如InnoDB和MyISAM,可以根据不同的应用场景选择合适的存储引擎,提高性能;提供了多种数据安全机制,如用户权限管理、数据加密和备份恢复等,保证数据的安全性。
UML(统一建模语言)用例图是需求分析阶段常用的工具,通过直观的图形方式表示系统的功能需求和参与者。每个用例图包含一系列用例,即系统能够执行的特定功能,以及与之交互的参与者。本文将对系统按照角色模块进行需求分析。
普通用户用例图如图3-1所示。

图3-1 普通用户用例图
系统前台普通用户功能需求,首先提供注册登录功能,游客可以通过系统的注册功能创建个人账号,注册成功后可登录首页界面,首页将展示清晰的系统导航与信息内容,另外提供AI智能问答(症状咨询、挂号咨询等),支持文本、语音输入和图片上传,结合语音识别、图像识别等,实现对症状的智能理解与多模态交互,提供精准的健康咨询与初步建议。可以查看通知公告和新闻资讯,可以对资讯内容进行点赞、收藏和评论操作,也可删除自己的评论信息;查看医生信息列表,可按医生姓名、科室名称进行搜索,点击图片可查看详情,可对医生信息进行点赞、收藏和评论操作,可以点击页面的“问诊”按钮,填写状况,提交挂号问诊;在个人中心模块,普通用户可以添加和管理健康档案,查看自己提交的挂号问诊详情,在处方开具可以查看自己的电子处方,并提供评价功能,提交后可以在患者评价查看历史评价;点击点赞记录和评论管理中可查看自己点赞过、评价过的内容,可点击跳转至原文,也可进行删除操作。在我的账户,可以修改个人资料和密码。
医生用户用例图如图3-2所示。

图3-2 医生用户用例图
系统后台医生用户功能需求,可以通过系统的注册功能创建医生用户账号,注册成功后可根据账户密码登录系统后台,在后台首页界面提供关键功能的快捷窗口和日程管理模块;可以查看普通用户提交的健康档案;可以查看自己的医生信息;可以查看自己名下的挂号问诊详情,并进行处方开具和建立病例文档;可以查看管理自己提交的处方开具和病例文档;查看患者评价;并提供药品库存的查看和药品库存预警功能;在个人信息中可修改更新个人资料,可以修改密码等。
管理员用例图如图3-3所示。

图3-3 管理员用例图
系统后台管理员功能需求,管理员可以输入专属的用户名和密码,验证身份后安全地进入后台管理系统;管理员后台首页集成了患者问诊统计、医生预约统计、患者评价统计和药品库存统计四大核心数据模块,全面展示就诊热度、资源分配、服务质量和药品储备情况,页面还设有关键功能的快捷入口和日程管理模块,支持一键跳转和灵活添加日程事项;可以对系统用户进行增删改查操作,包含管理员、普通用户和医生用户;在健康档案管理模块,管理员可以查看和管理所有用户的健康档案;可以对科室类型进行增删改查操作;在医生信息管理中,可以查看所有的医生信息列表、详情和评论,删除不要的内容,也可以根据需求进行医生信息的添加;管理员可以查看、管理普通用户提交的挂号问诊信息;在处方开具和病例文档管理中,管理员可以查看、管理医生用户提交的有关患者的电子处方和病例文档;在药品库存管理中,提供库存预警功能,管理员可以查看、管理药品库存列表及详情,并可进行药品库存的添加;管理员在系统管理中可对首页的轮播图进行管理,包含添加、删除等操作;管理员可对系统的通知公告进行增删改查操作;并可对系统的新闻资讯和资讯分类进行增删改查操作;在个人信息中可修改更新个人资料,可以修改密码等。
1. 可用性
系统应具备高可用性,用户在任何时间都能顺畅访问。系统的正常运行时间应达到99.9%以上,用户不会因系统故障而影响操作体验。用户界面设计应简洁明了,降低操作复杂性。
2. 可靠性
系统需要具备高可靠性,在故障发生时能够快速恢复。数据应定期备份,在意外情况下不丢失。系统应具备故障检测机制,自动识别并处理潜在问题。
3. 安全性
系统应实现严格的安全控制,保护用户数据的隐私和完整性。用户信息应加密存储,传输过程中的数据也需采用加密协议,防止数据泄露。系统应具备权限管理功能,不同用户只能访问相应的数据和功能。
4. 可扩展性
系统设计应具备良好的可扩展性,模块化设计使得新功能可以方便地集成,系统能够支持更高的用户负载而无需重构基础架构。
5. 性能
系统的响应时间应控制在合理范围内,通常不超过2秒。
平台采用成熟且广泛应用的技术栈。后端开发使用Java语言和Spring Boot框架,这些技术在Web应用开发中具有良好的稳定性和扩展性。前端利用Vue.js框架,为用户提供直观、流畅的界面体验。数据管理方面,MySQL数据库支持高效的数据存储和复杂查询,确保数据的完整性和一致性。同时,B/S体系结构使得系统部署和维护更加简便,用户无需安装任何客户端,只需通过浏览器即可访问平台。
系统界面简洁友好,操作流程简单,用户无需复杂培训即可上手。系统功能模块化设计操作简便,便于用户快速完成操作。且系统支持多角色协同操作,管理员和用户登录系统后均可根据权限进行相应操作,有效提升管理效率和用户体验。
项目开发成本控制良好,主要得益于使用了开源的技术栈,如Java、Spring Boot、MySQL和Vue.js。这些技术的使用减少了软件许可费用,降低了开发和维护成本。此外,系统设计灵活,可随着需求的增长逐步扩展功能和容量,避免了初期过高的资本投入。
系统采用SpringBoot 框架开发,该系统分为VIEW层、Controller层、Model层、DAO层和持久化数据存储层,VIEW层支持电脑浏览器访问系统。VIEW 层与 Controller 层紧密结合并系协同工作,共同完成前台页面的数据展示;Controller层为控制层,通过接收前端请求的参数进行业务处理,返回指定的路径或数据;Model层主要是服务层,用于业务逻辑处理;DAO 和持久化层,主要用于访问数据库和持久化数据。整个系统架构如图4-1所示。

图4-1 系统架构图
用户访问系统,可以选择进行注册或登录操作。注册成功后,可以使用注册的用户名登录系统。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。如图4-2所示。

图4-2操作流程图
4.2.2用户登录流程
用户输入用户名和密码后,系统先检查输入是否为空,再验证用户名是否存在,若存在则通过用户名获取密码并校验。若密码正确则登录成功,否则提示密码错误。若用户名不存在或无法登录,提示用户操作无效。如图4-3所示。

图4-3登录流程图
未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括账号、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。如图4-4所示。

图4-4注册流程图
系统功能结构图如图4-5所示。

图4-5系统功能结构图
在进行数据库设计时,概念设计帮助明确系统的整体结构和需求。在这一阶段,需要确定实体、属性以及它们之间的关系,为后续的数据库表设计奠定基础。接下来,将深入探讨数据库表设计的具体细节,实现更高效的数据存储和管理。
系统全局E-R图如图4-6所示。

图4-6系统E-R图
这一阶段的重点是将概念模型转换为实际的数据库结构,包括表的创建、字段的定义及数据类型的选择。每个实体通常对应于数据库中的一张表,而实体的属性则转化为表的列。以下是系统的数据库表设计展示。
表 4-1-case_documentation(病例文档)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
appointment_date |
date |
否 |
否 |
预约日期 |
|
|
2 |
case_documentation_id |
int |
是 |
是 |
病例文档ID |
|
|
3 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
4 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
5 |
department |
varchar |
64 |
否 |
否 |
所属科室 |
|
6 |
doctor_user |
int |
否 |
否 |
医生用户 |
|
|
7 |
doctors_job_number |
varchar |
64 |
否 |
否 |
医生工号 |
|
8 |
doctors_name |
varchar |
64 |
否 |
否 |
医生姓名 |
|
9 |
file_date |
date |
否 |
否 |
档案日期 |
|
|
10 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
11 |
patient_profile |
text |
65535 |
否 |
否 |
患者简介 |
|
12 |
prescription_content |
text |
65535 |
否 |
否 |
处方内容 |
|
13 |
recovery |
varchar |
64 |
否 |
否 |
恢复情况 |
|
14 |
source_id |
int |
否 |
否 |
来源ID |
|
|
15 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
16 |
source_user_id |
int |
否 |
否 |
来源用户 |
|
|
17 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
18 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
表 4-2-department_type(科室类型)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
2 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
3 |
department_type |
varchar |
64 |
否 |
否 |
科室类型 |
|
4 |
department_type_id |
int |
是 |
是 |
科室类型ID |
|
|
5 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-3-doctor_information(医生信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
collect_len |
int |
是 |
否 |
收藏数 |
|
|
2 |
comment_len |
int |
是 |
否 |
评论数 |
|
|
3 |
cover_image |
varchar |
255 |
否 |
否 |
封面图片 |
|
4 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
5 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
6 |
department |
varchar |
64 |
否 |
否 |
所属科室 |
|
7 |
doctor_information_id |
int |
是 |
是 |
医生信息ID |
|
|
8 |
doctor_profile |
longtext |
4294967295 |
否 |
否 |
医生简介 |
|
9 |
doctor_user |
int |
否 |
否 |
医生用户 |
|
|
10 |
doctors_job_number |
varchar |
64 |
否 |
否 |
医生工号 |
|
11 |
doctors_name |
varchar |
64 |
否 |
否 |
医生姓名 |
|
12 |
doctors_phone |
varchar |
64 |
否 |
否 |
医生电话 |
|
13 |
hits |
int |
是 |
否 |
点击数 |
|
|
14 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
15 |
recommend |
int |
是 |
否 |
智能推荐 |
|
|
16 |
registered_inquiry_limit_times |
int |
是 |
否 |
问诊 限制次数 |
|
|
17 |
type_of_doctor |
varchar |
64 |
否 |
否 |
医生类型 |
|
18 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
19 |
work_experience |
varchar |
64 |
否 |
否 |
工作经验 |
表 4-4-doctor_user(医生用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
2 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
3 |
doctor_user_id |
int |
是 |
是 |
医生用户ID |
|
|
4 |
doctors_job_number |
varchar |
64 |
是 |
是 |
医生工号 |
|
5 |
doctors_name |
varchar |
64 |
否 |
否 |
医生姓名 |
|
6 |
doctors_phone |
varchar |
64 |
否 |
否 |
医生电话 |
|
7 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
8 |
gender_of_doctor |
varchar |
64 |
否 |
否 |
医生性别 |
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
10 |
user_id |
int |
是 |
否 |
用户ID |
表 4-5-drug_inventory(药品库存)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
2 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
3 |
drug_introduction |
text |
65535 |
否 |
否 |
药品简介 |
|
4 |
drug_inventory_id |
int |
是 |
是 |
药品库存ID |
|
|
5 |
drug_name |
varchar |
64 |
否 |
否 |
药品名称 |
|
6 |
inventory_quantity |
double |
否 |
否 |
库存数量 |
|
|
7 |
pictures_of_medicines |
varchar |
255 |
否 |
否 |
药品图片 |
|
8 |
quality_guarantee_date |
date |
否 |
否 |
保质日期 |
|
|
9 |
receipt_date |
date |
否 |
否 |
入库日期 |
|
|
10 |
type_of_drug |
varchar |
64 |
否 |
否 |
药品类型 |
|
11 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-6-health_archives(健康档案)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
allergy_drugs |
varchar |
64 |
否 |
否 |
过敏药物 |
|
2 |
contact_information |
varchar |
64 |
否 |
否 |
联系方式 |
|
3 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
4 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
5 |
family_history |
varchar |
64 |
否 |
否 |
家族病史 |
|
6 |
health_archives_id |
int |
是 |
是 |
健康档案ID |
|
|
7 |
number_of_visits |
double |
否 |
否 |
问诊次数 |
|
|
8 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
10 |
user_gender |
varchar |
64 |
否 |
否 |
用户性别 |
|
11 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
表 4-7-ordinary_user(普通用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
contact_information |
varchar |
64 |
否 |
否 |
联系方式 |
|
2 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
3 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
4 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
5 |
ordinary_user_id |
int |
是 |
是 |
普通用户ID |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
7 |
user_gender |
varchar |
64 |
否 |
否 |
用户性别 |
|
8 |
user_id |
int |
是 |
否 |
用户ID |
|
|
9 |
user_name |
varchar |
64 |
是 |
是 |
用户姓名 |
表 4-8-patient_evaluation(患者评价)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
appointment_date |
date |
否 |
否 |
预约日期 |
|
|
2 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
3 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
4 |
degree_of_satisfaction |
varchar |
64 |
否 |
否 |
满意程度 |
|
5 |
department |
varchar |
64 |
否 |
否 |
所属科室 |
|
6 |
doctor_user |
int |
否 |
否 |
医生用户 |
|
|
7 |
doctors_job_number |
varchar |
64 |
否 |
否 |
医生工号 |
|
8 |
doctors_name |
varchar |
64 |
否 |
否 |
医生姓名 |
|
9 |
evaluation_content |
text |
65535 |
否 |
否 |
评价内容 |
|
10 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
11 |
patient_evaluation_id |
int |
是 |
是 |
患者评价ID |
|
|
12 |
source_id |
int |
否 |
否 |
来源ID |
|
|
13 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
14 |
source_user_id |
int |
否 |
否 |
来源用户 |
|
|
15 |
type_of_doctor |
varchar |
64 |
否 |
否 |
医生类型 |
|
16 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
17 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
表 4-9-prescribing(处方开具)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
appointment_date |
date |
否 |
否 |
预约日期 |
|
|
2 |
case_documentation_limit_times |
int |
是 |
否 |
建档限制次数 |
|
|
3 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
4 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
5 |
department |
varchar |
64 |
否 |
否 |
所属科室 |
|
6 |
doctor_user |
int |
否 |
否 |
医生用户 |
|
|
7 |
doctors_job_number |
varchar |
64 |
否 |
否 |
医生工号 |
|
8 |
doctors_name |
varchar |
64 |
否 |
否 |
医生姓名 |
|
9 |
doctors_phone |
varchar |
64 |
否 |
否 |
医生电话 |
|
10 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
11 |
patient_evaluation_limit_times |
int |
是 |
否 |
评价限制次数 |
|
|
12 |
precautions |
text |
65535 |
否 |
否 |
注意事项 |
|
13 |
prescribing_id |
int |
是 |
是 |
处方开具ID |
|
|
14 |
prescription_content |
text |
65535 |
否 |
否 |
处方内容 |
|
15 |
source_id |
int |
否 |
否 |
来源ID |
|
|
16 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
17 |
source_user_id |
int |
否 |
否 |
来源用户 |
|
|
18 |
type_of_doctor |
varchar |
64 |
否 |
否 |
医生类型 |
|
19 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
20 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
表 4-10-registered_inquiry(挂号问诊)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
appointment_date |
date |
否 |
否 |
预约日期 |
|
|
2 |
condition_description |
text |
65535 |
否 |
否 |
状况描述 |
|
3 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
4 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
5 |
department |
varchar |
64 |
否 |
否 |
所属科室 |
|
6 |
doctor_user |
int |
否 |
否 |
医生用户 |
|
|
7 |
doctors_job_number |
varchar |
64 |
否 |
否 |
医生工号 |
|
8 |
doctors_name |
varchar |
64 |
否 |
否 |
医生姓名 |
|
9 |
doctors_phone |
varchar |
64 |
否 |
否 |
医生电话 |
|
10 |
number_of_appointments |
varchar |
64 |
否 |
否 |
预约次数 |
|
11 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
12 |
prescribing_limit_times |
int |
是 |
否 |
处方限制次数 |
|
|
13 |
registered_inquiry_id |
int |
是 |
是 |
挂号问诊ID |
|
|
14 |
source_id |
int |
否 |
否 |
来源ID |
|
|
15 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
16 |
source_user_id |
int |
否 |
否 |
来源用户 |
|
|
17 |
type_of_doctor |
varchar |
64 |
否 |
否 |
医生类型 |
|
18 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
19 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
游客可以在医疗问诊系统界面中点击注册按钮,对应输入账号、密码、昵称、邮箱、身份、用户姓名、性别等信息进行提交,填写资料由系统验证,验证成功后,表明创建账户成功,用户才可以凭账户和密码进行登录使用该系统。注册界面如图5-1所示。

图5-1 注册界面
普通用户根据用户名和密码可登录系统前台首页界面,首页提供清晰的系统导航和便捷的智能服务入口。页面顶部设有全局搜索框,支持快速查找医生、资讯等内容。页面侧边集成智能客服聊天头像,点击可弹出聊天窗口,支持文本输入与AI问答,实现症状咨询、科室推荐等智能导诊功能。整体布局简洁直观,提升用户就医咨询的便捷性与交互体验。首页界面如图5-2所示。

图5-2 首页界面
普通用户可在“医生信息”页面可浏览系统内所有医生的信息,支持按姓名或科室进行精准搜索,每位医生以卡片形式展示头像、姓名、工号、=所属科室、工作年限、医生类型及简介等基本信息;点击卡片或头像进入详情页后,可查看更完整的专业背景、临床经验与患者评价,并支持点赞、收藏和评论互动,同时提供“问诊”按钮,用户可直接填写状况描述提交挂号问诊,实现从信息查询到在线预约的一站式就医服务。医生信息界面如图5-3所示。

图5-3医生信息界面
医生信息详情界面如图5-4所示。

图5-4医生信息详情界面
挂号问诊提交界面如图5-5所示。

图5-5挂号问诊提交界面
普通用户点击“个人中心”即可进入个人首页,页面集成日程提醒模块,用户可选择日期并填写内容添加日程;每次进入个人首页时,系统会自动弹窗提醒当日或即将到期的日程事项。用户可在“健康档案”中查看和管理已有档案,也可新增档案,其中“问诊次数”将根据用户的预约行为自动累加。在“问诊挂号”模块中,可查看自己提交的所有挂号记录及详情;在“处方开具”中,可查阅电子处方及用药注意事项,并对医生服务或用药体验进行评价反馈。此外,“点赞记录”和“评论管理”分别用于查看和管理用户点赞或评论过的内容,支持点击跳转至原文,也可删除相关操作记录。例如,个人首页界面如图5-6所示。

图5-6 个人首页界面
健康档案界面如图5-7所示。

图5-7健康档案界面
患者评价界面如图5-8所示。

图5-8患者评价界面
医生用户可通过系统提供的注册入口填写工号、姓名、所属科室等专业信息完成账号创建,注册后可使用个人账号和密码登录医疗问诊系统后台,进行权限内的操作。登录界面如图5-9所示。

图5-9登录界面
医生用户可以通过注册功能创建个人账号,注册成功后可根据账号密码登录系统后台,可以查看用户的健康档案和自己的医生信息,在挂号问诊管理模块,可以查看自己名下的挂号问诊列表及详情,点击“处方”按钮,填写处方内容和注意事项,提交处方信息。开具处方后页面会出现“建档”按钮,医生需要给患者建立档案,记录用户的问诊详情和康复状况。挂号问诊管理界面如图5-10所示。

图5-10挂号问诊管理界面
处方开具界面如图5-11所示。

图5-11处方开具界面
建档界面如图5-12所示。

图5-12建档界面
管理员登录后进入后台首页界面,其集成了患者问诊统计、医生预约统计、患者评价统计和药品库存统计四大核心数据模块,全面展示就诊热度、资源分配、服务质量和药品储备情况。页面还设有关键功能的快捷入口,如健康档案管理、科室类型管理、医生信息管理和挂号问诊管理等,便于用户一键跳转,提升操作效率。此外系统内置日程管理模块,支持灵活添加、编辑日程事项,并提供定时提醒功能,帮助管理人员高效安排随访、检查等重要事务,实现工作流程的有序协同与智能提醒。后台首页界面如图5-13所示。

图5-13后台首页界面
在系统用户模块下,管理员可以管理系统上所有用户,包含管理员、医生用户和普通用户。管理员可以进行用户的增、删、改、查操作,包括设置权限、修改用户信息、状态等。系统用户界面如图5-14所示。

图5-14系统用户界面
医生信息管理模块用于维护系统中医生的基本信息,支持管理员查看、添加和编辑医生资料。在“医生信息列表”页面,管理员可对所有医生信息进行查询,支持按姓名或科室筛选,并提供详情查看和患者评价查阅功能。管理员还可通过“医生信息添加”页面录入医生用户账号、工号、封面图片及医生简介等,并在文本框内填写医生简介,确认无误则可提交发布医生信息。医生信息列表界面如图5-15所示。

图5-15 医生信息列表界面
医生信息添加界面如图5-16所示。

图5-16医生信息添加界面
药品库存管理模块用于对药品信息的统一维护与监控,支持查看药品名称、类型、库存数量、有效期限及简介等信息,并可进行药品库存的添加与编辑操作。系统具备智能预警功能,当库存低于设定阈值(如大于0且小于5)时,自动提醒管理员及时补货,确保临床用药供应安全。通过此功能,管理员可快速浏览、查询和处理异常库存,实现药品全生命周期的高效、规范管理。药品库存列表界面如图5-17所示。

图5-17药品库存列表界面
管理员可以在资源管理中对新闻资讯进行管理,包括查看、添加和删除资讯内容。还可以对资讯分类进行管理,包括增删改查操作,确保平台内容的及时更新。资源管理界面如图5-18所示。

图5-18资源管理界面
在软件开发生命周期中,系统测试占据着举足轻重的地位。通过进行全面而系统的测试,可以验证系统是否满足设计需求,发现并修复潜在的问题,提高系统的可靠性和安全性,从而确保系统功能的正确性、稳定性和用户体验的满意度。测试的意义在于保障系统的质量,为用户提供稳定、高效的服务,同时也有助于提升医疗服务的整体水平和效率。
图6-1就是纠错测试流程。

图6-1测试与纠错信息流程
系统测试旨在检验系统功能是否正常工作。通过功能测试用例的执行,可以有效评估系统功能的正确性、完整性和稳定性,帮助发现和解决潜在的功能缺陷,确保系统能够按照预期功能正常运行。
具体测试设计如下表所示:
表6-1 医生信息浏览功能测试用例
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
医生信息浏览功能测试 |
1. 打开医生信息浏览页面。 |
页面正常加载,显示医生信息列表。 |
与预期结果一致。 |
|
医生信息浏览功能测试 |
2. 选择筛选条件 |
页面显示符合条件的医生信息列表。 |
与预期结果一致。 |
|
医生信息浏览功能测试 |
3. 点击搜索按钮。 |
页面显示跟搜索条件相符的医生信息列表。 |
与预期结果一致。 |
表6-2 添加医生信息添加功能测试用例
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
添加医生信息功能测试 |
1. 打开医生信息管理页面,选择医生信息添加。 |
页面正常加载,显示信息填写表单。 |
与预期结果一致。 |
|
添加医生信息功能测试 |
2. 填写医生基本信息 |
信息成功输入并保存。 |
与预期结果一致。 |
|
添加医生信息功能测试 |
3. 上传医生照片。 |
照片成功上传并显示预览。 |
与预期结果一致。 |
|
添加医生信息功能测试 |
4. 点击提交按钮。 |
页面提示信息提交成功,并显示在系统前台。 |
与预期结果一致。 |
表6-3处方开具功能测试用例
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
处方开具功能测试 |
1. 打开处方开具页面。 |
页面正常加载,显示处方开具列表。 |
与预期结果一致。 |
|
处方开具功能测试 |
2. 选择处方开具详情。 |
页面跳转至处方开具详情页,显示医生用户、普通用户、所属科室、预约日期、处方内容和注意事项等信息。 |
与预期结果一致。 |
表6-4 系统用户功能测试用例
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
系统用户功能测试 |
1. 打开系统用户页面。 |
页面正常加载,显示用户列表及操作选项。 |
与预期结果一致。 |
|
系统用户功能测试 |
2. 选择目标用户。 |
目标用户信息成功加载到编辑界面。 |
与预期结果一致。 |
|
系统用户功能测试 |
3. 删除用户账号。 |
用户账号信息被成功删除。 |
与预期结果一致。 |
在本章节对基于人工智能技术的医疗问诊系统进行了黑白盒测试,并对系统中的部分功能进行了用例分析,能够发现系统还是比较稳定的,系统的所有功能基本可以实现,通过测试可以看出在系统的运行过程中,其功能完整,对于输入的错误信息,能够把错误信息提示出来,方便用户操作的时候发现自己输入的信息哪里有错误,进而进行改正,而且系统界面都设有导航栏,操作非常便捷,不需要对使用者进行任何培训。
本课题围绕“基于人工智能技术的医疗问诊系统的设计与实现”,完成了从需求调研、系统设计、数据库建模到前后端开发与功能测试的完整流程。系统采用Spring Boot + Vue前后端分离架构,以MySQL作为数据存储支撑,集成自然语言处理、语音识别等AI能力,构建了一个面向普通用户、医生和管理员三类角色的医疗问诊系统。系统实现了AI智能问答、医生信息查询、挂号问诊、健康档案管理、电子处方开具、结构化病例文档生成以及后台数据统计与内容管理等核心功能。测试结果表明,系统运行稳定、响应及时、界面友好,能够有效辅助患者初步分诊、提升医生诊疗效率,并为管理员提供全面的运营监管视图,验证了人工智能在轻量化医疗问诊场景中的落地可行性。
展望未来,系统仍有多个方向可进一步优化与拓展。比如,在AI能力方面,可引入更先进的大语言模型或医学专用模型,提升对复杂症状、多病共存情况的理解与推理准确性,增强健康建议的专业性与个性化水平;可开发移动端小程序或App,提升用户访问便捷性,扩大服务覆盖范围。长远来看,该系统不仅为智慧医疗提供了可复用的技术框架,也为AI赋能基层健康服务、缓解医疗资源紧张问题积累了有益实践经验。
参考文献
[1]樊爱青,王洪兴,李小攀,等. 人工智能辅助诊疗系统在全科门诊中的应用效果[J].中华全科医学,2025,23(09):1535-1538.
[2]王淑. 基于SERVQUAL模型的互联网医疗智能预问诊系统运行研究[J].中国卫生质量管理,2025,32(07):69-73.
[3]阚文. 基于Spring Boot框架的智慧医疗问诊系统的设计与实现[J].信息与电脑(理论版),2022,34(21):33-36.
[4]王曼维,杨荻,李岩,等. 基于SpringBoot框架的智慧医疗问诊系统设计与实现[J].中国医学装备,2022,19(03):133-136.
[5]徐震阳,王博,蒋效伟,等. 多端融合的医疗健康平台设计与实现[J].现代信息科技,2023,7(01):115-118.
[6]张小亮,景慎旗,戴作雷,等. 基于人工智能的门诊患者导诊系统建设[J].中国卫生信息管理杂志,2022,19(03):443-446.
[7]黄玉莹,黄钊方,姜劲. 患者人工智能问诊采纳意愿影响因素研究[J].医学信息学杂志,2025,46(06):17-23.
[8]操心怡.人工智能问诊用户采纳意愿影响因素实证研究[D].中南大学,2023.
[9]Nie J ,Liu X ,Tu Y , et al. Design and Implementation of a Medical Question Answering System Based on Retrieval-Augmented Generation[J].International Journal of Biology and Life Sciences,2025,11(3):1-6.DOI:10.54097/4XQM5C93.
[10]Pan T ,Shen J ,Xu M . Enhancing the performance of neurosurgery medical question-answering systems using a multi-task knowledge graph-augmented answer generation model[J].Frontiers in Neuroscience,2025,191606038-1606038.
[11]Zou X ,He W ,Huang Y , et al. AI-Driven Diagnostic Assistance in Medical Inquiry: Reinforcement Learning Algorithm Development and Validation.[J].Journal of medical Internet research,2024,26e54616.
[12]马睿.基于深度强化学习的智能医疗问诊系统方法研究[D].广东工业大学,2024.
[13]Reichenpfader D ,Rösslhuemer P ,Denecke K . Large Language Model-Based Evaluation of Medical Question Answering Systems: Algorithm Development and Case Study.[J].Studies in health technology and informatics,2024,31322-27.
[14]孟伟.“AI+医疗”还有很长的路要走[N].法治周末,2025-04-03(005).
[15]赵媛. 基于Vue的Web系统前端性能优化分析[J].电脑编程技巧与维护,2024,(09):44-46.
[16]刘卓佳.基于知识融合的医疗问诊对话技术研究[D].华中师范大学,2024.
[17]张鑫垚.面向移动智慧医疗的问诊数据智能处理及实现技术[D].华北电力大学(北京),2024.
[18]魏少康.融合深度学习与区块链的医疗问诊推荐系统[D].西安电子科技大学,2023.
[19]王志亮,纪松波. 基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
[20]姬昕哲.医疗问诊服务信息可视化设计研究[D].吉林艺术学院,2022.
本论文的完成离不开导师、同学以及亲友的支持与帮助。在此要向我的导师表示最诚挚的感谢。在整个研究和写作过程中,导师以严谨治学的态度和丰富的专业知识给予了我无私的指导,从论文选题到最终定稿的每一个环节,都为我提供了宝贵的建议与意见,使我得以不断完善研究内容、拓展学术视野。导师耐心细致的指导不仅帮助我解决了许多学术难题,也让我在研究能力与学术写作方面得到了显著的提升。导师的鼓励与支持是我完成这篇论文的重要动力,也让我深刻体会到学术研究的严谨性与意义。
我还要感谢在学习生活中给予我帮助和支持的同学、朋友以及家人。论文撰写过程中,许多同学与我共同探讨问题,分享经验与资料,使我的研究更加全面深入。朋友们的关心和陪伴让我在繁忙的研究过程中能够调节心情,保持良好的状态。特别感谢我的家人,他们始终给予我无条件的理解和支持,为我创造了安心学习与研究的环境。正是因为有了大家的帮助和支持,我才能克服论文写作中的重重困难并顺利完成。再次向所有支持和帮助过我的人表达衷心的感谢。
免费领取项目源码+数据库,请关注❥点赞收藏并私信博主
更多推荐



所有评论(0)