朱詩生,李朝清,黃仁俊,李維駿
(汕頭大學(xué) 計(jì)算機(jī)系,廣東 汕頭 515063)
當(dāng)前,患者對(duì)醫(yī)療診治服務(wù)要求越來越迫切,醫(yī)療機(jī)構(gòu)對(duì)醫(yī)療數(shù)據(jù)的分享利用需求不斷提升,其中醫(yī)療數(shù)據(jù)包括個(gè)人隱私信息、慢病測(cè)量數(shù)據(jù)、電子病歷及電子健康檔案等。由于歷史的原因,造成目前各個(gè)醫(yī)院機(jī)構(gòu)HIS系統(tǒng)相互獨(dú)立、協(xié)同程度低、信息孤立等,在E-Health病歷中的許多問題包括數(shù)據(jù)完整性與隱私性以及高度可靠的審計(jì)跟蹤等面臨挑戰(zhàn)[1]。患者對(duì)于個(gè)人醫(yī)療數(shù)據(jù)的掌控程度低,醫(yī)院機(jī)構(gòu)的協(xié)同診治速度相對(duì)緩慢,無疑需要改進(jìn)傳統(tǒng)的醫(yī)療診治以及數(shù)據(jù)分享模式。
區(qū)塊鏈技術(shù)因比特幣而進(jìn)入人們的視線,是近年來研究的熱點(diǎn)[2]。隨著區(qū)塊鏈技術(shù)的不斷突破和普及,區(qū)塊鏈技術(shù)在醫(yī)療領(lǐng)域?qū)?huì)具有極大的發(fā)展機(jī)遇,有望在互聯(lián)網(wǎng)+醫(yī)療生態(tài)的構(gòu)建上發(fā)揮重要作用[3]。截止到2018年,全球醫(yī)療機(jī)制在不斷創(chuàng)新和改變。例如:澳大利亞的Brontech公司使用區(qū)塊鏈技術(shù)搭建的Cyph MD服務(wù)平臺(tái)[4],利用非對(duì)稱加密技術(shù)與分級(jí)證書系統(tǒng)的結(jié)合,建立醫(yī)療人員的數(shù)碼身份,以確保他們之間的信息溝通隱私受到保護(hù),提高醫(yī)療保健系統(tǒng)的可信度和安全性;Saravanan Raju等人[5]研究區(qū)塊鏈管理教育和健康,使可連續(xù)跟蹤個(gè)人健康和教育。2017年,中國第一次將醫(yī)療與區(qū)塊鏈結(jié)合使常州市醫(yī)療體系有了創(chuàng)新的應(yīng)用。
醫(yī)療+區(qū)塊鏈的方式為患者的醫(yī)療診治服務(wù)提供了一種全新的保障,目前國內(nèi)外學(xué)者提出的方案值得借鑒。例如:黃永剛[6]利用區(qū)塊鏈技術(shù)討論了醫(yī)療在隱私保護(hù)方面的應(yīng)用,為電子健康檔案建設(shè)提供新的研究思路。薛騰飛等人提出基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)共享模型[7],通過改進(jìn)共識(shí)機(jī)制實(shí)現(xiàn)了醫(yī)療數(shù)據(jù)安全、快捷的共享。梅穎提出一個(gè)醫(yī)療記錄安全存儲(chǔ)方案[8],利用區(qū)塊鏈和云存儲(chǔ)技術(shù)有效實(shí)現(xiàn)了醫(yī)療數(shù)據(jù)的安全訪問與存儲(chǔ)。Yue Xiao等人提出的基于區(qū)塊鏈的HGD體系結(jié)構(gòu)[9],使患者安全控制共享醫(yī)療數(shù)據(jù)。Tian Haibo等人[10]針對(duì)醫(yī)療數(shù)據(jù)的隱私性,提出在診斷和治療過程開始之前,建立一個(gè)可以由合法方重建的共享密鑰。Han Huirui等人[11]提出將聯(lián)盟鏈與私有鏈結(jié)合的混合性區(qū)塊鏈,從而提高醫(yī)療數(shù)據(jù)存儲(chǔ)安全性。Li Hongyu等人[12]利用以太坊平臺(tái)構(gòu)建醫(yī)療數(shù)據(jù)安全存儲(chǔ)系統(tǒng)。Ji Yaxian等人[13]提出基于區(qū)塊鏈的隱私保護(hù)位置共享方案,能夠保證位置共享的安全性。Fan Kai等人[14]建立了基于區(qū)塊鏈的信息管理系統(tǒng)Medblock,能對(duì)電子病歷有效的安全管理共享。Ahmet EKN等人[15]評(píng)估了區(qū)塊鏈技術(shù)在醫(yī)療保健應(yīng)用上的選擇和部署,為區(qū)塊鏈提供新的技術(shù)研究。Md Zakirul Alam Bhuiya等人[16]提出一種私有區(qū)塊鏈解決方案,該方案管理健康數(shù)據(jù)更安全以及跨機(jī)構(gòu)共享數(shù)據(jù)。Hoang Giang Do等人提出一種利用區(qū)塊鏈技術(shù)來提供具有關(guān)鍵字搜索服務(wù)的安全分布式數(shù)據(jù)存儲(chǔ)的系統(tǒng)[17]。Gabor Magyar設(shè)計(jì)了一個(gè)集成的健康信息模型[18],該模型基于區(qū)塊鏈操作環(huán)境建立一個(gè)分散的、可公開擴(kuò)展的網(wǎng)絡(luò),使得訪問數(shù)據(jù)更具保障。Liang Xueping等人提出一種創(chuàng)新的以用戶為中心的健康數(shù)據(jù)共享解決方案[19],利用區(qū)塊鏈機(jī)制保護(hù)隱私,加強(qiáng)身份管理,并結(jié)合移動(dòng)應(yīng)用程序采集數(shù)據(jù)。Min Gyu Kim[20]等提出了基于區(qū)塊鏈的醫(yī)療問卷管理系統(tǒng),可使患者自行管理數(shù)據(jù),保障問卷結(jié)果數(shù)據(jù)的完整性。Tang Huanrong等人[21]根據(jù)醫(yī)療圖像資源保護(hù)設(shè)計(jì)了基于區(qū)塊鏈智能合約與信用評(píng)分的醫(yī)療圖像安全共享方法,保證了智能共享醫(yī)療影像數(shù)據(jù),其關(guān)注主要是圖像資源的保存共享。為改善傳統(tǒng)醫(yī)療模式,筆者團(tuán)隊(duì)研究開發(fā)了協(xié)同診治分享平臺(tái)[22],以便構(gòu)建共享的醫(yī)療數(shù)據(jù)模式。通過患者的有效授權(quán),合理分配、控制各個(gè)層級(jí)人員的數(shù)據(jù)分享訪問,從而降低醫(yī)療成本、減少醫(yī)療數(shù)據(jù)資源浪費(fèi),提升診治效率??墒情_發(fā)的平臺(tái)只有傳統(tǒng)意義的權(quán)限管理,對(duì)醫(yī)療數(shù)據(jù)的分享安全控制以及共享的速度并未從根本上加以改變,對(duì)于患者身份隱私、醫(yī)療數(shù)據(jù)交易隱私[23]以及隨時(shí)追溯等問題也未解決,需要對(duì)平臺(tái)進(jìn)行改造。針對(duì)以上問題,該文通過對(duì)以太坊、協(xié)同診治平臺(tái)以及加密算法的分析與研究,提出基于區(qū)塊鏈的協(xié)同診治平臺(tái)醫(yī)療數(shù)據(jù)安全訪問共享模型與機(jī)制。通過患者授權(quán)允許訪問,授權(quán)信息需要在以太坊私鏈構(gòu)建區(qū)塊鏈服務(wù)中驗(yàn)證,共享交易記錄永久保存。該區(qū)塊鏈服務(wù)建立于協(xié)同診治平臺(tái)實(shí)現(xiàn)數(shù)據(jù)協(xié)同化,醫(yī)療數(shù)據(jù)去中心化不需第三方監(jiān)管、數(shù)據(jù)不可篡改、匿名的協(xié)同化處理與安全傳輸,從而形成了一個(gè)完整的模型架構(gòu)。方案使患者對(duì)于個(gè)人E-Health信息擁有高度的所有權(quán)與支配權(quán),嘗試解決長期存在的醫(yī)療數(shù)據(jù)安全訪問程度低、分享缺乏有效保障的問題。
通過研究慢病患者等不同類型患者傳統(tǒng)診治案例,模擬與剖析醫(yī)生就診、患者就醫(yī)的完整診治流程,歸納出傳統(tǒng)診治體系的效率低等問題,從而提出安全訪問共享模型。該模型以醫(yī)院傳統(tǒng)診治流程為依托,利用區(qū)塊鏈技術(shù)嵌入?yún)f(xié)同診治平臺(tái),改進(jìn)醫(yī)療數(shù)據(jù)的訪問、存儲(chǔ)以及共享流程。模型具有EHRP研究理念,滲透去中心化思想,基于B/S的SaaS應(yīng)用模式。模型框架總體構(gòu)建如圖1所示。
圖1 模型架構(gòu)
(1)物理互聯(lián)層:醫(yī)療信息系統(tǒng)因不同醫(yī)院的不同設(shè)置,具有不同的醫(yī)療數(shù)據(jù)資源管理模式。該層的設(shè)計(jì)嘗試通過數(shù)據(jù)互聯(lián)協(xié)同策略將各醫(yī)院、各衛(wèi)生站、社區(qū)醫(yī)療站以及各醫(yī)療機(jī)構(gòu)的醫(yī)療數(shù)據(jù)管理系統(tǒng)連接起來,通過互聯(lián)連接規(guī)避異構(gòu)醫(yī)療數(shù)據(jù)資源問題。而物理互聯(lián)層的互聯(lián)效率較高,實(shí)時(shí)地進(jìn)行控制。利用互聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)電子信息存儲(chǔ),實(shí)時(shí)同步互聯(lián)。而在本研究平臺(tái)下,該層設(shè)計(jì)針對(duì)大文件醫(yī)療數(shù)據(jù)的外部存儲(chǔ),且實(shí)時(shí)備份不同患者在該醫(yī)院的診治信息。
(2)區(qū)塊鏈服務(wù)層:該層嵌入?yún)f(xié)同診治平臺(tái)的基礎(chǔ)模型中,使用以太坊平臺(tái)搭建的服務(wù)器;通過Web3J框架接口溝通以太坊,使用Geth客戶端可創(chuàng)建或啟動(dòng)以太坊節(jié)點(diǎn);以太坊節(jié)點(diǎn)之間形成分布式的溝通模式,互連互通構(gòu)建以太坊私鏈。區(qū)塊鏈服務(wù)層根據(jù)發(fā)布的新的醫(yī)療數(shù)據(jù)存儲(chǔ)操作交易,將醫(yī)療信息存儲(chǔ)于區(qū)塊鏈,同時(shí)可通過交易哈希值查找回具體的所需信息,從區(qū)塊鏈或協(xié)同存儲(chǔ)平臺(tái)取回信息。該層存儲(chǔ)部分醫(yī)療信息或數(shù)據(jù)摘要,根據(jù)交易授權(quán)信息從物理層的醫(yī)療信息系統(tǒng)獲取原始醫(yī)療數(shù)據(jù)。
(3)基礎(chǔ)服務(wù)層:經(jīng)授權(quán)的醫(yī)院等醫(yī)療機(jī)構(gòu),具有存儲(chǔ)共享數(shù)據(jù)的權(quán)利。該層通過物理互聯(lián)層與區(qū)塊鏈服務(wù)層的傳輸,處理授權(quán)方的操作實(shí)時(shí)要求,獲取存儲(chǔ)的原始醫(yī)療數(shù)據(jù)信息進(jìn)行數(shù)據(jù)爬取等處理操作,達(dá)到協(xié)同診治的優(yōu)良服務(wù)要求,以供診治研究需要。針對(duì)龐大的數(shù)據(jù)信息,該層也可根據(jù)需求進(jìn)行相應(yīng)的數(shù)據(jù)預(yù)處理清洗等處理。
(4)應(yīng)用服務(wù)層:挖掘處理后的醫(yī)療數(shù)據(jù),經(jīng)該層的算法分析等處理,可應(yīng)用于應(yīng)用層。該層作為上傳下達(dá)的中間層,為整個(gè)協(xié)同診治平臺(tái)提供一定的功能支持作用。經(jīng)此應(yīng)用服務(wù)層,可更好地提取重要的針對(duì)性醫(yī)療數(shù)據(jù)信息,做到分類聚類處理,并且維護(hù)了平臺(tái)的安全功能支持。
(5)應(yīng)用層:該層將處理后獲取的醫(yī)療數(shù)據(jù)資源經(jīng)下層服務(wù)調(diào)用,于網(wǎng)頁端、APP端等客戶端進(jìn)行展示,其醫(yī)療資源可用于疾病診治分析處理、共享診治資源以及查詢具體信息等。該層承接了醫(yī)生及患者兩大主體的實(shí)時(shí)操作要求,需要通過該層驅(qū)動(dòng)協(xié)同診治平臺(tái)各層之間的服務(wù)處理調(diào)用。
在整個(gè)架構(gòu)模型中,患者醫(yī)療數(shù)據(jù)的使用須通過患者在應(yīng)用層對(duì)醫(yī)療結(jié)構(gòu)或者醫(yī)生進(jìn)行授權(quán)才能共享個(gè)人醫(yī)療數(shù)據(jù)。數(shù)據(jù)的訪問、分享、刪除都會(huì)由用戶在區(qū)塊鏈服務(wù)層發(fā)起交易,記錄數(shù)據(jù)操作,為用戶安全訪問、共享做背書。在該平臺(tái)下,平臺(tái)應(yīng)用層具有支持上層服務(wù),調(diào)用下層服務(wù)的功能,提供對(duì)外部應(yīng)用數(shù)據(jù)進(jìn)行安全存儲(chǔ)以及安全訪問等服務(wù)。
傳統(tǒng)醫(yī)療數(shù)據(jù)存儲(chǔ)采用中心化的存儲(chǔ)平臺(tái),數(shù)據(jù)不可防偽,信息也無法溯源,存儲(chǔ)安全系數(shù)低。該模型的存儲(chǔ)模式以協(xié)同存儲(chǔ)平臺(tái)存儲(chǔ)原始醫(yī)療數(shù)據(jù),區(qū)塊鏈服務(wù)層處理患者的醫(yī)療數(shù)據(jù),以達(dá)到保護(hù)患者隱私的目的,提高數(shù)據(jù)存儲(chǔ)的安全性?;颊叩尼t(yī)療數(shù)據(jù)變更交易記錄,操作交易記錄等都將以時(shí)間戳的區(qū)塊形式存儲(chǔ)于區(qū)塊鏈服務(wù)器層。不僅存儲(chǔ)了患者的原始醫(yī)療病歷、E-Health等信息,還對(duì)病歷實(shí)時(shí)的處理進(jìn)行記錄,為患者隨時(shí)提供完備的真實(shí)的存儲(chǔ)數(shù)據(jù)。
整個(gè)醫(yī)療數(shù)據(jù)存儲(chǔ)的具體流程如圖2所示?;颊咴谀翅t(yī)院經(jīng)醫(yī)生診治后,醫(yī)生書寫的診治病歷、治病處方等重要診治數(shù)據(jù)實(shí)時(shí)地存儲(chǔ)于該醫(yī)院的存儲(chǔ)平臺(tái)中,對(duì)外不公開,臨時(shí)的醫(yī)療數(shù)據(jù)會(huì)被消除。醫(yī)生、醫(yī)療機(jī)構(gòu)等可通過患者授權(quán)經(jīng)區(qū)塊鏈服務(wù)層驗(yàn)證授權(quán)處理訪問,因此部分醫(yī)療數(shù)據(jù)及存儲(chǔ)記錄需存儲(chǔ)于區(qū)塊鏈,以供交易處理。由于區(qū)塊鏈中區(qū)塊的存儲(chǔ)大小限制,模型將經(jīng)互聯(lián)協(xié)同策略處理過的大型醫(yī)療數(shù)據(jù)生成數(shù)據(jù)摘要和小型醫(yī)療數(shù)據(jù)構(gòu)成大小合格的數(shù)據(jù)文件。根據(jù)數(shù)據(jù)文件是否公開,非公開文件進(jìn)行加密,公開文件進(jìn)行脫敏后加入進(jìn)區(qū)塊的Data位置處。區(qū)塊鏈服務(wù)器的區(qū)塊鏈數(shù)據(jù)層存儲(chǔ)數(shù)據(jù)文件,同時(shí)存儲(chǔ)時(shí)間標(biāo)識(shí)Time、隨機(jī)數(shù)Number、Hash值以及患者的私鑰加密后的簽名S等,即(Data,Hash,Time,Number,S)。數(shù)據(jù)層生成的交易經(jīng)礦工挖礦,解密簽名,驗(yàn)證交易,在網(wǎng)絡(luò)層以P2P的組網(wǎng)技術(shù)進(jìn)行廣播,經(jīng)全網(wǎng)驗(yàn)證。其中過程依靠POW共識(shí)機(jī)制,驗(yàn)證通過將該塊加入?yún)^(qū)塊鏈?;颊哚t(yī)療數(shù)據(jù)通過此存儲(chǔ)流程,使患者醫(yī)療存儲(chǔ)可追溯,存儲(chǔ)更加安全。
圖2 醫(yī)療數(shù)據(jù)存儲(chǔ)流程
為改進(jìn)共享診治模式,根據(jù)疾病嚴(yán)重程度實(shí)現(xiàn)在社區(qū)與醫(yī)院康復(fù)治療間方便互換診治的新格局。緩解看病難與貴,優(yōu)化醫(yī)療資源配置,降低醫(yī)療成本,提高醫(yī)療效率,隨時(shí)隨地將醫(yī)療數(shù)據(jù)達(dá)到最大利用程度。模型針對(duì)醫(yī)生和患者兩類主要交易對(duì)象,其中醫(yī)生可來自不同的醫(yī)院,患者可為慢病患者等不同類型患者。以患者對(duì)個(gè)人醫(yī)療信息掌握所有權(quán)與支配權(quán),患者授權(quán)醫(yī)生進(jìn)行訪問與共享信息的方式,進(jìn)行改善。具體的醫(yī)療數(shù)據(jù)訪問共享流程如圖3,步驟如下:
圖3 醫(yī)療數(shù)據(jù)訪問共享流程
(1)患者授權(quán)?;颊咴趹?yīng)用層系統(tǒng)授權(quán)給醫(yī)生,授權(quán)信息逐層調(diào)用服務(wù),服務(wù)器管理層將數(shù)據(jù)訪問授權(quán)打包成交易上傳到區(qū)塊鏈進(jìn)行存儲(chǔ),記錄授權(quán)操作行為。授權(quán)交易單由授權(quán)信息Data、患者簽名S等構(gòu)成,礦工通過簽名對(duì)授權(quán)交易驗(yàn)證,合格的交易完成,醫(yī)生獲得患者授權(quán)。同時(shí),患者制定加密密鑰以及數(shù)據(jù)調(diào)取方式,通過非對(duì)稱加密的方式發(fā)送給醫(yī)生。
(2)醫(yī)生取得授權(quán)后具有訪問醫(yī)療信息的權(quán)限,醫(yī)生在權(quán)限允許范圍之后提交對(duì)患者E-health信息、診斷病歷等醫(yī)療數(shù)據(jù)的訪問共享請(qǐng)求。此時(shí),患者對(duì)共享訪問交易單進(jìn)行簽名,交易單主要包括數(shù)據(jù)摘要Data、醫(yī)生等接收方地址、患者公鑰信息PK、患者私鑰簽名S等。交易單經(jīng)挖礦驗(yàn)證成功后,上傳到區(qū)塊鏈。發(fā)布交易成功返回交易哈希值,交易哈希值與醫(yī)療數(shù)據(jù)摘要形成對(duì)照表,易于系統(tǒng)查詢區(qū)塊鏈上的信息。具體算法流程如下:
算法1:發(fā)送交易 Procedure SendRawTransaction
Input:接收方地址;發(fā)送方私鑰,公鑰;數(shù)據(jù)
Output:交易哈希
1 Begin
2 使用發(fā)送方公私玥生成橢圓加密算法對(duì)象
3 使用橢圓加密算法對(duì)象生成用戶憑證
4 新建RawTransaction,參數(shù)(Nonce,GasPrice,GasLimit,接收方地址;數(shù)據(jù))
5 使用用戶憑證簽名交易
6 發(fā)送交易
7 If發(fā)送成功
8 返回交易哈希值
9 else
10 返回失敗原因
11 End
(3)響應(yīng)數(shù)據(jù)調(diào)取。首先,協(xié)同平臺(tái)確認(rèn)授權(quán)信息,響應(yīng)信息調(diào)取請(qǐng)求,獲取訪問共享交易信息單。根據(jù)交易的哈希值可以快速檢索到交易,然后從交易當(dāng)中獲取上傳的信息。其中由于以太坊沒有自帶篩選交易的API,所以在服務(wù)器實(shí)現(xiàn)了,發(fā)布交易之后,記錄下交易哈希值的功能。算法描述如下:
算法2:獲取交易中附帶的數(shù)據(jù)Procedure GetTransactionData
Input:交易哈希值
Output:數(shù)據(jù)
1 Begin
2 使用Admin對(duì)象發(fā)送請(qǐng)求,根據(jù)交易哈希值返回交易對(duì)象
3 返回response的transaction對(duì)象
4 獲取transaction對(duì)象中的Input數(shù)據(jù)
5 使用Numeric對(duì)象轉(zhuǎn)為上傳時(shí)的原始數(shù)據(jù)
6 End
從協(xié)同存儲(chǔ)機(jī)構(gòu)上取回的醫(yī)療數(shù)據(jù)信息,與在平臺(tái)上保存為數(shù)字摘要,且由算法產(chǎn)生的數(shù)字簽名對(duì)所取回的醫(yī)療數(shù)據(jù)進(jìn)行正確性驗(yàn)證,然后,使用重加密密鑰加密,保存于平臺(tái)等待下載或者打包發(fā)送給醫(yī)生或機(jī)構(gòu),使用非對(duì)稱加密算法分發(fā)的對(duì)稱加密密鑰解密即可得到目標(biāo)明文。最后還需把醫(yī)生以及機(jī)構(gòu)調(diào)取數(shù)據(jù)的操作記錄生成交易,上傳到區(qū)塊鏈中保存。
(4)若數(shù)據(jù)調(diào)取醫(yī)療數(shù)據(jù)信息失效,則是因患者無授權(quán)信息或響應(yīng)訪問共享信息無效。無法進(jìn)行相應(yīng)的調(diào)取信息,返回錯(cuò)誤調(diào)取原因。其中,針對(duì)無響應(yīng)訪問共享信息,則將調(diào)取索引刪除,從而取消被授權(quán)者的授權(quán)操作。防止無效或非法的操作造成協(xié)同平臺(tái)的負(fù)擔(dān),降低其安全性。
整個(gè)數(shù)據(jù)訪問共享流程中,患者以匿名的方式參加交易,每一筆交易表現(xiàn)為區(qū)塊,上傳的每一筆交易表現(xiàn)為具有時(shí)間戳的活動(dòng)記錄,記錄不可篡改?;颊呖赏ㄟ^平臺(tái)應(yīng)用層授權(quán)給醫(yī)生使不同醫(yī)院的醫(yī)生都能共享患者醫(yī)療數(shù)據(jù),患者也可以隨時(shí)收回權(quán)限。平臺(tái)區(qū)塊鏈服務(wù)層以以太坊搭建私鏈經(jīng)礦工挖礦將每個(gè)交易新區(qū)塊加入,而運(yùn)行以太坊代碼是一個(gè)挖礦的過程。以太坊使用的Level DB數(shù)據(jù)庫可實(shí)現(xiàn)數(shù)據(jù)層的快速存取,共識(shí)層使用PoW共識(shí)機(jī)制,系統(tǒng)吞吐率及共識(shí)效率較高,整個(gè)醫(yī)療數(shù)據(jù)的存儲(chǔ)更安全、共享更高效。激勵(lì)層、合約層和應(yīng)用層維護(hù)系統(tǒng)運(yùn)行,不需第三方的介入,激勵(lì)更多的用戶節(jié)點(diǎn)參與到越來越大的共識(shí)網(wǎng)絡(luò)中,使患者醫(yī)療數(shù)據(jù)交易操作更可靠。共享的醫(yī)療數(shù)據(jù)不僅可用于患者個(gè)體的診斷和治療,也可使所有授權(quán)的醫(yī)療機(jī)構(gòu)以及醫(yī)生工作站可以通過提交請(qǐng)求遠(yuǎn)程調(diào)閱患者的電子健康檔案(包括用藥情況、檢驗(yàn)報(bào)告等)從而實(shí)現(xiàn)醫(yī)療資源共享。
(1)加密機(jī)制:醫(yī)療數(shù)據(jù)在傳送過程中,采用對(duì)稱加密的方式。以特定的密碼算法將處于明文狀態(tài)下的醫(yī)療數(shù)據(jù)信息進(jìn)行轉(zhuǎn)換,成為密鑰信息。此時(shí),明文加密成密文發(fā)送,生成的密文的暴力破解難度不同,維護(hù)傳送過程安全性。協(xié)同診治平臺(tái)也將根據(jù)醫(yī)生加密密鑰與患者的解密密鑰進(jìn)行重加密,醫(yī)生等接收方接收到的密文使用密鑰與密文加密算法進(jìn)行解密,即可恢復(fù)成醫(yī)療數(shù)據(jù)等明文信息。醫(yī)療數(shù)據(jù)交易過程,每一筆交易采用非對(duì)稱加密算法簽名交易,需驗(yàn)證交易加入?yún)^(qū)塊鏈。此過程,主要使用橢圓加密算法生成的公鑰私鑰生成患者憑證,患者私鑰進(jìn)行簽名加密,礦工采用secp256k1橢圓曲線進(jìn)行驗(yàn)證。使交易真實(shí)可靠,醫(yī)療數(shù)據(jù)交易流通安全。
(2)記錄可追溯:傳統(tǒng)的數(shù)據(jù)操作可能會(huì)有異類數(shù)據(jù)的入侵引起交易記錄的變更,然后醫(yī)療數(shù)據(jù)記錄缺失某一時(shí)刻的數(shù)據(jù)操作或者某一個(gè)數(shù)據(jù)操作,患者無法訪問原始的記錄。該方案會(huì)保證每個(gè)時(shí)刻的數(shù)據(jù)操作不可變更,按照時(shí)間戳記錄,區(qū)塊間鏈?zhǔn)竭B接,結(jié)合各種方法與算法,保證交易記錄隨時(shí)可查詢,從而實(shí)現(xiàn)記錄可追溯。
(3)安全權(quán)限規(guī)劃:在協(xié)同診治平臺(tái)中,需要通過權(quán)限管理機(jī)制,患者對(duì)給區(qū)域內(nèi)不同的醫(yī)療信息提供者授予不同級(jí)別的數(shù)據(jù)可見度和使用權(quán)。因?yàn)?,患者?duì)于個(gè)人醫(yī)療數(shù)據(jù)具有高度的支配權(quán),醫(yī)療記錄有部分字段是患者的隱私信息,除了這些隱私信息的其他字段才能供公眾進(jìn)行研究和分析,還有某些字段如計(jì)費(fèi),只對(duì)相應(yīng)有權(quán)限的部門機(jī)構(gòu)開放。安全權(quán)限規(guī)劃設(shè)計(jì)如圖4所示。
圖4 患者權(quán)限規(guī)劃
該文使用Eclipse開發(fā)平臺(tái),利用以太坊運(yùn)行環(huán)境、以太坊測(cè)試環(huán)境Ethereum wallet以及Restful數(shù)據(jù)接口,設(shè)計(jì)以下醫(yī)療數(shù)據(jù)存儲(chǔ)以及訪問實(shí)驗(yàn)進(jìn)行結(jié)果分析與研究,對(duì)應(yīng)用以太坊區(qū)塊鏈技術(shù)在協(xié)同診治平臺(tái)的模型架構(gòu)進(jìn)行可行性驗(yàn)證。
(1)實(shí)驗(yàn)醫(yī)療數(shù)據(jù)參數(shù)存儲(chǔ)。
設(shè)計(jì)醫(yī)療數(shù)據(jù)物理存儲(chǔ)表,3組樣例醫(yī)療數(shù)據(jù)存儲(chǔ)交易記錄上傳到區(qū)塊鏈保存,如表1。由于以太坊沒有根據(jù)用戶優(yōu)化的查詢API,所以為了快速查找到交易信息,需要對(duì)發(fā)布的交易做對(duì)照記錄,以提高系統(tǒng)的執(zhí)行效率,因此設(shè)計(jì)醫(yī)療數(shù)據(jù)與交易映射物理存儲(chǔ)表,實(shí)驗(yàn)3組醫(yī)療數(shù)據(jù)映射表為表2。
表1 樣本醫(yī)療數(shù)據(jù)存儲(chǔ)交易表
表2 醫(yī)療數(shù)據(jù)與交易映射表
(2)醫(yī)療數(shù)據(jù)訪問交易。
實(shí)驗(yàn)存儲(chǔ)的醫(yī)療數(shù)據(jù)信息進(jìn)行訪問共享,生成訪問交易單,驗(yàn)證成功的交易單保存到以太坊區(qū)塊鏈上。交易信息將會(huì)永久保存到以太坊區(qū)塊鏈之上,其中樣例的信息是公開的,可以使用對(duì)稱加密算法進(jìn)行加密。使用以太坊response對(duì)象對(duì)交易進(jìn)行查詢,返回的交易對(duì)象包含交易的詳細(xì)信息,實(shí)驗(yàn)查詢效果可使用瀏覽器和Postman進(jìn)行數(shù)據(jù)接口的演示。獲取交易信息進(jìn)行解密,從協(xié)同存儲(chǔ)平臺(tái)獲取所需信息。查詢到的信息為交易單樣例數(shù)據(jù)信息,具體實(shí)驗(yàn)交易結(jié)果如圖5所示。
圖5 數(shù)據(jù)交易效果
本部分將以列表的形式,從醫(yī)療問題解決,是否基于區(qū)塊鏈,是否保障醫(yī)療數(shù)據(jù)安全性,共享訪問速度是否提高等方面,與筆者團(tuán)隊(duì)傳統(tǒng)協(xié)同診治方案以及其他存儲(chǔ)共享方案,采用對(duì)比分析的方法來評(píng)估提出的區(qū)塊鏈技術(shù)在協(xié)同診治平臺(tái)的醫(yī)療數(shù)據(jù)安全訪問共享模型與機(jī)制,以下稱“醫(yī)療數(shù)據(jù)安全訪問共享方案”(medical data safety access share scheme,MDSASS)。發(fā)現(xiàn)該方案的創(chuàng)新性與優(yōu)點(diǎn),分析出該方案的缺點(diǎn)以及待改善問題,如表3所示。
表3 方案對(duì)比
綜合分析總結(jié),所設(shè)計(jì)的方案具有一定的優(yōu)勢(shì),并且在對(duì)于醫(yī)療市場(chǎng)實(shí)施方面具有一定的可行性,利用了區(qū)塊鏈技術(shù),解決了醫(yī)院系統(tǒng)的協(xié)同問題,改善了過去醫(yī)療數(shù)據(jù)分享安全系數(shù)低的現(xiàn)象,提升了患者了掌控個(gè)人醫(yī)療數(shù)據(jù)的權(quán)利。
提出的區(qū)塊鏈技術(shù)在協(xié)同診治平臺(tái)的醫(yī)療數(shù)據(jù)安全訪問共享的模型與機(jī)制,為醫(yī)療數(shù)據(jù)的存儲(chǔ)、訪問以及共享提供了一種全新的模式,解決了醫(yī)院系統(tǒng)間獨(dú)立不協(xié)同化的難題,實(shí)現(xiàn)了醫(yī)療數(shù)據(jù)資源的互聯(lián)互通,轉(zhuǎn)變了傳統(tǒng)醫(yī)療驅(qū)動(dòng)模式,提高了訪問共享效率。平臺(tái)使用對(duì)稱加密算法對(duì)醫(yī)療數(shù)據(jù)進(jìn)行加密存儲(chǔ)以及傳輸;使用非對(duì)稱加密算法對(duì)對(duì)稱加密密鑰進(jìn)行分發(fā),對(duì)整個(gè)數(shù)據(jù)訪問共享流程進(jìn)行有效保護(hù)。相比傳統(tǒng)模型,該模型的安全性得以提升,建立起了一個(gè)去中心化應(yīng)用場(chǎng)景。
方案使患者擁有了對(duì)個(gè)人醫(yī)療數(shù)據(jù)的高度支配權(quán),保證了數(shù)據(jù)的真實(shí)完整,并能完全記錄數(shù)據(jù)變更過程,使記錄可溯源以及不可篡改,保護(hù)患者隱私。然而,該方案還有一些未解決的問題。例如:將區(qū)塊鏈技術(shù)與大數(shù)據(jù)、人工智能的結(jié)合;減少平臺(tái)協(xié)同的開銷等,需要隨著區(qū)塊鏈技術(shù)的不斷發(fā)展進(jìn)行完善。