基于Java的医院病历管理系统设计与实现(SpringBoot+Vue)

本文介绍了医院病历管理系统的设计,包括登录模块、管理员和医生/病人管理模块,使用了JAVA的SpringBoot框架和MySQL数据库。系统实现了角色区分的登录功能,管理员有权限管理用户和病历信息。还展示了数据设计、部分功能实现效果及关键代码片段。

💗博主介绍:✌全网粉丝10W+,CSDN全栈领域优质创作者,博客之星、掘金/知乎/华为云/阿里云等平台优质作者。
👇🏻 精彩专栏 推荐订阅👇🏻
计算机毕业设计精品项目案例-200套
🌟文末获取源码+数据库+文档🌟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和学长沟通,希望帮助更多的人

一、前言

在这里插入图片描述
医院病历管理系统是医疗信息化建设中的关键一环,其研究意义在于提高病历管理效率、促进医疗信息化发展、规范病历管理流程、实现信息共享以及满足国家政策要求。该系统通过引入数字化管理手段,实现对病历信息的全面管理,包括病历的书写、存储、查询和共享等。通过病历管理系统,医护人员可以更加便捷地获取患者的病历信息,为临床诊疗提供有力支持;患者也可以方便地获取自己的病历信息,提高就医体验。同时,病历管理系统的实现还可以推动整个医疗行业的信息化进程,提升医疗服务的效率和质量。
医院病历管理系统中采用JAVA语言的SpringBoot框架和MySQL数据库。主要包括管理员、病人和医生三大部分,主要功能是实现对个人中心、病人管理、医生管理、住院信息管理、出院信息管理、病历信息管理、科室管理等功能进行解析,使管理变得方便快捷。相对于管理者而言,本系统可以减少工作人员的工作量,从而提高工作效率。

二、功能设计

1、登录模块设计
医院病历管理系统根据不同的权限可划分为不同的角色,分别是管理员、病人和医生。该系统已存在的用户,在登录系统时需要填写相应的账户信息,登录时应注意输入的账户密码,角色也要在登录时进行选择,登陆成功后会根据不同角色进入相对应的页面。
页面主要包含用户名和密码,都是必填项。如果某项为空并点击登录按钮,会提示请输入为空的项。系统主要分为两个角色进行登录,通过不要通的角色选择输入不同的账号密码,输入正确则登陆成功,如果登录的用户名和角色与数据库内的数据不匹配则报错。
这个模块处理用户的登录请求,请求后会调用特定的方法,通过处理登录信息来实现登录业务。系统会将获取到的请求下发到逻辑层,逻辑层将数据封装成相应对象,然后调用响应层获取结果并将信息返回给页面。
2、管理员管理模块设计
管理员是用户管理模块中权限最高的,管理员可以对用户信息进行操作、可以随意的添加用户信息、可以及时的更新用户信息、也可以直接新增用户和删除用户。
3、医生模块设计
医生功能模块由个人中心、病人管理、住院信息管理、出院信息管理、病历信息管理等功能组成。能对自己的个人信息和密码进行修改,修改前需要先成功登录本系统。
4、病人模块设计
病人功能模块由个人中心、住院信息管理、出院信息管理、病历信息管理等功能组成。能对自己的个人信息和密码进行修改,修改前需要先成功登录本系统。
登录本系统的一共有三种角色,分别是管理员、病人和医生。登录系统后,不同的角色可以对系统进行不同的操作,管理员拥有最大的权限。系统总体结构如图所示。
在这里插入图片描述

系统B/S架构原理图:
在这里插入图片描述

三、数据设计

概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。而且Mysql数据库是自我保护能力比较强的数据库,限于篇幅要求,仅列出关键部分实体属性图和E-R图,如下所述。
病历信息实体属性图如下所示:
在这里插入图片描述

住院信息实体属性图如下所示:
在这里插入图片描述

出院信息实体属性图如下所示:
在这里插入图片描述

四、部分效果展示

系统登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图所示。
在这里插入图片描述

4.1管理员功能实现效果

管理员进入主页面,主要功能包括对系统首页、个人中心、病人管理、医生管理、住院信息管理、出院信息管理、病历信息管理、科室管理等进行操作。管理员主页面如图所示:
在这里插入图片描述

管理员点击病人管理。在病人页面输入病人账号进行查询、新增或删除病人列表,并根据需要对病人详情信息进行详情、修改或删除操作;如图所示:

在这里插入图片描述

管理员点击医生管理。在医生页面输入医生工号、医生姓名、选择科室和职称进行查询、新增或删除医生列表,并根据需要对医生详情信息进行详情、修改或删除操作;如图所示:
在这里插入图片描述

管理员点击住院信息管理。在住院信息页面输入病人姓名和选择出院状态进行查询、新增或删除住院信息列表,并根据需要对住院详情信息进行详情、修改或删除操作;如图所示:
在这里插入图片描述

4.2病人功能实现效果

病人进入系统可以对个人中心、住院信息管理、出院信息管理、病历信息管理等功能进行操作。病人主页面如图所示:
在这里插入图片描述
病人进入病历信息界面,能够根据医生工号、科室来查询自己的病历信息,并可打印以及下载病历信息。病历信息界面如图所示:
在这里插入图片描述

4.3医生功能实现效果

医生进入系统可以对个人中心、病人管理、住院信息管理、出院信息管理、病历信息管理等功能进行操作。医生主页面如图所示:

在这里插入图片描述

医生点击住院信息管理。在住院信息页面输入病人姓名和选择出院状态进行查询、新增或删除住院信息列表,并根据需要对住院详情信息进行详情、出院登记、病历登记、修改或删除操作;如图所示:
在这里插入图片描述

部分功能代码

/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}

最后

💕💕
最新计算机毕业设计选题篇-选题推荐
小程序毕业设计精品项目案例-200套
Java毕业设计精品项目案例-200套
Python毕业设计精品项目案例-200套
大数据毕业设计精品项目案例-200套
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一点毕设

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值