基于Spring Boot智慧医疗信息管理平台
第一章 相关技术介绍
1.1 SpringBoot
Spring Boot是基于Spring框架衍生出来的快速开发框架,它的主要设计思想就是“约定优于配置”,用自动装配的方式大大减少了传统Spring项目中繁琐的XML配置工作量。开发者只需要引入对应启动依赖,框架就会自动完成Bean的注册和组件的初始化,使项目从零开始到具有基本运行能力所用时间大大减少[10]。
本系统中Spring Boot是后端服务的主要运行支撑者。所有的业务接口都是用Spring MVC注解体系对外提供RESTful风格的HTTP端点,控制层、服务层、持久层三层架构的划分依靠Spring容器的依赖注入机制来完成解耦。Spring Security对于多角色身份认证的逻辑做管理和内部异常处理机制给系统统一返回格式,使前后端之间通信稳定[11]。使用Spring Boot内嵌的Tomcat服务器,将项目打包成可执行的JAR文件,部署简单,适合于本类型的小型医疗管理系统工程实践。
1.2 Vue前端框架
Vue是一个面向构建用户界面的渐进式JavaScript框架,它的主要特点就是响应式数据绑定和组件化开发模式。当数据发生变化的时候,视图层就会自动更新,不需要手动去修改DOM,开发效率大大提高。组件化架构把页面分成独立可复用的功能模块,不同的组件模板、逻辑和样式,利于团队合作开发[12]。
Vue单文件组件规范把模板、脚本、样式放在同一个文件里,简化了代码管理的难度。使用Vue Router实现前端路由控制,不同的角色登录之后可以跳转到对应的页面,整个系统呈现出单页应用的流畅交互体验[13]。在本平台上,Vue用来渲染挂号查询、就诊记录展示、费用支付确认、药品信息浏览等各种业务页面,用Axios库和Spring Boot后端接口来完成数据交互,前后端完全分离,接口边界清楚。
1.3 MySQL数据库
MySQL是目前使用最广的关系型数据库管理系统之一,开源免费、跨平台兼容、事务支持稳定等都是它的优点,是Web系统开发中使用的主流关系型数据库管理系统。InnoDB存储引擎有行级锁定和外键约束的实现,可以保证多用户并发操作的时候数据的一致性、完整性[14]。
本系统数据库包含用户账户、普通用户、医生用户、医生信息、挂号信息、就诊记录、住院申请、住院安排、出院信息、费用信息、检查申请、检查报告、药品信息、药品出入库、固定资产、维修记录等主要业务数据表,各个表之间用外键逻辑联系起来形成一个完整的业务数据网络。Spring Boot后端使用MyBatis框架和MySQL建立数据访问通道,SQL语句和Java代码的分离管理方式提高了数据访问层的可维护性[15]。数据库字符集统一设为utf8mb4,可以满足中文内容存储的要求,适合于医疗业务场景中医生信息、诊断结果、药品介绍等大量的中文文本字段的持久化存储。
1.4 B/S
B/S(Browser/Server)模式属于一种基于Web的客户端-服务器模式,它主要思想就是把大部分的计算以及数据处理工作交给服务器端来完成,客户端依靠浏览器同服务器展开交互[16]。B/S模式的实现不需要使用特定的操作系统或者客户端软件,只要用户设备上装有Web浏览器就可以访问到该应用程序。因此B/S模式在跨平台的支持以及部署上都有明显的优势,用户不用下载其他的软件,只需要用浏览器打开就可以使用该应用。
在B/S模式中,客户端的作用比较小,主要是用来显示用户界面以及和服务器进行交互,而所有的业务逻辑、数据存储和处理等工作都是由服务器端来完成的。服务器端一般用Web服务器和应用服务器来处理客户端请求,用数据库系统进行数据存储和管理。B/S模式具有很强的灵活性,可以使得开发者快速开发并部署web应用,而不需要去考虑各个操作系统的平台和硬件平台的兼容性问题[17]。B/S模式也具有易于集中管理、维护的特点,所有的更新、修改都是在服务器端完成的,不需要客户端的操作系统版本号、硬件配置。因此,B/S模式在现代的Web应用、云计算中得到了广泛的使用。
第二章 系统分析
2.1 可行性分析
2.1.1 技术可行性
本系统采用Spring Boot作为后端框架、Vue作为前端技术、MySQL作为数据库,三者均是当前Web应用开发领域技术成熟度较高的主流选型。Spring Boot的自动配置机制降低了开发复杂度,Vue的组件化模式与Spring Boot的RESTful接口规范天然契合,MySQL在中小规模数据场景下具有稳定可靠的事务处理能力。各层技术之间协作清晰,不存在兼容性冲突,整体开发环境搭建便捷,系统从架构层面具备技术实现的稳定基础。
2.1.2 经济可行性
本系统所采用的Spring Boot、Vue、MySQL均为开源技术,无需支付商业授权费用,开发阶段的直接成本主要集中于开发人员的时间投入。系统部署在通用服务器环境下即可正常运行,无需引入高成本的专用硬件设施。后续维护工作依托现有开发人员完成,运维成本可控。整体来看,系统建设的投入结构合理,资源消耗处于中小型信息化项目的正常范围之内,具备经济层面的可行性。
2.1.3 操作可行性
系统前端基于Vue构建,界面布局结构清晰,各功能模块按角色分区展示,操作入口层级不超过三级。普通用户只需完成基本的查询与支付操作,学习成本极低;医生用户的核心操作集中于审核与记录录入,交互流程简洁直观;管理员功能虽较为丰富,但采用统一的列表-详情-操作模式,认知负担有限。不同技术背景的用户均可在较短时间内掌握系统的日常使用方法,操作层面具备良好的可行性。
2.2 功能需求分析
2.2.1 普通用户角色功能需求
普通用户在系统中主要执行个人医疗业务的查询与支付操作。用户登录后可查询自身的挂号记录,进入详情页查看具体预约信息并完成在线支付。就诊记录模块支持历史记录检索与详细内容查看。住院安排、出院信息两个模块提供查询与详细内容浏览功能。费用信息模块支持查询、明细查看及在线支付操作。检查报告模块支持查询与报告文件下载,用户可自行获取电子版检查结果。如图3-1所示。

