王慧 張小波 黃璐琦 郭蘭萍 王凌 趙宇平 楊光


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