基于python+vue医院病历管理系统flask-django-nodejs-php

随着信息时代的发展,计算机迅速普及,传统的医院病历管理方式显得不够快捷,这时我们就需要创造更加便利的管理方法,对医院病历信息进行统计,便于医院病历信息进行统一管理。将管理方式转变为信息化、智能化显得尤为重要,医院病历管理系统可以在短时间内完成大量的数据处理、帮助用户快速的查找医院病历相关信息,实现的效益更加直观。医院病历管理系统中采用python技术和mysql数据库。主要包括管理员、病人和医生三大部分,主要功能是实现对个人中心、病人管理、医生管理、住院信息管理、出院信息管理、病历信息管理、科室管理等功能进行解析,使管理变得方便快捷。相对于管理者而言,本系统可以减少工作人员的工作量,从而提高工作效率。经过对本系统的全面测试,表明了本系统具有良好的可行性。
语言:Python
框架:django/flask
软件版本:python3.7.7
数据库:mysql 
数据库工具:Navicat
前端框架:vue.js
通过比较两个不同因素的框架,可以看出Flask和Django不能被标记为单一功能中的最佳框架。当Django在快速发展的大型项目中看起来更好并且提供更多功能时,Flask似乎更容易上手。这两个框架对于开发Web应用程序都非常有用,应根据当前的需求和项目的规模来选择它们。
最新python的web框架django/flask都可以开发.基于B/S模式,前端技术:nodejs+vue+Elementui+html+css
,前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点
2.3 MySQL数据库
MySQL是一个多用户、多线程的SQL数据库服务器。MySQL不仅仅能够有效地对数据库的数据进行增、删、改、查,还可以做其他更多的事情[7]。MySQL是关系型数据库操作的基本操作语言,它可以保存实体之间的关系,即存储数据,比如用来存储用户、商品或订单,所以特别适合那些数据库和网站开发背景的工作。
MySQL数据库特点:
(1)保证源代码编译器的可移植性和灵活性。
(2)支持多种操作系统包括AIX、FreeBSD、HP-UX、Linux和Mac OS、Novell‘s Netware、OpenBSD系统、OS/2卷、Solaris、Windows等。
(3)提供不同编程语言的接口,C、C++、Python和PHP、Perl、PHP、Ruby等编程语言。
(4)支持使用CPU资源的多线程。
(5)查询速度快。算法优化了查询语句,可靠地提高了搜索速度。
(6)MySQL语言灵活。作为嵌入式语言能够嵌入到其他语言程序中,它的语法结构基本一致,提供了极大的灵活性和方便性[14]。
(7)高度非过程化。在访问数据库时,没有必要一步一步向计算机发送指令去完成任务,只需要用MySQL语句描述并且命令就可以了,数据库会自动完成全部工作。
2.4 系统运行环境
本系统是一个B/S版的应用程序,需要在服务器上部署MySQL数据库,其他的客户端通过运行程序既可。
(1)硬件平台:
CPU:酷睿i3 -3.0GHZ
运行内存:4G以上
电脑硬盘:128GB
(2)系统运行平台:
操作系统:Windows 7
开发工具:idea
数据库:MySQL目录
第1章 绪 论 5
1.1 研究背景 5
1.2 研究的目的与意义 5
1.3 国内外研究现状 5
第2章 相关技术 7
2.1python技术 7
2.2django框架 7
2.3 MySQL数据库 7
2.4 系统运行环境 8
2.5 本章小结 8
第3章 系统分析 9
3.1 系统需求分析 9
3.2 系统可行性分析 9
3.3 系统流程分析 9
3.4 本章小结 12
第4章 系统设计 13
4.1 系统功能模块设计 13
4.1.1 登录模块设计 13
4.1.2 管理员管理模块设计 13
4.1.3 医生模块设计 13
4.1.4 病人模块设计 13
4.2 系统总体设计 14
4.3 数据库设计 14
4.4 本章小结 19
第5章 系统实现 20
5.1系统登录实现 20
5.2管理员模块实现 20
5.3病人管理实现 22
5.4医生管理实现 23
5.5 本章小结 24
第6章 系统测试 25
6.1 系统测试目的 25
6.2 系统功能测试 25
6.3 系统测试结论 27
6.4 本章小结 27
结 论 28
参考文献 29
致 谢 30

