傅松濤 李 玨 熊少華
(寧波市醫(yī)保中心 寧波 315010)
截至2012年底,寧波市區(qū)范圍醫(yī)保定點醫(yī)藥機構(gòu)已超過500家,其中定點零售藥店超過300家,而醫(yī)保經(jīng)辦機構(gòu)專職稽查人員僅有6人。顯然,單靠人力資源實施監(jiān)管力不從心。同時,一些藥店為追求利潤最大化,將保健品、食品甚至化妝品串換成醫(yī)保藥品,記入醫(yī)保結(jié)算,不僅造成醫(yī)保基金損失,而且對守法經(jīng)營的藥店造成負面沖擊,社會影響極為惡劣。因此,如何有效地揪出侵蝕醫(yī)保基金的“碩鼠”、維護基金安全是醫(yī)保監(jiān)管的難點和重點。采用數(shù)據(jù)挖掘技術(shù),使用非現(xiàn)場監(jiān)管手段核查藥店的經(jīng)營行為,應(yīng)是醫(yī)保稽查著力探索的問題。
R語言是用于統(tǒng)計分析、繪圖的語言和操作環(huán)境,是一套完整的數(shù)據(jù)處理、計算和制圖軟件系統(tǒng),同時也是一個免費的開源軟件。在學術(shù)領(lǐng)域, R語言是國際上統(tǒng)計分析和數(shù)據(jù)挖掘的標準語言。在數(shù)據(jù)挖掘語言流行度方面,R語言近年連續(xù)排位第一,R語言的計算結(jié)果也已被美國FDA(美國食品藥品管理局)認可。
關(guān)聯(lián)規(guī)則挖掘被用于發(fā)現(xiàn)大量數(shù)據(jù)中項集之間有趣的關(guān)聯(lián)或相關(guān)關(guān)系,“購物籃”分析是關(guān)聯(lián)規(guī)則挖掘的一個典型應(yīng)用。通過發(fā)現(xiàn)顧客購買的不同商品之間的聯(lián)系分析顧客的購買習慣,了解哪些商品頻繁地被顧客購買,并根據(jù)關(guān)聯(lián)規(guī)則制定營銷策略以促進銷售。該方法目前在各類電子商務(wù)網(wǎng)站已被廣泛使用。“購物籃”分析首先找出最小支持度值的頻繁項集(支持度大于最小支持度的項集稱為頻繁項集),然后由它們產(chǎn)生滿足最小置信度值A(chǔ)≥B的強關(guān)聯(lián)規(guī)則,其中支持度是指購買A和B商品的項集占所有購買項集的比率,置信度是指已經(jīng)購買A商品的人購買B商品的概率。關(guān)聯(lián)規(guī)則挖掘算法中最經(jīng)典的算法是Apriori算法(一種使用逐層搜索迭代方法找出頻繁項集并產(chǎn)生強關(guān)聯(lián)規(guī)則的算法)。本文使用R語言和Apriori算法實施“購物籃”分析,所涉數(shù)據(jù)處理及繪圖均在R2.15.2系統(tǒng)下完成。

寧波醫(yī)保的個人賬戶分為當年個賬和歷年個賬,其中當年個賬可直接用來在零售藥店購買非處方藥物。為防止當年個賬資金濫用,寧波醫(yī)保對藥店非處方購藥的每次購藥金額有一定限制(每人每日每次100元限額)。違規(guī)藥店將自費藥品、保健品等出售給參保人員時,必然會串換成醫(yī)保非處方藥記入醫(yī)保結(jié)算。因此,藥店一般采取若干種藥品的組合來達到或接近購買限額,這樣就會造成該若干種藥品組合頻繁出現(xiàn),稽查人員可以根據(jù)關(guān)聯(lián)規(guī)則辨識這些藥品組合,若這些藥品組合在藥理學上沒有強關(guān)聯(lián)性且又頻繁出現(xiàn),則可以初步判斷藥店存在串換藥品嫌疑,可在對包含這些藥品組合的就診明細記錄進行分析的基礎(chǔ)上,現(xiàn)場稽核藥店對應(yīng)藥品組合的進銷存數(shù)據(jù),以及時發(fā)現(xiàn)藥品串換等違規(guī)行為。若一個藥店的銷售大于藥品的進貨和存量,極有可能將保健品等商品串換為藥品銷售。
我們采集了3家藥店1個月的非處方藥購藥明細數(shù)據(jù)進行比對,其中兩家已查實為串換藥品違規(guī)藥店,另一家為非處方藥購藥規(guī)模居前的大型零售藥店。對這幾家藥店上傳的就診編號和藥品名稱數(shù)據(jù),應(yīng)用Apriori算法搜尋置信度大于0.6且支持度大于0.001的關(guān)聯(lián)規(guī)則,并根據(jù)支持度排序,部分結(jié)果如圖1所示:

圖2 強關(guān)聯(lián)規(guī)則藥品就診記錄(藥店一)

圖3 藥品強關(guān)聯(lián)規(guī)則(藥店二)

