◆羅 理
門診醫(yī)生排班系統(tǒng)的設(shè)計與實現(xiàn)
◆羅 理
(湖南省長沙市中心醫(yī)院信息科 湖南 410004)
本文開發(fā)了一套門診醫(yī)生排班系統(tǒng)。此系統(tǒng)實現(xiàn)了班別設(shè)置、醫(yī)生選班、基礎(chǔ)號源設(shè)置、排班管理、號源修改,停診管理等功能。優(yōu)點一、采用預(yù)設(shè)號源的方式,根據(jù)每個醫(yī)生平時大約多少分鐘看一個病人來設(shè)置基礎(chǔ)號源,每個號源對應(yīng)到時間點,方便患者預(yù)約和排隊,提高了醫(yī)生的看病效率,減少患者的就診等候時間。優(yōu)點二、停診管理功能,門診醫(yī)生在坐診過程中遇到緊急任務(wù)需要處理,對已經(jīng)掛了此醫(yī)生號或已預(yù)約了此醫(yī)生號的患者轉(zhuǎn)到同科室同職稱的其他醫(yī)生上,不會耽誤患者看病,同時也降低了產(chǎn)生糾紛的可能性。排班系統(tǒng)的上線提高了醫(yī)生的看病效率,降低了患者的等候時間,理順了門診排班、掛號、預(yù)約、排隊、就診、停診整個流程。
門診醫(yī)生排班;排班號源;預(yù)約掛號;停診管理
近年來,大醫(yī)院看病難的問題日益突出,如:看病等候時間長;專家號源一號難求;專家坐診情況,號源情況更新不及時等。為了解決這些問題,其主要辦法就是提倡預(yù)約掛號,引導(dǎo)患者提前預(yù)約,通過預(yù)約確定具體醫(yī)生和具體的時段號源,這樣患者就可按預(yù)約的時間段來醫(yī)院就診,避免等候太長時間,同時也避免了患者來到醫(yī)院,卻發(fā)現(xiàn)沒有號源的問題。
要實現(xiàn)患者預(yù)約掛號,前提是必須給門診醫(yī)生提前排班,設(shè)置好醫(yī)生的排班號源和每個號源對應(yīng)的時點,并解決醫(yī)生臨時停診等問題。在此背景下,開發(fā)一套門診醫(yī)生排班系統(tǒng)迫在眉睫。
門診醫(yī)生排班系統(tǒng)對現(xiàn)代大型醫(yī)院來說是必不可少的,它直接影響著門診日常業(yè)務(wù)的正常流轉(zhuǎn),關(guān)系到醫(yī)院門診業(yè)務(wù)量的提升,制約著門診預(yù)約流程的實施,最重要的是,它能夠提高門診部和門診醫(yī)生的工作效率,能給患者帶來諸多便利,同時提高了患者的就醫(yī)滿意度。
門診醫(yī)生排班系統(tǒng)主要功能:(1)班別設(shè)置;(2)科室班別選擇;(3)醫(yī)生選班;(4)醫(yī)生基礎(chǔ)號源設(shè)置;(5)科室排班;(6)醫(yī)生停診。系統(tǒng)總體流程如圖1。
科室班別選擇功能負(fù)責(zé)從全院班中為科室選擇班別,例如:上午班,下午班,上午9點班等等。
醫(yī)生選班功能負(fù)責(zé)從科室班別中給每個醫(yī)生選擇坐診班別,在醫(yī)生排班時即可用上。例如:張醫(yī)生選取了上午班、下午班;李醫(yī)生選取了上午9點班(高峰時段幫忙班)。
醫(yī)生基礎(chǔ)號源設(shè)置功能負(fù)責(zé)給每個醫(yī)生選取的每個班別設(shè)置基礎(chǔ)號源,例如:張醫(yī)生選取了上午班,再給上午班設(shè)置了50個基礎(chǔ)號源,那么張醫(yī)生坐上午班時就有了50個號源可以掛號或預(yù)約掛號。
科室排班功能負(fù)責(zé)給科室所有門診醫(yī)生排班,例如:8月5日張醫(yī)生在門診全天上班,那么排班時則需要給張醫(yī)生同時選擇上午班和下午班。
醫(yī)生停診功能負(fù)責(zé)將門診醫(yī)生已排好未使用的號源作廢,同時將那些已經(jīng)有患者預(yù)約和掛號的號源轉(zhuǎn)診給同科室同級別的其他醫(yī)生就診。例如:普外科副主任級別張醫(yī)生上午有緊急手術(shù),需要停診,這時張醫(yī)生的上午所有未使用的號源將作廢,同時將已經(jīng)掛了號的號源轉(zhuǎn)給普外科副主任級別的劉醫(yī)生進(jìn)行就診。
圖1 排班系統(tǒng)流程
排班系統(tǒng)的詳細(xì)設(shè)計包括三個主要功能:醫(yī)生基礎(chǔ)號源設(shè)置功能、科室排班功能、醫(yī)生停診功能。
醫(yī)生的基礎(chǔ)號源應(yīng)該如何設(shè)置才能提高醫(yī)生的工作效率,才會減短患者的等候時間,這是一個非常重要的問題。通過與門診部、醫(yī)務(wù)部、門診代表科室一起討論,決定按每個門診科室提交一份清單,清單記錄了科室里每個門診醫(yī)生每天上午和下午的平均看病速度或上午能看多少個病人,下午能看多少個病人,然后我們再根據(jù)提交的這份清單計算出每個醫(yī)生的上午班應(yīng)設(shè)置的號源數(shù),下午應(yīng)設(shè)置的號源數(shù),同時計算出每個號源對應(yīng)的時間點,設(shè)置在基礎(chǔ)號源里供患者參考。
再就是這些號源應(yīng)該如何分配,例如,張醫(yī)生上午設(shè)置了50個號源,哪些是可以在網(wǎng)上預(yù)約掛號的,哪些是只能到窗口掛號的,這就需要在基礎(chǔ)號源中設(shè)置號源類型。我們將其中40個號源的類型設(shè)置為“公開”,另外10個號源的類型設(shè)置為“窗口”,這樣在網(wǎng)上或手機上就只能看到張醫(yī)生的40個號源,而在醫(yī)院窗口就可以看到全部50個號源。醫(yī)生基礎(chǔ)號源設(shè)置如圖2。
科室排班功能分為:設(shè)置坐診醫(yī)生、選擇班別、排班。設(shè)置坐診醫(yī)生就是將科室里面安排的坐診醫(yī)生進(jìn)行統(tǒng)計,以便排班,例如:婦科坐診醫(yī)生有:劉醫(yī)生,王醫(yī)生,羅醫(yī)生等;選擇班別就是根據(jù)每個坐診醫(yī)生的不同情況選擇不同的班別,例如:劉醫(yī)生一般都坐上午門診,偶爾坐下午班,那么劉醫(yī)生的班別選擇中就應(yīng)該同時選擇上午班和下午班,以便排班。如果劉醫(yī)生只坐上午班,不會坐下午班,那劉醫(yī)生選擇班時就只需要選擇上午班。排班包括:選擇排班,拷貝排班,按時段排班,基本思路都是給醫(yī)生進(jìn)行排班,在上面設(shè)置好的班別中勾選醫(yī)生當(dāng)天需要坐的班進(jìn)行排班??截惻虐啵磿r段排班是為了方便排班負(fù)責(zé)人的快速高效排班。
圖3 選擇排班
圖4 拷貝排班
圖5 按時段排班
醫(yī)生停診功能,首先需要將掛了或預(yù)約了該停診醫(yī)生號源的患者轉(zhuǎn)給同科同級別的其他醫(yī)生進(jìn)行就診,再就是將該醫(yī)生的未用號源全部停診,避免再有患者預(yù)約或掛號。
圖6 醫(yī)生停診功能
排班系統(tǒng)采用了三層B/S架構(gòu)設(shè)計,分為前端頁面、中間件、數(shù)據(jù)庫三層。前端頁面開發(fā)采用了Flex Builder IDE,其頁面布局快捷,界面美觀,應(yīng)用Flex開發(fā)Web頁面就好像是在開發(fā)桌面應(yīng)用程序一樣簡單。
中間件層采用Java開發(fā),Java是當(dāng)前最流行成熟的中間件開發(fā)語言,第三方j(luò)ar包豐富,開發(fā)中間件十分方便。Jboss作為應(yīng)用服務(wù)器部署在Linux服務(wù)器上安全穩(wěn)定可靠,Jboss對多數(shù)據(jù)庫事物和負(fù)載均衡方面都有很好的支持,再加上Jboss和Linux都是開源軟件,降低了系統(tǒng)的開發(fā)成本。數(shù)據(jù)庫層則采用了Oracle10g。Oracle數(shù)據(jù)庫穩(wěn)定可靠,應(yīng)用方便,為系統(tǒng)的數(shù)據(jù)安全提供了有力的保障。整個系統(tǒng)的架構(gòu)充分考慮了系統(tǒng)安全性,業(yè)務(wù)邏輯與用戶界面的分離性,用戶友好性,可維護(hù)性等特性。
private function fun_find_maxhy():void{
m_am_maxhy = "1001";
m_pm_maxhy = "2001";
//m_ac_hy 是按號源升序排列的數(shù)據(jù)集
hy= m_ac_hy.getItemAt(len-1).HYBM +1;
if(hy>=2001){
m_pm_maxhy = String(hy);
}
m_am_maxhy = "1001";
for(var i:int=m_ac_hy.length-1; i>=0; i--){
hy = m_ac_hy.getItemAt(i).HYBM +1;
if(hy>1000 && hy<=1999){
m_am_maxhy = String(hy);
break;
}}
}
//刪除原門診排班號源
funDeleteOldPB();
//插入新排班表PBSZ_PBT;
//插入新門診班號源表YYGL_ZJHY
funInsertPBT();
funInsertZJHY();
busiBean.setXml1(xm1con);
//… …
busiBean.setArg1(id_zmz.selected?"門診":"住院");//排班類型
busiBean.setArg2(m_str_zbr);//坐診醫(yī)生工號
busiBean.setArg3(m_str_pbrq);//坐診日期
//調(diào)用中間件提供的Webservice服務(wù)
var dbm:DBManager = new DBManager();
dbm.funSave("his_pbdb","20101005",1,busiBean,saveHandler);
//更新號源金額
funUpdateHYJE();
由于系統(tǒng)采用的是三層B/S架構(gòu)設(shè)計開發(fā),因此不需要到每臺電腦上安裝客戶端程序,系統(tǒng)實施起來非常方便,同時我們將系統(tǒng)的入口地址嵌入到HIS系統(tǒng)里,排班醫(yī)生只需要點擊HIS系統(tǒng)的一個排班按鈕即可直接進(jìn)入系統(tǒng),操作方便。同時信息科的工作人員只需要組織科室醫(yī)生做好系統(tǒng)的操作培訓(xùn),并授予相應(yīng)權(quán)限即完成了系統(tǒng)實施。
在系統(tǒng)實施過程中也遇到一些問題,比如:有些科室電腦瀏覽器版本太低,需要升級;排班醫(yī)生在剛開始對系統(tǒng)的操作還不是很熟悉,會出現(xiàn)一些問題;剛開始門診醫(yī)生嚴(yán)格按照號源看病,由于預(yù)估計的號源數(shù)量不夠,導(dǎo)致許多患者掛不到號的情況,出現(xiàn)問題后,我們及時調(diào)整醫(yī)生基礎(chǔ)號源數(shù)量,通過批量增加號源解決了問題。
本文以實際項目開發(fā)為背景討論了門診醫(yī)生排班系統(tǒng)的設(shè)計思路、設(shè)計流程、系統(tǒng)架構(gòu)、編碼實現(xiàn)等,系統(tǒng)的設(shè)計與實現(xiàn)解決了原來門診醫(yī)生排班靠手寫,靠郵件,信息落后,不能網(wǎng)上預(yù)約的狀況。系統(tǒng)上線至今運行穩(wěn)定,操作流程清晰,用戶界面友好,得到了門診部和醫(yī)務(wù)部的一致好評。從實際應(yīng)用效果來看,該系統(tǒng)大大提高了門診預(yù)約率,縮短了患者就診等候時間,提高了醫(yī)生的看病效率。
[1]占玉芬,蔡斌,丁國慶,張偉波,高燕,葉進(jìn)明.醫(yī)師排班軟件開發(fā)及應(yīng)用[J].中華醫(yī)院管理雜志,2017.
[2]鄒玉蓉,邵建華,黃虹.面向院內(nèi)信息共享和精細(xì)化管理的排班系統(tǒng)設(shè)計與實現(xiàn)[J].中國數(shù)字醫(yī)學(xué),2016.
[3]劉強,謝曉嵐,劉冉,陳爾真,楊之濤.基于語義面向院內(nèi)信息共享和精細(xì)化管理的排班系統(tǒng)設(shè)計與實現(xiàn)[J].工業(yè)工程與管理,2015.
[4]劉伶,陳娟,聶萍 鄧楠.門診醫(yī)師排班系統(tǒng)的實踐與思考[J].現(xiàn)代醫(yī)院,2017.
[5]謝新鵬,劉一強,吳漢森,廖生武.全預(yù)約掛號系統(tǒng)的應(yīng)用研究[J].中國衛(wèi)生信息管理,2014.
[6]Ford EW, Scanlong DP. Promise and problems with supply chain management approaches to health care purchasing[J]. Academy of Management proceedings,2006.
[7]Mensik J. Nickitas DM. Why nurse staffing matters: a moral imperative[J]. Nurs Econ,2015.
[8]李志敏,劉堯紅.AND排班在護(hù)士排班系統(tǒng)中的臨床應(yīng)用[J].檢驗醫(yī)學(xué)與臨床,2013.
[9]王碧華,陳振揚,王勇顯.醫(yī)院排班管理軟件的設(shè)計與實現(xiàn)[J].中國醫(yī)療設(shè)備,2015.
[10]陳璐,陳湘玉,八卷直一.電子排班系統(tǒng)的開發(fā)及應(yīng)用[J].中華護(hù)理雜志,2012.