吳雅琴,王曉東
(內蒙古醫科大學 計算機信息學院,內蒙古 呼和浩特 010110)
隨著我國采供血事業的快速發展,從血液安全戰略考慮,建立區域性乃至全國性的血液系統中心數據庫的重要性和緊迫性逐漸顯現[1]。血庫管理系統始于20世紀80年代,主要以單機版應用程序存儲手工錄入數據,可以實現數據查詢、報表打印等功能。90年代中后期血庫管理系統的建設按照國際輸血協會制定的編碼規范,使醫療機構對血液的管理更加規范安全。
為了推動臨床合理用血,2012年原衛生部令第58號公布《醫療機構臨床用血管理辦法》,明確提出醫療機構應當對血液預訂、接收、入庫、儲存、出庫及庫存預警等進行管理,保證血液儲存、運送符合國家有關標準和要求。按照管理辦法的要求,很多醫院加強了血庫管理系統的建設工作。但是,傳統血庫管理信息系統往往是單一發血量統計,且為輸血科獨立“孤島”信息系統,即與臨床脫離管理軟件[2]。設計開發能夠與醫院信息系統(HIS)、實驗室信息系統(LIS)實現數據共享和業務協作的血庫管理系統,對于現代醫院信息化管理具有非常重要的意義。
為了實現業務邏輯間的“高內聚,低耦合”,醫院血庫管理系統采用將整個業務應用劃分為表示層、業務邏輯層、數據訪問層的三層體系架構。數據訪問層實現對數據庫的操作,業務邏輯層實現對數據業務邏輯進行處理,表示層實現用戶界面的呈現。三層體系架構如圖1所示。

圖1 三層體系架構
血庫管理系統不僅可以提高工作人員的工作效率,提高數據的準確性,而且可以促進醫院現代信息化建設,提高醫院管理質量和效益。血庫管理是醫院信息系統的重要組成部分之一,基于數據可視化血庫管理系統中的“數據可視化”,是指本系統可以將數據統計結果以圖形圖表結果呈現而非枯燥無味的數字。血庫管理系統包含系統用戶管理、血液入庫、血液出庫、血液庫存管理、數據統計、系統數據維護等業務流程。系統功能總體框架圖如圖2所示。

圖2 系統功能總體框架
1.2.1 系統用戶管理。血庫管理系統內包含普通用戶、管理員和系統管理員3種用戶角色。普通用戶即醫師,可以提交輸血申請、交叉配血登記、查看血液庫存數據信息等。管理員即血庫科室負責人,可以實現血液入庫管理、血液出庫管理、數據統計信息管理等功能。系統管理員可以實現系統用戶管理與系統數據備份維護等功能。
1.2.2 血液入庫管理。指定的血站向醫院提供符合國家有關標準和要求的血液后,由管理員在系統內進行入庫管理登記。血液入庫管理登記主要包含血袋號、血型、RH、血液成分、血液來源、采血日期、失效日期、入庫日期、入庫價格等主要信息。
1.2.3 血液出庫管理。根據《醫療機構臨床用血管理辦法》要求,臨床用血應建立申請管理制度。在血液出庫管理功能中設有輸血申請管理[3]。除急救用血情況外,患者用血需由普通用戶(醫師)提交輸血申請,管理員(血庫科室負責人)審核通過后方可備血。血液出庫管理除了登記血袋號、血型、RH、血液成分、血液來源、采血日期、失效日期、入庫日期、入庫價格信息之外,還需記錄患者的姓名、血型、病案號、住院號、申請血液用量等信息。
1.2.4 血液庫存管理。血液庫存管理主要以數據可視化的結果形式呈現醫院血庫血液庫存數量,同時系統提供儲量預警和有效期預警功能。①儲量預警。儲量預警是指當不同品種血液庫存量小于最低儲量或當前儲量減去最低儲量小于某一個設定的閾值范圍內。②有效期預警。有效期預警是指血液有效期已經過期或者即將到期,亦即有效期時間減去當前日期小于設定的閾值。
出現以上任何一種情況時,當用戶登錄系統后,會彈出警告信息。此項功能也可進行拓展,即系統將警告信息按某一頻度以短信的形式發送至管理員(血庫科室負責人)手機上。上述血液庫存最低儲量與閾值均可以由管理員在系統內設置具體數值。另外,對于超出有效期限以及有其他異常情況不能正常使用的庫存血液需要做報廢處理。
1.2.5 數據統計。數據統計主要可以通過血型、入(出)庫日期、采集日期、血液儲量、RH等多條件復合查詢實現血庫數據的統計功能,查詢結果以圖表形式直觀顯示。另外,系統可以自動生成年度臨床用血數據報告。
1.2.6 系統數據維護。由于血液數據信息的特殊性要求,系統數據維護模塊主要提供對血庫管理系統內數據進行自動定期與手工備份操作,避免由于停電、應用程序錯誤、服務器宕機等意外導致數據丟失。
本系統數據庫內相關字段值通過應用程序接口均實時同步于醫院HIS和LIS系統數據,避免數據不匹配而導致嚴重事故。按照基于數據可視化血庫管理系統的業務需求,系統包含普通用戶、管理員、系統管理員、入庫、輸血申請、發血、血液報廢、儲量預警等實體。限于篇幅,此處僅列出輸血申請實體和發血實體E-R圖,如圖3、圖4所示。

圖3 輸血申請實體E-R圖

圖4 發血實體E-R圖
基于數據可視化血庫管理系統采用MVC(Model-View-Controller)開發模式,可以使程序開發更加高效。MVC開發模式是一種程序設計概念,它將外觀設計和實際業務邏輯設計相區分,使程序更加便于擴展與維護[4]。用戶將請求發送給Controller,Controller將請求類型和指令發送給Model,Model連接數據庫完成數據訪問操作,最后根據需求,通過View顯示結果。
為了使系統方便實現多用戶管理,登錄頁面的“用戶類型”使用DropDownList控件綁定用戶角色表。DropDownList的DataTextField屬性設置為角色名稱(RoleName),DataValueField屬性設置為角色ID(RoleID)。為有效防止惡意程序暴力破解系統登錄密碼,在登錄頁面設置驗證碼機制,單擊驗證碼即可刷新。系統登錄頁面如圖5所示。

圖5 系統登錄頁面

圖6 庫存復合查詢頁面
基于數據可視化血庫管理系統提供的庫存復合查詢功能,可以在設置多條件情況下,進行查詢并將結果以可視化圖表形式呈現(見圖6)。
當無任何條件值輸入時,系統默認以當前日期進行統計,圖表中加粗橫線表示系統設定的血液最低儲量值。本系統中使用的可視化MSChart控件是由微軟開發,面向圖表繪制、圖形統計和報表圖形顯示所提供的可視化解決方案,它同時支持Web和WinForm兩種方式。
輸血治療是臨床救治患者的一個重要的手段,是醫療救治體系不可或缺的基本組成部分[5]。基于數據可視化血庫管理系統實現了醫院臨床用血流程化管理,系統用戶管理實行逐級審核,統計數據結果以可視化形式直觀呈現,系統使臨床用血更加規范準確,從而最大限度避免醫療事故與醫療差錯的發生,進一步提高了醫院信息化管理效率,向建設智慧醫院方向發展具有重要的推動作用。