圖4 強關(guān)聯(lián)規(guī)則藥品就診記錄(藥店二)
第1家藥店違規(guī)情形非常明顯。第10-13條結(jié)果對應(yīng)的confidence=1和support=0.01018990,含義是:對川貝枇杷糖漿、六味地黃丸、蒙脫石散和復方感冒靈顆粒4種藥品而言,購買其中任3種藥品的人購買剩余1種藥品的概率為100%;購買這4種藥品的購藥次數(shù)占所有次數(shù)的比率為1.019%。由于在藥理學上這4種藥品沒有強關(guān)聯(lián)性,因此可以初步判斷川貝枇杷糖漿、六味地黃丸、蒙脫石散和復方感冒靈顆粒4種藥品存在被串換嫌疑。
通過調(diào)取同時購買這4種藥品的就診記錄,發(fā)現(xiàn)購藥行為只發(fā)生在9月19日和9月28日兩天,其中9月19日當天購買該4種藥品的人同時還購買了多潘立酮片和云南白藥氣霧劑,金額合計均為93元;9月28日當天購買該4種藥品的人同時還購買了麝香鎮(zhèn)痛膏和黃氏響聲丸,金額合計均為85元。在掌握了嫌疑藥品明細數(shù)據(jù)的基礎(chǔ)上,通過對藥店藥品進銷存數(shù)據(jù)的現(xiàn)場稽核,證實了該藥店確實存在串換藥品的違規(guī)行為(見圖2)。
第2家藥店的嫌疑藥品組合是云南白藥膏(風濕止痛)、珍黃丸(樂頻清膠囊)和酮康唑乳膏(金達克寧),同時購買該類藥品的共有10條記錄,其中9條記錄購買金額均為99.5元,剩余一條記錄購買金額為97.3元。酚咖麻敏膠囊(雙效)、鋁碳酸鎂片(達喜)、 云南白藥氣霧劑和烏靈膠囊則是另一組嫌疑藥品組合(見圖3、圖4)。
我們再來觀察沒有進行藥品串換的藥店Apriori算法運行結(jié)果,以進行對比(見圖5):
該計算結(jié)果和違規(guī)藥店的明顯不同之處在于:一是支持度比違規(guī)藥店更低,最高的也只有0.568%,而置信度大于0.8的寥寥無幾。也就是說,如果按照支持度大于0.005和置信度大于0.8對大型零售藥店進行計算處理的話,將會得到一個空集,和違規(guī)藥店計算結(jié)果存在較大差異。二是置信度高的藥品組合之間存在藥理學上的強關(guān)聯(lián)性。

從上述實踐過程可以得出結(jié)論,通過運用R語言工具,采用“購物籃”分析方法,能夠識別使用藥品組合進行藥品串換的行為。這樣就可以利用R語言的面向?qū)ο蟪绦蛟O(shè)計功能,編寫代碼,在后臺定期批量篩選藥品串換嫌疑藥店進行稽查,爭取將藥品串換行為遏制在起始階段,維護醫(yī)保基金安全。結(jié)合“購物籃”分析方法的實際運用,筆者提出以下建議:
5.1 靈活使用算法閾值。由于藥店非處方藥購藥行為集中度較低,如果按照普通標準(支持度0.01,置信度0.5)對藥店交易明細進行處理,可能會錯失重要信息。建議根據(jù)實際情況降低支持度標準,提高置信度標準。
5.2 突破內(nèi)存使用瓶頸。R語言會把所有的對象讀入內(nèi)存進行計算,當數(shù)據(jù)量過大時會產(chǎn)生跟內(nèi)存相關(guān)的錯誤而無法處理,因此建議盡量使用R的數(shù)據(jù)庫連接功能。有條件的可以直接采用數(shù)據(jù)庫廠商提供的R語言企業(yè)級應(yīng)用產(chǎn)品,這樣不僅可以突破R語言內(nèi)存使用瓶頸,而且因為是在數(shù)據(jù)庫內(nèi)部使用R語言,從而免去了變量映射、數(shù)據(jù)存儲等最易犯錯和最費時的前期數(shù)據(jù)準備工作。
5.3 立體化數(shù)據(jù)源。對于藥品明細項這樣的原始層數(shù)據(jù),由于多種同類藥品分散購買,使得強關(guān)聯(lián)規(guī)則很難發(fā)現(xiàn)。建議在數(shù)據(jù)準備期建立多個概念分層(對藥品進行大分類,如感冒類、心血管等分類),自頂而下隨層次從高到低逐步遞減支持度,通過多層關(guān)聯(lián)規(guī)則發(fā)現(xiàn)更具普遍意義的知識。條件成熟時還可以考慮在購藥明細中加入購藥者年齡、性別等數(shù)據(jù),對多層多維關(guān)聯(lián)規(guī)則進行數(shù)據(jù)挖掘。
[1]Jiawei Han, Micheline Kamber. Data Mining: Concepts and Techniques [M].范明,孟小鋒譯.北京:機械工業(yè)出版社,2005:149-172.
[2]Robert I.Kabacoff .R In Action:Data Analysis and Graphics With R [M].高濤,肖楠,陳鋼譯.北京:人民郵電出版社,2013.
[3]Luis Torgo.Data Mining With R:Learning With Case Studies [M].李洪成,陳道輪,吳立明譯.北京:機械工業(yè)出版社,2013.