图3-1普通用户用例图
2.2.2 医生用户角色功能需求
医生用户的操作范围集中于个人信息维护与患者诊疗业务处理。医生信息管理模块支持个人信息查询与修改。挂号信息管理模块允许医生对患者预约申请进行审核操作。就诊记录管理支持添加新诊疗记录与查看历史记录详情。住院申请管理与出院申请管理均支持新增申请与详情查看。检查申请管理与检查报告管理提供详情查阅功能,医生可据此掌握患者的检查状态与报告内容。如图3-2所示。

图3-2医生用户用例图
2.2.3 管理员角色功能需求
管理员承担系统全局数据的维护与审核职责,拥有最高操作权限。医生信息管理支持完整的增删改查操作。挂号信息管理提供批量审核与删除能力。住院安排管理支持新增床位安排与记录删除。费用信息管理与检查报告管理均支持详细查看、批量审核及删除操作。药品信息管理在基础增删改查之外,还集成了入库与出库操作,管理员可直接录入药品数量变动记录。固定资产管理支持设备信息的全量维护,并附带维修记录管理功能。如图3-3所示。

图3-3管理员用例图
2.3 非功能需求分析
2.3.1 可用性需求
系统的可用性要求系统具备高可用性架构,能够在用户高并发的情况下,保持系统的稳定运行。系统应支持快速恢复机制,能够在发生故障时迅速进行自我修复。为了保障用户体验,系统应具备高响应速度和低延迟,能够在短时间内处理用户请求并返回结果。系统应具备负载均衡功能,能够在多个服务器间分配请求,避免单点故障导致系统瘫痪。
2.3.2 可靠性需求
系统的可靠性要求系统能够在长时间运行过程中保持稳定,避免频繁发生故障或中断。系统应具备完善的数据备份与恢复机制,能够在发生硬件故障或其他灾难性事件时,保证数据不丢失,并能够迅速恢复到正常工作状态。系统的各项服务和组件应具有容错性,能够在部分组件失效时,自动切换到备用服务。
2.3.3 安全性需求
系统的安全性要求对用户信息、交易记录及其他敏感数据进行严格保护。系统应采用加密技术对用户传输的数据进行保护,防止数据在传输过程中被窃取或篡改。系统应实施访问控制,用户只能访问其授权的资源,并防止未授权用户访问系统。系统还应具备身份验证功能,防止恶意用户冒用他人身份进行操作。为了防范外部攻击,系统应具备防火墙、入侵检测系统等安全防护措施,保护系统免受网络攻击。
第三章 系统设计
3.1 系统架构设计
本系统采用前后端分离的B/S架构,整体分为用户界面层、应用服务层、数据持久层三个主要层次。用户界面层由Vue框架构建,负责渲染各角色的功能页面,通过Axios发起HTTP请求与后端通信。应用服务层基于Spring Boot运行,内置Tomcat服务器对外提供RESTful接口,Spring MVC负责请求路由分发,业务逻辑在Service层实现,数据访问通过MyBatis框架完成。数据持久层由MySQL数据库承载,存储用户、挂号、就诊、住院、药品、资产等全量业务数据。系统各层职责划分明确,层间通过标准接口协议通信,整体结构具备良好的可维护性与扩展性,能够支撑医疗业务多角色并发访问的日常运行需求。系统架构图如图4-1所示。
图4-1系统架构图
3.2 功能结构设计
本系统面向普通用户、医生用户、管理员三类角色,构建了覆盖医疗业务全流程的功能体系。普通用户的核心功能集中于个人医疗事务的查询与支付,包括挂号信息、就诊记录、住院安排、出院信息、费用信息、检查报告六个模块。医生用户的功能聚焦于诊疗业务处理,涵盖医生信息管理、挂号审核、就诊记录录入、住院申请、出院申请、检查申请、检查报告查阅七个方向。管理员负责系统全局数据的管理与审核,承担医生信息、挂号信息、住院安排、费用信息、检查报告、药品信息、固定资产等七大模块的综合管理职责,三类角色的功能模块共同构成系统的完整业务覆盖范围。该系统功能结构如图4-2所示。
图4-2系统功能结构图
3.3 业务流程设计
3.3.1 挂号预约流程设计
普通用户发起挂号预约申请,系统校验预约信息的完整性,信息不完整则返回填写界面要求补充。信息完整后生成挂号记录,初始状态为"未审核"。医生用户进入挂号信息管理界面对申请进行审核,审核通过后状态更新为"已通过",普通用户随即可查看预约状态并完成在线支付,支付成功后挂号流程结束。挂号预约流程图如图4-3所示。
图4-3挂号预约流程图
3.3.2 就诊记录录入流程设计
医生用户进入就诊记录管理模块,选择新增操作进入录入界面。系统校验就诊信息的必填项,若关键字段缺失则提示补充。校验通过后,医生提交就诊内容与诊断结果,系统将记录保存至数据库。普通用户登录后即可在就诊记录模块查询到该条记录的详细内容,记录查看流程结束。就诊记录录入流程图如图4-4所示。