第1章 绪 论
通过对现阶段医院病历管理方式的背景进行研究,阐述研究目的与意义,以及对国内外现状进行研究,经过一系列研究来确定该系统研发的意义与价值,该部分为系统研发的起点。
1.1 研究背景
现在医院病历的管理过于麻烦,管理者需要通过手抄等方式进行记录,大大降低了工作效率[1]。本系统以最大限度的实现了与数据库管理系统软件这间的配合,基本上满足了大部分用户的需求,便于用户。人们对计算机技术的应用相对成熟,发达的计算机技术构成人们走向高科技的桥梁,可以有效的解决和获取信息,实现一套完整的管理系统帮助用户提高工作效率。
1.2 研究的目的与意义
医院病历管理系统实现的目的在于其可以改变传统的医院病历管理方式,通过管理系统可以减少的工作人员的工作量,把时间利用的更加充分。实现更为高效的管理模式,这也是对系统不可缺少的一部分。在用户进入系统的时候,输入关键词快速搜索,节省用户时间,使用户快速查找相应的信息进行处理,从而提高用户心目中的满意度。要想使人们在现代生活环境下得以更好地发展,不仅需要抓住人们的需求、提升针对性,更需要突出自身特色,这样才能吸引用户,留住用户,让项目有更好的前景。从实质上解决医院病历管理困难的问题。
1.3 国内外研究现状
在海外,系统管理发展较快[3]。相对应的探讨和信息系统软件的开发设计和保护也有所增加[4]。伴随着時间的变化,产品研发工作中持续推动,系统软件获得了较大的发展。如今,向着智能化,数字化和信息化的方位快速发展。各大公司都使用了相似的规章制度,推动了公司的迅速发展,获得了较好的经济效益[5]。
在我国目前的管理还不够完善,因受历史环境要素的影响,发展不平衡,对医院病历的管理全部过程中应用电子计算机和网上的领域以及外部状况信息存有很大差别。技术性简易地取代了过去的形式或方式,但根据更科学的方式再次设计方案管理的这一环节中,大家必须舍弃传统的管理方式,尽早更改管理方法,变化管理理念合理操纵,使系统更细腻,控制成本、提升管理效益。
作为信息科学的媒介和关键,计算机的产生和发展对人类社会的兴盛起着关键功效。不论是政府机构或是公共机构,都会根据工作内容选一套优秀的通讯技术和专业的办公设备,使用这些技术和设备迅速地搜集、解决和储存信息,使管理工作变得方便快捷,做到科学合理的管理目标。
总而言之,医院病历管理系统的发展呈持续上升发展趋势,现在传统式的手工制作和半手动式管理方法转变为信息化管理的转变历程中,必须使用和融合全新的信息技术性来完成传统的系统设计方法,确保系统的效果和品质。
 
2.5 本章小结
本章节对医院病历管理系统进行了相关技术的分析与介绍,在结合技术的优点和适应性来选择数据库、服务器和开发环境,基于现有的情况,针对系统的各个模块确定系统的最优设计方案。
 第3章 系统分析
