黃家昌 陳立 楊輝
摘? 要:傳統(tǒng)的高值耗材溯源系統(tǒng)采用中心化儲(chǔ)存,使得系統(tǒng)脆弱和數(shù)據(jù)分散,因此只能實(shí)現(xiàn)局部的溯源。為了解決這個(gè)問(wèn)題,本文提出在高值耗材溯源系統(tǒng)中引入?yún)^(qū)塊鏈技術(shù),為降低區(qū)塊鏈節(jié)點(diǎn)的儲(chǔ)存壓力,采用不同主體不同鏈的網(wǎng)絡(luò)模型,一個(gè)主體僅儲(chǔ)存同主體的數(shù)據(jù)。之后分析了不同主體數(shù)據(jù)上鏈的過(guò)程和內(nèi)容,并以此為依據(jù)梳理了高值耗材的溯源流程。此外為提高耗材數(shù)據(jù)上鏈的準(zhǔn)確性和效率,文章在高值耗材溯源系統(tǒng)中又引入了RFID技術(shù)。
關(guān)鍵詞:高值耗材;區(qū)塊鏈;溯源
中圖分類號(hào):TP391;R197.32? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)16-0165-04
Application of Blockchain Technology in the Traceability of High-Value
Medical Consumables
HUANG Jiachang, CHEN Li, YANG Hui
(Fujian Ecan Information Technology Co., Ltd., Fuzhou? 350001, China)
Abstract: The traditional high-value consumables traceability system adopts centralized storage, which makes the system fragile and data scattered, so it can only realize local traceability. In order to solve this problem, this paper proposes to introduce blockchain technology into the high-value consumables traceability system. In order to reduce the storage pressure of blockchain nodes, the network model with different subjects and different chains is adopted, and one subject only stores the data of the same subject. Then it analyzes the process and content of data uplink of different subjects, and combs the traceability process of high-value consumables on this basis. In addition, in order to improve the accuracy and efficiency of consumables data uplink, RFID technology is introduced into the high-value consumables traceability system.
Keywords: high-value consumable; blockchain; traceability
0? 引? 言
高值耗材是指需要通過(guò)外科手術(shù)并長(zhǎng)期留在人體中的醫(yī)療器械,所以高值耗材是否合格,是否安全直接關(guān)聯(lián)患者的生命健康。在2014年6月1號(hào)新版的《醫(yī)療器械監(jiān)督管理?xiàng)l例》和原衛(wèi)生部2010年1月18號(hào)頒發(fā)的《醫(yī)療器械臨床使用安全管理規(guī)范(試行)》中都提到高值耗材要做到可溯源。高值耗材的可溯源不僅可以打擊假冒偽劣產(chǎn)品,也可以在發(fā)生醫(yī)療事故的時(shí)候快速劃定責(zé)任,同時(shí)也利于監(jiān)管部門執(zhí)行監(jiān)管工作。
目前高值耗材實(shí)現(xiàn)溯源有兩個(gè)難點(diǎn),一個(gè)難點(diǎn)是數(shù)據(jù)分散儲(chǔ)存無(wú)法互相流通。高值耗材在生產(chǎn)環(huán)節(jié)、流通環(huán)節(jié)和使用環(huán)節(jié)中產(chǎn)生的信息分別儲(chǔ)存在生產(chǎn)廠家、物流公司、經(jīng)銷商、醫(yī)院的數(shù)據(jù)庫(kù)中,這就導(dǎo)致沒(méi)有足夠的數(shù)據(jù)支撐起耗材溯源。為了解決這個(gè)問(wèn)題,文獻(xiàn)[1]和文獻(xiàn)[2]提出使用GS1建立一個(gè)中心的標(biāo)準(zhǔn)字典庫(kù),用于管理高值耗材信息并實(shí)現(xiàn)高值耗材的溯源。但是使用中心數(shù)據(jù)庫(kù)會(huì)讓整個(gè)系統(tǒng)變得非常脆弱,中心數(shù)據(jù)庫(kù)一旦發(fā)生意外會(huì)影響整個(gè)上下游企業(yè),而且采用統(tǒng)一的標(biāo)準(zhǔn)庫(kù)不僅字典匹配工作量大,也很難推廣。另一個(gè)難點(diǎn)是數(shù)據(jù)錄入時(shí)數(shù)據(jù)不完整、數(shù)據(jù)不準(zhǔn)確。文獻(xiàn)[3]和文獻(xiàn)[4]都指出當(dāng)同一種耗材具有多種規(guī)格的時(shí)候,為了減少工作量,往往只錄入一種信息。為了減輕工作量、提高數(shù)據(jù)錄入的準(zhǔn)確性和效率,有學(xué)者提出了采用RFID技術(shù)進(jìn)行高值耗材管理[5]。
1? 區(qū)塊鏈簡(jiǎn)介
區(qū)塊鏈技術(shù)的最早提出者是中本聰,2008年他發(fā)表的文章《A peer-to-peer electronic cash system》[6]是區(qū)塊鏈技術(shù)的最早理論。之后區(qū)塊鏈技術(shù)快速發(fā)展,如今誕生了很多專注于區(qū)塊鏈技術(shù)研發(fā)與應(yīng)用的公司,區(qū)塊鏈技術(shù)也已經(jīng)在多個(gè)應(yīng)用場(chǎng)景中有了實(shí)際的應(yīng)用。
如圖1所示,在區(qū)塊鏈中數(shù)據(jù)以“區(qū)塊”的形式儲(chǔ)存。區(qū)塊分區(qū)塊頭和區(qū)塊體兩部分,區(qū)塊頭中存有區(qū)塊相關(guān)信息,如區(qū)塊Hash值、區(qū)塊時(shí)間戳、Merkle樹(shù)根。區(qū)塊體中保存具體的交易信息,即業(yè)務(wù)數(shù)據(jù)。一個(gè)區(qū)塊體中可以包含多個(gè)交易。區(qū)塊之間則通過(guò)區(qū)塊Hash值相連,形成一條隨時(shí)間遞增的數(shù)據(jù)鏈,這條數(shù)據(jù)鏈也被稱為賬本,而把數(shù)據(jù)提交到區(qū)塊鏈并寫(xiě)入賬本的過(guò)程稱為上鏈。
區(qū)塊鏈網(wǎng)絡(luò)由多個(gè)物理節(jié)點(diǎn)組成,每一個(gè)物理節(jié)點(diǎn)都運(yùn)行著相同的區(qū)塊鏈系統(tǒng)。區(qū)塊鏈網(wǎng)絡(luò)中產(chǎn)生的數(shù)據(jù)會(huì)在每一個(gè)物理節(jié)點(diǎn)中落盤儲(chǔ)存。由于區(qū)塊鏈網(wǎng)絡(luò)有可能出現(xiàn)網(wǎng)絡(luò)阻塞、網(wǎng)絡(luò)斷開(kāi)、機(jī)器宕機(jī)、外部攻擊等問(wèn)題,為了保障所有物理節(jié)點(diǎn)儲(chǔ)存的數(shù)據(jù)一致,各節(jié)點(diǎn)會(huì)先通過(guò)共識(shí)算法就數(shù)據(jù)達(dá)成一致,然后才把數(shù)據(jù)落盤儲(chǔ)存。不同的區(qū)塊鏈系統(tǒng),采用的共識(shí)算法也不同。比特幣系統(tǒng)和以太坊中使用的是POW共識(shí)算法,這種共識(shí)算法效率低、非常浪費(fèi)算力,而且有概率產(chǎn)生分叉,但是非常安全。聯(lián)盟鏈大部分都是采用PBFT系列共識(shí)算法,這類共識(shí)算法類似于少數(shù)服從多數(shù),效率較高、不會(huì)發(fā)生分叉現(xiàn)象,且沒(méi)有算力浪費(fèi)問(wèn)題。除了POW和PBFT,常見(jiàn)的共識(shí)算法還有POS、DPOS。
2? 區(qū)塊鏈技術(shù)在高值耗材溯源中的應(yīng)用
2.1? 溯源模型
如圖2所示,在高值耗材供應(yīng)鏈中存在四種角色,即生產(chǎn)廠家、物流公司、供貨商、醫(yī)院。本文根據(jù)角色把區(qū)塊鏈網(wǎng)絡(luò)劃分為四條鏈,即生產(chǎn)廠家鏈、物流公司鏈、供貨商鏈、醫(yī)院鏈。以生產(chǎn)廠家鏈為例,生產(chǎn)廠家鏈?zhǔn)怯啥鄠€(gè)生產(chǎn)廠家組成的一個(gè)小的區(qū)塊鏈網(wǎng)絡(luò),所以只有參與其中的生產(chǎn)廠家才能讀取和寫(xiě)入賬本。這種區(qū)塊鏈網(wǎng)絡(luò)劃分方式借鑒了文獻(xiàn)[7]中的“一環(huán)一鏈”思想,可以一定程度上減少服務(wù)器的儲(chǔ)存壓力,降低數(shù)據(jù)復(fù)雜度。
本文設(shè)計(jì)監(jiān)管部門可以讀取四條鏈的數(shù)據(jù),是因?yàn)樽鳛楸O(jiān)管部門只有獲得了全部的數(shù)據(jù)才能更好地更高效地履行監(jiān)管職責(zé)。監(jiān)管部門能讀取四條鏈的前提是加入四條鏈,但是監(jiān)管部門只負(fù)責(zé)監(jiān)管,不參與區(qū)塊鏈?zhǔn)聞?wù),所以本文采用FISCO技術(shù),并把監(jiān)管部門設(shè)置為觀察節(jié)點(diǎn)。這樣監(jiān)管部門就只同步區(qū)塊,而不參與區(qū)塊的產(chǎn)生。由于監(jiān)管部門可以獲取全部的數(shù)據(jù),所以也應(yīng)該由監(jiān)管部門提供數(shù)據(jù)查詢服務(wù)。
2.2? 系統(tǒng)架構(gòu)
如圖3所示,高值耗材溯源系統(tǒng)由交互層、應(yīng)用層、中間層、儲(chǔ)存層四部分組成。
2.2.1? 交互層
交互層提供了用戶與溯源系統(tǒng)的交互界面,用戶通過(guò)APP、小程序、Web瀏覽器四種方式可以查詢高值耗材的溯源信息,也可以向監(jiān)管部門投訴或?yàn)楦倪M(jìn)系統(tǒng)提出建議。
2.2.2? 應(yīng)用層
應(yīng)用層分為系統(tǒng)管理員、數(shù)據(jù)提供者、監(jiān)管部門、用戶四部分。系統(tǒng)管理員負(fù)責(zé)維護(hù)區(qū)塊鏈的穩(wěn)定運(yùn)行。比如節(jié)點(diǎn)的加入或離開(kāi),剔除作惡節(jié)點(diǎn),修復(fù)異常節(jié)點(diǎn),保障賬本在各個(gè)節(jié)點(diǎn)間正常同步。數(shù)據(jù)提供者負(fù)責(zé)數(shù)據(jù)的采集和提交。比如讀取RFID標(biāo)簽,把耗材出入庫(kù)信息上鏈。此外數(shù)據(jù)提供者也可以查詢溯源數(shù)據(jù),以驗(yàn)證接收的高值耗材是否合格。監(jiān)管部門可以讀取全部的高值耗材數(shù)據(jù),所以其對(duì)外提供查詢,接收用戶對(duì)耗材的投訴和系統(tǒng)改進(jìn)意見(jiàn)。同時(shí)為監(jiān)管部門配置區(qū)塊鏈瀏覽器,使其可以很方便地了解耗材數(shù)據(jù)上鏈情況與查詢鏈上數(shù)據(jù)。用戶既可以是患者也可以是供應(yīng)鏈中的一個(gè)企業(yè),通過(guò)交互層可以完成對(duì)耗材的溯源和投訴,也可以提出系統(tǒng)的一些改進(jìn)意見(jiàn)。
2.2.3? 中間層
中間層是區(qū)塊鏈網(wǎng)絡(luò)從接收數(shù)據(jù)到保存數(shù)據(jù)的處理過(guò)程。這個(gè)過(guò)程包括調(diào)用智能合約、執(zhí)行共識(shí)算法、打包程序、P2P同步區(qū)塊等,最終數(shù)據(jù)被寫(xiě)入賬本中。
2.2.4? 儲(chǔ)存層
儲(chǔ)存層分為MySQL和區(qū)塊鏈賬本兩部分。區(qū)塊鏈賬本保存的是高值耗材的溯源數(shù)據(jù),比如生產(chǎn)信息、出入庫(kù)信息、配送信息。而MySQL儲(chǔ)存的是非溯源數(shù)據(jù),比如系統(tǒng)角色數(shù)據(jù)、接口身份驗(yàn)證數(shù)據(jù)、溯源數(shù)據(jù)與交易號(hào)的關(guān)系數(shù)據(jù)等。中間層和區(qū)塊鏈賬本都屬于區(qū)塊鏈系統(tǒng),在每一個(gè)物理節(jié)點(diǎn)中都有。而MySQL數(shù)據(jù)庫(kù)則只存在與監(jiān)管部門,供應(yīng)鏈中的企業(yè)通過(guò)接口把非溯源數(shù)據(jù)傳輸給監(jiān)管本部門,再由監(jiān)管部門經(jīng)過(guò)身份驗(yàn)證后保存到MySQL中。
2.3? 高值耗材溯源信息上鏈
高值耗材溯源信息上鏈主體分為生產(chǎn)廠家、物流公司、供貨商和醫(yī)院。上鏈的數(shù)據(jù)都是JSON格式的。本小節(jié)中使用到的名詞說(shuō)明如表1所示。
2.3.1? 生產(chǎn)廠家
如圖4所示,生產(chǎn)廠家上鏈溯源數(shù)據(jù)的節(jié)點(diǎn)有兩個(gè),一個(gè)是高值耗材生產(chǎn)出來(lái)之后,一個(gè)是出庫(kù)之后。在第一個(gè)節(jié)點(diǎn),生產(chǎn)廠家把公司信息、生產(chǎn)地信息、耗材信息上鏈,上鏈成功后產(chǎn)生的交易號(hào)記作CTx。然后把CTx寫(xiě)入RFID標(biāo)簽,且RFID標(biāo)簽不允許復(fù)寫(xiě),在完成耗材打包后把RFID標(biāo)簽張貼于包裝之上。最后入庫(kù)保存。待生產(chǎn)廠家收到訂單,并按照訂單從倉(cāng)庫(kù)中出庫(kù)之后,把訂單信息、出庫(kù)信息、物流單號(hào)上鏈。成功上鏈后產(chǎn)生的交易號(hào)記作O2FTx。最后生產(chǎn)廠家把CTx和O2FTx發(fā)送給監(jiān)管部門,由監(jiān)管部門存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)。
2.3.2? 物流公司
如圖5所示,物流公司只在收貨方確認(rèn)收貨之后才把物流數(shù)據(jù)上鏈。上鏈的數(shù)據(jù)有物流單號(hào)、物流公司信息、發(fā)貨方信息、收貨方信息、路線信息、司機(jī)信息、車輛信息。上鏈成功產(chǎn)生的交易號(hào)記作LTx。最后物流公司把物流單號(hào)和LTx發(fā)送給監(jiān)管部門,由監(jiān)管部門儲(chǔ)存在MySQL數(shù)據(jù)庫(kù)。
2.3.3? 供貨商
如圖6所示,供貨商也存在兩個(gè)數(shù)據(jù)上鏈節(jié)點(diǎn)。供貨商在收到物流公司配送的貨物后,使用物聯(lián)網(wǎng)技術(shù)自動(dòng)從RFID標(biāo)簽中讀取并收集CTx。然后把高值耗材入庫(kù),并把包含CTx集合的入庫(kù)信息上鏈。上鏈成功后產(chǎn)生的交易號(hào)記作SITx。待供貨商收到醫(yī)院的訂單并出庫(kù)之后,供應(yīng)商把出庫(kù)信息、訂單信息、物流單號(hào)上鏈,上鏈成功后產(chǎn)生的交易號(hào)記作SOTx。之后把SITx與其對(duì)應(yīng)的CTx集,SOTx與其對(duì)應(yīng)的CTx集以及物流單號(hào)發(fā)送給監(jiān)管部門,由監(jiān)管部門保存到MySQL數(shù)據(jù)庫(kù)中。
2.3.4? 醫(yī)院
如圖7所示,醫(yī)院在收到耗材后分為兩種情況,每種情況的上鏈節(jié)點(diǎn)不一樣
下文分開(kāi)討論這兩種情況:
第一種情況是醫(yī)院先把耗材入庫(kù)保存,在需要的時(shí)候再出庫(kù)使用。因此,在入庫(kù)環(huán)節(jié)和最后的使用環(huán)節(jié),需要分別執(zhí)行一次上鏈操作。在入庫(kù)環(huán)節(jié)需要上鏈的信息有訂單號(hào)、倉(cāng)庫(kù)信息、耗材集。在使用環(huán)節(jié)需要上鏈的數(shù)據(jù)有手術(shù)信息、病人信息、出庫(kù)信息和CTx。待手術(shù)完成后,需要把高值耗材包裝上的RFID標(biāo)簽給患者,患者可以通過(guò)這個(gè)標(biāo)簽上儲(chǔ)存的CTx查詢高值耗材的溯源數(shù)據(jù)。
第二種情況是醫(yī)院收到耗材后就直接使用,因此只需在使用環(huán)節(jié)執(zhí)行上鏈操作。此環(huán)節(jié)上鏈的數(shù)據(jù)有訂單號(hào)、CTx、手術(shù)信息、病人信息。
在第一種情況中入庫(kù)環(huán)節(jié)數(shù)據(jù)上鏈成功之后產(chǎn)生的交易號(hào)記作HITx,而在兩種情況中都存在的使用環(huán)節(jié)上鏈產(chǎn)生的交易號(hào)記作HUTx。最后醫(yī)院把HITx和HUTx以及各個(gè)對(duì)應(yīng)的CTx一起發(fā)送給監(jiān)管部門,由監(jiān)管部門保存到MySQL數(shù)據(jù)庫(kù)。
2.4? 高值耗材溯源
患者獲得RFID標(biāo)簽之后,可以登陸溯源頁(yè)面手動(dòng)輸入標(biāo)簽上印刷的CTx。溯源系統(tǒng)收到CTx后,會(huì)從MySQL數(shù)據(jù)庫(kù)中搜索與CTx相關(guān)聯(lián)的O2FTx、SITx、SOTx、HITx、HUTx。然后根據(jù)這些交易號(hào),從區(qū)塊鏈網(wǎng)絡(luò)獲取溯源數(shù)據(jù)。其中根據(jù)O2FTx、SOTx獲取的數(shù)據(jù)中都包含了物流單號(hào),可以根據(jù)這兩個(gè)物流單號(hào)分別從MySQL數(shù)據(jù)庫(kù)中查詢到生產(chǎn)廠家出庫(kù)時(shí)的LTx和供貨商出庫(kù)時(shí)的LTx。之后根據(jù)這兩個(gè)LTx可以從區(qū)塊鏈上獲得兩條物流信息。然后根據(jù)區(qū)塊的時(shí)間戳對(duì)數(shù)據(jù)進(jìn)行排序和整合,最后輸出高值耗材的全部溯源數(shù)據(jù),系統(tǒng)界面如圖8所示。
3? 結(jié)? 論
本文在高值耗材溯源系統(tǒng)中引入?yún)^(qū)塊鏈技術(shù)儲(chǔ)存高值耗材的生命周期數(shù)據(jù),并使用RFID技術(shù)在高值耗材流轉(zhuǎn)中快速準(zhǔn)確地讀取耗材的CTx值。區(qū)塊鏈網(wǎng)絡(luò)根據(jù)高值耗材供應(yīng)鏈中角色不同而劃分了四條鏈,這樣降低了節(jié)點(diǎn)的儲(chǔ)存壓力。在區(qū)塊鏈網(wǎng)絡(luò)中也加入了監(jiān)管部門,并且使其加入了四條鏈,這樣不僅保證了區(qū)塊鏈網(wǎng)絡(luò)中有一個(gè)節(jié)點(diǎn)可以訪問(wèn)全部的高值耗材流轉(zhuǎn)數(shù)據(jù)以提供溯源服務(wù),也可以幫助監(jiān)管部門更好的執(zhí)行監(jiān)督職責(zé)。在耗材溯源方面,為了加快查詢高值耗材溯源數(shù)據(jù)的速度,本文中使用了MySQL儲(chǔ)存了一些耗材溯源數(shù)據(jù)上鏈時(shí)產(chǎn)生了交易號(hào),并把交易號(hào)之間做了關(guān)聯(lián)。此外,區(qū)塊鏈的分布式儲(chǔ)存和去中心化特性也加強(qiáng)了高值耗材溯源系統(tǒng)的魯棒性。
參考文獻(xiàn):
[1] 應(yīng)悅,羅成,王湘杰.基于UDI編碼體系的高值耗材供應(yīng)鏈管理系統(tǒng) [J]. 中國(guó)醫(yī)療設(shè)備,2016,31(8):113-115.
[2] 秦超,李丹,陳建,等.基于GS1標(biāo)準(zhǔn)化UID條碼技術(shù)的醫(yī)用高值耗材追溯監(jiān)管 [J].醫(yī)學(xué)食療與健康,2019(12):213-214.
[3] 吳靜,孫超偉,劉海榮.醫(yī)用耗材收支管理的調(diào)研報(bào)告 [J]. 財(cái)經(jīng)界,2015(5):72.
[4] 顧秀萍,高小坤,葛文俊,等.基于新時(shí)期視角下的高值耗材使用與管理探析 [J]. 中國(guó)醫(yī)療設(shè)備,2019,34(2):126-129.
[5] 李怡勇,汪君,米永巍,等.基于RFID技術(shù)實(shí)現(xiàn)醫(yī)用高值耗材可溯源性管理的探討 [J]. 醫(yī)療衛(wèi)生裝備,2014,35(4):140-141+147.
[6] NAKAMOTO S. Bitcoin:A peer-to-peer electronic cash system [EB/OL].[2021-05-04].https://bitcoin.org/bitcoin.pdf.
[7] 王志鏵,柳平增,宋成寶,等. 基于區(qū)塊鏈的農(nóng)產(chǎn)品柔性可信溯源系統(tǒng)研究 [J]. 計(jì)算機(jī)工程,2020,46(12):313-320.
作者簡(jiǎn)介:黃家昌(1970—),男,漢族,福建福州人,注冊(cè)會(huì)計(jì)師,本科,研究方向:醫(yī)院運(yùn)營(yíng)管理、信息化建設(shè)、財(cái)務(wù)管理等;陳立(1992—),男,漢族,河南周口人,軟件開(kāi)發(fā)工程師,碩士,研究方向:區(qū)塊鏈技術(shù)應(yīng)用;楊輝(1989—),男,漢族,福建福州人,高級(jí)工程師,碩士,研究方向:軟件工程、人工智能、區(qū)塊鏈應(yīng)用。