陳良娟,葉春明
(上海理工大學 管理學院,上海 200093)
隨著社會穩步向前發展,人們對于藥品的安全意識也在不斷提高。然而藥品供應鏈所涉及的復雜程序使得消費者購買藥品很難直觀判斷藥品是否存在安全問題,更無法確定是在哪一環節出現了問題。為了保障消費者的身體健康免受不良藥品的影響,提高公眾對藥品行業的信心,應用區塊鏈技術建立安全可信的藥品溯源系統,將提高藥品在供應鏈中的信息透明度,有效地解決當前藥品溯源領域所面臨的一些問題,例如藥品數據的真實性和完整性問題、監管追責問題、商業隱私數據保護問題、信息共享效率問題等。區塊鏈所具備的技術特征使其在溯源領域擁有天然優勢,從去中心化方面看:參與方可通過智能合約自動執行交易且需多方達成共識,交易自治,去中心化程度高;從信息防篡改方面看:所有交易信息均存儲在區塊中,需多個參與節點共同確認且每個區塊都有交易信息副本,數據透明,信息防篡改;從數據安全性方面看:數據使用非對稱加密技術處理,只有用對應的私鑰才能解密,數據安全性高;從監管追責方面看:所有區塊鏈上的信息都可以查詢到,當產品出現質量問題時,監管部門可及時定位責任人,精準追責。因此將區塊鏈應用到藥品溯源有助于建立來源可查、去向可追、責任可究的藥品全鏈條追溯體系,筑牢藥品安全底線。
溯源技術是目前供應鏈管理的關鍵技術,其發展經歷了從二維碼、無線射頻識別技術(RFID)再到區塊鏈技術等。蔡勇等探索并設計了基于二維碼的中藥溯源體系,對中藥在生產、流通等過程中的外在信息進行追溯。Liu P等著眼于追溯時重要信息的編碼問題,設計了一種基于RFID的溯源方案,對解決產業鏈的數據追溯問題具有重要指導意義。Ding J等考慮將二維碼和RFID相結合,設計出一種可實現藥品安全追溯的技術方案。Lu Qinghua等通過使用區塊鏈技術構建了數據應用平臺,能夠兼顧數據的可追溯和可信任。可見從溯源技術出現之后國內外學者就進行了相應的研究。
而在藥品溯源方面,傳統的藥品追溯相關研究主要集中于對藥品溯源體系的構建、防偽以及監管等方面。談慧利用RFID的技術特點設計了藥品供應鏈管理系統的總體框架和業務功能,并將其應用于南京醫藥集團部分企業,同時詳細介紹該系統中RFID標簽信息設計和信息采集體系。徐海飛、文光俊等為加強藥品監管力度,創新性地提出將RFID技術應用于藥品供應鏈管理系統,增強藥品供應鏈管理的效率。胡漾等通過綜合已開展的藥品電子監管工作探討藥品監管新模式,得出物聯網技術將有助于提升藥品監管效率和優化藥品監管工作格局的結論。孫婷等通過實例對國內藥品電子監管模式進行研究,分析目前監管體系存在的若干問題和形成原因,并給出相應的改善建議。
區塊鏈技術的興起使得學者們嘗試將該技術引入到溯源研究中,主要集中在食品、醫療以及價格昂貴的奢侈品領域,實現溯源性能的提升和改善。比如劉耀宗等結合區塊鏈技術與射頻識別技術構建多方參與的溯源模型,很大程度上改善了數據信息的透明性和安全性。趙磊等著眼于分析生鮮食品行業的用戶需求,應用區塊鏈技術重新搭建了生鮮食品行業的信息鏈。丁慶洋等引入區塊鏈技術,與物聯網技術相融合建設電商產品信息溯源平臺,有效解決了B2C銷售網絡中產品防偽的問題。由此可見可以借助區塊鏈技術來改善傳統藥品溯源模式和體系的不足,對此國外學者研究相對國內較早。Wang Deng等提出基于區塊鏈技術的藥品追溯方案,構建出藥品可追溯系統。QI LIN等為了解決藥品質量安全的監管問題,設計出一個基于以太坊的藥品溯源系統,對藥品在生產、流通、銷售等過程中的數據進行存儲。而國內的醫藥溯源多以理論闡述和系統架構搭建為主。肖麗等針對中藥材供應來源廣導致數據被分散存儲,各方信任度低等問題,構建了基于區塊鏈的中藥溯源體系。劉鵬飛等就建立基于區塊鏈的藥品溯源管理系統,指出其技術架構和設計方案,同時系統支持。禹忠等利用超級賬本的Fabric平臺開發了醫藥防偽溯源系統,便于消費者全面獲取藥品溯源信息。封嘯等建立的信息可溯源體系不僅保障藥品安全,也在一定程度上打擊藥品造假的違法行為。綜上所述,區塊鏈應用于溯源領域的發展潛力被普遍看好,利用區塊鏈的有關特性來改善藥品供應鏈的溯源模式,是對舊問題采取新方法的探索。本文的目標是建立一種基于區塊鏈的藥品供應鏈溯源系統,創新性地融入投訴與召回模塊,綜合藥品的溯源、防偽和監管功能于一體。選擇Ethereum(以太坊)作為開發平臺,根據藥品生產、流通各環節節點的功能模塊需求設計智能合約,開發相應的前端頁面,并驗證系統的有效性,為醫藥行業的藥品溯源提供參考。
區塊鏈作為一種新興的分布式數據庫技術,鏈上發生的交易都會產生時間戳,它記錄了交易發生的時間,而通過一定的哈希算法生成的哈希值與其前后區塊串聯,由此可對發生的交易進行追溯。在區塊鏈網絡中,節點間的數據交換采用基于加密算法的數字簽名技術進行驗證,無需雙方互信即可保證數據的安全可信。根據去中心化程度的高低,區塊鏈可分為公有鏈、聯盟鏈和私有鏈?;趨^塊鏈的藥品供應鏈溯源系統需要加入供應鏈上代表性參與主體,同時需要隱私性好、交易速度快、成本低等特點,因此綜合考慮聯盟鏈更適合應用于藥品供應鏈溯源體系當中。
目前區塊鏈技術相繼應用于各大領域,出現了許多去中心化應用和區塊鏈平臺,但目前成熟的區塊鏈平臺主要有Bitcoin、Ethereum和Hyperledger Fabric三種。在進行選擇時應盡可能綜合考慮規模、活躍度、穩定性以及節點部署難度。既要避免平臺軟件漏洞的產生,不會發生平臺癱瘓,又要在區塊鏈平臺開發過程中出現技術問題的情形時,可以與其他開發者進行交流溝通來解決問題。Ethereum(以太坊)是具備編程功能的區塊鏈開發平臺,通過智能合約可以實現任何的業務邏輯。目前支持多種編程語言,但其官方主推的是圖靈完備的Solidity編程語言,它可以更好的在EVM(以太坊虛擬機)中運行。同時采用Gas機制來計費,有效減少無用的交易產生,或者防止有人惡意持續的轉移極小賬目導致網絡癱瘓。此外以太坊擁有大量的用戶和開發人員并且代碼開源、平臺接口豐富。綜上所述,相對于Bitcoin和Hyperledger Fabric,Ethereum平臺更適合作為本文的區塊鏈開發平臺
藥品供應鏈是指核心制藥商從藥品原料商處采購原料,按照研發生產方法制造出藥品,包裝完成后通過各級經銷商流向銷售商,包括藥店、醫療機構等,最終到達消費者手中。藥品供應鏈整體呈現多節點、多層級的特點,簡化流程圖如圖1所示。藥品追溯系統也就是對藥品研發生產、流通分銷和銷售環節有關藥品質量安全的信息進行真實可靠地記錄和傳遞。如圖2所示為藥品供應鏈在區塊鏈上的體系架構,從下到上依次包括數據層、業務層和應用層。數據層包括原料供應、研發制造、流通分銷和最終銷售等各階段需要采集的藥品有關信息上傳至區塊鏈的工作,這是藥品溯源數據的重要來源;業務層主要處理客戶端的服務請求,通過不同的接口程序來獲取,由Web3.js和JavaScript進行數據錄入與查詢請求以及結果反饋。Web3.js封裝了以太坊的RPC通信API,是基于Node.js和JavaScript的JSON-RPC封裝,把接收到的數據調用智能合約完成相應的服務請求。應用層是可以讓用戶操作,通過Web網頁進行藥品信息的查詢,本系統匯集了生產信息、銷售信息、溯源信息以及監管信息的記錄和查詢。

