陳良娟,葉春明
(上海理工大學 管理學院,上海 200093)
隨著社會穩(wěn)步向前發(fā)展,人們對于藥品的安全意識也在不斷提高。然而藥品供應(yīng)鏈所涉及的復(fù)雜程序使得消費者購買藥品很難直觀判斷藥品是否存在安全問題,更無法確定是在哪一環(huán)節(jié)出現(xiàn)了問題。為了保障消費者的身體健康免受不良藥品的影響,提高公眾對藥品行業(yè)的信心,應(yīng)用區(qū)塊鏈技術(shù)建立安全可信的藥品溯源系統(tǒng),將提高藥品在供應(yīng)鏈中的信息透明度,有效地解決當前藥品溯源領(lǐng)域所面臨的一些問題,例如藥品數(shù)據(jù)的真實性和完整性問題、監(jiān)管追責問題、商業(yè)隱私數(shù)據(jù)保護問題、信息共享效率問題等。區(qū)塊鏈所具備的技術(shù)特征使其在溯源領(lǐng)域擁有天然優(yōu)勢,從去中心化方面看:參與方可通過智能合約自動執(zhí)行交易且需多方達成共識,交易自治,去中心化程度高;從信息防篡改方面看:所有交易信息均存儲在區(qū)塊中,需多個參與節(jié)點共同確認且每個區(qū)塊都有交易信息副本,數(shù)據(jù)透明,信息防篡改;從數(shù)據(jù)安全性方面看:數(shù)據(jù)使用非對稱加密技術(shù)處理,只有用對應(yīng)的私鑰才能解密,數(shù)據(jù)安全性高;從監(jiān)管追責方面看:所有區(qū)塊鏈上的信息都可以查詢到,當產(chǎn)品出現(xiàn)質(zhì)量問題時,監(jiān)管部門可及時定位責任人,精準追責。因此將區(qū)塊鏈應(yīng)用到藥品溯源有助于建立來源可查、去向可追、責任可究的藥品全鏈條追溯體系,筑牢藥品安全底線。
溯源技術(shù)是目前供應(yīng)鏈管理的關(guān)鍵技術(shù),其發(fā)展經(jīng)歷了從二維碼、無線射頻識別技術(shù)(RFID)再到區(qū)塊鏈技術(shù)等。蔡勇等探索并設(shè)計了基于二維碼的中藥溯源體系,對中藥在生產(chǎn)、流通等過程中的外在信息進行追溯。Liu P等著眼于追溯時重要信息的編碼問題,設(shè)計了一種基于RFID的溯源方案,對解決產(chǎn)業(yè)鏈的數(shù)據(jù)追溯問題具有重要指導(dǎo)意義。Ding J等考慮將二維碼和RFID相結(jié)合,設(shè)計出一種可實現(xiàn)藥品安全追溯的技術(shù)方案。Lu Qinghua等通過使用區(qū)塊鏈技術(shù)構(gòu)建了數(shù)據(jù)應(yīng)用平臺,能夠兼顧數(shù)據(jù)的可追溯和可信任??梢姀乃菰醇夹g(shù)出現(xiàn)之后國內(nèi)外學者就進行了相應(yīng)的研究。
而在藥品溯源方面,傳統(tǒng)的藥品追溯相關(guān)研究主要集中于對藥品溯源體系的構(gòu)建、防偽以及監(jiān)管等方面。談慧利用RFID的技術(shù)特點設(shè)計了藥品供應(yīng)鏈管理系統(tǒng)的總體框架和業(yè)務(wù)功能,并將其應(yīng)用于南京醫(yī)藥集團部分企業(yè),同時詳細介紹該系統(tǒng)中RFID標簽信息設(shè)計和信息采集體系。徐海飛、文光俊等為加強藥品監(jiān)管力度,創(chuàng)新性地提出將RFID技術(shù)應(yīng)用于藥品供應(yīng)鏈管理系統(tǒng),增強藥品供應(yīng)鏈管理的效率。胡漾等通過綜合已開展的藥品電子監(jiān)管工作探討藥品監(jiān)管新模式,得出物聯(lián)網(wǎng)技術(shù)將有助于提升藥品監(jiān)管效率和優(yōu)化藥品監(jiān)管工作格局的結(jié)論。孫婷等通過實例對國內(nèi)藥品電子監(jiān)管模式進行研究,分析目前監(jiān)管體系存在的若干問題和形成原因,并給出相應(yīng)的改善建議。
區(qū)塊鏈技術(shù)的興起使得學者們嘗試將該技術(shù)引入到溯源研究中,主要集中在食品、醫(yī)療以及價格昂貴的奢侈品領(lǐng)域,實現(xiàn)溯源性能的提升和改善。比如劉耀宗等結(jié)合區(qū)塊鏈技術(shù)與射頻識別技術(shù)構(gòu)建多方參與的溯源模型,很大程度上改善了數(shù)據(jù)信息的透明性和安全性。趙磊等著眼于分析生鮮食品行業(yè)的用戶需求,應(yīng)用區(qū)塊鏈技術(shù)重新搭建了生鮮食品行業(yè)的信息鏈。丁慶洋等引入?yún)^(qū)塊鏈技術(shù),與物聯(lián)網(wǎng)技術(shù)相融合建設(shè)電商產(chǎn)品信息溯源平臺,有效解決了B2C銷售網(wǎng)絡(luò)中產(chǎn)品防偽的問題。由此可見可以借助區(qū)塊鏈技術(shù)來改善傳統(tǒng)藥品溯源模式和體系的不足,對此國外學者研究相對國內(nèi)較早。Wang Deng等提出基于區(qū)塊鏈技術(shù)的藥品追溯方案,構(gòu)建出藥品可追溯系統(tǒng)。QI LIN等為了解決藥品質(zhì)量安全的監(jiān)管問題,設(shè)計出一個基于以太坊的藥品溯源系統(tǒng),對藥品在生產(chǎn)、流通、銷售等過程中的數(shù)據(jù)進行存儲。而國內(nèi)的醫(yī)藥溯源多以理論闡述和系統(tǒng)架構(gòu)搭建為主。肖麗等針對中藥材供應(yīng)來源廣導(dǎo)致數(shù)據(jù)被分散存儲,各方信任度低等問題,構(gòu)建了基于區(qū)塊鏈的中藥溯源體系。劉鵬飛等就建立基于區(qū)塊鏈的藥品溯源管理系統(tǒng),指出其技術(shù)架構(gòu)和設(shè)計方案,同時系統(tǒng)支持。禹忠等利用超級賬本的Fabric平臺開發(fā)了醫(yī)藥防偽溯源系統(tǒng),便于消費者全面獲取藥品溯源信息。封嘯等建立的信息可溯源體系不僅保障藥品安全,也在一定程度上打擊藥品造假的違法行為。綜上所述,區(qū)塊鏈應(yīng)用于溯源領(lǐng)域的發(fā)展?jié)摿Ρ黄毡榭春?,利用區(qū)塊鏈的有關(guān)特性來改善藥品供應(yīng)鏈的溯源模式,是對舊問題采取新方法的探索。本文的目標是建立一種基于區(qū)塊鏈的藥品供應(yīng)鏈溯源系統(tǒng),創(chuàng)新性地融入投訴與召回模塊,綜合藥品的溯源、防偽和監(jiān)管功能于一體。選擇Ethereum(以太坊)作為開發(fā)平臺,根據(jù)藥品生產(chǎn)、流通各環(huán)節(jié)節(jié)點的功能模塊需求設(shè)計智能合約,開發(fā)相應(yīng)的前端頁面,并驗證系統(tǒng)的有效性,為醫(yī)藥行業(yè)的藥品溯源提供參考。
區(qū)塊鏈作為一種新興的分布式數(shù)據(jù)庫技術(shù),鏈上發(fā)生的交易都會產(chǎn)生時間戳,它記錄了交易發(fā)生的時間,而通過一定的哈希算法生成的哈希值與其前后區(qū)塊串聯(lián),由此可對發(fā)生的交易進行追溯。在區(qū)塊鏈網(wǎng)絡(luò)中,節(jié)點間的數(shù)據(jù)交換采用基于加密算法的數(shù)字簽名技術(shù)進行驗證,無需雙方互信即可保證數(shù)據(jù)的安全可信。根據(jù)去中心化程度的高低,區(qū)塊鏈可分為公有鏈、聯(lián)盟鏈和私有鏈?;趨^(qū)塊鏈的藥品供應(yīng)鏈溯源系統(tǒng)需要加入供應(yīng)鏈上代表性參與主體,同時需要隱私性好、交易速度快、成本低等特點,因此綜合考慮聯(lián)盟鏈更適合應(yīng)用于藥品供應(yīng)鏈溯源體系當中。
目前區(qū)塊鏈技術(shù)相繼應(yīng)用于各大領(lǐng)域,出現(xiàn)了許多去中心化應(yīng)用和區(qū)塊鏈平臺,但目前成熟的區(qū)塊鏈平臺主要有Bitcoin、Ethereum和Hyperledger Fabric三種。在進行選擇時應(yīng)盡可能綜合考慮規(guī)模、活躍度、穩(wěn)定性以及節(jié)點部署難度。既要避免平臺軟件漏洞的產(chǎn)生,不會發(fā)生平臺癱瘓,又要在區(qū)塊鏈平臺開發(fā)過程中出現(xiàn)技術(shù)問題的情形時,可以與其他開發(fā)者進行交流溝通來解決問題。Ethereum(以太坊)是具備編程功能的區(qū)塊鏈開發(fā)平臺,通過智能合約可以實現(xiàn)任何的業(yè)務(wù)邏輯。目前支持多種編程語言,但其官方主推的是圖靈完備的Solidity編程語言,它可以更好的在EVM(以太坊虛擬機)中運行。同時采用Gas機制來計費,有效減少無用的交易產(chǎn)生,或者防止有人惡意持續(xù)的轉(zhuǎn)移極小賬目導(dǎo)致網(wǎng)絡(luò)癱瘓。此外以太坊擁有大量的用戶和開發(fā)人員并且代碼開源、平臺接口豐富。綜上所述,相對于Bitcoin和Hyperledger Fabric,Ethereum平臺更適合作為本文的區(qū)塊鏈開發(fā)平臺
藥品供應(yīng)鏈是指核心制藥商從藥品原料商處采購原料,按照研發(fā)生產(chǎn)方法制造出藥品,包裝完成后通過各級經(jīng)銷商流向銷售商,包括藥店、醫(yī)療機構(gòu)等,最終到達消費者手中。藥品供應(yīng)鏈整體呈現(xiàn)多節(jié)點、多層級的特點,簡化流程圖如圖1所示。藥品追溯系統(tǒng)也就是對藥品研發(fā)生產(chǎn)、流通分銷和銷售環(huán)節(jié)有關(guān)藥品質(zhì)量安全的信息進行真實可靠地記錄和傳遞。如圖2所示為藥品供應(yīng)鏈在區(qū)塊鏈上的體系架構(gòu),從下到上依次包括數(shù)據(jù)層、業(yè)務(wù)層和應(yīng)用層。數(shù)據(jù)層包括原料供應(yīng)、研發(fā)制造、流通分銷和最終銷售等各階段需要采集的藥品有關(guān)信息上傳至區(qū)塊鏈的工作,這是藥品溯源數(shù)據(jù)的重要來源;業(yè)務(wù)層主要處理客戶端的服務(wù)請求,通過不同的接口程序來獲取,由Web3.js和JavaScript進行數(shù)據(jù)錄入與查詢請求以及結(jié)果反饋。Web3.js封裝了以太坊的RPC通信API,是基于Node.js和JavaScript的JSON-RPC封裝,把接收到的數(shù)據(jù)調(diào)用智能合約完成相應(yīng)的服務(wù)請求。應(yīng)用層是可以讓用戶操作,通過Web網(wǎng)頁進行藥品信息的查詢,本系統(tǒng)匯集了生產(chǎn)信息、銷售信息、溯源信息以及監(jiān)管信息的記錄和查詢。
圖1 藥品供應(yīng)鏈簡化流程圖
圖2 溯源體系架構(gòu)
藥品供應(yīng)鏈的流程一般有以下幾個主要環(huán)節(jié):原料供應(yīng)環(huán)節(jié)、研發(fā)制造環(huán)節(jié)、流通分銷環(huán)節(jié)以及銷售環(huán)節(jié)。這些環(huán)節(jié)分別對應(yīng)不同的供應(yīng)鏈主體,依次為:原料供應(yīng)商、制藥企業(yè)、分銷商、銷售單位(醫(yī)院或藥店)。不同的主體之間存在的物流、信息流與資金流的交互,包括單向和雙向的交互。如圖3所示為基于區(qū)塊鏈的藥品溯源拓撲結(jié)構(gòu)圖。根據(jù)藥品生產(chǎn)涉及的主體依次采集數(shù)據(jù),生成信息摘要并上傳區(qū)塊鏈系統(tǒng),由供應(yīng)鏈上的節(jié)點企業(yè)共同維護這個分布式數(shù)據(jù)庫?;趨^(qū)塊鏈的藥品供應(yīng)鏈溯源,首先要對接各參與方系統(tǒng)對應(yīng)的數(shù)據(jù)庫,將相關(guān)藥品的產(chǎn)地、生產(chǎn)日期、商品編碼、生產(chǎn)企業(yè)名稱及對應(yīng)的工商注冊號等信息錄入?yún)^(qū)塊鏈系統(tǒng)。消費者和監(jiān)管部門輸入藥品的溯源碼便可查詢藥品的生產(chǎn)及流通信息,一旦藥品出現(xiàn)質(zhì)量安全問題可以及時向監(jiān)管部門報告,通過系統(tǒng)提供的交互窗口查詢藥品的生產(chǎn)過程,進行逆向溯源,同時可以請求監(jiān)管機構(gòu)詳細查詢生產(chǎn)數(shù)據(jù),進一步查詢出現(xiàn)問題的節(jié)點,進行精準定位。同時由于區(qū)塊鏈保證數(shù)據(jù)不可篡改,一旦參與節(jié)點信息錄入有人為失誤,便無法進行數(shù)據(jù)更正。引入藥監(jiān)局不僅可以管理藥品召回信息,同時也能接受參與節(jié)點的數(shù)據(jù)更正請求,更正藥品數(shù)據(jù)。
圖3 藥品供應(yīng)鏈拓撲結(jié)構(gòu)圖
本文旨在設(shè)計并實現(xiàn)基于區(qū)塊鏈的藥品溯源系統(tǒng),因此需要將計算機部署區(qū)塊鏈環(huán)境。首先從官方網(wǎng)站下載安裝Node.js,Npm是其一起下載的管理工具,下載完成后可在Windows PowerShell窗口輸入node-v和npm-v來驗證是否安裝成功,同時需要在高級系統(tǒng)設(shè)置中點擊環(huán)境變量進行相應(yīng)的設(shè)置,在Node.js安裝完成后需要安裝Truffle框架,在命令行輸入npm install-g truffle@5.0.38,如果出現(xiàn)安裝錯誤可以嘗試輸入set-executionpolicy remotesigned,再輸入y解決。之后還需要安裝Metamask和Ganache。Metamask是一款去中心化的以太坊輕錢包,它主要以瀏覽器插件的方式為用戶和開發(fā)者提供服務(wù),通過Metamask,開發(fā)者可以輕松編寫基于區(qū)塊鏈的智能合約系統(tǒng)的用戶界面。Ganache是用于開發(fā)和測試的本地內(nèi)存區(qū)塊鏈,它模擬了真實的以太坊網(wǎng)絡(luò)的功能,包括由測試以太幣資助的多個賬戶的可用性,可以通過RPC HTTP://127.0.0.1:7545接口實現(xiàn)Ganache和Metamask的連接。一切準備就緒后重新打開命令行輸入命令便可以啟動項目。合約的編譯命令是:truffle compile,合約的部署命令是:truffle migrate,項目的執(zhí)行命令是:npm run dev。
藥品溯源系統(tǒng)需要滿足供應(yīng)鏈上不同參與主體角色的功能需要,因此設(shè)計不同功能模塊,下面對主要模塊功能和測試結(jié)果進行介紹。
3.2.1 創(chuàng)建藥品
創(chuàng)建藥品即給每一個藥品生成唯一的溯源碼,這個功能是由超級管理員調(diào)用。在基于區(qū)塊鏈的藥品供應(yīng)鏈溯源系統(tǒng)中,給每個生產(chǎn)出來的藥品生成唯一的溯源碼,將生產(chǎn)過程的相關(guān)數(shù)據(jù)綁定唯一的溯源碼,通過溯源碼來查詢生產(chǎn)藥品的企業(yè)信息以及對應(yīng)的原料供應(yīng)和分銷信息。在Metamask中切換到超級管理員的區(qū)塊鏈地址,輸入藥品的名稱,點擊創(chuàng)建,即可調(diào)用智能合約中的creatNewCargo函數(shù)為這件藥品生成唯一的溯源碼。
3.2.2 信息錄入
信息錄入模塊的功能是實現(xiàn)相關(guān)數(shù)據(jù)的錄入,針對藥品供應(yīng)鏈不同的參與角色,分別設(shè)置原材料商信息錄入、制藥廠信息錄入和分銷商信息錄入、銷售單位(醫(yī)院)信息錄入等子模塊。以原料供應(yīng)商為例,將賬戶切換區(qū)塊鏈地址為0xAcf03817a93E 792246f13CF3566B78Ff06005Ca2,如圖4所示分別輸入溯源ID,原料商名稱、產(chǎn)品數(shù)據(jù)以及企業(yè)工商注冊號,點擊發(fā)布將會調(diào)用智能合約中creatOem函數(shù),在Metamask中確認交易信息,這些信息將會記錄到區(qū)塊鏈上,任何人不可刪除修改。其他參與主體信息錄入程序與此類似,不再一一贅述。所有錄入的信息都可以在溯源查詢頁面進行查詢。
圖4 信息錄入界面
3.2.3 溯源轉(zhuǎn)移
溯源轉(zhuǎn)移模塊的功能是實現(xiàn)藥品所有權(quán)的轉(zhuǎn)移。藥品的流通涉及所有權(quán)的變更,從生產(chǎn)到分銷最后到達最終消費者的手中,藥品的制藥商和分銷商可以實現(xiàn)藥品的轉(zhuǎn)移。
3.2.4 對公轉(zhuǎn)賬
對公轉(zhuǎn)賬模塊的主要功能是進行供應(yīng)鏈資產(chǎn)的轉(zhuǎn)移,使供應(yīng)鏈資金流動更加便捷,利用以太坊區(qū)塊鏈的代幣體系進行支付。這種轉(zhuǎn)賬方式,避免了傳統(tǒng)匯款時繁瑣的票據(jù)手續(xù),解決資金流動效率低下問題,如圖5所示。原材料供應(yīng)商的區(qū)塊鏈地址為0xAcf03817a93E792246f13CF3566B78Ff06005Ca2,制藥廠的區(qū)塊鏈地址為0xe4d69aeE2Ae0E7BBe752fd47473d9eedF8C25 FB0,在進行轉(zhuǎn)賬時,需要在Metamask上切換至制藥廠的區(qū)塊鏈地址,制藥廠便可以通過以太坊的代幣系統(tǒng)向原材料供應(yīng)商轉(zhuǎn)賬60ETH。
圖5 對公轉(zhuǎn)賬頁面
3.2.5 鏈上查詢
鏈上查詢模塊分為兩種查詢方式:基本查詢和溯源查詢。通過基本查詢的方式,獲取藥品生產(chǎn)完成后所有權(quán)的流轉(zhuǎn)變更,即消費者通過基本查詢的方式獲取藥品經(jīng)過了幾次輪轉(zhuǎn)到自己手中。溯源查詢的方式用于查詢藥品生產(chǎn)過程涉及的原料供應(yīng)商、制藥廠、分銷商、銷售單位等信息,以及廠家對應(yīng)的名稱、工商注冊號、信息錄入時間以及生產(chǎn)資料等數(shù)據(jù),如圖6所示。
圖6 溯源信息查詢頁面
3.2.6 消費者投訴服務(wù)模塊
消費者服務(wù)模塊的主要功能是實現(xiàn)消費者對于反應(yīng)大的不良藥品的投訴需求,如圖7所示,以消費者陳三為例,對溯源碼為5833432651藥品有發(fā)燒等不良反應(yīng)需要進行藥品投訴,便可以在系統(tǒng)上進行投訴信息登記,登記后監(jiān)管部門就可以在查詢投訴頁面,如圖8查看相應(yīng)的投訴信息。
圖7 投訴信息登記頁面
圖8 投訴信息查詢頁面
3.2.7 監(jiān)管部門模塊
監(jiān)管部門模塊的功能是對于問題藥品的召回信息錄入,以及通過溯源碼查詢藥品召回信息和召回狀態(tài),其中召回狀態(tài)0為待召回,1為召回中,2為已召回。如圖9所示,輸入溯源碼,召回的開始和結(jié)束時間,召回原因,召回方式以及召回狀態(tài),進行藥品召回信息的錄入。同時消費者也能在查詢召回界面對溯源碼驗證藥品是否有召回的相關(guān)信息,避免使用問題藥品,如圖10所示。
圖9 藥品召回信息錄入界面
圖10 藥品召回信息查詢界面
本文針對傳統(tǒng)藥品供應(yīng)鏈溯源體系存在的不足,設(shè)計了一種面向藥品溯源的區(qū)塊鏈技術(shù)系統(tǒng)體系,以以太坊平臺為基礎(chǔ),對藥品在原料供應(yīng)、生產(chǎn)制造、流通分銷以及最終銷售等過程進行數(shù)據(jù)錄入及追溯,引入消費者和監(jiān)管部門服務(wù),包含召回和投訴功能模塊。首先采用分布式存儲模式,保障數(shù)據(jù)真實完整,不可篡改,提高各參與方信息共享效率,有利于監(jiān)管追責。其次在溯源系統(tǒng)設(shè)計方面使用智能合約,減少交易成本,保證交易的高效、精確和可信,最后對溯源系統(tǒng)平臺的各個功能模塊進行測試和結(jié)果展示,證實溯源系統(tǒng)的可行性??傊_運用區(qū)塊鏈技術(shù)可以提高溯源效率、優(yōu)化供應(yīng)鏈管理、重塑藥品供應(yīng)鏈信任體系。在實際的應(yīng)用過程中,需要具體情況具體分析,比如對于商業(yè)隱私數(shù)據(jù)的處理,可以采用密碼學算法加密后再上傳至區(qū)塊鏈溯源系統(tǒng)。作為一項新興技術(shù),未來應(yīng)加大對區(qū)塊鏈技術(shù)平臺的深入研究,進一步優(yōu)化平臺性能,設(shè)計管理機制和利用技術(shù)創(chuàng)新實現(xiàn)保障源頭數(shù)據(jù)錄入的真實性,進一步提高數(shù)據(jù)可信度。面對區(qū)塊鏈發(fā)展過程中的諸多機遇和挑戰(zhàn),需要學術(shù)界和產(chǎn)業(yè)界共同努力,將該技術(shù)更好地應(yīng)用于供應(yīng)鏈領(lǐng)域。