图4-4就诊记录录入流程图
3.3.3 住院申请审批流程设计
医生用户根据患者就诊情况发起住院申请,填写申请内容与诊断依据后提交,系统生成初始状态为"未审核"的住院申请记录。管理员进入住院安排管理模块查看待处理申请,对申请内容进行评估,若符合条件则分配床位并新增住院安排记录,审核结果更新至申请记录。普通用户可在住院安排模块查看分配结果,整个申请审批流程结束。住院申请审批流程图如图4-5所示。

图4-5住院申请审批流程图
3.3.4 药品出入库流程设计
管理员进入药品信息管理模块,选择入库或出库操作。选择入库时,系统校验药品编号是否存在,不存在则提示先完成药品基础信息录入;校验通过后录入入库数量,系统更新药品库存数量,生成入库记录。选择出库时,系统额外校验当前库存是否充足,库存不足则拒绝出库操作并返回提示;库存充足则扣减数量,生成出库记录,操作流程结束。药品出入库流程图如图4-6所示。

图4-6药品出入库流程图
3.3.5 费用信息支付流程设计
普通用户进入费用信息模块,查看当前待支付的费用记录。用户选择具体费用条目查看详情,确认费用明细后发起支付请求。系统校验支付状态,若已支付则提示无需重复操作;若为未支付状态,则进入支付类型选择环节,用户选择支付方式后提交,系统更新支付状态为"已支付",生成支付凭证,费用支付流程结束。费用信息支付流程图如图4-7所示。

