吳雅琴,王曉東
(內(nèi)蒙古醫(yī)科大學(xué) 計(jì)算機(jī)信息學(xué)院,內(nèi)蒙古 呼和浩特 010110)
隨著我國(guó)采供血事業(yè)的快速發(fā)展,從血液安全戰(zhàn)略考慮,建立區(qū)域性乃至全國(guó)性的血液系統(tǒng)中心數(shù)據(jù)庫(kù)的重要性和緊迫性逐漸顯現(xiàn)[1]。血庫(kù)管理系統(tǒng)始于20世紀(jì)80年代,主要以單機(jī)版應(yīng)用程序存儲(chǔ)手工錄入數(shù)據(jù),可以實(shí)現(xiàn)數(shù)據(jù)查詢(xún)、報(bào)表打印等功能。90年代中后期血庫(kù)管理系統(tǒng)的建設(shè)按照國(guó)際輸血協(xié)會(huì)制定的編碼規(guī)范,使醫(yī)療機(jī)構(gòu)對(duì)血液的管理更加規(guī)范安全。
為了推動(dòng)臨床合理用血,2012年原衛(wèi)生部令第58號(hào)公布《醫(yī)療機(jī)構(gòu)臨床用血管理辦法》,明確提出醫(yī)療機(jī)構(gòu)應(yīng)當(dāng)對(duì)血液預(yù)訂、接收、入庫(kù)、儲(chǔ)存、出庫(kù)及庫(kù)存預(yù)警等進(jìn)行管理,保證血液儲(chǔ)存、運(yùn)送符合國(guó)家有關(guān)標(biāo)準(zhǔn)和要求。按照管理辦法的要求,很多醫(yī)院加強(qiáng)了血庫(kù)管理系統(tǒng)的建設(shè)工作。但是,傳統(tǒng)血庫(kù)管理信息系統(tǒng)往往是單一發(fā)血量統(tǒng)計(jì),且為輸血科獨(dú)立“孤島”信息系統(tǒng),即與臨床脫離管理軟件[2]。設(shè)計(jì)開(kāi)發(fā)能夠與醫(yī)院信息系統(tǒng)(HIS)、實(shí)驗(yàn)室信息系統(tǒng)(LIS)實(shí)現(xiàn)數(shù)據(jù)共享和業(yè)務(wù)協(xié)作的血庫(kù)管理系統(tǒng),對(duì)于現(xiàn)代醫(yī)院信息化管理具有非常重要的意義。
為了實(shí)現(xiàn)業(yè)務(wù)邏輯間的“高內(nèi)聚,低耦合”,醫(yī)院血庫(kù)管理系統(tǒng)采用將整個(gè)業(yè)務(wù)應(yīng)用劃分為表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層的三層體系架構(gòu)。數(shù)據(jù)訪問(wèn)層實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,業(yè)務(wù)邏輯層實(shí)現(xiàn)對(duì)數(shù)據(jù)業(yè)務(wù)邏輯進(jìn)行處理,表示層實(shí)現(xiàn)用戶(hù)界面的呈現(xiàn)。三層體系架構(gòu)如圖1所示。
圖1 三層體系架構(gòu)
血庫(kù)管理系統(tǒng)不僅可以提高工作人員的工作效率,提高數(shù)據(jù)的準(zhǔn)確性,而且可以促進(jìn)醫(yī)院現(xiàn)代信息化建設(shè),提高醫(yī)院管理質(zhì)量和效益。血庫(kù)管理是醫(yī)院信息系統(tǒng)的重要組成部分之一,基于數(shù)據(jù)可視化血庫(kù)管理系統(tǒng)中的“數(shù)據(jù)可視化”,是指本系統(tǒng)可以將數(shù)據(jù)統(tǒng)計(jì)結(jié)果以圖形圖表結(jié)果呈現(xiàn)而非枯燥無(wú)味的數(shù)字。血庫(kù)管理系統(tǒng)包含系統(tǒng)用戶(hù)管理、血液入庫(kù)、血液出庫(kù)、血液庫(kù)存管理、數(shù)據(jù)統(tǒng)計(jì)、系統(tǒng)數(shù)據(jù)維護(hù)等業(yè)務(wù)流程。系統(tǒng)功能總體框架圖如圖2所示。
圖2 系統(tǒng)功能總體框架
1.2.1 系統(tǒng)用戶(hù)管理。血庫(kù)管理系統(tǒng)內(nèi)包含普通用戶(hù)、管理員和系統(tǒng)管理員3種用戶(hù)角色。普通用戶(hù)即醫(yī)師,可以提交輸血申請(qǐng)、交叉配血登記、查看血液庫(kù)存數(shù)據(jù)信息等。管理員即血庫(kù)科室負(fù)責(zé)人,可以實(shí)現(xiàn)血液入庫(kù)管理、血液出庫(kù)管理、數(shù)據(jù)統(tǒng)計(jì)信息管理等功能。系統(tǒng)管理員可以實(shí)現(xiàn)系統(tǒng)用戶(hù)管理與系統(tǒng)數(shù)據(jù)備份維護(hù)等功能。
1.2.2 血液入庫(kù)管理。指定的血站向醫(yī)院提供符合國(guó)家有關(guān)標(biāo)準(zhǔn)和要求的血液后,由管理員在系統(tǒng)內(nèi)進(jìn)行入庫(kù)管理登記。血液入庫(kù)管理登記主要包含血袋號(hào)、血型、RH、血液成分、血液來(lái)源、采血日期、失效日期、入庫(kù)日期、入庫(kù)價(jià)格等主要信息。
1.2.3 血液出庫(kù)管理。根據(jù)《醫(yī)療機(jī)構(gòu)臨床用血管理辦法》要求,臨床用血應(yīng)建立申請(qǐng)管理制度。在血液出庫(kù)管理功能中設(shè)有輸血申請(qǐng)管理[3]。除急救用血情況外,患者用血需由普通用戶(hù)(醫(yī)師)提交輸血申請(qǐng),管理員(血庫(kù)科室負(fù)責(zé)人)審核通過(guò)后方可備血。血液出庫(kù)管理除了登記血袋號(hào)、血型、RH、血液成分、血液來(lái)源、采血日期、失效日期、入庫(kù)日期、入庫(kù)價(jià)格信息之外,還需記錄患者的姓名、血型、病案號(hào)、住院號(hào)、申請(qǐng)血液用量等信息。
1.2.4 血液庫(kù)存管理。血液庫(kù)存管理主要以數(shù)據(jù)可視化的結(jié)果形式呈現(xiàn)醫(yī)院血庫(kù)血液庫(kù)存數(shù)量,同時(shí)系統(tǒng)提供儲(chǔ)量預(yù)警和有效期預(yù)警功能。①儲(chǔ)量預(yù)警。儲(chǔ)量預(yù)警是指當(dāng)不同品種血液庫(kù)存量小于最低儲(chǔ)量或當(dāng)前儲(chǔ)量減去最低儲(chǔ)量小于某一個(gè)設(shè)定的閾值范圍內(nèi)。②有效期預(yù)警。有效期預(yù)警是指血液有效期已經(jīng)過(guò)期或者即將到期,亦即有效期時(shí)間減去當(dāng)前日期小于設(shè)定的閾值。
出現(xiàn)以上任何一種情況時(shí),當(dāng)用戶(hù)登錄系統(tǒng)后,會(huì)彈出警告信息。此項(xiàng)功能也可進(jìn)行拓展,即系統(tǒng)將警告信息按某一頻度以短信的形式發(fā)送至管理員(血庫(kù)科室負(fù)責(zé)人)手機(jī)上。上述血液庫(kù)存最低儲(chǔ)量與閾值均可以由管理員在系統(tǒng)內(nèi)設(shè)置具體數(shù)值。另外,對(duì)于超出有效期限以及有其他異常情況不能正常使用的庫(kù)存血液需要做報(bào)廢處理。
1.2.5 數(shù)據(jù)統(tǒng)計(jì)。數(shù)據(jù)統(tǒng)計(jì)主要可以通過(guò)血型、入(出)庫(kù)日期、采集日期、血液儲(chǔ)量、RH等多條件復(fù)合查詢(xún)實(shí)現(xiàn)血庫(kù)數(shù)據(jù)的統(tǒng)計(jì)功能,查詢(xún)結(jié)果以圖表形式直觀顯示。另外,系統(tǒng)可以自動(dòng)生成年度臨床用血數(shù)據(jù)報(bào)告。
1.2.6 系統(tǒng)數(shù)據(jù)維護(hù)。由于血液數(shù)據(jù)信息的特殊性要求,系統(tǒng)數(shù)據(jù)維護(hù)模塊主要提供對(duì)血庫(kù)管理系統(tǒng)內(nèi)數(shù)據(jù)進(jìn)行自動(dòng)定期與手工備份操作,避免由于停電、應(yīng)用程序錯(cuò)誤、服務(wù)器宕機(jī)等意外導(dǎo)致數(shù)據(jù)丟失。
本系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)相關(guān)字段值通過(guò)應(yīng)用程序接口均實(shí)時(shí)同步于醫(yī)院HIS和LIS系統(tǒng)數(shù)據(jù),避免數(shù)據(jù)不匹配而導(dǎo)致嚴(yán)重事故。按照基于數(shù)據(jù)可視化血庫(kù)管理系統(tǒng)的業(yè)務(wù)需求,系統(tǒng)包含普通用戶(hù)、管理員、系統(tǒng)管理員、入庫(kù)、輸血申請(qǐng)、發(fā)血、血液報(bào)廢、儲(chǔ)量預(yù)警等實(shí)體。限于篇幅,此處僅列出輸血申請(qǐng)實(shí)體和發(fā)血實(shí)體E-R圖,如圖3、圖4所示。
圖3 輸血申請(qǐng)實(shí)體E-R圖
圖4 發(fā)血實(shí)體E-R圖
基于數(shù)據(jù)可視化血庫(kù)管理系統(tǒng)采用MVC(Model-View-Controller)開(kāi)發(fā)模式,可以使程序開(kāi)發(fā)更加高效。MVC開(kāi)發(fā)模式是一種程序設(shè)計(jì)概念,它將外觀設(shè)計(jì)和實(shí)際業(yè)務(wù)邏輯設(shè)計(jì)相區(qū)分,使程序更加便于擴(kuò)展與維護(hù)[4]。用戶(hù)將請(qǐng)求發(fā)送給Controller,Controller將請(qǐng)求類(lèi)型和指令發(fā)送給Model,Model連接數(shù)據(jù)庫(kù)完成數(shù)據(jù)訪問(wèn)操作,最后根據(jù)需求,通過(guò)View顯示結(jié)果。
為了使系統(tǒng)方便實(shí)現(xiàn)多用戶(hù)管理,登錄頁(yè)面的“用戶(hù)類(lèi)型”使用DropDownList控件綁定用戶(hù)角色表。DropDownList的DataTextField屬性設(shè)置為角色名稱(chēng)(RoleName),DataValueField屬性設(shè)置為角色I(xiàn)D(RoleID)。為有效防止惡意程序暴力破解系統(tǒng)登錄密碼,在登錄頁(yè)面設(shè)置驗(yàn)證碼機(jī)制,單擊驗(yàn)證碼即可刷新。系統(tǒng)登錄頁(yè)面如圖5所示。
圖5 系統(tǒng)登錄頁(yè)面
圖6 庫(kù)存復(fù)合查詢(xún)頁(yè)面
基于數(shù)據(jù)可視化血庫(kù)管理系統(tǒng)提供的庫(kù)存復(fù)合查詢(xún)功能,可以在設(shè)置多條件情況下,進(jìn)行查詢(xún)并將結(jié)果以可視化圖表形式呈現(xiàn)(見(jiàn)圖6)。
當(dāng)無(wú)任何條件值輸入時(shí),系統(tǒng)默認(rèn)以當(dāng)前日期進(jìn)行統(tǒng)計(jì),圖表中加粗橫線(xiàn)表示系統(tǒng)設(shè)定的血液最低儲(chǔ)量值。本系統(tǒng)中使用的可視化MSChart控件是由微軟開(kāi)發(fā),面向圖表繪制、圖形統(tǒng)計(jì)和報(bào)表圖形顯示所提供的可視化解決方案,它同時(shí)支持Web和WinForm兩種方式。
輸血治療是臨床救治患者的一個(gè)重要的手段,是醫(yī)療救治體系不可或缺的基本組成部分[5]?;跀?shù)據(jù)可視化血庫(kù)管理系統(tǒng)實(shí)現(xiàn)了醫(yī)院臨床用血流程化管理,系統(tǒng)用戶(hù)管理實(shí)行逐級(jí)審核,統(tǒng)計(jì)數(shù)據(jù)結(jié)果以可視化形式直觀呈現(xiàn),系統(tǒng)使臨床用血更加規(guī)范準(zhǔn)確,從而最大限度避免醫(yī)療事故與醫(yī)療差錯(cuò)的發(fā)生,進(jìn)一步提高了醫(yī)院信息化管理效率,向建設(shè)智慧醫(yī)院方向發(fā)展具有重要的推動(dòng)作用。