需求分析是研发人员经过调研和分析后准确理解客户需求,确定系统需要具备的功能。然后对系统进行可行性和功能分析,确保符合医院病历管理系统的实现价值,对后续的系统创建有显著的帮助。
3.1 系统需求分析
研发该系统时,需要明确一些数据,主要包括人员信息、医院病历信息等。人员信息包括病人信息、医生信息和管理员信息;医院病历信息主要是住院信息管理、出院信息、病历信息和科室等信息。
系统使用权限分别包括管理员、病人和医生,其中管理员拥有着最大的权限,同时管理员的功能模块也是最多的,管理员可以对系统上所有信息进行管理。用户可以修改个人信息,对医院病历信息进行查询,对住院信息进行添加、修改或删除等;研发该系统要站在医生和病人的角度思考,实现用户需要的全部功能需求,并且使用起来方便快捷,易于操作[7]。
3.2 系统可行性分析
开发一套完整的系统需要花费大量的资源,所以在做系统之前我们要进行充分的可行性分析,从而得到最佳的选择。在做系统的过程中需要大量的人手、资源、材料和工具,同时还要考虑各种情况,要做一些准备工作,以及本系统能否带来同等价值的收益[8]。
经过分析可以确定此系统能够带来收益,此系统由个人开发,使用Apache服务器,MySQL数据库和python技术相结合,所使用的服务器都是免费的,无需花费任何费用,仅需一台可以安装这几款软件的电脑就可以完成整套系统。
此系统任何人都可以使用,哪怕对代码完全不懂,只会电脑的基础操作并且安装这几款软件就可以对本系统进行操作,实现了人员使用方面的自由,不必有过多的限制。
第4章 系统设计
用流程图和图片的方法直观的展示出系统的整体结构和流程的设计思路,并详细阐述出系统功能模块。数据库的构造是使用E-R图画出各个实体之间的关系,并确定各个数据表之间的关系。
4.1 系统功能模块设计
4.1.1 登录模块设计
医院病历管理系统根据不同的权限可划分为不同的角色,分别是管理员、病人和医生。该系统已存在的用户,在登录系统时需要填写相应的账户信息,登录时应注意输入的账户密码,角色也要在登录时进行选择,登陆成功后会根据不同角色进入相对应的页面。
页面主要包含用户名和密码,都是必填项。如果某项为空并点击登录按钮,会提示请输入为空的项[13]。系统主要分为两个角色进行登录,通过不要通的角色选择输入不同的账号密码,输入正确则登陆成功,如果登录的用户名和角色与数据库内的数据不匹配则报错。
这个模块处理用户的登录请求,请求后会调用特定的方法,通过处理登录信息来实现登录业务。系统会将获取到的请求下发到逻辑层,逻辑层将数据封装成相应对象,然后调用响应层获取结果并将信息返回给页面[14]。
4.1.2 管理员管理模块设计
管理员是用户管理模块中权限最高的,管理员可以对用户信息进行操作、可以随意的添加用户信息、可以及时的更新用户信息、也可以直接新增用户和删除用户。
4.1.3 医生模块设计
医生功能模块由个人中心、病人管理、住院信息管理、出院信息管理、病历信息管理等功能组成。能对自己的个人信息和密码进行修改,修改前需要先成功登录本系统。
4.1.4 病人模块设计
病人功能模块由个人中心、住院信息管理、出院信息管理、病历信息管理等功能组成。能对自己的个人信息和密码进行修改,修改前需要先成功登录本系统。

4.2 系统总体设计
能够登录本系统的一共有三种角色,分别是管理员、病人和医生。登录系统后,不同的角色可以对系统进行不同的操作,管理员拥有最大的权限。
 图4-4出院信息实体属性图
医院病历的管理中的数据由多个表组成,每个表都有对应的字段,操作该系统时,使用到的功能需要进行数据存储,这时数据将会在表中相应的字段里更新内容,并进行保存。该管理系统中共包含的表具体如下:
表名4-1:病历信息
字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
binglibianhao varchar 200 病历编号
bingrenzhanghao varchar 200 病人账号
bingrenxingming varchar 200 病人姓名
yishenggonghao varchar 200 医生工号
keshi varchar 200 科室
yishengxingming varchar 200 医生姓名
xianbingshi varchar 200 现病史
jiwangshi varchar 200 既往史
yaominshi varchar 200 药敏史
zhenduan longtext 4294967295 诊断
zhiliaofangan longtext 4294967295 治疗方案
yizhu longtext 4294967295 医嘱
bingliwenjian longtext 4294967295 病历文件
dengjishijian datetime 登记时间

表名4-2:住院信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bingrenzhanghao varchar 200 病人账号
bingrenxingming varchar 200 病人姓名
bingrenshouji varchar 200 病人手机
jiatingzhuzhi varchar 200 家庭住址
xingbie varchar 200 性别
nianling varchar 200 年龄
ruzhushijian datetime 入住时间
ruzhuyuanyin longtext 4294967295 入住原因
yishenggonghao varchar 200 医生工号
yishengxingming varchar 200 医生姓名
lianxidianhua varchar 200 联系电话
chuyuanzhuangtai varchar 200 出院状态
bingfanghao varchar 200 病房号

表名4-3:医生
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yishenggonghao varchar 200 医生工号
mima varchar 200 密码
yishengxingming varchar 200 医生姓名
keshi varchar 200 科室
zhicheng varchar 200 职称
xingbie varchar 200 性别
yiling varchar 200 医龄
lianxidianhua varchar 200 联系电话
touxiang longtext 4294967295 头像

表名4-4:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表名4-5:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP

表名4-6:科室
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
keshi varchar 200 科室

表名4-7:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值

表名4-8:出院信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bingrenzhanghao varchar 200 病人账号
bingrenxingming varchar 200 病人姓名
bingrenshouji varchar 200 病人手机
jiatingzhuzhi varchar 200 家庭住址
xingbie varchar 200 性别
nianling varchar 200 年龄
chuyuanshijian datetime 出院时间
shentiqingkuang longtext 4294967295 身体情况
yishenggonghao varchar 200 医生工号
yishengxingming varchar 200 医生姓名
lianxidianhua varchar 200 联系电话

