APP下载

基于PHP的医院网上预约挂号系统的设计与实现

2013-12-30坎香

关键词:挂号门诊界面

坎香

(江阴职业技术学院计算机科学系,江苏江阴214400)

随着计算机技术的发展和网络技术的日益成熟,通过网络进行信息交流已成为一种快捷的交互方式。在这种网络环境下,医院希望通过建立网上预约挂号网站来扩大知名度、降低管理成本和减少人力物力的投资,从而为病人提供更全面、更灵活的服务,并全面、准确地对挂号进行跟踪。与此同时,病人希望根据自己的实际需求预约专家,确定就诊时间。因此,我们设计了基于Web开发的医院网上预约挂号系统。

1 系统开发工具

由于传统的C/S架构在系统维护方面需投入较大的精力,B/S架构是必然的选择。该系统使用Apache服务器作为Web服务器,前台使用流行的网页制作工具Dreamweaver作为开发工具,用DIV和CSS技术进行网页布局,后台的数据库则用MYSQL,用PHP技术完成动态交互功能。

1.1 网页制作工具Dreamweaver

Dreamweaver 8是目前最好的网页设计工具,它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。

1.2 PHP技术

PHP具有良好的可移植性、可扩展性,较ASP而言,使用PHP开发的系统执行速度快。同时它与Apache编绎在一起的方式也让它具有灵活的安全设定,PHP具有了公认的安全性能。

1.3 MYSQL数据库

MYSQL是一种开放源代码的关系型数据库管理系统,由于MYSQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MYSQL因为其速度、可靠性和适应性而备受关注。它功能强大,操作简单,可以方便地建立数据库、数据表,并且对数据库表进行修改、查询等操作,所以本系统使用MYSQL数据库。

2 系统总体结构

通过对用户需求的分析,本系统的功能主要包括两块——前台用户操作及后台管理。前台用户操作模块又由病人预约挂号和医生查询两大模块组成.。前台和后台模块下又有许多小模块,各模块之间相互联系,得到如下功能结构图,如图1所示。

3 设计与功能详细分析

本系统具有通常医院网上预约挂号系统应该具有的所有功能,包括用户登录、病人预约挂号、医生查询自己求医病人的预约信息、医院公告信息管理、医生信息管理、科室管理、门诊医生出诊信息管理、预约挂号管理等。

3.1 数据库设计

系统主要实现病人预约挂号和医生查询自己病人预约信息。系统管理员对预约挂号信息进行浏览和查询,同时,系统管理员对门诊医生出诊信息、医生基本信息、科室信息进行维护。数据库表的设计包括7张数据表:系统管理员表(表名:tb_admin)、医生信息表(表名:tb_doctor)、病人信息表(表名:tb_patient)、科室信息表(表名:tb_office)、门诊医生出诊信息表(表名:tb_outpatdoctor)、预约挂号信息表(表名:tb_order)、医院公告信息表(表名:tb_information)。

3.2 功能模块设计

3.2.1 用户登录

前台登录界面为病人与医生登陆界面,登录界面如图2所示。新病人可以在此界面进行注册,注册成功后将会让你返回登录,然后输入用户名、密码登陆首页。为了系统的安全性,用户密码使用了密码加密处理,必须是6到16位英文或数字;其次,医生点击“医生登录”可以进入医生登录界面,输入医生工号、密码登录首页。后台登录界面为系统管理登录界面,登录界面如图3所示。系统管理员输入登录账号及密码即可进入管理界面。无论是前台用户登录还是后台管理员登录,在登录时都需要进行客户端身份验证和服务器端身份验证,检查登录的用户名和密码是否为空,进行命名规则合法性判定,以保证输入数据的有效性。

3.2.2 病人预约挂号

病人登录系统后,可以浏览医院内所有公告信息,可以浏览所有门诊医生一周内的出诊信息表,并且可以通过输入门诊医生的科室或者门诊医生的姓名来实现快速查询,系统自动列出符合病人要求的可预约的医生信息列表,并提供相应的预约导航链接。病人通过点击预约导航链接便可正式预约挂号,如图4所示。同时系统还具有向病人提供浏览已有预约、快速查询已有预约和取消已有预约的功能,如果预约日期已过期,那么病人就无法取消已有预约,如图5所示。允许病人在线修改个人登录密码。

3.2.3 医生查询

医生通过系统可以查看自己求医病人的预约信息,可以浏览医院内的所有公告信息以及可以在线修改个人登录密码(如图6所示)。

3.2.4 医生信息管理

主要实现医院医生基本信息的添加、删除、修改与查询功能。页面中显示医生的基本信息(如图7所示),包括医生工号、医生姓名、医生所属科室、医生的专长等,用户名和密码结合在基本信息的基础配置中,以便医生使用该系统。

3.2.5 科室信息管理

主要实现医院科室信息的添加与删除功能。页面中显示科室基本信息,如图8所示,包括科室编号、科室名称,管理员可以对相关信息进行删除。

3.2.6 门诊医生出诊信息管理

主要实现门诊医生出诊信息的添加、编辑与删除功能。页面中显示所有门诊医生一周的出诊信息,如图9所示。门诊医生是从医院所有医生中分配出来的,管理员可以添加、编辑、删除以及浏览所有门诊医生的出诊信息。

