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