资源描述
医院预约挂号系统设计与实现
—科室查询与修改
摘 要:医院预约挂号系统是一个基于的JAVA和Android应用系统,它是一个面对当前的医院门诊管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于Internet的一个信息自动化的系统。医院只需具备访问Internet的条件即可在系统发布的站点上进行医疗门诊的管理。在图型化的人机界面中完成日常的医疗门诊管理工作,一方面摆脱了时间和空间的限制,另一方面有效的解决的数据共享的问题。
关键词: 医院预约挂号系统;JAVA;Android
Abstract:Hospital appointment register system is a java-based application system. It is an Internet-based automated information system that solves the outpatient medical management of the basic work is still in the manual and semi-automated processing of information. The hospital only need visit the Internet can use the system for the release site medical clinic management. In the pattern of the man-machine interface to complete daily medical outpatient service management work, on the one hand, out of time and space constraints, on the other hand effectively solve the problem of data sharing.
Key words:Hospital appointment register system; JAVA; Android
1 绪论
1.1 项目来源和背景
医院预约挂号系统主要是指医院利用网站、手机等渠道方便患者预约看病所用系统。医院提供预约挂号系统对于方便群众就医、提高医疗服务水平具有重大意义。同时医院施行预约挂号服务,有利于患者进行就医咨询,提前安排就医计划,减少候诊时间,也有利于医院提升管理水平,提高工作效率和医疗质量,降低医疗安全风险。
预约挂号服务不仅没有方便病人就诊、提升医院管理水平,相反,还为许多病人和医院工作者所反感。我们希望我们的医院预约挂号系统能为现在的医疗问题尽出自己的一份力。
1.2 研究动机与目的
医院预约挂号管理系统是每一个医疗机构管理平常挂号业务流程不可或缺的一个管理信息系统,它的存在解决了病人挂号难、看病难等问题,所以医院预约挂号管理系统应该能够为每一个需要看病的患者提供充足的信息和快捷的查询手段,大大的方便了求医困难的广大人民群众。
因此,开发这样一套医院预约挂号管理软件成为很有必要的事情,对于我们这些即将毕业的计算机专业学生来说,也是一次将专业知识应用于现实的很有意义的实践活动。
1.3 数据库系统简介
本系统采用MYSQL建立数据库,然后建立数据源的链接,并且生成医院预约挂号管理的数据库应用程序从而实现数据库的管理功能。
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。【1】使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。
2 可行性研究与应用需求分析
2.1 可行性研究
2.1.1 技术可行性
通过在学校的学习,积累了一定的知识与经验,在拥有的配置不低的开发工具与硬件与软件方面的资源,满足了本系统的要求。虽然开发人的技术水平不高,但是通过网上插好资料与借阅学校的图书资源自主学习ASP.NET,SQL Server 2005等基本课程,以及导师和同学的帮助,在规定的期限内能够基本完成本系统所需的开发任务。
2.1.2 经济可行性
开发人在同学的帮助下在私人笔记本上安装并且完善了所需要的开发工具和环境,大大降低了开发经费。本系统不需要专门培训系统操作人员,大大减少了投入的成本,避免了人员与金钱、时间的浪费。
2.1.3 使用可行性
本系统主要从操作方式能否被广大人民所接受使用的角度考虑。开发人尽量的简化操作步骤,开发出便捷的操作方法与美化友好的操作界面使用户能尽快上手,功能符合医生与患者的需求。【2】管理员只需定期维护后台,并且具备SQL的使用能力即可。
2.1.4 社会可行性
本系统是通过大量的调查研究,根据医院预约挂号的实际工作流程开发研制的。
综上所述,本系统从技术、经济、使用、社会上看都是完全可靠的。
2.2 需求分析
2.2.1 面向的用户群
1)求医的人群:只要有一台联网的电脑,需要求医的患者通过登录网址进入网页,注册成为用户,用户可以通过查询医生或者科室找到医生资料,选择医生进行预约挂号,还可以修改密码,查找预约信息和个人资料。
2)系统管理员:管理员可以对自己的信息进行修改,还可以添加别的管理员。管理员不仅可以对医生信息进行编辑,还可以管理病人的资料以及通过身份证号查询病人是否存在。
2.2.2 主要的模块功能分析
本系统主要实现的功能及其特点分析:
第一:医院预约挂号管理系统需要各种数据的应用,需要各种数据的管理,包括各种基本表的建立,包括医生信息表,预约挂号表,病人信息表,管理员信息表,以及各个表间的连接等等。
第二:每个系统都需要管理员进行管理,设置用户,这里将设置一个用户管理模块,实现对用户的管理。所有权负责人有权对预约信息管理员和预约人进行添加、修改和删除,以及查看用户的资料等。
第三:为了提供医生资料的详细信息,专门有功能提供医生资料的输入及管理。
第四:病人资料的录入方便了系统对病人相关资料的管理
第五:为了方便医生的查找,病人可以通过输入医生姓名或者所需要预约挂号的科室查找所求的医生,并且选择日期进行预约。
第六:管理员根据医生的工作时间,设置病人可以预约到医生的时间段,病人必须在改时间段内选择预约医生的日期。
3 数据库设计
3.1 功能描述
1.预约挂号
实现患者从网上直接预约挂号。预约的时候需要填写患者的姓名、身份证号、电话以及简单的病情症状。
2.预约查询
患者可以从次功能输入自己的身份证号,查询自己的预约信息。
3取消预约
患者查询到自己的预约信息后,可以从次功能对先前的预约进行取消操作。【4】
4.登录
管理员以及专家用户可以从登录功能模块进行登录。
5.整理专家信息
管理员登录以后可以对用户进行添加、删除和修改,实现对用户的管理。
6.调配专家
管理员登录后通过次模块可以查看患者预约信息,并对患者预约的专家进行调配。
7.专家查询
专家用户登录以后可以查询预约自己的患者信息。通过查询患者信息,可以对工作有一个合理的安排与准备。
3.2 数据描述
3.2.1 数据流图
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。【3】医院网络预约挂号系统中需要处理的信息有登录信息,专家信息以及患者预约信息,根据数据信息的流向画出本系统的数据流图。
1. 顶层数据流图
医院预约挂号系统顶层数据流图如图3.2.1.1所示。
反馈信息
预约信息
预约
系统
登录信息
患者
管理员
预约信息
登录信息
反馈信息
专家
图3.2.1.1 顶层数据流图
3.3 E-R图
医院网络预约挂号系统是针对医院管理员,医院专家和患者的系统。所以,在本系统中有患者、系统管理员、医院专家三个实体。患者在预约的时候必须填写相关的预约信息,即患者姓名、身份证号、联系方式、预约时间、预约的专家以及患者简单病情症状,这些都是“患者”实体的属性。系统管理员有自己的登录用户名和密码,还可以修改自己的密码,这些是“管理员”实体的属性。专家为了能让在网上预约的患者清晰的了解自己,所以系统里有专家的姓名、电话、科室、编号、特长、可以预约的人数,已经预约的人数,专家进系统查询预约患者信息时还需要登录系统,所以专家还有登录系统所需要的用户名和密码,这些是“专家”实体的属性。“患者”、“管理员”、“专家”三个实体的属性图如下所示。
患者及其属性,如图3.4.1所示:患者
联系方式
病历
姓名
身份证号
预约专家
预约时间
图3.4.1 “患者”实体及其属性图
管理员及其属性,如图3.4.2所示:
管理员
用户名
修改密码
密码
图3.4.2 “管理员”实体及其属性图
专家及其属性,如图3.4.3所示:
密码
用户名
编号
电话
专家
可预约人数
科室
姓名
当前预约人数
特长
图3.4.3 “专家”实体及其属性图
分析得出系统中实体属性后,每个实体之间都有一定的联系,“管理员”实体与“专家”实体之间的关系为管理员管理专家,“管理员”与“患者”实体之间的关系是管理员管理患者的预约信息,“专家”与“患者”两实体之间的关系为专家对患者进行诊治。所以得出的医院预约挂号系统E-R图如图3.4所示。
管理员
专家
患者
管理
管理
诊治
N
1
N
M
M
N
图3.4 医院预约挂号系统E-R图
图4-1 E-R图
真实姓名
真实姓名
3.5 主要数据库表设计
数据库上的完整性的约束条件一般有两类:
1)属性值的约束
这类约束是对属性取值的类型、范围、精度等的限制,和属性的语义有关。
2)数据之间联系的约束
这类约束反映了数据之间存在的联系,在关系数据模型中指多个属性或多个元组之间联系的约束。【5】比如,属性之间的函数依赖、多值依赖。在许多数据模型中都是表明了数据之间的某些依赖关系的,或者是隐式的或者是显式的。
以下列举部分数据表:
1.管理员表tb_user
表3.5.1 管理员表tb_user
字段名
数据类型
长度
主键否
描述
id
int
4
是
管理员编号
username
varchar(50)
50
管理员名称
userpwd
varchar(50)
50
登录密码
usertype
varchar(50)
50
评论日期
2.预约表yuyue
表3.5.2 预约表yuyue
字段名
数据类型
长度
主键否
描述
id
int
4
是
预约编号
sid
varchar(50)
50
病人编号
did
varchar(50)
50
医生编号
varchar(50)
50
3.病人表sick
表3.5.3 病人表sick
字段名
数据类型
长度
主键否
描述
id
varchar(50)
50
是
昵称
password
varchar(50)
50
登录密码
rename
varchar(50)
50
真实姓名
age
varchar(50)
50
年龄
sex
varchar(50)
50
性别
zz
varchar(50)
50
症状
Sid
varchar(50)
50
身份证号
4.医生表doctor
表3.5.4 医生表doctor
字段名
数据类型
长度
主键否
描述
id
int
4
是
医生编号
name
varchar(50)
50
医生姓名
age
varchar(50)
50
年龄
byyx
varchar(50)
50
毕业院校
cynx
varchar(50)
50
从医年限
keshi
varchar(50)
50
科室
zhicheng
varchar(50)
50
职称
zhuanchang
varchar(50)
50
专长
max
varchar(50)
50
可预约数
remain
varchar(50)
50
剩余预约数
operatorTime
varchar(50)
50
预约开始时间
operator
varchar(50)
50
预约结束时间
4 概要设计
(1) 患者角色
l 可联机注册成为用户,设定自己的登陆名及密码;
l 可按医生姓名自定义查询;
l 可基于查询结果进行预约,若指定医生当日预约量已满,则预约失败。预约结果随机返回给患者;
l 可对已经进行的预约情况查看或撤销。
图4.1 患者用例图
(2) 医生角色
l 可查看预约患者的情况;
l 可查询患者病历;
l 可创建患者病历;
l 可对患者的病历进行修改。
图4.2 医生用例图
(3) 管理员角色
l 可添加或删除医生账号。
图4.3 管理员用例图
5 详细设计
详细设计的目标不仅仅是逻辑上正确的实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。【6】结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑基础。
详细设计常采用的描述方式有三类:图形描述、语言描述和表格描述。图形描述包括程序流程图和问题分析图;语言描述主要是程序设计语言;表格描述包括判定表等。【7】这里主要运用了程序流程图来分析医院预约挂号系统。
5.1 程序流程图
程序流程图又称程序框图,是描述过程设计的方法。程序流程图中使用的符号如下:椭圆形表示开始或停止;长方形表示处理;菱形表示多分支;箭头表示控制流。
5.1.1 管理员和专家登录程序流程图
管理员和专家登录流程图如图5.1所示,用于描述管理员和专家登录系统的过程。管理员和专家进入主页后,在登录框输入用户名、密码和登录权限,若输入正确,则登录系统。若输入错误,则提示输入用户名和密码不对,请重新输入。管理员登录成功后则进入后台管理页面,专家登录成功后则进入后台专家查询页面。【8】
管理员和专家
进入主页
输入用户名、密码和登录权限
输入是否有误
登录成功
进入后台页面
结束
Y
N
图5.1管理员和专家登录程序流程图
登录成功后,管理员和专家就可以执行各自的功能了。
5.1.2 预约挂号程序流程图
患者预约挂号程序流程图如图5.2所示,用于描述患者预约挂号的过程。当患者进入主页后,点击预约,进入到预约挂号页面,患者在这里填写自己的信息以及选择要预约的专家,然后保存预约,预约挂号程序结束。
进入主页
患者
填写预约信息
进入预约页面
保存预约
结束
是否预约成功
N
Y
图5.2预约挂号程序流程图
5.1.3 患者查询及取消预约流程图
患者查询及取消预约流程图如图5.3所示,用于描述患者查询预约信息的过程。当患者进入主页,点击预约界面后,患者输入自己的身份证号对自己先前的预约进行查询,浏览自己的预约信息。查询成功后,若取消,则取消先前的预约,结束。否则直接结束。
患者
进入主页
进入预约页面
输入是否有误
输入身份证号
输出预约信息
是否取消预约
结束
N
Y
取消预约
Y
N
图5.3患者查询及取消预约流程图
5.1.4 管理员调配专家程序流程图
管理员调配专家程序流程图如图5.4所示。当患者预约的专家临时有事不能按时接诊的情况下,管理员可以给相关的患者调配一个同科室的专家。
管理员
登录系统
进入调配专家页面
选择需要调配的患者
选择要调配的专家
结束
图5.4管理员调配专家程序流程图
6 核心代码
6.1 登陆界面及代码
6.2 预约界面及代码
6.3 登陆注册及代码
7 测试
7.1 测试目的
测试作为开发的最后一个环节,也是最为重要的环节,它是保证系统软件质量的一种重要的有效的手段。测试的目的是为了尽可能多地找出错误,而测试就是直接针对软件比较复杂的部分或是以前出错比较多的位置。
通过代码审查、单元测试、集成测试、确认测试和系统测试,开发人不断的运行、改写代码、调整界面布局,开发人不仅仅只是找出错误,还通过分析错误产生的原因和错误的分布特征,不断地发现当前所采用的软件过程的缺陷,以便改进。这种分析利于开发人设计出有针对性地检测方法,改善测试的有效性。主要分为以下几点:
1.测试为了发现程序中的错误而执行程序的过程.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
2.测试是为了证明程序有错误,而不是证明程序没有错误。
3.一个成功的测试是发现了至今为发现的错误的测试
7.2 测试方案
该系统主要运用的是黑盒测试,黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。只在程序借口进行测试,检查程序功能是否能按照正常的规定使用,程序是否能适当的接受输入数据并产生正确的输出信息,程序运行过程中是否保持外部信息的完整性。
7.3 项目测试
7.3.1 测试一
测试项目名称:登录,测试内容如表7.1所示。
表7.1登录测试表
输入数据
预期输出
测试结果
错误的用户名或密码
出现错误的用户名或密码提示
与预期输出一致
正确的用户名和密码
登录成功
与预期输出一致
7.3.2 测试二
测试项目名称:预约挂号,测试内容如表7.2所示。
表7.2预约挂号测试表
输入数据
预期输出
测试结果
输入空姓名或者空身份证号
预约失败
与预期输出一致
输入错误的身份证号
预约失败
与预期输出一致
按照正确格式和要求填写
预约成功
与预期输出一致
7.3.3 测试三
测试项目名称:患者查询,测试内容如表7.3所示
表7.3患者查询测试表
输入数据
预期输出
测试结果
错误的身份证号
出现错误的身份证号提示
与预期输出一致
正确的身份证号
显示预约信息
与预期输出一致
7.4 综合测试
在以上测试的基础上,对系统功能进行了整体测试,依次检验系统功能是否符合系统开发的目标。经过使用大量的数据多次进行系统测试,发现了系统存在的问题并及时改进,最终实现了网站的开发目标。
结束语
四年大学生涯转眼已到尾声,当初迈进大学校门的情景还历历在目,转而大学毕业论文已经结束。在经过几个月的探索与实践中,我终的完成了毕业设计。
在毕业论文中,我采用了ASP.NET和SQL Server数据库技术。由于在以前的课堂学习中,大部分在与学习理论知识,初步把课堂理论知识运用于毕业设计的实践中,感觉有点吃力,但是在老师和同学的帮助及自己的努力下,终于圆满的完成了毕业设计。
在这段做毕业设计的时间里,我学到了很多知识也有很多感受。从当初对ASP.NET不太了解的状态,在老师的帮助下,我开始学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩的设计一步步完善起来,每一次改进都是我学习的收获,每一次试验成功都会让我兴奋好一段时间。让我也充分认识到医院网络预约挂号系统给患者和医院带来的极大的方便。
本次毕业设计,让我学会了把理论知识运用到实践中来。让我明白了做一件事情必须尽全力,用一个认真的态度去对待。
参考文献
[1] 《软件工程导论》
[2] 《需求规格报告格式标准》
[3] 《java编程指南》pdf
[4] 龚菊芳,朱燕《预约挂号方法探讨》[J]. 中国误诊学杂志. 2010(06)
[5] 罗超理,李万红《管理信息系统原理与数据库》[M] 清华大学出版社 2002.(09)
[6] 朱顺泉,姜灵敏《管理信息系统理论与实务》[M] 人民邮电出版社 2004.
[7] 朱顺泉,姜灵敏《管理信息系统理论与实务》(修订版)[M] 人民邮电出版社 2004.(04)
[8] 罗超理, 李万红《管理信息系统原理与应用》[M] 清华大学出版社 2002.(09)
第 20 页 (共 20 页)
第 2 页 (共 23 页)
展开阅读全文