[摘 要]針對(duì)目前區(qū)域內(nèi)藥品安全事件頻發(fā)的現(xiàn)狀,本文首先從業(yè)務(wù)與功能角度對(duì)藥品安全預(yù)警系統(tǒng)進(jìn)行了數(shù)據(jù)流程分析,然后結(jié)合藥品安全監(jiān)管業(yè)務(wù)的基本流程,提出了基于.NET框架和數(shù)據(jù)倉(cāng)庫(kù)的藥品安全預(yù)警系統(tǒng)的架構(gòu)方案,并就基于特爾菲法和層次分析法的藥品安全指標(biāo)體系的構(gòu)建方法以及基于Analysis Server的藥品安全數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程進(jìn)行了闡述,最后具體介紹了基于時(shí)間序列數(shù)據(jù)挖掘技術(shù)的預(yù)測(cè)預(yù)警子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程。
[關(guān)鍵詞]藥品安全 預(yù)警系統(tǒng) 數(shù)據(jù)倉(cāng)庫(kù) .NET框架
一、引言
隨著社會(huì)主義市場(chǎng)經(jīng)濟(jì)的迅速發(fā)展,藥品安全問(wèn)題變得日益突出,黑龍江齊二藥假藥案件、安徽華源“欣弗”注射液不良事件等一系列藥品安全重大事故相繼發(fā)生,給人民群眾身體健康和生命安全造成了嚴(yán)重危害。因此,在面對(duì)藥品安全突發(fā)事件頻頻發(fā)生的嚴(yán)峻形勢(shì)下,國(guó)家必須加快完善藥品安全監(jiān)管法規(guī)體系,整頓和規(guī)范藥品市場(chǎng)秩序,建立專門(mén)的藥品安全控制模式和完善的預(yù)警反應(yīng)機(jī)制,并根據(jù)實(shí)際需要,不斷完善,為開(kāi)展高效、科學(xué)的藥品安全監(jiān)管工作提供強(qiáng)有力的支持,從而將事后控制轉(zhuǎn)變?yōu)槭虑邦A(yù)防,將危害減少到最低程度。
本系統(tǒng)的建設(shè)目標(biāo)是立足于紹興地區(qū)藥品安全管理與運(yùn)行體系的基本現(xiàn)狀,以國(guó)際上公認(rèn)的藥品安全最佳控制模式為基本切入點(diǎn),以實(shí)現(xiàn)“從藥廠到患者”整個(gè)藥品鏈的預(yù)防管理為突破口,通過(guò)計(jì)算機(jī)信息網(wǎng)絡(luò)平臺(tái),以藥品安全監(jiān)測(cè)數(shù)據(jù)為基礎(chǔ),構(gòu)建藥品安全數(shù)據(jù)倉(cāng)庫(kù),利用數(shù)據(jù)挖掘技術(shù)分析監(jiān)測(cè)數(shù)據(jù),找出數(shù)據(jù)關(guān)聯(lián)模型,對(duì)藥品安全趨勢(shì)做出預(yù)測(cè)和預(yù)警,為藥監(jiān)部門(mén)和應(yīng)急反應(yīng)機(jī)構(gòu)的科學(xué)決策提供支持,形成一個(gè)實(shí)時(shí)的藥品安全監(jiān)測(cè)網(wǎng)絡(luò)與預(yù)警管理系統(tǒng),從而為區(qū)域內(nèi)藥品安全事件的預(yù)防與控制發(fā)揮積極的作用。
二、系統(tǒng)需求分析
面向區(qū)域的藥品安全預(yù)警系統(tǒng)是一種大型的數(shù)據(jù)分布式處理系統(tǒng),涉及到對(duì)數(shù)據(jù)倉(cāng)庫(kù)中大量數(shù)據(jù)的查找、分析和計(jì)算,比較適合用結(jié)構(gòu)化分析方法,因此本文采用多層數(shù)據(jù)流程圖(DFD)來(lái)描述系統(tǒng)的功能、輸入、輸出和數(shù)據(jù)存儲(chǔ)之間的邏輯關(guān)系。藥品安全預(yù)警系統(tǒng)第一層DFD圖如圖1所示。
三、系統(tǒng)總體架構(gòu)
1. 體系結(jié)構(gòu)設(shè)計(jì)
通過(guò)對(duì)目前主流體系結(jié)構(gòu)設(shè)計(jì)模式的比較分析,并結(jié)合預(yù)警系統(tǒng)的業(yè)務(wù)需求和自身特點(diǎn),預(yù)警系統(tǒng)采用了C/S和B/S相混合的三層體系架構(gòu)。架構(gòu)以Windows XP為前臺(tái)操作平臺(tái),以SQL Server 2005數(shù)據(jù)庫(kù)和Analysis Service數(shù)據(jù)倉(cāng)庫(kù)為后臺(tái)服務(wù)平臺(tái),以IIS6.0為Web服務(wù)器,以IE5.5以上版本為客戶瀏覽器;同時(shí),在設(shè)計(jì)過(guò)程中充分考慮系統(tǒng)易用性、可靠性和靈活性的統(tǒng)一,確保系統(tǒng)具有穩(wěn)定、可靠、安全、易重構(gòu)的特點(diǎn)。面向區(qū)域的藥品安全預(yù)警系統(tǒng)的體系結(jié)構(gòu)如圖2所示。
2. 功能結(jié)構(gòu)設(shè)計(jì)
通過(guò)對(duì)藥監(jiān)部門(mén)和預(yù)警系統(tǒng)的需求分析,并參照SAS 軟件的部分模型,將整個(gè)系統(tǒng)分為前臺(tái)系統(tǒng)與后臺(tái)系統(tǒng)兩大部份。前臺(tái)系統(tǒng)是整個(gè)軟件系統(tǒng)的主體,也是實(shí)現(xiàn)用戶功能需求,完成用戶業(yè)務(wù)處理,達(dá)成用戶業(yè)務(wù)目標(biāo)的的部分。系統(tǒng)用戶通過(guò)Internet/Intranet登錄進(jìn)入系統(tǒng),按后臺(tái)管理員所賦予其的角色權(quán)限,接受系統(tǒng)服務(wù),進(jìn)行業(yè)務(wù)功能的操作與處理,完成既定任務(wù)與目標(biāo)。后臺(tái)系統(tǒng)是整個(gè)軟件系統(tǒng)的輔助支撐,也是系統(tǒng)管理員對(duì)系統(tǒng)進(jìn)行控制與設(shè)置的功能界面。系統(tǒng)管理員通過(guò)客戶端應(yīng)用程序連接后臺(tái)服務(wù)器,對(duì)用戶信息、配置參數(shù)和指標(biāo)數(shù)據(jù)等進(jìn)行系統(tǒng)的設(shè)置與管理,以保障系統(tǒng)的正常運(yùn)行。預(yù)警系統(tǒng)的功能結(jié)構(gòu)如圖3所示。
四、系統(tǒng)總體設(shè)計(jì)
1.指標(biāo)體系的設(shè)計(jì)
進(jìn)行藥品安全綜合評(píng)價(jià)的關(guān)鍵是建立一套科學(xué)的、可行的評(píng)價(jià)指標(biāo)體系??茖W(xué)合理的評(píng)價(jià)指標(biāo)體系是建立藥品安全突發(fā)事件預(yù)警系統(tǒng)的前提。
(1)指標(biāo)體系的選取
根據(jù)完備性、最小性、重要性、協(xié)調(diào)性、可靠靈敏性和代表性的設(shè)計(jì)原則,以藥品抽樣檢驗(yàn)和ADR監(jiān)測(cè)數(shù)據(jù)為基礎(chǔ),結(jié)合預(yù)警相關(guān)領(lǐng)域?qū)<业难芯砍晒謩e建立了藥品質(zhì)量不安全指標(biāo)、假劣藥品流通指標(biāo)和藥品經(jīng)營(yíng)不規(guī)范指標(biāo)3個(gè)一級(jí)指標(biāo),以及藥品抽樣不合格率、ADR事件增長(zhǎng)率和假劣藥品危害系數(shù)等10個(gè)二級(jí)指標(biāo)。
(2)指標(biāo)權(quán)重的確定
基于該指標(biāo)體系中指標(biāo)相關(guān)性系數(shù)較低的特點(diǎn),系統(tǒng)主要從指標(biāo)重要性角度出發(fā)用層次分析法(AHP)確定權(quán)重。在構(gòu)建的層次分析模型中,目標(biāo)層為藥品安全突發(fā)事件預(yù)警指標(biāo),準(zhǔn)則層為藥品經(jīng)營(yíng)不規(guī)范指標(biāo)、藥品質(zhì)量不安全指標(biāo)、假劣藥品流通指標(biāo)三類,指標(biāo)層為準(zhǔn)則層下面的10個(gè)指標(biāo)。分別構(gòu)建準(zhǔn)則層和指標(biāo)層的判斷矩陣,運(yùn)算得CR=0.009,CR1=0.009,CR2=0.009,CR3=0.019,均滿足一致性條件。
(3)預(yù)警警界區(qū)間的劃分
根據(jù)藥品市場(chǎng)安全狀態(tài)的變化規(guī)律結(jié)合藥監(jiān)部門(mén)的統(tǒng)計(jì)資料,將監(jiān)測(cè)預(yù)警的判斷區(qū)域劃分為無(wú)警、輕警、中警、重警和巨警五個(gè)區(qū)域,并分別用綠、藍(lán)、黃、橙和紅五種標(biāo)識(shí)燈作為預(yù)警信號(hào)。同時(shí)為了不僅能從狀態(tài)上了解藥品市場(chǎng)的安全狀況,而且還能地從強(qiáng)度上去更好地理解分析,系統(tǒng)還給各個(gè)指標(biāo)設(shè)計(jì)了相應(yīng)的警度值。
2.數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)采用了基于WEB的數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)和基于“數(shù)據(jù)驅(qū)動(dòng)”的螺旋式開(kāi)發(fā)方法,以提高數(shù)據(jù)倉(cāng)庫(kù)的健壯性,減少數(shù)據(jù)倉(cāng)庫(kù)開(kāi)發(fā)帶來(lái)的風(fēng)險(xiǎn)。
(1)主題的分析與選取
通過(guò)對(duì)決策分析的需求研究,確定了一個(gè)分析主題,即藥品監(jiān)測(cè)指標(biāo)數(shù)據(jù)。通過(guò)藥品監(jiān)測(cè)指標(biāo)分析能夠客觀了解并把握區(qū)域內(nèi)藥品安全的整體狀況,滿足決策者決策分析的需要。
(2)數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)模型的設(shè)計(jì)
通過(guò)對(duì)時(shí)距和粒度的權(quán)衡設(shè)置,并依據(jù)星型模型和物理數(shù)據(jù)模型的轉(zhuǎn)換關(guān)系,系統(tǒng)建立了如圖4所示的物理數(shù)據(jù)模型。
(3)多維數(shù)據(jù)集的設(shè)計(jì)
采用MOLAP模式,并利用Microsoft Analysis Manager建立數(shù)據(jù)立方體和共享維度,以滿足多維查詢分析的需要。藥品監(jiān)測(cè)指標(biāo)值立方體星型拓?fù)浣Y(jié)構(gòu)如圖5所示。
3. 預(yù)測(cè)預(yù)警子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
預(yù)測(cè)預(yù)警子系統(tǒng)是整個(gè)藥品安全突發(fā)事件預(yù)警系統(tǒng)的核心組件,其主要功能是完成對(duì)十個(gè)二級(jí)監(jiān)測(cè)指標(biāo)和三個(gè)一級(jí)監(jiān)測(cè)指標(biāo)的短期與中長(zhǎng)期預(yù)測(cè),并根據(jù)預(yù)測(cè)結(jié)果進(jìn)行狀態(tài)評(píng)估,生成警情警報(bào)信息,供決策者參考分析。預(yù)測(cè)預(yù)警子系統(tǒng)主要有五個(gè)基本模塊組成,即數(shù)據(jù)瀏覽模塊、趨勢(shì)判斷模塊、預(yù)測(cè)分析模塊、狀態(tài)評(píng)估模塊和警情展現(xiàn)模塊。由于各模塊的設(shè)計(jì)與實(shí)現(xiàn)都相對(duì)復(fù)雜,限于篇幅,下面僅對(duì)預(yù)測(cè)分析核心模塊的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程做一下介紹。
根據(jù)藥品監(jiān)測(cè)數(shù)據(jù)以月統(tǒng)計(jì)的特點(diǎn),我們選用一次指數(shù)平滑算法對(duì)監(jiān)測(cè)指標(biāo)進(jìn)行短期預(yù)測(cè)(月),選用二次指數(shù)平滑算法進(jìn)行中期(季度)和長(zhǎng)期(年)預(yù)測(cè)。
(1)預(yù)測(cè)模型的設(shè)計(jì)
根據(jù)指數(shù)平滑算法的功能及特點(diǎn),我們將十三個(gè)監(jiān)測(cè)指標(biāo)數(shù)據(jù)的時(shí)間數(shù)列作為輸入,將各個(gè)指標(biāo)的最初三期的實(shí)際值平均數(shù)作為初始值(預(yù)測(cè)數(shù)組的零號(hào)元素),平滑常數(shù)a為現(xiàn)有監(jiān)測(cè)數(shù)據(jù)的訓(xùn)練結(jié)果值(MSE最小值)或?qū)<医o出,預(yù)測(cè)時(shí)間 T 根據(jù)將要預(yù)測(cè)的類型確定,以此對(duì)未來(lái)某一時(shí)段的監(jiān)測(cè)指標(biāo)值進(jìn)行預(yù)測(cè)。指數(shù)平滑法預(yù)測(cè)模型如圖6所示。
(2)預(yù)測(cè)算法的實(shí)現(xiàn)
指數(shù)平滑算法的輸入?yún)?shù)有原始數(shù)據(jù)、平滑常數(shù)、預(yù)測(cè)時(shí)間、平滑次數(shù),經(jīng)過(guò)平滑計(jì)算和趨勢(shì)調(diào)整后得到預(yù)測(cè)數(shù)據(jù),指數(shù)平滑算法流程如圖7所示。
為了方便調(diào)用,上述預(yù)測(cè)算法系統(tǒng)用C#編寫(xiě)成一個(gè)模型類(module)文件,在該模型類中定義了一個(gè)帶參數(shù)的公有靜態(tài)方法getPD(float a, int T, int R, int N, float p( ));同時(shí)為了實(shí)現(xiàn)在其它文件類中引用這個(gè)方法,系統(tǒng)把引用類設(shè)置同模型類一樣的namespace。
(3)預(yù)測(cè)子模塊的程序設(shè)計(jì)
預(yù)測(cè)子模塊的程序設(shè)計(jì)比較復(fù)雜,其程序流程主要包括四個(gè)步驟,即獲取預(yù)測(cè)參數(shù)、創(chuàng)建MDX語(yǔ)句、生成指標(biāo)值數(shù)組和指數(shù)平滑計(jì)算,如圖8所示。
五、小結(jié)
面向區(qū)域協(xié)作的藥品安全預(yù)警系統(tǒng)是從紹興地區(qū)藥品生產(chǎn)、流通、銷售到處方整個(gè)管理流程的實(shí)際出發(fā),在經(jīng)過(guò)廣泛調(diào)研基礎(chǔ)上進(jìn)行精心設(shè)計(jì)開(kāi)發(fā)的一套監(jiān)測(cè)預(yù)警管理系統(tǒng),目前系統(tǒng)已經(jīng)通過(guò)測(cè)試驗(yàn)收,并交付給藥監(jiān)部門(mén)使用。由于平臺(tái)技術(shù)先進(jìn)、安全可靠、內(nèi)容實(shí)用、成本低廉,使用方便等特點(diǎn),得到了藥品部門(mén)一線管理人員的認(rèn)可,為現(xiàn)階段預(yù)防和減少區(qū)域內(nèi)藥品安全事件的發(fā)生,加強(qiáng)區(qū)域藥品安全的信息化管理等問(wèn)題提供了寶貴的建設(shè)經(jīng)驗(yàn),具有較好的推廣價(jià)值。
參考文獻(xiàn):
[1]譚曉東:突發(fā)性公共衛(wèi)生事件預(yù)防與控制[M],武漢:湖北科學(xué)技術(shù)出版社, 2003:50-100
[2]龐開(kāi)放, 李龍澍:基于.NET框架的Web應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)[J],微機(jī)發(fā)展,2005,15(3):85-88
[3]丁書(shū)耕, 張路崎, 辛艷芬:基于.NET平臺(tái)的應(yīng)用程序開(kāi)發(fā)框架的研究[J],微機(jī)發(fā)展,2003,13(8):20-23
[4] 路紅武, 尤 楓, 趙恒永:基于.net 類結(jié)構(gòu)的WEB應(yīng)用分層設(shè)計(jì)與實(shí)現(xiàn)[J],北京化工大學(xué)學(xué)報(bào).2005,32(1):70-73
[5]李 陽(yáng), 高自友:鐵路安全預(yù)警系統(tǒng)的研究與設(shè)計(jì)[J],中國(guó)安全科學(xué)學(xué)報(bào),2004,14(6):36-40
[6]張維平:建立健全突發(fā)公共事件預(yù)警管理系統(tǒng)模型的主要設(shè)想[EB/OL],http://www.cps.com.cn/ebook/ly.asp?id=490, 2005-06-07/2007-07-01