医院挂号系统论文.docx
《医院挂号系统论文.docx》由会员分享,可在线阅读,更多相关《医院挂号系统论文.docx(36页珍藏版)》请在冰点文库上搜索。
医院挂号系统论文
毕业论文
基于B/S模式的医院门诊预约挂号系统的设计与实现
Designandimplementationofsystemwhichout-patientappointmentsregisteredbyhospitalbasedonB/Sschema
学院名称:
专业班级:
学生姓名:
指导教师姓名:
指导教师职称:
基于B/S模式的医院门诊预约挂号系统的设计与实现
专业班级:
学生姓名:
摘要门诊预约挂号系统主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立数据一致性和完整性强,数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
选择ASP.NET和SQLServer数据库等开发工具,利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
Designingandimplementationofsystemwhichout-patientappointmentsregisteredbyhospitalbasedonB/Sschema
关键词:
面向对象,数据窗口,门诊挂号
Abstract:
Theout-patientappointmentsregistrationsystemincludetwoaspects.Theestablishmentandmaintenanceofitsdatabaseback-enddevelopment,andfront-endapplicationdevelopment.Withregardtotheformerwecalledfortheestablishmentofstrongdataconsistencyandintegrity,andthedatabase‘sdatasecurity.Asforthelatterwerequestapplicationsfunctional,fully,easytouseandsoon.
WechooseASP.NET,ACEESSdatabasedevelopmenttools,providedbytheuseofitsobject-orienteddevelopmenttools,firstestablishedApplicationoftheprototypesysteminashortperiodoftime,andthen,weneedtoiterationtheinitialprototypesystem,atlastweshouldnotgiveupimprovingthesystemconstantlyuntilmeettheuserneeds.
Keywords:
object-oriented,datawindow,out-patientregistration
第一章绪论
1.1论文研究背景与意义
随着经济与科学技术的高速发展,信息化的进程不断加快。
随着计算机性能不断提高,价格不断下降,计算机已在医院医疗,教学,科研,管理的各个方面得到越来越广泛的应用。
然而,我国还有部分医院的信息处理停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,辗转过程多,影响了医疗的秩序。
计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。
门诊挂号系统是整个医院管理信息系统的第一个窗口,是病人到医院就诊要做的第一项工作。
它用于收集病人的信息,协调科室医生管理,控制各科室的流量等等。
[12]
网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的最基础项目之一。
利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无须再受排队之苦。
它能更好的改善就医环境,简化就医环节,节约就医时间,真正体现了以病人为中心,一切从方便患者出发,符合当今医院人性化温馨服务的理念。
目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门诊量大的医院,而造成门诊质量难以提高的因素主要有两方面:
一是集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号),就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊时间段及同科室的不同时间段)。
高峰期病人挂号排队长,就诊时间长,医生熟人插号现象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。
而低谷期,医生无病人看、溜号,医院资源浪费。
二是专家号(特别是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益,影响到医院的声誉。
而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益。
此外,病人到医院就诊前对医院的相关信息了解不多,对所要挂的专科医生的情况又不太了解,只能凭经验和印象进行选择,具有较大的盲目性。
而当医院开通网上挂号预约服务以后,求医者只需坐在家中,轻点儿下鼠标,就可以挂上医院专家门诊号,可以做到“足不出户选医生”。
网上预约正悄然改变着都市求医者的看病观念。
拥有相对固定的个人医生和习惯。
预约看病,将不再遥远,所以应用必将越来越广泛。
1.2国内外发展现状
随着互联网络的迅猛发展,Internet用户已呈几何级数增长,目前已经有很多医院投入使用网上挂号系统。
据了解,预约挂号在国外颇为普及。
加拿大籍医务工作者张团女士告诉记者,在西方国家,病人看病都需要事先进行预约。
随着预约挂号的深入推广,国内越来越多的医院也意识到预约服务在节约看病时间、分流患者、减轻医院压力上的作用。
据了解,尽管存在很多困难,但全国各地的医院在尝试预约挂号的实践中还是提供了很多有益的做法。
广东省人民医院早在2004年就采取了一套相对完整的预约挂号体系,其三种预约方式,按照受欢迎程度排名依此为:
电话、现场、网络,分别占到了预约挂号中50%、40%、10%。
在福建,全省范围内拨打12320海西健康热线电话,即可预约到福建省立医院等5家医院的专家号,只按市话费标准收费,不收取任何信息服务费。
记者在北京地区通过拨打该电话,成功预约到福建省立医院一位内科专家。
在北京,据解放军总医院办公室刘泉向记者介绍,解放军总医院(三○一医院)于前不久专门开通了夜间门诊电话预约挂号66936619(不收预约费),可以毫不费力地约到各科室的专家,开通不久即见成效,目前已经成功分流了约1/3的患者。
此外医院还开通手机挂号功能,患者只需要发送短信就可以进行预约挂号。
患者根据系统提示,输入姓名、性别、年龄、住址、付费方式、就诊卡号、预约时间、预约科室、预约项目、预约医师等内容,系统就会根据各门诊科室提供的具体情况,安排给患者合适的就诊排号位或挂号建议。
在患者就诊前一天、就诊当天、就诊前一小时、就诊前5分钟,系统还会以短信的形式多次通知患者。
患者如果有事无法就诊,通过发送短信,经过医师或护士同意,还可二次预约就诊时间。
广东省卫生厅副厅长廖新波认为,预约是提高医院知名度、提高医生知名度、提高医院效益和符合就诊者意愿的工作,预约工作做得好,可以实现医患双方的共赢。
对于目前预约和排队并存并出现矛盾的现状,他建议,医院要把每天的预约单按照诊室号夹在门口,目的是让就诊者知道自己处于这位医生接诊序列的什么位置,同时也宣示医院“公平对待每一个就诊者”的服务理念。
医院管理者要确立预约是门诊挂号的主渠道的理念,开始从部分开放预约诊号到全面开放,最后逐步实行全号源的免费预约。
[13]
1.3本文结构安排
为了使您在短时间内了解该论文,特介绍论文内容如下:
第一章绪论介绍论文的选题背景、发展现状、所做工作及论文的结构安排。
第二章相关技术及工具介绍,介绍了本设计作品所使用到的技术,工具及数据库
第三章系统需求分析主要对开发网站进行需求分析,逻辑模型设计,概念模型设计,数据库的建立与连接。
及相关功能代码介绍
第四章总结对整个设计过程的总结
第二章相关技术及工具介绍
系统基于Windows平台,采用ASP.NETC#语言编程和SQLServer数据库技术,界面使用VS2008设计动态网页。
系统包含前台操作与后台管理,前台用户可以进行专家查看、预约查询与修改、个人信息修改、密码修改等操作。
后台包括用户管理、专家管理、预约管理及系统管理等功能。
界面简单,操作使用方便。
硬件要求:
最低配置要求如下:
386DX机型;1GB硬盘容量;16MB内存;640×480显示卡及VGA彩显;中文Windows98操作系统。
人机界面友好,适用于大部分人群,哪怕是计算机知识少的人群。
工作人员只须按时对系统进行更新、维护便可保证预约的有效性、可靠性。
本系统采用三层架构来设计的,如下图
三层架构(3-tierapplication)通常意义上的三层架构就是将整个业务应用划分为:
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的即为了“高内聚,低耦合”的思想。
2.1概念简介
1、表现层(UI):
通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):
针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):
该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
2.2概述
在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。
微软推荐的分层式结构一般分为三层,从下至上分别为:
数据访问层、业务逻辑层(又或成为领域层)、表示层。
三层结构原理:
3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。
这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
2.3表示层
位于最外层(最上层),离用户最近。
用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
2.4业务逻辑层
业务逻辑层(BusinessLogicLayer)无疑是系统架构中体现核心价值的部分。
它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。
例如MartinFowler在《PatternsofEnterpriseApplicationArchitecture》一书中,将整个架构分为三个主要的层:
表示层、领域层和数据源层。
作为领域驱动设计的先驱EricEvans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。
业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。
由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。
如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。
因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。
正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。
对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。
依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。
2.5数据层
数据访问层:
有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。
简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。
如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。
2.6优点
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
2.7缺点
1、降低了系统的性能。
这是不言而喻的。
如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。
这种修改尤其体现在自上而下的方向。
如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
2.8规则
三层结构的程序不是说把项目分成DAL,BLL,WebUI三个模块就叫三层了,下面几个问题在你的项目里面:
1.UILayer里面只有少量(或者没有)的SQL语句或者存储过程调用,并且这些语句保证不会修改数据?
2.如果把UILayer拿掉,你的项目还能在Interface/API的层次上提供所有功能吗?
3.你的DAL可以移植到其他类似环境的项目吗?
4.三个模块,可以分别运行于不同的服务器吗?
如果不是所有答案都为YES,那么你的项目还不能算是严格意义上的三层程序.三层程序有一些需要约定遵守的规则:
1.最关键的,UI层只能作为一个外壳,不能包含任何BizLogic的处理过程
2.设计时应该从BLL出发,而不是UI出发.BLL层在API上应该实现所有BizLogic,以面向对象的方式
3.不管数据层是一个简单的SqlHelper也好,还是带有Mapping过的Classes也好,应该在一定的抽象程度上做到系统无关
4.不管使用COM+(EnterpriseService),还是Remoting,还是WebService之类的远程对象技术,不管部署的时候是不是真的分别部署到不同的服务器上,最起码在设计的时候要做这样的考虑,更远的,还得考虑多台服务器通过负载均衡作集群
所以考虑一个项目是不是应该应用三层/多层设计时,先得考虑下是不是真的需要?
实际上大部分程序就开个WebApplication就足够了,完全没必要作的这么复杂.而多层结构,是用于解决真正复杂的项目需求的。
2.9与MVC的区别
MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。
同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。
在三层架构中没有定义Controller的概念。
这是我认为最不同的地方。
而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。
当然了。
在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。
第三章数据库设计
3.1表关系图
3.2表设计
3.2.1管理员表(Admin):
字段名
数据类型
是否主键
说明
ID
int
是
编号
Name
varchar(50)
登陆名
Pass
Varchar(50)
密码
3.2.1医生表(Doctor):
字段名
数据类型
是否主键
说明
ID
int
是
编号
Name
varchar(50)
姓名
Age
Int
年龄
Mid
Varchar
证件号码
HealthID
Varchar
健康证号码
Tel
Varchar
电话
Address
Varchar
地址
MenZHeng_ID
Int
MenZheng外键
所在门诊
Photo
varchar
图片
3.2.1介绍表(Introduce):
字段名
数据类型
是否主键
说明
ID
int
是
编号
Content
text
内容
3.2.7门诊表(MenZheng):
字段名
数据类型
是否主键
说明
ID
Int
是
编号
Type
Nvarcar
门诊名称
3.2.1用户表(User):
字段名
数据类型
是否主键
说明
ID
int
是
编号
LoginName
varchar
登陆名
Pass
varchar
密码
Name
varchar
姓名
Mid
varchar
证件号码
Sex
varchar
性别
Tel
varchar
电话号码
Address
varchar
地址
RegTime
Datetime
注册日期
3.2.1预约表(YuYue):
字段名
数据类型
是否主键
说明
ID
int
是
编号
MenZhen_ID
int
MenZhen外键
门诊编号
Doctor_ID
int
Doctor外键
专家编号
Date
Varchar
日期
Time
Varchar
时间
User_ID
int
User外键
预约用户
3.2.1评论表(PingLun):
字段名
数据类型
是否主键
说明
PL_ID
int
是
编号
PL_InTime
Datetime
评论时间
PL_Text
Text
评论内容
User_ID
Int
User外键
用户编号
Doctor_ID
Int
Doctor外键
专家编号
YuYue_ID
int
YuYue外键
预约编号
第四章需求分析
实施医院信息化建设以后,我们要通过互联网和通讯系统选择医院、选择医生,进行网上挂号、预约就诊,从而减少病人的排队候诊时间;通过屏幕显示病人就诊、检查和取药的时间,病人可以坐着等候;通过自动划价收费系统和电子查询系统,使病人对医院收费放心等等。
据了解,广东卫生信息化建设令人关注,目前正积极推行“电子病历”医院试点工作。
以后老百姓到医院看病,可望告别反复填资料、跑上跑下递药方、排队等化验单结果的奔波劳累,只需“e网”轻松搞定。
在具体的需求驱动下,我们采用计算机技术开发网上预约挂号系统。
4.1系统流程图
4.2系统功能描述
系统具备门诊挂号,日期选择,时间点选择,科室选择,专家选择等一系列步骤,选择完成之后点击挂号,系统会自动生成一个挂号编号,用户可凭此号去医院就诊不仅可免五元挂号费,更可以直接和专家预约好时间直接前去就病。
本系统主要包含:
专家管理模块,预约管理模块,会员管理模块,门诊管理模块,评价管理模块,统计模块。
专家管理模块
根据医院的专家人员进行相关信息的编辑,可以对专家的信息进行查找,添加,删除,修改等操作,每个专家对应一个门诊,以方便用户在挂号预约的时候进行预约。
门诊管理
可对医院门诊进行管理操作,每个门诊下面可以有N位专家,管理员可对门诊进行查找,删除,修改等操作,并可查看到每个门诊下面所有的专家列表对其进行管理。
预约管理
(1)预约登记
在预约登记过程中规定:
同一患者只能预约同一天同一专家一个号。
在预约过程中,同一日期,同一日期,同一专家不能被重复预约,预约的时候系统自运筛选出某门诊下面的所有专家可供用户预约。
(2)取消预约
在预约过程中,时间还没有超过预约的时间,用户可以自行取消预约记录。
取消的同时,其它用户可以再次预约相同时间,相同专家。
会员模块
(1)会员管理
管理员可以对所有用户进行查看,并可以查看他们的详细资料,详细的挂号明细记录。
(2)会员注册
用户登陆本站,需要预约的用户必须要了解本站挂号须知,并且注册成为会员才可以进行挂号操作,注册需要填入用户的基本信息,包括姓名,电话,性别,联系方式等重要信息。
(3)会员登陆
输入本站会员的用户名和密码即可登陆本系统进行相关会员操作,若用户名和密码输入错误,则禁止进入本系统。
(4)密码修改
如果密码长期未修改将影响到帐号的安全,用户可以随时更新密码,确保自己帐号的安全使用。
(5)预约记录
用户可以查看到自注册以来所有的预约记录,已经过期的预约记录将不可以再取消预约,只供查询。
(6)取消预约
用户如果因突发事件不能前往的,可以即时地在线进行取消预约,一但取消预约,该用户的预约条件选择将可能被其它用户预约。
(7)评价管理
用户可以查看到自己对专家的所有评价,只供查看,不能进行修改和删除操作。
评价管理模块
对于一些已经预约成功的用户,该用户可以对已经预约过的专家进行评价,一次预约只能评价一次,如果有预约未到的用户,系统禁止评论资格,以达到评论的真实性。
统计模块
管理员可以统计出每个月,每周有多少人挂号记录,每个专家每周,每月的工作量,更便于管理和统计网站流量,和医院来往病人的人流量。
公告栏
可以随时更新医院的动态信息,让用户第一时间了解医院的情况并及时安排好自己的时间进程。
挂号须知
每个用户挂号之前都必须查看挂号须知里面的内容模块,如查对挂号要求有变更,管理员可以及时修改以便让用户了解挂号的详细情况。
第五章功能的设计与实现
通过对用户需求的分析,本系统的功能主要包括两块,前台用户操作及后台管理。
各个功能的具体描述如下:
用户操作界面功能主要有:
在线预约、预约查询、用户信息修改、密码修改等功能设置。
后台操作界面主要功能有:
用户管理,预约查询,专家管理,门诊管理,公告版和挂号简介管理
5.1在线预约
预约须分为五个步骤来完成全程都用的Session来保存用户所选择的数据,第一步选择预约门诊,如下图一:
图一
第二步对日期的选择如下图二
图二
第三步专家选择,此步会根据之前选择的门诊来查询该门诊下面所有的专业,非本门诊的专家不会显示在内,如图三
图三
第四步选择预约时间,为了解决同一时间同时存在同一个专家预约问题,本步骤在显示时间的同时经过一系列数据库的查询,同一时间同一专家的时间为禁用状态,并显示“已约”字样,如下图四
图四
主要实现代码如下:
///
///时间绑定
///
protectedvoidBind()
{
DataTabledt=newDataTable();
Dat