坎香
(江陰職業(yè)技術學院計算機科學系,江蘇江陰214400)
隨著計算機技術的發(fā)展和網(wǎng)絡技術的日益成熟,通過網(wǎng)絡進行信息交流已成為一種快捷的交互方式。在這種網(wǎng)絡環(huán)境下,醫(yī)院希望通過建立網(wǎng)上預約掛號網(wǎng)站來擴大知名度、降低管理成本和減少人力物力的投資,從而為病人提供更全面、更靈活的服務,并全面、準確地對掛號進行跟蹤。與此同時,病人希望根據(jù)自己的實際需求預約專家,確定就診時間。因此,我們設計了基于Web開發(fā)的醫(yī)院網(wǎng)上預約掛號系統(tǒng)。
由于傳統(tǒng)的C/S架構在系統(tǒng)維護方面需投入較大的精力,B/S架構是必然的選擇。該系統(tǒng)使用Apache服務器作為Web服務器,前臺使用流行的網(wǎng)頁制作工具Dreamweaver作為開發(fā)工具,用DIV和CSS技術進行網(wǎng)頁布局,后臺的數(shù)據(jù)庫則用MYSQL,用PHP技術完成動態(tài)交互功能。
Dreamweaver 8是目前最好的網(wǎng)頁設計工具,它將可視布局工具、應用程序開發(fā)功能和代碼編輯支持組合在一起,其功能強大,使得各個層次的開發(fā)人員和設計人員都能夠快速創(chuàng)建界面吸引人的基于標準的網(wǎng)站和應用程序。開發(fā)人員可以使用Dreamweaver及所選擇的服務器技術來創(chuàng)建功能強大的Internet應用程序,從而使用戶能連接到數(shù)據(jù)庫、Web服務和舊式系統(tǒng)。
PHP具有良好的可移植性、可擴展性,較ASP而言,使用PHP開發(fā)的系統(tǒng)執(zhí)行速度快。同時它與Apache編繹在一起的方式也讓它具有靈活的安全設定,PHP具有了公認的安全性能。
MYSQL是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng),由于MYSQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。MYSQL因為其速度、可靠性和適應性而備受關注。它功能強大,操作簡單,可以方便地建立數(shù)據(jù)庫、數(shù)據(jù)表,并且對數(shù)據(jù)庫表進行修改、查詢等操作,所以本系統(tǒng)使用MYSQL數(shù)據(jù)庫。
通過對用戶需求的分析,本系統(tǒng)的功能主要包括兩塊——前臺用戶操作及后臺管理。前臺用戶操作模塊又由病人預約掛號和醫(yī)生查詢兩大模塊組成.。前臺和后臺模塊下又有許多小模塊,各模塊之間相互聯(lián)系,得到如下功能結構圖,如圖1所示。
本系統(tǒng)具有通常醫(yī)院網(wǎng)上預約掛號系統(tǒng)應該具有的所有功能,包括用戶登錄、病人預約掛號、醫(yī)生查詢自己求醫(yī)病人的預約信息、醫(yī)院公告信息管理、醫(yī)生信息管理、科室管理、門診醫(yī)生出診信息管理、預約掛號管理等。
系統(tǒng)主要實現(xiàn)病人預約掛號和醫(yī)生查詢自己病人預約信息。系統(tǒng)管理員對預約掛號信息進行瀏覽和查詢,同時,系統(tǒng)管理員對門診醫(yī)生出診信息、醫(yī)生基本信息、科室信息進行維護。數(shù)據(jù)庫表的設計包括7張數(shù)據(jù)表:系統(tǒng)管理員表(表名:tb_admin)、醫(yī)生信息表(表名:tb_doctor)、病人信息表(表名:tb_patient)、科室信息表(表名:tb_office)、門診醫(yī)生出診信息表(表名:tb_outpatdoctor)、預約掛號信息表(表名:tb_order)、醫(yī)院公告信息表(表名:tb_information)。
3.2.1 用戶登錄
前臺登錄界面為病人與醫(yī)生登陸界面,登錄界面如圖2所示。新病人可以在此界面進行注冊,注冊成功后將會讓你返回登錄,然后輸入用戶名、密碼登陸首頁。為了系統(tǒng)的安全性,用戶密碼使用了密碼加密處理,必須是6到16位英文或數(shù)字;其次,醫(yī)生點擊“醫(yī)生登錄”可以進入醫(yī)生登錄界面,輸入醫(yī)生工號、密碼登錄首頁。后臺登錄界面為系統(tǒng)管理登錄界面,登錄界面如圖3所示。系統(tǒng)管理員輸入登錄賬號及密碼即可進入管理界面。無論是前臺用戶登錄還是后臺管理員登錄,在登錄時都需要進行客戶端身份驗證和服務器端身份驗證,檢查登錄的用戶名和密碼是否為空,進行命名規(guī)則合法性判定,以保證輸入數(shù)據(jù)的有效性。
3.2.2 病人預約掛號
病人登錄系統(tǒng)后,可以瀏覽醫(yī)院內所有公告信息,可以瀏覽所有門診醫(yī)生一周內的出診信息表,并且可以通過輸入門診醫(yī)生的科室或者門診醫(yī)生的姓名來實現(xiàn)快速查詢,系統(tǒng)自動列出符合病人要求的可預約的醫(yī)生信息列表,并提供相應的預約導航鏈接。病人通過點擊預約導航鏈接便可正式預約掛號,如圖4所示。同時系統(tǒng)還具有向病人提供瀏覽已有預約、快速查詢已有預約和取消已有預約的功能,如果預約日期已過期,那么病人就無法取消已有預約,如圖5所示。允許病人在線修改個人登錄密碼。
3.2.3 醫(yī)生查詢
醫(yī)生通過系統(tǒng)可以查看自己求醫(yī)病人的預約信息,可以瀏覽醫(yī)院內的所有公告信息以及可以在線修改個人登錄密碼(如圖6所示)。
3.2.4 醫(yī)生信息管理
主要實現(xiàn)醫(yī)院醫(yī)生基本信息的添加、刪除、修改與查詢功能。頁面中顯示醫(yī)生的基本信息(如圖7所示),包括醫(yī)生工號、醫(yī)生姓名、醫(yī)生所屬科室、醫(yī)生的專長等,用戶名和密碼結合在基本信息的基礎配置中,以便醫(yī)生使用該系統(tǒng)。
3.2.5 科室信息管理
主要實現(xiàn)醫(yī)院科室信息的添加與刪除功能。頁面中顯示科室基本信息,如圖8所示,包括科室編號、科室名稱,管理員可以對相關信息進行刪除。
3.2.6 門診醫(yī)生出診信息管理
主要實現(xiàn)門診醫(yī)生出診信息的添加、編輯與刪除功能。頁面中顯示所有門診醫(yī)生一周的出診信息,如圖9所示。門診醫(yī)生是從醫(yī)院所有醫(yī)生中分配出來的,管理員可以添加、編輯、刪除以及瀏覽所有門診醫(yī)生的出診信息。
3.2.7 預約掛號信息管理
病人提交預約掛號信息以后,管理員可以對所有預約掛號信息進行查詢和瀏覽,但不能刪除病人預約信息,即使預約信息已過期,以便為醫(yī)院留檔以及決策機構提供參考。
由于網(wǎng)上預約掛號系統(tǒng)與系統(tǒng)的數(shù)據(jù)庫相連,網(wǎng)上預約的專家、??瞥鲈\時間表直接從醫(yī)院的掛號系統(tǒng)數(shù)據(jù)庫中讀取,反映著最新的醫(yī)生出診時間信息,而且實時顯示出診醫(yī)生一周的可掛數(shù)和已掛數(shù)。appointment.php是完成顯示出診醫(yī)生的預約可掛號數(shù)和已掛號數(shù)的源碼,部分代碼如下:
$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>″;
}
由于醫(yī)院門診量大,門診號難掛,為了杜絕倒、炒門診號,病人溜號的現(xiàn)象,提高醫(yī)院門診服務質量,取得良好的社會效益和經(jīng)濟效益,本系統(tǒng)限制病人一天只能掛一次同一醫(yī)生同一天的號。checkappointment.php是完成限制病人掛號數(shù)的源碼,部分代碼如下:
$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(″一天只能掛一次同一醫(yī)生同一天的號!″);
GoOrRefreshPage(0,″appointment.php″);exit;
}
本文設計了基于B/S結構的醫(yī)院網(wǎng)上預約掛號系統(tǒng),系統(tǒng)采用了當前流行的瀏覽器/服務器結構,設計中注重網(wǎng)上預約掛號的實際運用效果,設計了較為完備的功能,方便了患者掛號看病,避免了長時間排隊掛號的情況,改善了醫(yī)患關系,同時也提高了醫(yī)院和醫(yī)生的知名度,讓醫(yī)院和患者達到雙贏的局面。
[1]梁韻怡,楊云芬.門診預約掛號信息系統(tǒng)的應用[J].護理管理雜志,2004,7(4):57~58.
[2]孟濤,趙健,孫萍.預約掛號在醫(yī)院門診應用的探討[J].中國醫(yī)療前沿,2008,(8).
[3]程東萍.醫(yī)院網(wǎng)上預約掛號系統(tǒng)[J].醫(yī)學信息,2007,20(11):1930~1931.
[4]李剛榮.數(shù)字化建設促進醫(yī)院發(fā)展[J].重慶醫(yī)學,2004,33(9):1321~1322.
[5]衛(wèi)錦薇.醫(yī)院的網(wǎng)上預約掛號系統(tǒng)[J].醫(yī)學信息,2001,14(12):605.
[6]陶國芳,王維維,陳欣,劉永平,王培科,陳彤.基于Web的醫(yī)院遠程預約掛號系統(tǒng)的設計[J].福建電腦,2003,(7):75.