王慧 張小波 黃璐琦 郭蘭萍 王凌 趙宇平 楊光
[摘要]中成藥的生產(chǎn)受原料(中藥材)價格和資源存量的影響比較大,一方面,原料藥材價格呈現(xiàn)周期性劇烈波動甚至是不可逆的飆升,使得中成藥價格不穩(wěn)定甚至出現(xiàn)成本與最高零售限價倒掛,另一方面,因資源不足或者禁用導(dǎo)致部分中成藥被迫停產(chǎn)。中成藥國家基本藥物保障監(jiān)測分析系統(tǒng)基于微服務(wù)架構(gòu),應(yīng)用Redis實現(xiàn)了系統(tǒng)的集群部署,圍繞《國家基本藥物目錄》(2012年版)中的203種中成藥,通過連接和整合中藥資源普查數(shù)據(jù)庫、中藥資源動態(tài)監(jiān)測數(shù)據(jù)庫、中成藥國家基本藥物數(shù)據(jù)庫數(shù)據(jù),實現(xiàn)了中藥材及中成藥的動態(tài)監(jiān)測和預(yù)警智能化。
[關(guān)鍵詞]基本藥物; 中成藥; 監(jiān)測分析; 微服務(wù)架構(gòu); 集群部署
[Abstract]The supply of Chinese patent medicine is influenced by the price of raw materials (Chinese herbal medicines) and the stock of resources On the one hand, raw material prices show cyclical volatility or even irreversible soaring, making the price of Chinese patent medicine is not stable or even the highest cost of hanging upside down On the other hand, due to lack of resources or disable some of the proprietary Chinese medicine was forced to stop production Based on the microservice architecture and Redis cluster deploymentBased on the microservice architecture and Redis cluster deployment,the supply security monitoring and analysis system for Chinese patent medicines in national essential medicines has realized the dynamic monitoring and intelligence warning of herbs and Chinese patent medicine by connecting and integrating the database of Chinese medicine resources, the dynamic monitoring system of traditional Chinese medicine resources and the basic medicine database of Chinese patent medicine
[Key words]essential medicines; Chinese patent medicine; monitoring and analysis; microservice architecture; cluster deployment
中成藥是國家基本藥物的重要組成部分,《國家基本藥物目錄》(2012年版)中收錄中成藥203個,涉及的中藥材432種。國家基本藥物作為醫(yī)改的措施之一,是保證藥品可及性的重要手段,主要特征是安全、必需、有效和廉價。中成藥與化學(xué)藥物、生物藥最大的不同就是需要以中藥資源為基礎(chǔ)。中成藥的供應(yīng)受原料價格和資源存量的影響比較大,近年來,許多中藥材價格出現(xiàn)了暴漲暴跌的現(xiàn)象,一些中藥材價格出現(xiàn)過10倍以上的漲幅,如三七、太子參、黨參、桔梗、白及。使得中成藥價格不穩(wěn)定出現(xiàn)供應(yīng)短缺的問題,另外價格短期上漲對投料質(zhì)量的影響也不容忽視[4]。中成藥的生產(chǎn)嚴格受到中藥資源的限制,許多中成藥工業(yè)生產(chǎn)都因資源不足或禁用而被迫停止,一些經(jīng)典名方因為資源質(zhì)量下降或改變而失效。
為了及時發(fā)現(xiàn)和預(yù)測基本藥物可能存在的問題,避免因中藥材價格上升導(dǎo)致中成藥供應(yīng)不足,課題組從數(shù)據(jù)的獲取、監(jiān)測指標(biāo)和預(yù)警模型的設(shè)計進行了深入的研究。第四次全國中藥資源普查建立了全國中藥資源普查數(shù)據(jù)庫,中藥資源動態(tài)監(jiān)測信息和技術(shù)服務(wù)網(wǎng)絡(luò)體系,建立了中藥資源動態(tài)監(jiān)測數(shù)據(jù)庫,匯總了全國主要藥材集散地、產(chǎn)地的中藥材價格實時數(shù)據(jù)。中成藥國家基本藥物數(shù)據(jù)庫收集匯總了中藥材的價格、產(chǎn)量數(shù)據(jù),中成藥的產(chǎn)量、價格、中標(biāo)信息、生產(chǎn)企業(yè)等信息。由于數(shù)據(jù)量龐大,數(shù)據(jù)結(jié)構(gòu)復(fù)雜,數(shù)據(jù)的標(biāo)準(zhǔn)化程度差,采用人工方式難以對數(shù)據(jù)進行有效分析。為有效解決基本藥物保障供應(yīng)預(yù)測與預(yù)警問題,借助計算機網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫技術(shù)等,研發(fā)了中成藥國家基本藥物供應(yīng)保障監(jiān)測分析系統(tǒng)(以下簡稱“基藥監(jiān)測分析系統(tǒng)”),對中藥材及中成藥進行一站式分析,實現(xiàn)了中成藥基本藥物的動態(tài)監(jiān)測和智能化預(yù)警。
1系統(tǒng)功能結(jié)構(gòu)
基藥監(jiān)測分析系統(tǒng)共分為數(shù)據(jù)維護、預(yù)警指標(biāo)分析、統(tǒng)計分析、一站式分析和后臺管理5大功能模塊,實現(xiàn)了中成藥基本藥物的價格、產(chǎn)量等的監(jiān)測和自動化分析。系統(tǒng)功能結(jié)構(gòu)見圖1。系統(tǒng)采用左右布局,左側(cè)為系統(tǒng)導(dǎo)航菜單,右側(cè)為系統(tǒng)功能操作界面,系統(tǒng)主界面見圖2。
2核心技術(shù)
21微服務(wù)(microservice)架構(gòu)微服務(wù)(microservice)一詞最早在2011年由威尼斯的一個軟件架構(gòu)小組提出[5],用以表示當(dāng)時出現(xiàn)的一種流行的軟件架構(gòu)風(fēng)格,2012年,該小組將其命名為微服務(wù)。微服務(wù)架構(gòu)基本思想在于圍繞著業(yè)務(wù)領(lǐng)域組件來創(chuàng)建應(yīng)用,這些應(yīng)用可獨立地進行開發(fā)、管理和加速。在分散的組件中使用微服務(wù)架構(gòu)和平臺,使部署、管理和服務(wù)功能交付變得更加簡單。endprint
微服務(wù)把單一的巨大應(yīng)用拆分為眾多松散耦合的微小服務(wù),其通常是按照業(yè)務(wù)功能來分解的,每一個服務(wù)雖然微小但卻實現(xiàn)相對完整的功能,使用私有的數(shù)據(jù)庫,可以單獨構(gòu)建和部署,某個服務(wù)的修改和部署不會影響其他正在運行的服務(wù)。微服務(wù)提供與語言無關(guān)的API 接口供其他模塊調(diào)用。
微服務(wù)架構(gòu)在規(guī)模較大的應(yīng)用中具有明顯優(yōu)勢。首先體現(xiàn)在獨立性方面,服務(wù)是松散耦合的,有明確的系統(tǒng)邊界,各開發(fā)團隊可以并行開發(fā)和部署,避免了牽一發(fā)而動全身,提高了效率。其次是技術(shù)選擇靈活,可針對具體業(yè)務(wù)特性和團隊技能為一個服務(wù)選擇最合適的語言、框架和數(shù)據(jù)庫,各服務(wù)使用不同的技術(shù)棧,技術(shù)轉(zhuǎn)型的成本也大為降低。再次是系統(tǒng)伸縮更自由,可針對某些服務(wù)單獨進行伸縮,實現(xiàn)系統(tǒng)三維度伸縮。最后是服務(wù)可獨立部署,借助自動化構(gòu)建和部署工具,為DevOps的實施提供更好的支持。
22Redis集群部署Redis是當(dāng)前互聯(lián)網(wǎng)行業(yè)廣泛使用的一種內(nèi)存數(shù)據(jù)庫[67],其不僅具有內(nèi)存數(shù)據(jù)庫性能優(yōu)異的特點,而且數(shù)據(jù)可以持久化存儲,是一個開源的API。Redis使用ANSI C語言編寫,支持網(wǎng)絡(luò)、KeyValue數(shù)據(jù)庫。
Redis本身支持簡單易用的主從復(fù)制的功能,可以讓Slave服務(wù)器成為Master服務(wù)器的完整副本。從 Redis 28版本開始,Slave會每秒一次向Master服務(wù)器發(fā)送同步進度報告,一個Master可以有多個Slave可以組成分支結(jié)構(gòu),Slave也可以存在Slave 組成鏈?zhǔn)浇Y(jié)構(gòu)。
Redis作為一個內(nèi)存數(shù)據(jù)庫,如果沒有持久化機制,在計算機意外宕機后數(shù)據(jù)會全部丟失,作為數(shù)據(jù)庫服務(wù)這是不可接受的。Redis提供了RDB和AOF 2種持久化方式。
RDB是在指定的時間間隔內(nèi)上傳數(shù)據(jù)集的時間快照。RDB文件是父進程fork出一個子進程,由子進程來完成快照的創(chuàng)建,在數(shù)據(jù)恢復(fù)時速度較快。
AOF記錄的是Redis執(zhí)行的每一條命令,并且該日志是只能在尾部追加,在AOF達到一定的狀態(tài)后可以對其進行重寫(Rewrite)來減少該文件大小,AOF默認時每秒fsync 1次,這種情況下在宕機時最多丟失1 s內(nèi)的數(shù)據(jù)。當(dāng)開啟AOF功能時,數(shù)據(jù)恢復(fù)會優(yōu)先選擇AOF,但是與RDB相比其速度稍慢。在一個Master服務(wù)器有多個Slave時,可以將Master的持久化功能禁用,以提高處理性能,而持久化操作交給Slave完成。
3系統(tǒng)功能設(shè)計
31數(shù)據(jù)維護數(shù)據(jù)維護功能主要完成中成藥基本藥物保障相關(guān)數(shù)據(jù)的維護更新工作。將每年購買和搜集的各項相關(guān)數(shù)據(jù)錄入到基本藥物保障數(shù)據(jù)庫中,用于數(shù)據(jù)分析。數(shù)據(jù)維護主要包括數(shù)據(jù)管理、數(shù)據(jù)導(dǎo)入和信息查詢功能,用于實現(xiàn)中成藥基本藥物信息、藥品生產(chǎn)企業(yè)相關(guān)信息和中藥材信息的管理、導(dǎo)入和查詢。數(shù)據(jù)管理實現(xiàn)了中成藥基本藥物信息、制藥廠信息和中藥材信息的新增、修改、刪除操作。數(shù)據(jù)導(dǎo)入功能提供統(tǒng)一的數(shù)據(jù)導(dǎo)入接口,可以將中成藥基本藥物信息、制藥廠信息和中藥材信息以Excel表格形式批量導(dǎo)入到數(shù)據(jù)庫中。信息查詢提供了按照關(guān)鍵字的簡單查詢和組合查詢功能。
中成藥基本藥物信息包括藥物基本信息、藥物分類和藥品組方用量信息3個方面。藥物基本信息包括中成藥基本藥物的編號、名稱、劑型、分類、規(guī)格、備注(同一名稱的藥品有不同的規(guī)格)、藥品中標(biāo)地區(qū)和中標(biāo)價格8個指標(biāo)。藥物分類信息包括藥物分類編碼、分類名稱、是否有子分類、子分類名稱和備注5個指標(biāo)。藥品組方用量信息包括中成藥的名稱、組方中涉及到的中藥材名稱、用量、數(shù)量單位、是否是主要藥材和備注(同一種藥材有不同炮制方法)6個指標(biāo)。
藥品生產(chǎn)企業(yè)相關(guān)信息包含生產(chǎn)企業(yè)基本信息、生產(chǎn)企業(yè)產(chǎn)量信息、生產(chǎn)企業(yè)注冊信息、生產(chǎn)企業(yè)的藥品中標(biāo)信息4個方面。生產(chǎn)企業(yè)基本信息包括生產(chǎn)企業(yè)的名稱、位置、批準(zhǔn)文號、采購方式、聯(lián)系人和聯(lián)系方式6個指標(biāo)。生產(chǎn)企業(yè)產(chǎn)量信息包括企業(yè)名稱、該企業(yè)生產(chǎn)的藥品類型、規(guī)格型號、產(chǎn)量、產(chǎn)量單位、標(biāo)準(zhǔn)產(chǎn)量、標(biāo)準(zhǔn)產(chǎn)量單位和藥品本位碼8個指標(biāo)信息。生產(chǎn)企業(yè)注冊信息包括生產(chǎn)的藥品類型、企業(yè)名稱、批準(zhǔn)文號、藥品本位碼、注冊年份和劑型6個指標(biāo)。生產(chǎn)企業(yè)的藥品中標(biāo)信息包括藥品類型、藥品名稱、生產(chǎn)企業(yè)名稱、中標(biāo)省份、投標(biāo)企業(yè)、中標(biāo)年份、中標(biāo)價格、中標(biāo)規(guī)格說明、包裝轉(zhuǎn)換比、發(fā)布日期、質(zhì)量層次、來源文件、招商產(chǎn)品和備注14個指標(biāo)。
中藥材信息包括基本信息、價格信息和產(chǎn)量信息3個方面。中藥材基本信息,主要是203種中成藥組方中包含的中藥材的名稱、藥材編碼、別名、入藥部位和首字母5個指標(biāo)。中藥材價格信息包括中藥材名稱、產(chǎn)地、價格(元/kg)、規(guī)格、年份、月份和是否為主要價格7個指標(biāo)。中藥材產(chǎn)量信息包括中藥材名稱、編碼、產(chǎn)地、產(chǎn)量(t)、規(guī)格、年份、月份和產(chǎn)量說明8個指標(biāo)。
32預(yù)警指標(biāo)分析為了及時發(fā)現(xiàn)中成藥國家基本藥物供應(yīng)保障存在的風(fēng)險和問題,從資源端入手深入分析影響中成藥基本藥物供應(yīng)的因素,設(shè)計了7個預(yù)警指標(biāo),分別是中成藥企業(yè)在產(chǎn)率(a)、企業(yè)中標(biāo)省份比例(b)、主要原料產(chǎn)量供應(yīng)不足(c)、主要廠家產(chǎn)量下降(d)、中成藥原料成本占比(e)、中藥材價格漲幅(f)和中藥材產(chǎn)量下降(g),并給出了每個指標(biāo)的量化方法和三級預(yù)警級別[8]。其中,指標(biāo)a用來反映中成藥的在產(chǎn)情況,間接反映企業(yè)生產(chǎn)的積極性和該產(chǎn)品的利潤;指標(biāo)b反映市場對該中成藥的認可程度;指標(biāo)c和指標(biāo)d反映中成藥的主要原料及中成藥的供應(yīng)變化情況,可以間接反映中成藥供給存在的風(fēng)險;指標(biāo)e反映中藥原料的成本所占比例,間接反映中成藥供給存在的風(fēng)險;指標(biāo)f和指標(biāo)g反映中藥材供應(yīng)變化趨勢,可以間接反映中藥材供給存在的風(fēng)險。
預(yù)警指標(biāo)分析模塊對以上7個指標(biāo),自動按照年份、預(yù)警級別進行分組統(tǒng)計分析,以表格的形式給出各個指標(biāo)的匯總分析結(jié)果,并以不同顏色標(biāo)記三級預(yù)警級別(黃色預(yù)警表示該指標(biāo)需要關(guān)注;橙色預(yù)警表示較重,該指標(biāo)值較低;紅色預(yù)警表示嚴重,該指標(biāo)值極低)。系統(tǒng)支持按中成藥基本藥物編號和指標(biāo)計算結(jié)果進行排序顯示,并可以導(dǎo)出為Excel,保存到本地計算機。endprint
33統(tǒng)計分析為了對中成藥基本藥物的供應(yīng)保障情況進行全局性、整體性的評價,建立基于雷達圖的多指標(biāo)綜合評估模型。對反映中成藥基本藥物供應(yīng)情況的5個指標(biāo)(a,b,c,d,e),以總分100,對5個指標(biāo)分別設(shè)置相應(yīng)的權(quán)重分值,該權(quán)重分值,根據(jù)德爾菲法進行確定。根據(jù)各指標(biāo)結(jié)果值,計算總得分。從而對203種中成藥的供應(yīng)情況進行排名。得分越低,供應(yīng)存在的風(fēng)險越高,并自動繪制每個中成藥的綜合預(yù)警分析雷達圖,直觀反映各項指標(biāo)的變動趨勢和相互間的差距情況。
34一站式分析一站式分析實現(xiàn)了中成藥基本藥物和中藥材的自動匯總和分析?;舅幬镆徽臼椒治鲎詣臃治鲋谐伤幓舅幬锵嚓P(guān)的信息,包括中成藥歷年產(chǎn)量變化趨勢、組方用量信息、歷年中標(biāo)價格趨勢、預(yù)警指標(biāo)結(jié)果和中成藥中標(biāo)信息5個方面。中藥材一站式分析實現(xiàn)了中藥材基本信息、歷年產(chǎn)量變化趨勢、歷年(月)價格變化趨勢和詳細的中藥材價格信息4個方面的匯總和展示。一站式分析以圖、表形式集中展示中成藥和中藥材相關(guān)信息。
35后臺管理后臺管理功能主要包括用戶管理、角色管理、資源管理、系統(tǒng)日志和模型管理5個模塊。用戶管理模塊主要實現(xiàn)系統(tǒng)使用用戶的增加、修改和刪除功能,并可以為用戶分配相應(yīng)的角色,如數(shù)據(jù)維護員、應(yīng)用管理員等。角色管理模塊用于角色的新增、修改和刪除,同時,可以指定不同角色擁有的功能權(quán)限,如數(shù)據(jù)維護員僅能操作數(shù)據(jù)維護功能。資源管理模塊包括參數(shù)管理、應(yīng)用管理、字典管理、資源管理等,用于對系統(tǒng)的功能模塊、字典數(shù)據(jù)、后臺頁面進行新增、修改和刪除操作。系統(tǒng)日志模塊記錄系統(tǒng)登錄用戶、登錄時間、IP、操作日志等?;幈O(jiān)測分析系統(tǒng)提供了指標(biāo)模型的管理功能,可以根據(jù)各指標(biāo)權(quán)重定義,新增或修改綜合預(yù)警模型,并可根據(jù)需要對各指標(biāo)的預(yù)警級別進行設(shè)置。
4結(jié)果
中成藥國家基本藥物保障監(jiān)測分析系統(tǒng)對中成藥企業(yè)在產(chǎn)率、主要廠家產(chǎn)量下降、主要原料產(chǎn)量供應(yīng)不足、中成藥原料成本占比、企業(yè)中標(biāo)省份比例、中藥材價格漲幅和中藥材產(chǎn)量下降等7個指標(biāo)的分析和監(jiān)測,較為全面地反映了中藥國家基本藥物存在的風(fēng)險,并通過預(yù)測模型的構(gòu)建,完成了中藥基本藥物一站式分析,實現(xiàn)了中藥材及中成藥的動態(tài)監(jiān)測與預(yù)警的智能化,為政府科學(xué)決策提供支撐。
[參考文獻]
[1]World Health Organization The selection of essential drugs: report of a WHO expert committee[R] Geneva:WHO, 1977, 72(615):216
[2]中共中央國務(wù)院關(guān)于深化醫(yī)藥衛(wèi)生體制改革的意見(中發(fā)〔2009〕6號)[EB/OL] (20090406)[20170815]http://wwwgovcn/jrzg/200904/06/content_1278721htm
[3]國務(wù)院 醫(yī)藥衛(wèi)生體制改革近期重點實施方案(2009—2011年)(國發(fā)〔2009〕12號)[EB/OL] (20090407)[20170815]http://wwwgovcn/zwgk/200904/07/content_1279256htm.
[4]楊光,王永炎,陸建偉,等 基于全國中藥資源普查的中藥基本藥物供應(yīng)預(yù)警方法探討[J] 中草藥,2015,46(1):7
[5]王磊 微服務(wù)架構(gòu)與實踐[M] 西安:電子工業(yè)出版社,2015
[6]Carlson J L, Sanfilippo S Redis in action[M]New York: Manning, 2013
[7]黃健宏 Redis 設(shè)計與實現(xiàn)[M].北京:機械工業(yè)出版社,2014
[8]王慧, 黃璐琦, 張小波,等 中成藥國家基本藥物保障供應(yīng)綜合評估模型的探索與研究[J] 中國中藥雜志, 2017, 42(13):2612
[責(zé)任編輯呂冬梅]endprint