表名4-9:病人
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bingrenzhanghao varchar 200 病人账号
mima varchar 200 密码
bingrenxingming varchar 200 病人姓名
xingbie varchar 200 性别
nianling varchar 200 年龄
touxiang longtext 4294967295 头像
bingrenshouji varchar 200 病人手机
shenfenzheng varchar 200 身份证
jiatingzhuzhi varchar 200 家庭住址
4.4 本章小结
对系统的结构和流程设计完成后使其有一个框架,再对主要功能模块进行设计,并对功能描述、输入项、输出项和实现方法进行了详细描述。绘制出系统的E-R图,可以更直观地表达实体之间的关系。通过表字段之间的关系对数据库进行设计。系统的详细设计完成后,为下一章的操作做了很好的铺垫。

第5章 系统实现
在医院病历管理系统的生命周期中,经过了系统分析、系统设计等阶段之后,便开始了系统实施阶段。系统的实现主要对管理员、病人和医生功能的实现,通过实现的过程对代码和逻辑进行相应的修改和完善。该模块也是直接面对使用者的,不仅功能要齐全,而且要做到页面美观。
 5.5 本章小结
各个功能模块的实现主要是通过管理员功能、病人功能和医生功能来对系统进行操作。不同的模块来实现医院病历管理中不同的场景,确保符合现实逻辑,满足使用者的全部需求。各功能模块间的数据存储通过数据表之间的关联来实现,确保数据的准确性,满足系统的安全性。

第6章 系统测试
从多个角度进行测试找到系统中存在的问题是本系统首要的测试目的,通过功能测试寻找出系统缺陷并改正,确保系统没有缺陷。在测试过程中证明系统满足客户需求,发现问题和不足及时改正。测试完成之后得出测试结论。
6.1 系统测试目的
在医院病历管理系统的开发周期中,系统测试是必不可少且考验耐心的过程。其重要性在于,它是保证系统质量和牢靠性的最后一道关,也是整个系统开发过程的最后一次检查。
系统测试主要是为了避免用户在使用时发生问题,增强用户体验感,为了不影响用户的使用,我们需要从多角度、多思路去考虑系统可能遇到的问题,通过不同的模拟场景来发现缺陷并解决问题。在测试的过程中也可以了解到该系统的质量情况,系统功能是否健全,系统逻辑是否顺畅。一个合格的系统测试过程完成后将大大提升系统质量和使用感。测试的目标是验证系统是否符合需求规格说明书的定义,并找出与需求规格说明书不符合或与之冲突的内容。测试过程中一定站在用户的角度考虑问题,避免一些不切实际的场景,浪费测试时间,从而可能会引起问题导致预期结果与实际结果不符。
6.2 系统功能测试
对系统功能模块进行测试,通过点击、输入边界值和必填项非必填项的验证等方法进行一系列的黑盒测试。通过编写测试用例,根据测试用例中的内容进行测试,最后得出测试结论。
登录功能测试方案:当需要登入该系统时,通过用户名,密码等功能点进行验证,用户在输入时需要输入与数据库内存储的数据匹配的内容,当其中某项输入错误时系统将提示输入错误。此界面对角色权限也有相应的校验,当用户角色的账号选择管理员角色登录时,也会报错。登录功能测试用例如表6-1所示。

表6-1 登录管理测试用例
编号 输入数据 预期结果 实际结果 结果分析
01 用户名:****
密码:**** 登入系统 成功登入系统 和估算结果一样
02 用户名:****
密码:**** 密码错误 密码错误,请重新输入密码 和估算结果一样
03 用户名:****
密码:**** 信息错误 信息错误 和估算结果一样
04 用户名:空
密码:**** 用户名必须填写 请输入用户名 和估算结果一样
05 用户名:****
密码:空 密码错误 密码错误,请重新输入密码 和估算结果一样

用户管理测试方案:用户管理主要是对用户账号进行操作,可以更新账号内的用户信息,也可对账号进行增加和删除操作。添加用户时,必填项不填,检验系统是否有非空检验;添加已有的用户信息,检验是否提示用户信息已被录入;删除用户信息,检验系统是否再次确认此操作;更改用户信息时,更改后的信息会重新展示在页面上。用户管理测试用例如表6-2所示。