圖1 藥品供應鏈簡化流程圖

圖2 溯源體系架構
藥品供應鏈的流程一般有以下幾個主要環節:原料供應環節、研發制造環節、流通分銷環節以及銷售環節。這些環節分別對應不同的供應鏈主體,依次為:原料供應商、制藥企業、分銷商、銷售單位(醫院或藥店)。不同的主體之間存在的物流、信息流與資金流的交互,包括單向和雙向的交互。如圖3所示為基于區塊鏈的藥品溯源拓撲結構圖。根據藥品生產涉及的主體依次采集數據,生成信息摘要并上傳區塊鏈系統,由供應鏈上的節點企業共同維護這個分布式數據庫?;趨^塊鏈的藥品供應鏈溯源,首先要對接各參與方系統對應的數據庫,將相關藥品的產地、生產日期、商品編碼、生產企業名稱及對應的工商注冊號等信息錄入區塊鏈系統。消費者和監管部門輸入藥品的溯源碼便可查詢藥品的生產及流通信息,一旦藥品出現質量安全問題可以及時向監管部門報告,通過系統提供的交互窗口查詢藥品的生產過程,進行逆向溯源,同時可以請求監管機構詳細查詢生產數據,進一步查詢出現問題的節點,進行精準定位。同時由于區塊鏈保證數據不可篡改,一旦參與節點信息錄入有人為失誤,便無法進行數據更正。引入藥監局不僅可以管理藥品召回信息,同時也能接受參與節點的數據更正請求,更正藥品數據。

