1、医院预约挂号系统设计与实现摘 要:在不断发展和进步的信息时代,互联网在我们生活和工作中扮演了重要的角色。医院预约挂号系统是基于Web实现的,它摆脱了古老的到医院排队的挂号方式,方便群众就医、提高医疗服务水平具有重大意义。有利于患者进行就医咨询,减少候诊时间,工作效率和医疗质量。本设计采用JavaWeb和MySQL结合作为后台数据的支持,APP作为客户端,结合软件工程的设计思想实现医院预约挂号系统,实现了在线挂号、信息查询、医院概况以及个人中心等功能。关键词:医院预约;挂号;Android;Java WebAbstract:In the information age, the developm
2、ent and progress of the Internet in which we live and work plays an important role. Hospital appointment registration system is a Web-based implementation, it got rid of the old to the hospital queuing registered ways to facilitate the people for medical treatment, to improve the level of medical se
3、rvices is of great significance. Beneficial in patients with medical advice, to reduce waiting time, work efficiency and quality of care. This design uses Java Web and MySQL as the backend data binding support, App as a client, combined with the design idea of software engineering to achieve hospita
4、l appointment registration system, online registration, information, health counseling and hospital profiles, and other functions.Key words:Hospital appointments;Registered;Android;Java Web1 系统概述1.1 系统开发背景随着经济与科学技术的高速发展,信息化的进程不断加快。随着计算机性能不断提高,价格不断下降,智能手机已在医院医疗,教学,科研,管理的各个方面都有广泛的应用。然而,我国还有部分医院的信息处理停留
5、在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,辗转过程多,影响了医疗的秩序。门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门诊量大的医院,而造成门诊质量难以提高的因素主要有两方面:一是集中式挂号,就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷。高峰期病人挂号排队长,就诊时间长,医生熟人插号现象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。而低谷期,医生无病人看、溜号,医院资源浪费。二是专家号难挂,出现倒号、炒“专家号”现象,严重损害病人利益,影响到医院的声誉1。此外,病人到医院就诊前对医院的相关信息了解不多
6、,对所要挂的专科医生的情况又不太了解,只能凭经验和印象进行选择,具有较大的盲目性。信息化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。1.2 医院预约挂号系统的研究意义移动APP预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础项目之一。利用该预约挂号系统, 用户只要拥有可以链接互联Android系统智能手机,安装本系统对应的客户端APP,实现远程挂号,不需走出家门,不需排队等候,轻松做到解决医院门诊挂号的难题,做到“足不出户选医生”。采用APP预约挂号,还可有效的解决倒、炒号、难挂专家号的现象,还通过有效的身份验证,杜绝倒、炒“专家号”的现象,提高医院门
7、诊服务质量,取得良好的社会效益和经济效益2。它能更好的改善就医环境,简化就医环节,节约就医时间,真正体现了以病人为中心,一切从方便患者出发,符合当今医院人性化温馨服务的理念。通过预约就医,用户可以在移动平台进行挂号操作,实现了足不出户即可预约就医,既方便了患者,也减轻了医院管理的负担,对于医院和患者都非常方便快捷,是一种比较符合大众的服务方式。因此移动APP在Internet应用上的地位也变得格外重要,医院预约挂号系统可以使得人们方便快速的挂上号,避免浪费不必要的排队时间。2 系统需求分析2.1 系统可行性分析医院预约挂号系统的可行性分析包括以下几个方面的内容。2.1.1 技术可行性JSP是在
8、传统的网页HTML文件中加入Java程序片段和JSP标签, Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果3。MySql可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中,对数据进行增加、删除、修改、查询等操作4。MySql数据库和JSP技术的组合,可以开发出实用、简便、高效的试卷智能生成系统。因此,开发设计本系统在技术上是可以实现的。2.1.2 经济可行性开发该系统主要采用MySql和Eclipse开发工具,开发时需要一台可以运行MySQL和Ec
9、lipse开发工具的计算机和一台Android智能手机。在开发的过程中只需要消耗少量的资源,但是开发的系统能够为教育事业贡献力量,为教师减少工作的时间,提高工作效率,所以我们是利用较少的资源创造更大的价值。因此,开发设计本系统在经济上是可行的。2.1.3 运行可行性医院预约挂号系统的后台管理是基于Web实现的,移动客户端基于移动互联网平台实现,系统后台需要运行在服务器上为客户端提供数据接口,客户端通过网络与后台数据进行交互,保证数据的时效性。因此使用本系统无论是硬件设施还是软件需求都比较容易满足,在使用的过程中操作方便、使用便捷,不受条件约束限制5。因此,开发设计本系统是可运行、可操作的。2.
10、2 系统功能性分析医院预约挂号系统是根据患者到医院就诊挂号的需要操作的相关事宜信息化,解决患者挂号难,提高医院相关工作的质量和效率。客户端APP及后台数据管理主要有如下几个功能。系统功能结构如图2-1所示。图2-1 系统功能结构图医院预约挂号系统后台数据管理客户端APP用户登录用户注册在线挂号信息查询医院概览个人中心在线挂号出停诊管理化验单管理就医指南管理系统管理1. 在线挂号:注册、登录。(1)注册用户:使用本系统需要实名制,如果是新用户,可以通过用户注册成为本系统的用户,注册成功后可以使用该系统中的具体功能。(2)用户登陆:用户使用该系统前,必须通过登录验证才可以进入本系统,进行相应的操作
11、。2. 在线挂号用户可以在客户端查看已预约的信息列表,以及预约的详细信息,同时可以在这里进行预约操作。医院的相关人员可以在后台数据管理的系统中,查看所有预约记录,也可以根据选择的预约状态(已预约、已完成、已处理),查看相应的预约信息。3. 信息查询:化验单查询、科室信息、医生信息、来院路线、出诊信息、停诊信息。(1)化验单查询患者在化验之后会产生其化验单,医院的相关人员使用后台数据管理中的化验单管理功能将化验单中的数据同步到后台数据库中,患者可以通过化验单的编号利用该软件客户端查询化验结果。(2)科室信息进入科室信息查询的功能模块,首先是以列表的方式展示医院各科室的简要信息,点击列表中的某一科
12、室可查看该科室的详细信息。如果医院对部分科室有所调整,院方可以使用后台数据管理中的科室管理功能进行相应的修改,保证数据的时效性。(3)医生信息医院根据人员信息调动及时跟新数据,用户通过使用医生信息查询的这个功能模块查询各个科室的医生的详细信息,用户根据自己需求选择科室,系统会根据用户的选择将该科室的医生的基本信息以列表的形式展现出来,点击列表中的子项会显示相应医生的详细信息。(4)来院路线医院可以在后台数据管理系统中的就医指南管理模块中设置医院的地点,提供数个到该医院的常用路线,用户可以根据个人具体情况选择来院路线。(5)出诊信息、停诊信息在出诊信息查询的这一功能中,用户选择需要查询的科室的名
13、称,页面将显示这一周内每天上午和下午出诊(停诊)的医生,用户可以根据近期医生出诊信息(停诊信息)选择挂号日期。具体的出诊信息(停诊信息),需要院方使用后台数据管理系统进行实时更新。4. 医院概况医院概况主要用于显示医院进的建设,主要包括医院中医生的基本信息、医院环境以及医疗设备信息等,让用户对医院有更充分的了解,便于用户对就医的选择。5. 个人中心在个人中心功能模块中,用户可以查看自己的基本信息,以及修改个人的登录密码,定期修改登录密码能够提高用户使用该软件的安全性。在这个功能模块中用户可以看到该软件的版本号,用户可以点击版本号检查是否是最新版本,如果不是最新版本,将升级为最新版本。2.3 开
14、发环境及工具2.3.1 系统结构本系统后台数据管理是基于B/S模式的医院预约挂号系统。B/S即Brower/Server,浏览器/服务器,该模式统一客户端,将功能核心重点在服务器上,维系于系统的整个开发、维护和使用的过程。客户端只需有浏览器,如Internet Explorer,服务器安装MySql数据库和Tomcat服务器,客户端通过Web Server 同服务器中的数据库进行数据交互。这种开发模式的优点是使用本系统的地点不受环境限制,用户只需要有安装了浏览器的可联网设备即可访问本系统6。2.3.2 Elipse简介 Eclipse 是一个开放源代码、基于Java的可扩展开发平台。Eclip
15、se的插件可扩展机制是最突出的特点和优势,它使Eclipse提高到了一个平台的高度,可以通过安装不同的插件。Eclipse可以支持不同的计算机语言,比如C+、Python等开发工具。Eclipse的本身只是一个框架平台, Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)7。2.3.3 MySql简介MySql是最流行的关系型数据库管理系统,关联数据库将数据保存在不同的表中,提高了灵活性,在Web应用方面MySql是最好的DBMS(Database Management System:数据库管理系统)应用软件之一。MySQL所使用的
16、SQL语言是用于访问数据库的最常用标准化语言,软件体积小、速度快、总体拥有成本低,其功能完善,满足开发人员的需求8。3 系统设计本系统的客户端主要用户是患者及患者的家属,后台数据管理的主要用于院方及时更新数据。使用该软件的用户遍及各行各业,这便呈现出对软件使用的能力参差不平的现象,为用户能够快速掌握使用该系统方法,我们需要设置简单、大方、易于操作的界面便于用户使用。经过对系统的具体分析,得到第一层系统数据流图9。第一层系统数据流图如图3-1所示。图3-1 第一层系统数据流图 用户名后台管理员用户名、密码退出用户名、密码退出客户端响应数据提交数据3.1 系统功能设计 系统分为移动客户端和后台数据
17、管理,用户通过客户端注册、登录进入移动客户端,用户提交数据,后台解析用户提交的数据,返回用户所需数据。后台管理员登录后台,查看病人信息,提供专家信息,进行实时数据更新10。根据系统需求,移动客户端功能模块数据流图如图3-2所示。登录用户信息客户端用户在线预约挂号在线挂号信息查询个人中心用户请求查询信息用户修改个人信息guahao_record表deiagnosisresult表department表guahao_record表图3-2 移动客户端功能模块数据流图后台数据管理功能模块数据流图如图3-3所示。图3-3 后台数据管理功能模块数据流图登录管理员信息后台数据管理查询预约列表出停诊管理管理
18、出停诊信息管理化验单信息guahao_record表duty_staff 表deiagnosisresult表管理医院信息概况come_road表管理用户数据及科室信息department表在线挂号化验单管理就医指南管理系统管理staff表3.1.1 在线挂号在线挂号是本系统中是核心功能,在移动客户端,用户登录验证成功后,系统自动跳转到在线功能模块,用户点击在线挂号这个功能模块中的添加按钮,跳转到在线预约的功能。用户在线预约挂号首先要填写在线预约的基本信息,预约人、身份证、预约科室、预约医生和预约时间,其中预约人和身份证号系统为用户注册时设置的相应信息,这样可以提高用户使用的效率,如果用户为他
19、人预约,可以根据他人的信息进行修改。用户需要先选择预约科室才可以选择医生,不同的科室有不同的医生,这样操作可以提高系统的运行效率。用户可以根据自己的需求,选择适宜的到院就医时间。在线预约的相关信息填写格式正确并填写完善,点击预约按钮,提示预约成功,并显示已预约的人员列表,如果预约信息填写不符合要求,提示预约失败,并不进行页面跳转,用户可以在该界面继续完善相应信息。院方可以通过使用后台数据管理的在线挂号页面查看已预约的人员列表及详细信息。3.1.2 信息查询信息查询这个功能模块中一共有六个子功能模块,分别是化验单查询、科室查询、医生查询、来院路线、出诊信息和停诊信息。1. 化验单查询在信息查询这
20、个功能模块中点击化验单查询功能,系统将跳转到化验单查询的界面,用户在医院就医后会有一个化验单编号,用户可以根据这个化验单编号进行查找。2. 科室查询为了用户对医院有跟多的了解,院方会根据医院的具体情况,将已有的科室,及基本信息通过后台数据管理添加到数据库中,用户可以通过移动客户端中的信息查询模块中的科室查询查看这个医院有哪些科室以及具体信息,方便用户择医就医。3. 医生查询用户就医需要对医生有一定的了解,这是择医重要参考因素。医院通过后台数量管理将医院在职医生的信息按科室分类存入数据库中,用户使用医生查询这个功能可以查看医生的具体信息,首先用户需要根据自己需求选择科室,选择科室之后,系统会将该
21、科室的所有医生以列表形式展现给用户,用户可以点击任一子项进入查看其具体信息。4. 来院路线为了提高系统的通用性,来院路线需要动态设置,不同的医院有不同的属性值。医院通过后台数据管理系统中的就医指南管理的功能将该医院的地理位置和来院的常用路线存入数据库中。移动客户端点击查看来院路线即可得知到该医院的常用路线。5. 出诊信息、停诊信息医院根据具体情况安排出停诊相关事宜,后台管理员将其信息通过后台管理系统存入数据库,用户在移动客户端中选择信息查询功能模块中的出诊信息、停诊信息,即可看到相关信息。3.1.3 个人中心当登陆本系统后,可以进入个人中心,个人中心中包括用户姓名、电话、QQ、版本和密码。用户
22、姓名、电话、QQ在用户注册后不可以修改,点击版本号,系统将检测该版本是否有更新。点击密码进入修改密码的界面,为了防止他人恶意修改,用户修改密码时需要先输入旧密码,然后输入新的密码,并再次确认新密码,然后单击确定修改完成密码修改。用户输入的旧密码和数据库中该用户的密码字段进行匹配,如果不正确则修改密码失败,如果正确则对比两次输入的新密码,若两次输入的新密码相同,数据库会根据用户填写的新密码修改数据库中相应的字段,若两次输入的新密码不相同,则修改密码失败。3.2 数据库设计数据库设计主要是描述系统所创建的数据库和数据表。创建合理的数据库不仅方便数据库维护,也能大大较低开发人员提取数据的难度,在系统
23、开发的过程中起着重要的作用11。系统的设计是基于与数据库进行数据交互实现的。3.2.1 实体E-R图本系统的实体有:用户、挂号、化验单,各个实体具体的描述E-R图如图3-4、图3-5和图3-6所示。图3-4 用户实体E-R图用户身份证号用户ID科室ID类别QQ电话号码密码用户姓名图3-5 挂号实体E-R图挂号挂号ID预约人ID医生ID身份证号科室ID类别QQ预约时间治疗时间患者姓名图3-6 化验单实体E-R图化验单挂号ID化验单ID就诊状态临床症状性别年龄患者姓名3.2.2 数据库的存储结构本系统采用MySql 数据库,系统数据库名为db_hospital,数据库db_hospital中包括8
24、个数据表。(1) 用户表:存放用户的基本信息。其结构如表3.1所示。表3.1 用户表字段名称数据类型长度必填字段允许空字符串字段描述s_idint自动编号否唯一标识s_namevarchar(20)20是否用户姓名s_phonevarchar(20)20是否电话号码s_qqvarchar(13)13是否QQs_passwordvarchar(32)32是否用户密码s_idcardvarchar(18)18是否身份证号码d_idint否是引用科室表主键(2)挂号表:存放在线挂号的相关数据。其结构如表3.2所示。表3.2 挂号表字段名称数据类型长度必填字段允许空字符串字段描述g_idint自动编号
25、否唯一标识g_recordtimedate是否预约时间g_treatmenttimedate否是就诊时间g_statusvarchar(12)12是否状态g_namevarchar(20)20是否患者姓名g_idcardvarchar(18)18是否身份证号码u_idint是否引用用户表主键d_idint是否引用科室表主键s_idint是否引用用户表主键(3)化验单记录表:存放患者化验的结果。其结构如表3.3所示。表3.3 化验单记录表字段名称数据类型长度必填字段允许空字符串字段描述dr_idint自动编号否唯一标识dr_namevarchar(20)20是否患者姓名dr_perfotext是
26、否临床状态dr_ageint是否年龄dr_sexvarchar(4)4是否性别dr_statusvarchar(10)10是否就诊状态g_idint是否引用挂号表主键(4)科室表:存放医院科室相关信息。其结构如表3.4所示。表3.4 科室表字段名称数据类型长度必填字段允许空字符串字段描述d_idint自动编号否唯一标识d_namevarcahr(20)20是否科室名称d_timedate是否建立时间d_functiontext是否科室描述d_remarktext是否科室详情(5)用户类别表:存放用户类别的表,标识用户是移动客户端用户,或是医院数据维护管理员。其结构如表3.5所示。表3.5 用户
27、类别表字段名称数据类型长度必填字段允许空字符串字段描述ds_idint自动编号否唯一标识dt_idint是否引用出停诊状态表主键s_idint是否引用用户表主键ds_statusint是否用户类别(6)出停诊状态表:存放医生出停诊状态信息。其机构如表3.6所示。表3.6 出停诊状态表字段名称数据类型长度必填字段允许空字符串字段描述dt_idint自动编号否唯一标识dt_timeint是否出停诊状态(7)来院路线表:存放到该医院的地理位置及来院的常用路线。其机构如表3.7所示。表3.7 来院路线表字段名称数据类型长度必填字段允许空字符串字段描述c_idint自动编号否唯一标识c_addresst
28、ext是否地址c_texttext是否路线c_imagepathint是否图片地址(8)软件版本管理表:存放该软件的版本信息。其机构如表3.8所示。表3.8 软件版本管理表字段名称数据类型长度必填字段允许空字符串字段描述idint自动编号否唯一标识namevarchar10是是移动平台名称codefloat是否版本号pathtext是否下载地址4 系统实现4.1 登陆模块的实现本系统的功能模块只限已登陆本系统的用户使用,如果登陆成功,则可进入系统进行相关操作。如果匹配不成功,游客将被拒绝使用本系统的核心功能。登录成功后系统默认跳转到在线挂号功能模块,登陆模块界面设计如下图4-1所示。图4-1
29、登陆界面设计4.2 在线挂号模块在这个模块用户首先看到是已预约的人员列表,用户可以点击列表中的任何一项查看预约详情。在这个模块的右上方有一个添加按钮,用户点击该按钮即可跳转到预约的界面,填写预约人的相关信息,确认无误点击预约按钮,预约成功将跳转到已预约的人员利列表的界面,预约失败,用户需要进一步检查信息是否填写正确。在线挂号界面设计如下图4-2所示。图4-2 在线挂号界面设计4.3 信息查询模块在信息查询这个功能模块,用户可以看到医院的相关信息,为用户择医提供参考条件,有助于用户选择更适合自己的医生。在就医后,用户可以使用该功能模块中的化验单查询功能查询化验结果。信息查询界面设计如下图4-5所
30、示。图4-3 信息查询界面设计4.4 个人中心模块个人中心模块是为用户查看个人信息设置的,用户也可以在这个功能模块检查软件更新。在使用本系统过程中,为保证安全性,用户可以定期更换密码,在个人中心界面点击密码进入密码修改界面,用户根据提示信息进行填写,然后点击确定。系统会根据用户输入的内容进行验证,如果验证合格,则修改密码成功,否则失败。每位用户都可以修改自己的密码。个人中心界面设计如下图4-4所示。图4-4 个人中心界面设计4.5 后台管理系统院方数据管理员,根据医院的具体情况使用后台数据管理系统及时更新数据,确保用户得到的是最新的数据,管理员也可以获取用户网上预约的数据,做好客户端用户与医院
31、间的衔接工作。后台管理系统界面设计如下图4-5所示。图4-5 后台管理系统界面设计5 结束语利用JSP、Android与MySql数据库开发的医院预约挂号系统,系统界面简单、友好,便于用户操作。本系统基于Web移动开发,在使用过程中不受地点限制,只需有可联网并安装有浏览器的设备便可以作为客户端,访问医院预约挂号系统。本系统核心功能模块只为本系统用户提供服务,系统会根据用户的类别设置数据访问权限,访问数据库中的相关内容,通过这种方式不但能实现数据的共享,同时也保障了数据的安全12。本系统还存在一些不足的地方,如缺少用户交流的平台,个人中心需要还有待进一步完善。系统还可以通过增设论坛模块,方便用户
32、间的交流。个人中心模块也可以通过添加用户在本网站的操作记录,如在线挂号记录、修改密码记录的功能。只有不断的丰富和完善功能模块,使系统更加合理、人性化,才能为用户提供更优质的服务。参考文献:1 赵金伟.基于B/S模式体系结构的分析与开发J.宁夏科技,2003,01(05):1-2.2 龚菊芳,朱燕.预约挂号方法探讨J.中国误诊学杂志.2010(06).3 胡莉萍. Tomcat + JSP + MySQL整合配置初探J. 中国科技信息, 2010 (5): 102-103.4 弗罗斯特.数据库的设计与开发M.清华大学出版社,2005.5 李笠,张国英,吕艳伟.我院预约挂号问卷调查及分析J.中国医
33、院.2011(04).6 张海藩.软件工程导论M.清华大学出版社,2008.7 刘晓华. JSP应用开发详解第3版M. 北京: 电子工业出版社, 2008.8 美Vasani.V. 范斯瓦尼. MySQL完全手册M. 北京: 电子工业出版社, 2005.9 王琦.现代医院门诊流程管理M .军事医学科学出版社,2010.10 丁峰, 柳西玲. UML 技术及应用M. 北京: 高等教育出版社, 2004. 11 叶青. 完全手册 HTML + CSS + Java Script实用详解M. 北京: 电子工业出版社, 2008.12 陈宏刚, 张亚勤. 软件开发过程与案例M. 北京: 清华大学出版社, 2003.第19页(共19页)