图4-7费用信息支付流程图
3.4 数据库设计
3.4.1 概念模型设计
从设计过程视角出发,数据库概念模型的建立是将现实业务需求转换为信息世界结构化表达的第一步抽象。本系统的业务复杂度体现在多主体、多流程、多状态的交织关系上,需要经历识别关键实体、定义属性集合、确立实体间联系三个核心步骤,才能形成完整的概念模型。实体是对现实世界中具有独立意义的对象的抽象,属性则描述实体的特征集合;实体之间存在一对一、一对多、多对多三类联系,不同联系类型决定了后续关系表的设计策略。在本系统中,用户账户与医生信息之间存在一对一关联,医生信息与挂号信息之间存在一对多关联,普通用户与就诊记录、费用信息等之间同样构成一对多联系,多张业务过程表通过外键逻辑将各主体实体串联为完整的业务数据网络。E-R图作为概念模型的可视化表达工具,能够清晰呈现上述实体、属性与联系的全貌,为后续逻辑模型设计提供精确依据[18]。全局E-R模型如图4-8所示。
图4-8全局E-R图
根据系统分析,系统的主要实体有:用户账户、普通用户、医生用户、医生信息、挂号信息、就诊记录、住院申请、住院安排、费用信息、药品信息,各个实体具体的属性如下图所示。
(1)用户账户实体主要包括用户ID、账户状态、用户组、用户名、密码等属性。如图4-9所示。
图4-9用户账户实体属性图
(2)普通用户实体主要包括普通用户ID、用户姓名、用户年龄、用户性别、审核状态等属性。如图4-10所示。
图4-10普通用户实体属性图
(3)医生用户实体主要包括医生用户ID、医生姓名、医生年龄、医生性别、审核状态等属性。如图4-11所示。
图4-11医生用户实体属性图
(4)医生信息实体主要包括医生信息ID、医生用户、医生姓名、科室类型、挂号费用等属性。如图4-12所示。
图4-12医生信息实体属性图
(5)挂号信息实体主要包括挂号信息ID、医生用户、医生姓名、科室类型、挂号费用等属性。如图4-13所示。
图4-13挂号信息实体属性图
(6)就诊记录实体主要包括就诊记录ID、医生用户、医生姓名、科室类型、普通用户等属性。如图4-14所示。
图4-14就诊记录实体属性图
(7)住院申请实体主要包括住院申请ID、医生用户、医生姓名、科室类型、普通用户等属性。如图4-15所示。
图4-15住院申请实体属性图
(8)住院安排实体主要包括住院安排ID、床位编号、普通用户、用户姓名、医生用户等属性。如图4-16所示。
图4-16住院安排实体属性图
(9)费用信息实体主要包括费用信息ID、床位编号、普通用户、用户姓名、住院费用等属性。如图4-17所示。
图4-17费用信息实体属性图
(10)药品信息实体主要包括药品信息ID、药品编号、药品名称、药品类型、药品数量等属性。如图4-18所示。
图4-18药品信息实体属性图
3.4.2 数据库逻辑设计
数据库逻辑设计是将概念模型转化为可在关系型数据库中实际创建的表结构的过程。依据E-R图所描述的实体与联系,将每个实体映射为独立的数据表,实体的属性对应表的字段,实体间的联系通过外键或冗余字段加以体现[19]。本系统选用MySQL作为数据库引擎,所有核心业务表均采用InnoDB存储引擎,支持行级锁定与事务处理,能够保障多用户并发操作场景下数据的一致性。字段数据类型的选取遵循语义合理原则,字符串类型字段按业务含义设定长度上限,数值型字段区分整型与浮点型,时间字段统一采用datetime或timestamp类型存储。主键字段统一采用自增整型,外键关联逻辑通过业务字段冗余存储实现,降低跨表查询的复杂度,整体表结构设计兼顾业务完整性与查询效率。
(1)用户账户表主要是用来存储系统各角色用户的基础账户信息。主要包括用户ID、账户状态、用户组、用户名等字段。如表4-1所示。
表4-1用户账户表
| 1 | user_id | int | 11 | 主键 |
| 2 | state | int | 11 | 账户状态 |
| 3 | user_group | varchar | 50 | 用户组 |
| 4 | login_time | timestamp | – | 上次登录时间 |
| 5 | phone | varchar | 20 | 手机号码 |
| 6 | username | varchar | 50 | 用户名 |
| 7 | nickname | varchar | 50 | 昵称 |
| 8 | password | varchar | 100 | 密码 |
| 9 | varchar | 100 | 邮箱 | |
| 10 | avatar | varchar | 200 | 头像地址 |
| 11 | create_time | timestamp | – | 创建时间 |
(2)普通用户表主要是用来存储普通用户的基本个人信息。主要包括普通用户ID、用户姓名、用户年龄、审核状态等字段。如表4-2所示。
表4-2普通用户表
| 1 | ordinary_user_id | int | 11 | 主键 |
| 2 | user_name | varchar | 100 | 用户姓名 |
| 3 | user_age | varchar | 50 | 用户年龄 |
| 4 | user_gender | varchar | 50 | 用户性别 |
| 5 | examine_state | varchar | 50 | 审核状态 |
| 6 | user_id | int | 11 | 用户ID |
| 7 | create_time | datetime | – | 创建时间 |
| 8 | update_time | timestamp | – | 更新时间 |
(3)医生用户表主要是用来存储医生用户的基本注册信息。主要包括医生用户ID、医生姓名、医生年龄、审核状态等字段。如表4-3所示。
表4-3医生用户表
| 1 | doctor_user_id | int | 11 | 主键 |
| 2 | doctors_name | varchar | 100 | 医生姓名 |
| 3 | doctors_age | varchar | 50 | 医生年龄 |
| 4 | gender_of_doctor | varchar | 50 | 医生性别 |
| 5 | examine_state | varchar | 50 | 审核状态 |
| 6 | user_id | int | 11 | 用户ID |
| 7 | create_time | datetime | – | 创建时间 |
| 8 | update_time | timestamp | – | 更新时间 |
(4)医生信息表主要是用来存储医生的详细专业信息与排班数据。主要包括医生信息ID、科室类型、挂号费用、擅长领域等字段。如表4-4所示。
表4-4医生信息表
| 1 | doctor_information_id | int | 11 | 主键 |
| 2 | doctor_user | int | 11 | 医生用户 |
| 3 | doctors_name | varchar | 100 | 医生姓名 |
| 4 | department_type | varchar | 100 | 科室类型 |
| 5 | registration_fee | double | – | 挂号费用 |
| 6 | cover_image | varchar | 200 | 封面图片 |
| 7 | areas_of_expertise | varchar | 200 | 擅长领域 |
| 8 | working_time | varchar | 100 | 上班时间 |
| 9 | registration_information_limit_times | int | 11 | 挂号限制次数 |
| 10 | create_time | datetime | – | 创建时间 |
| 11 | update_time | timestamp | – | 更新时间 |
(5)挂号信息表主要是用来记录患者的挂号预约申请及审核支付状态。主要包括挂号信息ID、医生姓名、科室类型、预约时间等字段。如表4-5所示。
表4-5挂号信息表
| 1 | registration_information_id | int | 11 | 主键 |
| 2 | doctor_user | int | 11 | 医生用户 |
| 3 | doctors_name | varchar | 100 | 医生姓名 |
| 4 | department_type | varchar | 100 | 科室类型 |
| 5 | registration_fee | double | – | 挂号费用 |
| 6 | ordinary_user | int | 11 | 普通用户 |
| 7 | user_name | varchar | 100 | 用户姓名 |
| 8 | appointment_time | datetime | – | 预约时间 |
| 9 | examine_state | varchar | 50 | 审核状态 |
| 10 | pay_state | varchar | 50 | 支付状态 |
| 11 | pay_type | varchar | 50 | 支付类型 |
| 12 | create_time | datetime | – | 创建时间 |
(6)就诊记录表主要是用来记录患者每次就诊的诊疗过程与诊断结果。主要包括就诊记录ID、医生姓名、科室类型、就诊内容等字段。如表4-6所示。
表4-6就诊记录表
| 1 | visit_records_id | int | 11 | 主键 |
| 2 | doctor_user | int | 11 | 医生用户 |
| 3 | doctors_name | varchar | 100 | 医生姓名 |
| 4 | department_type | varchar | 100 | 科室类型 |
| 5 | ordinary_user | int | 11 | 普通用户 |
| 6 | user_name | varchar | 100 | 用户姓名 |
| 7 | health_status | varchar | 100 | 健康状态 |
| 8 | visit_time | datetime | – | 就诊时间 |
| 9 | contents | text | 500 | 就诊内容 |
| 10 | diagnostic_results | text | 500 | 诊断结果 |
| 11 | create_time | datetime | – | 创建时间 |
(7)住院申请表主要是用来记录医生为患者提交的住院申请及其审批情况。主要包括住院申请ID、医生姓名、科室类型、申请内容等字段。如表4-7所示。
表4-7住院申请表
| 1 | hospitalization_application_id | int | 11 | 主键 |
| 2 | doctor_user | int | 11 | 医生用户 |
| 3 | doctors_name | varchar | 100 | 医生姓名 |
| 4 | department_type | varchar | 100 | 科室类型 |
| 5 | ordinary_user | int | 11 | 普通用户 |
| 6 | user_name | varchar | 100 | 用户姓名 |
| 7 | application_date | date | – | 申请日期 |
| 8 | application_content | text | 500 | 申请内容 |
| 9 | diagnostic_results | text | 500 | 诊断结果 |
| 10 | examine_state | varchar | 50 | 审核状态 |
| 11 | examine_reply | varchar | 255 | 审核回复 |
| 12 | create_time | datetime | – | 创建时间 |
(8)住院安排表主要是用来记录患者的床位分配与入住管理信息。主要包括住院安排ID、床位编号、用户姓名、医生姓名等字段。如表4-8所示。
表4-8住院安排表
| 1 | hospitalization_arrangements_id | int | 11 | 主键 |
| 2 | bed_number | varchar | 30 | 床位编号 |
| 3 | ordinary_user | int | 11 | 普通用户 |
| 4 | user_name | varchar | 100 | 用户姓名 |
| 5 | doctor_user | int | 11 | 医生用户 |
| 6 | doctors_name | varchar | 100 | 医生姓名 |
| 7 | check_in_time | datetime | – | 入住时间 |
| 8 | check_in_remarks | text | 500 | 入住备注 |
| 9 | create_time | datetime | – | 创建时间 |
| 10 | update_time | timestamp | – | 更新时间 |
(9)费用信息表主要是用来记录住院患者的各类费用明细与支付状态。主要包括费用信息ID、床位编号、住院费用、合计金额等字段。如表4-9所示。
表4-9费用信息表
| 1 | expense_information_id | int | 11 | 主键 |
| 2 | bed_number | varchar | 30 | 床位编号 |
| 3 | ordinary_user | int | 11 | 普通用户 |
| 4 | user_name | varchar | 100 | 用户姓名 |
| 5 | hospitalization_expenses | double | – | 住院费用 |
| 6 | drug_costs | double | – | 药物费用 |
| 7 | other_expenses | double | – | 其他费用 |
| 8 | total_amount | double | – | 合计金额 |
| 9 | expense_date | date | – | 费用日期 |
| 10 | pay_state | varchar | 50 | 支付状态 |
| 11 | pay_type | varchar | 50 | 支付类型 |
| 12 | create_time | datetime | – | 创建时间 |
(10)药品信息表主要是用来存储药品基础档案及库存数量信息。主要包括药品信息ID、药品编号、药品名称、药品类型等字段。如表4-10所示。
表4-10药品信息表
| 1 | drug_information_id | int | 11 | 主键 |
| 2 | drug_no | varchar | 50 | 药品编号 |
| 3 | drug_name | varchar | 100 | 药品名称 |
| 4 | type_of_drug | varchar | 100 | 药品类型 |
| 5 | cover_image | varchar | 200 | 封面图片 |
| 6 | quantity_of_drugs | double | – | 药品数量 |
| 7 | drug_price | double | – | 药品价格 |
| 8 | drug_specifications | varchar | 100 | 药品规格 |
| 9 | create_time | datetime | – | 创建时间 |
| 10 | update_time | timestamp | – | 更新时间 |
第四章 系统实现
4.1 普通用户角色功能实现
4.1.1 挂号信息
挂号信息功能主要是对普通用户的挂号预约记录进行查询与管理。用户进入挂号信息列表页面后,系统从后端加载该用户名下的所有挂号记录并分页展示,用户可通过关键字对列表进行筛选过滤。点击具体记录进入详情页,可查看预约医生、科室、费用、审核状态等完整信息。针对审核已通过且支付状态为未支付的记录,详情页提供支付操作入口,用户选择支付方式后提交,系统更新该记录的支付状态并返回操作结果。挂号信息界面如图5-1所示。
图5-1挂号信息界面
4.1.2 就诊记录
就诊记录功能主要是对普通用户的历史诊疗记录进行查询与详细查阅。用户进入就诊记录模块,系统检索该用户关联的全部就诊记录并展示于列表中,支持按时间范围或其他条件重置筛选。点击任意记录,系统跳转至详情页,呈现就诊时间、接诊医生、科室、就诊内容及诊断结果等完整诊疗信息,用户可据此了解历史病情处理情况。就诊记录界面如图5-2所示。
图5-2就诊记录界面
4.1.3 住院安排
住院安排功能主要是对普通用户的住院床位分配信息进行查询与查看。用户进入住院安排模块,系统加载与该用户关联的住院安排记录列表,支持条件筛选与重置操作。点击记录进入详情页后,系统展示床位编号、入住时间、责任医生、入住备注等安排详情,用户可全面掌握自身住院安置状态。住院安排界面如图5-3所示。
编辑 图5-3住院安排界面
4.1.4 出院信息
出院信息功能主要是对普通用户的出院办理记录进行查询与详细查阅。用户进入出院信息模块,系统检索该用户名下的出院记录并以列表形式展示,支持按条件筛选与重置。进入详情页后,系统呈现床位编号、出院日期、责任医生、出院备注等完整出院信息,用户可核对自身出院的具体安排情况。出院信息界面如图5-4所示。
图5-4出院信息界面
4.1.5 费用信息
费用信息功能主要是对普通用户的住院相关费用记录进行查询、查看明细与在线支付。用户进入费用信息模块,系统加载与该用户关联的费用记录列表,支持条件筛选与重置。点击记录后系统进入详情页,展示住院费用、药物费用、其他费用、合计金额、费用日期等明细内容。针对支付状态为未支付的记录,系统提供支付操作,用户选择支付方式提交后,系统更新支付状态并完成结算。费用信息界面如图5-5所示。
图5-5费用信息界面
4.1.6 检查报告
检查报告功能主要是对普通用户的检查报告记录进行查询与文件下载。用户进入检查报告模块,系统检索关联的报告记录并展示列表,支持条件重置与筛选。查询结果中可见报告所属医生、科室及报告文件信息,用户点击下载操作后,系统返回报告文件的访问地址,用户即可获取电子版检查报告。检查报告界面如图5-6所示。
图5-6检查报告界面
4.2 医生用户角色功能实现
4.2.1 医生信息管理
医生信息管理功能主要是对医生用户自身的专业信息进行查询与修改维护。医生用户进入该模块,系统展示当前账户关联的医生信息详情,包括科室类型、挂号费用、擅长领域、上班时间等专业资料。医生进入修改操作界面后,对相关字段进行更新并提交,系统校验数据格式通过后将修改内容持久化写入数据库,操作完成后列表数据同步刷新。医生信息管理界面如图5-7所示。
图5-7医生信息管理界面
4.2.2 挂号信息管理
挂号信息管理功能主要是对患者提交的挂号预约申请进行查询与审核处理。医生用户进入该模块,系统加载待审核及历史挂号记录列表,支持按条件筛选与重置。点击具体记录进入详情页,医生可查看预约患者信息、预约时间、备注内容,并执行审核操作,审核通过后系统更新挂号状态,患者端随即可进行后续支付操作。挂号信息管理界面如图5-8所示。
图5-8挂号信息管理界面
4.2.3 就诊记录管理
就诊记录管理功能主要是对患者就诊过程信息进行新增录入与历史记录查阅。医生用户进入该模块,系统展示已有就诊记录列表,支持条件筛选与重置。选择新增操作后,医生填写患者信息、就诊时间、健康状态、就诊内容、诊断结果等关键字段并提交,系统完成记录保存并刷新列表。历史记录可通过详情入口查看完整就诊信息。就诊记录管理界面如图5-9所示。
图5-9就诊记录管理界面
4.2.4 住院申请管理
住院申请管理功能主要是对患者住院申请进行创建与状态跟踪。医生用户进入该模块,系统展示已提交的住院申请记录列表,支持查询筛选与重置。选择新增操作后,医生填写科室类型、申请内容、诊断结果等必要信息并提交,系统生成初始状态为"未审核"的申请记录。点击详情可查看申请的当前审批进展及管理员回复内容。住院申请管理界面如图5-10所示。
图5-10住院申请管理界面
4.2.5 出院申请管理
出院申请管理功能主要是对患者出院流程进行申请发起与记录查阅。医生用户进入该模块,系统加载已有出院申请记录列表,支持条件筛选与重置。医生选择新增操作后,填写相关患者信息与出院备注内容并提交,系统完成记录创建。历史申请可通过详情入口查看出院日期、备注等完整信息。出院申请管理界面如图5-11所示。
图5-11出院申请管理界面
4.2.6 检查申请管理
检查申请管理功能主要是对患者检查申请记录进行详情查阅。医生用户进入该模块,系统展示与本医生关联的检查申请记录,医生点击详情后,系统呈现检查日期、检查内容、科室类型、审核状态等完整申请信息,医生可据此掌握患者的检查安排进展。检查申请管理界面如图5-12所示。
图5-12检查申请管理界面
4.2.7 检查报告管理
检查报告管理功能主要是对患者检查报告记录进行详情查阅。医生用户进入该模块,系统展示与本医生关联的报告记录列表,点击详情后呈现报告文件链接、报告备注、科室类型等完整报告信息,医生可全面了解患者的检查结果情况。检查报告管理界面如图5-13所示。
图5-13检查报告管理界面
4.3 管理员角色功能实现
4.3.1 医生信息管理
医生信息管理功能主要是对系统内所有医生的详细专业信息进行全量维护。管理员进入该模块,系统加载全部医生信息列表,支持按姓名、科室等条件查询与重置。管理员可执行新增、修改、删除操作,新增时填写医生姓名、科室类型、挂号费用、擅长领域等完整信息后提交;修改时系统回填原有数据,管理员更新字段并保存;删除操作需确认后执行,系统完成记录清除并刷新列表。医生信息管理界面如图5-14所示。
编辑 图5-14医生信息管理界面
4.3.2 挂号信息管理
挂号信息管理功能主要是对全院挂号预约记录进行查询、审核与删除操作。管理员进入该模块,系统展示所有挂号记录列表,支持多条件筛选与重置。管理员可对单条或多条记录执行批量审核,审核操作完成后系统批量更新对应记录的审核状态。对于无效或错误记录,管理员可执行删除操作,系统完成数据清除后刷新列表。挂号信息管理界面如图5-15所示。
图5-15挂号信息管理界面
4.3.3 住院安排管理
住院安排管理功能主要是对住院床位的分配与管理记录进行维护。管理员进入该模块,系统展示所有住院安排记录,支持条件查询与重置。新增操作时,管理员填写床位编号、患者信息、责任医生及入住时间等关键字段,提交后系统生成安排记录。点击详情可查看完整安排信息,删除操作经确认后执行,系统完成记录清除并刷新列表。住院安排管理界面如图5-16所示。
图5-16住院安排管理界面
4.3.4 费用信息管理
费用信息管理功能主要是对住院患者的费用记录进行查询、详情查看与删除操作。管理员进入该模块,系统加载全部费用记录列表,支持条件筛选与重置。点击详情后,系统展示住院费用、药物费用、其他费用、合计金额及支付状态等完整费用明细。对于需要清除的记录,管理员执行删除操作,系统完成数据移除并刷新列表。费用信息管理界面如图5-17所示。
图5-17费用信息管理界面
4.3.5 检查报告管理
检查报告管理功能主要是对患者检查报告记录进行新增、审核与删除的综合管理。管理员进入该模块,系统展示所有检查报告记录,支持多条件查询与重置。管理员可新增报告记录,填写医生信息、科室类型及报告文件后提交;支持对多条记录执行批量审核,系统批量更新审核状态;对无效记录执行删除操作后,系统完成数据清除并刷新列表。检查报告管理界面如图5-18所示。
图5-18检查报告管理界面
4.3.6 药品信息管理
药品信息管理功能主要是对系统内药品基础档案及库存数量进行全面维护与出入库操作。管理员进入该模块,系统展示全部药品记录,支持按药品名称、类型等条件查询与重置。管理员可查看药品详情、修改基础信息、删除记录。入库操作时,管理员选定药品后填写入库数量提交,系统自动累加至当前库存;出库操作时,系统校验库存是否充足,充足则执行扣减并生成出库记录,不足则拒绝操作。药品信息管理界面如图5-19所示。
图5-19药品信息管理界面
4.3.7 固定资产管理
固定资产管理功能主要是对医疗设备的基础档案信息进行增删改查并跟踪设备维修记录。管理员进入该模块,系统展示全部设备资产列表,支持按设备名称、类型、位置等条件查询与重置。新增操作时填写设备编号、名称、类型、位置、数量、状态等完整字段;修改时系统回填现有数据,管理员更新后保存;删除操作经确认后执行。针对需要维修的设备,管理员触发维修操作,系统生成维修记录并关联对应设备信息。固定资产管理界面如图5-20所示。
图5-20固定资产管理界面
第五章 系统测试
5.1 测试目的
软件测试是保障系统交付质量的关键环节,其核心价值在于通过系统化的验证手段,发现并修正系统在业务逻辑、功能实现与数据处理层面存在的偏差[20]。本系统测试的目标集中于两个维度:其一是业务逻辑与设计规格的拟合度验证,即各角色的功能操作是否能够产生与需求分析阶段规定完全一致的系统响应,挂号审核、住院申请、费用支付等关键业务流程的状态流转是否准确;其二是功能模块闭环验证,即普通用户、医生用户、管理员三类角色的操作权限边界是否清晰,跨角色数据流转链路是否完整,不存在数据孤立或状态不一致的情况。测试工作贯穿系统功能实现的收尾阶段,以发现并消除功能性缺陷为首要目标。
5.2 测试方法
本系统测试采用黑盒测试作为主要方法,测试人员依据功能需求文档设计测试用例,不关注系统内部实现细节,仅通过实际操作验证输入与输出的对应关系是否符合预期。针对挂号预约、支付结算、住院审批等具有完整操作流程的功能模块,采用场景化测试方式,模拟真实用户操作路径逐步验证各节点的系统响应。
针对边界条件与异常输入,设计专项测试用例进行容错校验,例如支付状态重复提交、出库数量超出库存等典型异常场景,验证系统是否能够给出正确的拒绝响应与提示信息。所有测试用例的执行结果均与预期结果进行逐项比对,偏差项记录后反馈至开发阶段进行修正,修正完成后执行回归测试确认问题消除。
5.3 测试用例
挂号信息模块的测试目标是验证挂号预约记录在不同角色操作下的状态流转逻辑是否准确,重点关注审核操作与支付操作的前置条件校验,以及状态更新的数据一致性。如表6-1所示。
表6-1挂号信息测试用例表
| 普通用户查询挂号记录 | 登录普通用户账户,进入挂号信息列表 | 显示该用户名下所有挂号记录 | 符合预期 |
| 医生审核挂号申请 | 医生用户进入挂号信息管理,对待审核记录执行审核通过操作 | 记录状态更新为已通过,患者端可见状态变更 | 符合预期 |
| 普通用户支付挂号费 | 进入审核通过的挂号记录详情,执行支付操作 | 支付状态更新为已支付,操作完成提示返回 | 符合预期 |
| 重复支付拦截校验 | 对已支付记录再次触发支付操作 | 系统提示已完成支付,拒绝重复操作 | 符合预期 |
就诊记录模块的测试目标是验证医生用户录入就诊信息的完整性校验逻辑,以及普通用户在记录创建后能否准确查询到对应的历史就诊数据。如表6-2所示。
表6-2就诊记录测试用例表
| 医生新增就诊记录 | 医生用户进入就诊记录管理,填写完整信息后提交 | 记录保存成功,列表数据刷新 | 符合预期 |
| 必填项缺失校验 | 新增就诊记录时留空诊断结果字段直接提交 | 系统提示必填项不完整,拒绝提交 | 符合预期 |
| 普通用户查询就诊记录 | 普通用户登录后进入就诊记录模块 | 显示与该用户关联的历史就诊记录 | 符合预期 |
住院申请模块的测试目标是验证医生发起住院申请后系统状态的初始化是否正确,以及管理员审批后住院安排数据的关联生成逻辑是否准确。如表6-3所示。
表6-3住院申请测试用例表
| 医生新增住院申请 | 医生用户填写申请内容提交 | 生成状态为未审核的申请记录 | 符合预期 |
| 管理员审核住院申请 | 管理员查看申请记录并执行审核通过 | 申请状态更新为已通过,审核回复写入 | 符合预期 |
| 管理员添加住院安排 | 管理员在住院安排模块新增床位分配记录 | 安排记录创建成功,床位编号唯一性校验通过 | 符合预期 |
药品信息管理模块的测试目标是验证药品入库与出库操作中的数量校验逻辑,以及库存数量在操作执行后能否准确同步更新。如表6-4所示。
表6-4药品信息管理测试用例表
| 药品入库操作 | 管理员选定药品执行入库,填写入库数量提交 | 库存数量增加,入库记录生成 | 符合预期 |
| 药品出库操作 | 管理员选定药品执行出库,填写出库数量提交 | 库存数量减少,出库记录生成 | 符合预期 |
| 出库数量超库存校验 | 填写超出当前库存的出库数量提交 | 系统拒绝操作并返回库存不足提示 | 符合预期 |
费用信息模块的测试目标是验证费用记录的查询权限隔离是否正确,以及支付操作的状态更新与异常拦截是否符合业务规则。如表6-5所示。
表6-5费用信息测试用例表
| 普通用户查询费用明细 | 登录普通用户账户,进入费用信息模块 | 显示与该用户关联的费用记录列表 | 符合预期 |
| 费用在线支付 | 选择未支付记录,执行支付并选择支付方式提交 | 支付状态更新为已支付 | 符合预期 |
| 重复支付拦截 | 对已支付费用记录再次触发支付 | 系统提示已完成支付,拒绝执行 | 符合预期 |
固定资产管理模块的测试目标是验证设备信息的增删改操作是否准确写入数据库,以及维修记录的关联生成逻辑是否完整。如表6-6所示。
表6-6固定资产管理测试用例表
| 管理员新增设备资产 | 填写设备完整信息后提交 | 设备记录创建成功,列表刷新 | 符合预期 |
| 修改设备信息 | 进入设备详情,修改设备状态后保存 | 修改内容持久化,列表数据同步更新 | 符合预期 |
| 删除设备记录 | 选定设备执行删除操作并确认 | 设备记录从数据库移除,列表刷新 | 符合预期 |
| 添加维修记录 | 对指定设备触发维修操作并填写维修详情 | 维修记录生成并关联对应设备信息 | 符合预期 |
检查报告管理模块的测试目标是验证管理员新增报告、批量审核操作的数据准确性,以及普通用户的报告下载功能是否正常响应。如表6-7所示。
表6-7检查报告管理测试用例表
| 管理员新增检查报告 | 填写报告信息及文件路径后提交 | 报告记录创建成功 | 符合预期 |
| 批量审核报告记录 | 勾选多条记录执行批量审核 | 所选记录审核状态批量更新 | 符合预期 |
| 普通用户下载检查报告 | 进入检查报告列表,点击下载操作 | 系统返回报告文件链接,下载成功 | 符合预期 |
| 删除报告记录 | 管理员选定报告执行删除操作 | 记录从系统中移除,列表刷新 | 符合预期 |
测试结论
通过对系统进行全面的功能、性能、安全等方面的测试,确认软件在各种环境下的表现符合预期。若发现问题,已进行相应修复或提出改进建议。测试结果表明,软件基本满足设计要求,性能稳定,未发现重大缺陷,验证了系统的功能性、稳定性和兼容性。
喜欢本项目的朋友可以点赞关注我,私信发【源码】就能免费领取完整项目代码
网硕互联帮助中心






评论前必须登录!
注册