圖3 藥品供應鏈拓撲結構圖
本文旨在設計并實現基于區塊鏈的藥品溯源系統,因此需要將計算機部署區塊鏈環境。首先從官方網站下載安裝Node.js,Npm是其一起下載的管理工具,下載完成后可在Windows PowerShell窗口輸入node-v和npm-v來驗證是否安裝成功,同時需要在高級系統設置中點擊環境變量進行相應的設置,在Node.js安裝完成后需要安裝Truffle框架,在命令行輸入npm install-g truffle@5.0.38,如果出現安裝錯誤可以嘗試輸入set-executionpolicy remotesigned,再輸入y解決。之后還需要安裝Metamask和Ganache。Metamask是一款去中心化的以太坊輕錢包,它主要以瀏覽器插件的方式為用戶和開發者提供服務,通過Metamask,開發者可以輕松編寫基于區塊鏈的智能合約系統的用戶界面。Ganache是用于開發和測試的本地內存區塊鏈,它模擬了真實的以太坊網絡的功能,包括由測試以太幣資助的多個賬戶的可用性,可以通過RPC HTTP://127.0.0.1:7545接口實現Ganache和Metamask的連接。一切準備就緒后重新打開命令行輸入命令便可以啟動項目。合約的編譯命令是:truffle compile,合約的部署命令是:truffle migrate,項目的執行命令是:npm run dev。
藥品溯源系統需要滿足供應鏈上不同參與主體角色的功能需要,因此設計不同功能模塊,下面對主要模塊功能和測試結果進行介紹。
3.2.1 創建藥品
創建藥品即給每一個藥品生成唯一的溯源碼,這個功能是由超級管理員調用。在基于區塊鏈的藥品供應鏈溯源系統中,給每個生產出來的藥品生成唯一的溯源碼,將生產過程的相關數據綁定唯一的溯源碼,通過溯源碼來查詢生產藥品的企業信息以及對應的原料供應和分銷信息。在Metamask中切換到超級管理員的區塊鏈地址,輸入藥品的名稱,點擊創建,即可調用智能合約中的creatNewCargo函數為這件藥品生成唯一的溯源碼。
3.2.2 信息錄入
信息錄入模塊的功能是實現相關數據的錄入,針對藥品供應鏈不同的參與角色,分別設置原材料商信息錄入、制藥廠信息錄入和分銷商信息錄入、銷售單位(醫院)信息錄入等子模塊。以原料供應商為例,將賬戶切換區塊鏈地址為0xAcf03817a93E 792246f13CF3566B78Ff06005Ca2,如圖4所示分別輸入溯源ID,原料商名稱、產品數據以及企業工商注冊號,點擊發布將會調用智能合約中creatOem函數,在Metamask中確認交易信息,這些信息將會記錄到區塊鏈上,任何人不可刪除修改。其他參與主體信息錄入程序與此類似,不再一一贅述。所有錄入的信息都可以在溯源查詢頁面進行查詢。