表6-2 用户管理测试用例
编号 输入数据 预期结果 实际结果 结果分析
01 填入用户基本信息 添加成功,在用户列表中显示 该用户出现在在列表中 和估算结果一样
02 修改用户信息 编辑成功,修改信息成功被修改 用户信息被修改 和估算结果一样
03 选中删除用户 系统询问是否删除用户,确认后用户被删除 系统询问是否删除用户,确认后查找不到用户信息 和估算结果一样
04 添加用户时不填用户姓名 提示姓名不能为空 提示姓名不能为空 和估算结果一样
05 填入已有用户信息 添加失败,提示用户已存在 添加失败,提示用户已存在 和估算结果一样

病历管理功能测试方案:病历管理主要有添加、编辑和删除功能。添加病历信息时,必填项不填,检验系统是否有非空检验;添加已有的病历信息,检验是否提示病历已存在;删除病历信息,检验系统是否再次确认删除病历;修改病历信息,检验修改后的病历信息是否可以展示出来。病历管理测试用例如表6-4所示。

表6-4 病历信息管理测试用例
编号 输入数据 预期结果 实际结果 结果分析
01 点击添加病历信息,填写病历信息 病历信息添加在病历信息列表 病历信息列表出现刚添加的病历信息 和估算结果一样
02 点击编辑病历信息,修改病历信息 病历信息修改成功 病历信息修改成功 和估算结果一样
03 选择病历信息,点击删除 系统询问是否删除该病历信息,确认后病历信息被删除 系统询问是否删除该病历信息,确认后病历信息被删除 和估算结果一样
04 新增病历信息时填入已有病历信息名 提示病历信息已存在,添加失败 提示病历信息已存在,添加失败 和估算结果一样
05 添加病历信息时,病历信息名不填 提示病历信息名不能为空,添加失败 提示病历信息名不能为空,添加失败 和估算结果一样

6.3 系统测试结论
本系统主要使用黑盒测试,通过模拟用户使用系统实现各个功能编写测试用例,并进行测试。以确保系统流程的正确性。系统测试必不可少,可以使系统更加完善,该系统的可使用性也会更高。
测试该系统主要为了验证系统的功能模块是否满足我们最初的设计理念,验证各个功能模块逻辑是否正确,此系统不需要过于复杂的逻辑处理,以便于使用者操作。测试的最终目的也是围绕着用户使用展开。测试过程中所有场景都应符合用户需求,不可偏离需求目标,遇到问题时要站在用户的角度进行思考。经过一系列的测试过程后得到最终的测试结果,从测试结果可以看出,实现的系统在功能和性能方面满足设计要求。
6.4 本章小结
阐述测试的目的后并对系统进行功能测试。通过测试系统,找出问题,然后纠正并修改系统并得到测试结论。由此产生的系统是一个完整和独立的系统,可以独立工作并实现所有预先设计的功能。从测试结果可以看出,实现的系统在功能和性能方面满足设计要求。

结 论
系统开发的过程中,应用了B/S结构技术。在代码执行方面,主要是SQL的速度,采用了MYSQL数据库在表结构的设计中增加了索引和主键,也设计了表与表之间的主外键关系,使表结构的设计能够和SQL语句在执行过程中有更快的速度来确保页面响应的及时性。通过运用以上技术手段,使系统的性能得到了大幅度的提升,上述章节也对这些技术进行了具体的描述,但是本系统还是有一些不足之处,后续仍要不断地进行迭代更新,以符合市场需求,避免被市场淘汰。
该项目不仅完成了任务书中的所有要求,还增加了其他功能,以确保系统更加完整。实现了解放劳动力的需求,使管理医院病历信息更加方便,实现信息化管理,对医院病历信息一目了然,用户可以在网上了解医院病历信息。将来争取做到其他医院病历也可以使用该系统。
致 谢
感谢学校这四年来对我的栽培,感谢老师对我的帮助,通过老师的帮助,我梳理清楚了设计结构,熟悉的掌握了每个模块所需要完成的功能,并且老师还给我提供了不同的设计理念以及其他不可或缺的功能,让我的项目更加的完善,向真正有用的管理系统靠近,更主要的是让我的设计思维跳出所学知识的框架限制,有了更深刻的设计思维。同时,我还要感谢给予我帮助的各位同学们。他们帮我在开发过程中解决了很多问题,从不嫌我烦。感谢同学、老师在我开发设计过程中对我提出的问题的耐心解答。老师就像是我人生中一道指路明灯,给我指引方向,带着我走进这个新世纪,让我看到了这个崭新的设计思路,我的项目将会迎来一次飞跃,让我知道这个世界并非只有我一个设计者,还有许多与我相似的设计者,我们都将拥有自己的作品,也拥有自己的未来。

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值