1 引言
由于血液采集、存儲、使用等流程管理不善,血液信息不能共享,給國家和人民的生命財產造成巨大的威脅。隨著血液中心的管理模式向以業(yè)務流程為中心轉變,傳統(tǒng)的血液管理系統(tǒng)已經不能適應新的需要,我們必須開發(fā)網絡環(huán)境下運行的血液管理信息系統(tǒng),以滿足各使用單位進行“實時、動態(tài)跟蹤”血液數(shù)據(jù)的要求。根據(jù)目前血液管理系統(tǒng)的特征、客戶的反饋意見和現(xiàn)有信息技術的發(fā)展,我們提出了基于BPM的血液管理信息系統(tǒng)的開發(fā)。
整個系統(tǒng)的設計將以《義務獻血法》、《血站管理辦法》為依據(jù),產品滿足衛(wèi)生部有關血液管理的相關政策、法規(guī)要求。該系統(tǒng)以血站為主要應用對象,涉及血源管理、體檢管理、化驗管理、采血管理、血庫管理、成份制備管理、質控管理、站長管理等;涉及的部門和人員有血源科、體檢科、化驗科、采血科、成分科、血庫、獻血辦、質控科、財務科、總務科、人事科、業(yè)務科、站長等。血站各部門的信息通過數(shù)據(jù)庫和網絡實現(xiàn)共享和交換,對外部通過WEB進行信息查詢和發(fā)布。其中管理系統(tǒng)部分僅在血站內部使用,所面對的用戶較少、信息處理的速度快且安全性要求較高;信息共享和交換要求面向所有授權用戶。鑒于對系統(tǒng)的特殊要求,系統(tǒng)的設計按照實用性與先進性、經濟性與擴展性并用的原則進行。在系統(tǒng)設計中,首要考慮的是實用、便于操作、易于管理和維護,保證數(shù)據(jù)交換的安全性。
2 業(yè)務流程建模語言(Business Process Modeling Language)
BPM(Business Process Management)是一種基于業(yè)務流程技術(Work Flow)及企業(yè)應用集成技術(EAI)的新型的管理信息系統(tǒng)開發(fā)技術,強調從業(yè)務流程的角度對企業(yè)進行管理,依靠業(yè)務流程的改進推動企業(yè)持續(xù)發(fā)展。BPM的核心思想是為企業(yè)內及企業(yè)間的各種業(yè)務流程提供一個統(tǒng)一的建模、執(zhí)行和監(jiān)控的環(huán)境。BPML(Business Process Modeling Language)是用XML語法表達業(yè)務流程的一種語言規(guī)范,它為我們定義企業(yè)業(yè)務流程和復雜的web服務提供了依據(jù)。
BPML規(guī)范為表達業(yè)務流程提供了一個具體的模型,為描述業(yè)務流程做了詳細的規(guī)定。它基于XML擴展,是用于業(yè)務流程建模的元語言。業(yè)務流程通常包含以下四種基本實體:工序(Process)、活動(Activities)、組件和數(shù)據(jù)(Components)和控制部分(Control)。其中,(1)Process是模型中工序的集合,是完成特定任務的執(zhí)行順序,一個工序包括若干活動、相關數(shù)據(jù)和子工序;(2)活動是對具體功能的執(zhí)行,復雜活動可以包含子活動。較大工序的子工序可以是活動本身,因此對活動的定義普遍適用于工序的定義;(3)組件是指基于XML語法的應用程序;(4)控制是對執(zhí)行順序的規(guī)定,通常以數(shù)據(jù)流的形式控制哪些活動要被執(zhí)行或終止。
Namespace(命名空間)是BPML重要組成部分之一,在我們的模型中所有的命名都應包含在這個命名空間中。通常命名空間應包含對工序(Process)、實例(Instance)、功能(Function)、Web服務描述語言(WSDL)等定義。在BPML中允許自定義命名空間,用以支持用戶的擴展。
3 MVC設計模式
從狹義上說,設計模式是指某個具體的類;從廣義上說,它可以是任何粒度的軟件集合。小到一個類,大到整個系統(tǒng),都可以被認為是一個可以復用的組件。設計模式作為一種軟件開發(fā)的指導思想,有效的支持了變化和復用的要求,在面向對象設計中發(fā)揮了極其重要的作用。MVC(Model—view—Controller)設計模式來源于面向對象語言Smalltalk,它的主要思想分為三個部分:MVC設計模式包括三種對象:模型(Model)是應用對象,即業(yè)務處理模塊;視圖(view)是屏幕上的表示,即用戶視圖模塊;控制器(Controller)定義用戶界面對用戶請求的響應方式,即流程控制模塊。
圖1 MVC模式
該模型將實現(xiàn)兩個功能(圖1所示)。其一,Controller首先通過用戶界面生成請求條件。然后調用Model中的相應業(yè)務邏輯程序化請求條件,最后View將處理結果生產HTTP界面返回用戶。其二,是將用戶提交的請求轉化為系統(tǒng)識別的語句,判斷用戶請求是否符合安全權限,并通過ModeI返回。這樣就實現(xiàn)了用戶請求過程和數(shù)據(jù)庫分離,因此對于企業(yè)級應用是一種有效的解決方案。
通過MVC設計模式和BPM相結合構建血液管理信息系統(tǒng),可以有效利用資源,提高復用性及MIS系統(tǒng)效率。
4 基于BPM的血液管理信息系統(tǒng)設計
在系統(tǒng)需求及功能分析的基礎上,把血液管理信息系統(tǒng)開發(fā)劃分為如下3個部分:業(yè)務流程建模、數(shù)據(jù)庫設計和用戶界面。
4.1 業(yè)務流程建模
圖2是用BPMN(Business Process Management Notation)建立的一個完整的血液管理信息系統(tǒng)流程,其中活動如果有其子活動,用“+”表示:
在業(yè)務流程建模階段,首先要對業(yè)務流程作深入的分析,確定組織機構之間及其內部的業(yè)務流程處理工序,確定控制流的走向。同時要對各流程進行細化,包含相關實體的定義及其上下文的信息,由于各個流程之間可以互相通信,我們對業(yè)務流程進行分層次建模。其次,活動之間通過信息轉移進行聯(lián)系,由上層活動提供輸入資源,活動根據(jù)相應的要求進行處理,完成其功能。處理完畢后,將所請求的信息提供給相應的活動。以圖2中的血庫為例:“成份科”從其上層活動“采血科”和“化驗科”得到信息并對其處理,將結果告知血庫將其檢驗結果通知血庫,血庫根據(jù)要求進行相應的處理。從一個活動向另一個活動的轉移可以是有條件的,也可以是無條件,如:采血科向血庫提交成份血就是無條件的,而進入化驗科的信息需要是體檢合格人員的信息。
4.2 Mvc模式系統(tǒng)功能設計
4.2.1 血液管理信息系統(tǒng)模型(Model)
圖2 血液管理流程圖
系統(tǒng)總體設計如圖3所示,將系統(tǒng)程序結構按照科室進行劃分,每一個科室設計為兩個包(Package),界面包(UI Package)包含系統(tǒng)界面的一些類放在一起,用來顯示系統(tǒng)與用戶的交互界面,并將用戶的請求發(fā)送到事務包(Business Package);事務包(Business Package)處理所有有關數(shù)據(jù)庫及其他的事務,并將處理結果返回到用戶界面(UI Package)。
圖3 總體模型
子系統(tǒng)設計模型以圖4血源科子系統(tǒng)為例,血源科子系統(tǒng)也分為兩個包(Package):界面包(GUI Package)和事務包(Business Package)。界面包包含的事務對象有血員不變信息、血員可變信息、標簽輸出、輸入血員信息、淘汰血員信息,界面包含血員基本信息錄入界面、血員基本信息查詢界面、查體結果統(tǒng)計界面、化驗結果統(tǒng)計界面、Rh血員情況錄入和查詢界面、采血計劃制定界面、獻血情況統(tǒng)計排名界面、信息發(fā)布界面等。
4.2.2 構建系統(tǒng)視圖(View)
用戶視圖負責產生返回客戶端的HTML頁面,圖5是應用在血液管理系統(tǒng)中的查詢界面。
這些不同視圖的都是通過Model的兩個程序集來處理業(yè)務邏輯返回處理結果并由Controller控制顯示的。通過User—Control技術把業(yè)務邏輯和用戶界面分開,可以在不改變業(yè)務邏輯功能的情況下應用CSS樣式表等技術格式化頁面,形成好的軟件開發(fā)模式。
圖4 血源科子系統(tǒng)
4.2.3 構建交互控制器(Controller)
Controller控制對用戶的響應方式和流程:將用戶請求提交給相應的模塊,并將模塊的改變及時反饋給用戶視圖。Controller將HTTP協(xié)議輸入到與協(xié)議無關的程序集,整合業(yè)務邏輯處理元素,然后委托頁面構建組件,生成響應客戶端的界面。其次,Controller可根據(jù)客戶端提交的請求調用相應的程序集處理業(yè)務邏輯返回客戶端顯
示。
圖5是我們以血源科為例構建的交互式控制器。經過實體對象分析和規(guī)范化處理后,設計了系統(tǒng)代碼表、血員表、淘汰學員表、固定資產檔案表、人員信息表、映射表等數(shù)據(jù)庫表。其控制關系為:一條血員可變信息對應一條血員不變信息,反過來,一條血員不變信息可對應一條或者若干條血員可變信息;血員有償獻血信息和無償獻血信息都從血員可變信息繼承而來,具有血員可變信息的所有特征;輸入血員基本信息時(包括可變信息和不變信息),可以有一條或者沒有血員基本信息。淘汰信息與血員基本信息關聯(lián),即淘汰的血員必須有血員基本信息。
圖6 血源科Controller
4.3 安全機制
血液管理信息系統(tǒng)在B/S模塊的開發(fā)過程中,使用.Net內置驗證控件進行驗證,同時針對各種可能輸入的腳本關鍵字、SQL關鍵字進行監(jiān)控。在涉及到數(shù)據(jù)庫操作中,使用數(shù)據(jù)庫存儲過程,這樣既保證數(shù)據(jù)庫的連接方式的安全,也防止用戶通過惡意的SQL注入對數(shù)據(jù)庫進行攻擊。
5 結束語
本文介紹的血液管理信息系統(tǒng)已經在西部多個城市的血站、血液中心中應用。這種研究在BPM基礎上利用MVC設計模式構建MIS系統(tǒng)的設計方法對B/S結構的MIS開發(fā)有著重要的現(xiàn)實意義。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.guhuozai8.cn/
本文標題:基于BPM的血液管理信息ERP系統(tǒng)的構建
本文網址:http://m.guhuozai8.cn/html/consultation/1081967887.html