圖4 信息錄入界面
3.2.3 溯源轉移
溯源轉移模塊的功能是實現藥品所有權的轉移。藥品的流通涉及所有權的變更,從生產到分銷最后到達最終消費者的手中,藥品的制藥商和分銷商可以實現藥品的轉移。
3.2.4 對公轉賬
對公轉賬模塊的主要功能是進行供應鏈資產的轉移,使供應鏈資金流動更加便捷,利用以太坊區塊鏈的代幣體系進行支付。這種轉賬方式,避免了傳統匯款時繁瑣的票據手續,解決資金流動效率低下問題,如圖5所示。原材料供應商的區塊鏈地址為0xAcf03817a93E792246f13CF3566B78Ff06005Ca2,制藥廠的區塊鏈地址為0xe4d69aeE2Ae0E7BBe752fd47473d9eedF8C25 FB0,在進行轉賬時,需要在Metamask上切換至制藥廠的區塊鏈地址,制藥廠便可以通過以太坊的代幣系統向原材料供應商轉賬60ETH。

圖5 對公轉賬頁面
3.2.5 鏈上查詢
鏈上查詢模塊分為兩種查詢方式:基本查詢和溯源查詢。通過基本查詢的方式,獲取藥品生產完成后所有權的流轉變更,即消費者通過基本查詢的方式獲取藥品經過了幾次輪轉到自己手中。溯源查詢的方式用于查詢藥品生產過程涉及的原料供應商、制藥廠、分銷商、銷售單位等信息,以及廠家對應的名稱、工商注冊號、信息錄入時間以及生產資料等數據,如圖6所示。

圖6 溯源信息查詢頁面
3.2.6 消費者投訴服務模塊
消費者服務模塊的主要功能是實現消費者對于反應大的不良藥品的投訴需求,如圖7所示,以消費者陳三為例,對溯源碼為5833432651藥品有發燒等不良反應需要進行藥品投訴,便可以在系統上進行投訴信息登記,登記后監管部門就可以在查詢投訴頁面,如圖8查看相應的投訴信息。

圖7 投訴信息登記頁面

圖8 投訴信息查詢頁面
3.2.7 監管部門模塊
監管部門模塊的功能是對于問題藥品的召回信息錄入,以及通過溯源碼查詢藥品召回信息和召回狀態,其中召回狀態0為待召回,1為召回中,2為已召回。如圖9所示,輸入溯源碼,召回的開始和結束時間,召回原因,召回方式以及召回狀態,進行藥品召回信息的錄入。同時消費者也能在查詢召回界面對溯源碼驗證藥品是否有召回的相關信息,避免使用問題藥品,如圖10所示。

圖9 藥品召回信息錄入界面

圖10 藥品召回信息查詢界面
本文針對傳統藥品供應鏈溯源體系存在的不足,設計了一種面向藥品溯源的區塊鏈技術系統體系,以以太坊平臺為基礎,對藥品在原料供應、生產制造、流通分銷以及最終銷售等過程進行數據錄入及追溯,引入消費者和監管部門服務,包含召回和投訴功能模塊。首先采用分布式存儲模式,保障數據真實完整,不可篡改,提高各參與方信息共享效率,有利于監管追責。其次在溯源系統設計方面使用智能合約,減少交易成本,保證交易的高效、精確和可信,最后對溯源系統平臺的各個功能模塊進行測試和結果展示,證實溯源系統的可行性??傊_運用區塊鏈技術可以提高溯源效率、優化供應鏈管理、重塑藥品供應鏈信任體系。在實際的應用過程中,需要具體情況具體分析,比如對于商業隱私數據的處理,可以采用密碼學算法加密后再上傳至區塊鏈溯源系統。作為一項新興技術,未來應加大對區塊鏈技術平臺的深入研究,進一步優化平臺性能,設計管理機制和利用技術創新實現保障源頭數據錄入的真實性,進一步提高數據可信度。面對區塊鏈發展過程中的諸多機遇和挑戰,需要學術界和產業界共同努力,將該技術更好地應用于供應鏈領域。