3.2.7 预约挂号信息管理

病人提交预约挂号信息以后,管理员可以对所有预约挂号信息进行查询和浏览,但不能删除病人预约信息,即使预约信息已过期,以便为医院留档以及决策机构提供参考。

4 基于PHP的系统技术要点

4.1 医生出诊时间信息表实时显示医生一周的可挂数和已挂数

由于网上预约挂号系统与系统的数据库相连,网上预约的专家、专科出诊时间表直接从医院的挂号系统数据库中读取,反映着最新的医生出诊时间信息,而且实时显示出诊医生一周的可挂数和已挂数。appointment.php是完成显示出诊医生的预约可挂号数和已挂号数的源码,部分代码如下:

$tempweekday=date(″w″,strtotime(date('Y-m-d',time()+3600*24*1)));

switch($tempweekday)

{

case1:$isout=$outdoctor['Time1'];$limitnumber=$outdoctor[$tbOutpatdoctor_number1];break;

case2:$isout=$outdoctor['Time2'];$limitnumber=$outdoctor[$tbOutpatdoctor_number2];break;

case3:$isout=$outdoctor['Time3'];$limitnumber=$outdoctor[$tbOutpatdoctor_number3];break;

case4:$isout=$outdoctor['Time4'];$limitnumber=$outdoctor[$tbOutpatdoctor_number4];break;

case5:$isout=$outdoctor['Time5'];$limitnumber=$outdoctor[$tbOutpatdoctor_number5];break;

case6:$isout=$outdoctor['Time6'];$limitnumber=$outdoctor[$tbOutpatdoctor_number6];break;

case0:$isout=$outdoctor['Time7'];$limitnumber=$outdoctor[$tbOutpatdoctor_number7];break;

}

if($isout)

{

$tempdatetime=strval(date('Y-m-d',time()+3600*24*1));

$strSQL=″select*from`$tbOrders`where`$tbOrders_DoctorId`='$outdoctor[$tbOutpatdoctor_DoctorId]'and`$tbOrders_Appointmenttime`='$tempdatetime'″;

$num=$db->getcount($strSQL);

if($num<$limitnumber)

echo″<ahref='chkappointment.php?id=$outdoctor[$tbOutpatdoctor_DoctorId]&time=$tempdatetime'>预约  $num/$limitnumber</a>″;

else

echo″<span>已满  $num/$limitnumber

</span>″;

}

4.2 病人一天只能挂一次同一医生同一天的号

由于医院门诊量大,门诊号难挂,为了杜绝倒、炒门诊号,病人溜号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益,本系统限制病人一天只能挂一次同一医生同一天的号。checkappointment.php是完成限制病人挂号数的源码,部分代码如下:

$get_outdoctorid=$_GET['id'];

$get_time=$_GET['time'];

$nowdatearray=explode(″-″,$nowdatetime);

$nowdate=substr($nowdatearray[0],2,2).$nowdatearray[1].$nowdatearray[2];

$strSQL=″select*from`$tbOrders`″;

$resultquery=$db->query($strSQL);

$num=0;

while($resultarray=$db->getarray($resultquery))

{

if(substr($resultarray[$tbOrders_id],0,6)==$nowdate)

{

if($resultarray[$tbOrders_DoctorId]==$get_outdoctorid&&$resultarray[$tbOrders_Appointmenttime]==$get_time&&$resultarray[$tbOrders_EmailBox]==$_SESSION[$session_name])

{

$num=1;

break;

}

}

}

if($num)

{

ShowMessage(″一天只能挂一次同一医生同一天的号!″);

GoOrRefreshPage(0,″appointment.php″);exit;

}

5 结语

本文设计了基于B/S结构的医院网上预约挂号系统,系统采用了当前流行的浏览器/服务器结构,设计中注重网上预约挂号的实际运用效果,设计了较为完备的功能,方便了患者挂号看病,避免了长时间排队挂号的情况,改善了医患关系,同时也提高了医院和医生的知名度,让医院和患者达到双赢的局面。

[1]梁韵怡,杨云芬.门诊预约挂号信息系统的应用[J].护理管理杂志,2004,7(4):57~58.

[2]孟涛,赵健,孙萍.预约挂号在医院门诊应用的探讨[J].中国医疗前沿,2008,(8).

[3]程东萍.医院网上预约挂号系统[J].医学信息,2007,20(11):1930~1931.

[4]李刚荣.数字化建设促进医院发展[J].重庆医学,2004,33(9):1321~1322.

[5]卫锦薇.医院的网上预约挂号系统[J].医学信息,2001,14(12):605.

[6]陶国芳,王维维,陈欣,刘永平,王培科,陈彤.基于Web的医院远程预约挂号系统的设计[J].福建电脑,2003,(7):75.

猜你喜欢

挂号门诊界面
门诊支付之变
分析探讨自助挂号系统在门诊管理中的应用效果
国企党委前置研究的“四个界面”
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
人机交互界面发展趋势研究
汉字小门诊系列(四)
汉字小门诊系列(九)
汉字小门诊系列(八)
手机界面中图形符号的发展趋向
挂号中介服务“赔本赚吆喝”