天津衛(wèi)寧健康科技有限公司 楊娜
近年來隨著數(shù)據(jù)存儲(chǔ)技術(shù)的迅猛發(fā)展,區(qū)塊鏈已經(jīng)被越來越多的人所認(rèn)識(shí),憑借區(qū)塊鏈的技術(shù)優(yōu)勢它被迅速應(yīng)用于多種場景。醫(yī)療機(jī)構(gòu)信息化建設(shè)經(jīng)過多年的發(fā)展已趨向成熟,電子病歷做為醫(yī)療信息化系統(tǒng)中重要的組成部分,已經(jīng)逐漸代替了傳統(tǒng)的紙質(zhì)病歷,為病患就醫(yī)提供了極大的便利。但電子病歷由于數(shù)據(jù)存儲(chǔ)在醫(yī)院內(nèi)部,缺乏必須要監(jiān)管和安全措施,給一些非法數(shù)據(jù)造假行為提供了便利條件。本文將區(qū)塊鏈技術(shù)優(yōu)勢與電子病歷實(shí)際應(yīng)用場景相結(jié)合,提出一種解決當(dāng)前電子病歷安全性問題的可行思路。
區(qū)塊鏈與傳統(tǒng)的數(shù)據(jù)存儲(chǔ)技術(shù)相比,最大的特征之一就是“去中心化”。傳統(tǒng)的數(shù)據(jù)存儲(chǔ)技術(shù),在網(wǎng)絡(luò)中通常都是由一個(gè)固定的節(jié)點(diǎn)或者集群來完成數(shù)據(jù)持久化的功能,即所有數(shù)據(jù)都會(huì)存儲(chǔ)到一個(gè)特定位置或區(qū)域[1]。這樣做會(huì)給系統(tǒng)帶來很大的負(fù)面影響,當(dāng)數(shù)據(jù)訪問量過大使系統(tǒng)出現(xiàn)過載或者發(fā)生單點(diǎn)故障的時(shí)候,整個(gè)系統(tǒng)就會(huì)處于失效狀態(tài),從而無法保持系統(tǒng)對外提供服務(wù)。而區(qū)塊鏈技術(shù)則從根本上解決了這個(gè)問題,它不再依賴于任何單個(gè)節(jié)點(diǎn),而是將數(shù)據(jù)以分布式架構(gòu)的方式分散存儲(chǔ)到所有的節(jié)點(diǎn),不再受到單點(diǎn)故障的影響,從根本上避免了傳統(tǒng)技術(shù)架構(gòu)存在的缺陷,如圖1所示。
區(qū)塊鏈技術(shù)本身的安全機(jī)制成為它最有特色的亮點(diǎn),也成為它與傳統(tǒng)技術(shù)最大的區(qū)別點(diǎn)。在傳統(tǒng)的基于關(guān)系型數(shù)據(jù)庫中,由于任何具有權(quán)限訪問數(shù)據(jù)庫的人都可以對已有數(shù)據(jù)進(jìn)行操作,從而為不法分子帶來可乘之機(jī),他們可以隨意在數(shù)據(jù)庫中修改、偽造數(shù)據(jù),而很難被其他人發(fā)現(xiàn)。區(qū)塊鏈采用了鏈?zhǔn)降拇鎯?chǔ)結(jié)構(gòu),多個(gè)區(qū)塊首尾相連形成一條數(shù)據(jù)鏈,同時(shí)每個(gè)區(qū)塊都會(huì)記錄上一個(gè)區(qū)塊的Hash值,可以理解為不同區(qū)塊之間相互驗(yàn)證真實(shí)性[2]。如果要修改其中一個(gè)區(qū)塊的數(shù)據(jù)值,就必須要修改整條數(shù)據(jù)鏈上所有的區(qū)塊記錄,因此為數(shù)據(jù)造假提供了極大的難度,避免了為人故意偽造數(shù)據(jù)帶來的安全隱患。
數(shù)據(jù)集體維護(hù)也是區(qū)塊鏈存儲(chǔ)技術(shù)的又一大創(chuàng)新。由于傳統(tǒng)的數(shù)據(jù)庫只能存儲(chǔ)在單節(jié)點(diǎn)架構(gòu),而單節(jié)點(diǎn)通常只能從屬于一個(gè)機(jī)構(gòu)維護(hù)和管理,因此數(shù)據(jù)的準(zhǔn)確性、安全性和權(quán)威性都無法得到保證。區(qū)塊鏈存儲(chǔ)方式從根本上解決了這種問題,由于區(qū)塊鏈?zhǔn)欠植际浇Y(jié)構(gòu),同一聯(lián)盟鏈中的區(qū)塊鏈從屬于不同的組織機(jī)構(gòu),數(shù)據(jù)采用同步的形式在不同區(qū)塊鏈之間同步。因此同一個(gè)區(qū)塊數(shù)據(jù)會(huì)被同步到不同的區(qū)塊鏈當(dāng)中,這些互為備份的區(qū)塊節(jié)點(diǎn)不僅保證了數(shù)據(jù)的安全性,同時(shí)也起到相互之間驗(yàn)證和監(jiān)督的作用,任何一個(gè)數(shù)據(jù)節(jié)點(diǎn)被非法篡改后,其他區(qū)塊備份數(shù)據(jù)會(huì)立即發(fā)現(xiàn)異常情況,從而有效的解決單點(diǎn)存儲(chǔ)數(shù)據(jù)的可信性問題,使數(shù)據(jù)在信息系統(tǒng)中的權(quán)威性更加凸顯。
醫(yī)療機(jī)構(gòu)對信息安全的要求非常高,數(shù)據(jù)不僅有保密的要求,而且對于同類機(jī)構(gòu)通常也并不共享。這就對電子病歷的網(wǎng)絡(luò)存儲(chǔ)和數(shù)據(jù)隔離提出了一定的要求,數(shù)據(jù)不僅要安全、合規(guī)的存儲(chǔ)在物理硬件上,而且也不能被其他第三方非法訪問。區(qū)塊鏈雖說采用了分布式存儲(chǔ)機(jī)制,有著數(shù)據(jù)集體維護(hù)的技術(shù)特性,但這并不意味著數(shù)據(jù)可以被除所有者之外的第三方隨意訪問[3]。因?yàn)槊總€(gè)區(qū)塊在上鏈之前,存儲(chǔ)方會(huì)使用非對稱加密算法對數(shù)據(jù)進(jìn)行加密,這種方式確保了存儲(chǔ)在區(qū)塊鏈上的數(shù)據(jù)只能由生成者進(jìn)行解密,而其他人不能獲取存儲(chǔ)在區(qū)塊中的具體內(nèi)容。這種操作機(jī)制既可以充分發(fā)揮數(shù)據(jù)分布式存儲(chǔ)的優(yōu)勢,又能夠有效的保證存儲(chǔ)內(nèi)容不被非法訪問。
病歷數(shù)據(jù)是治療過程的重要記錄文件,為患者未來就醫(yī)提供了可供參考的重要信息,或者在發(fā)生醫(yī)療糾紛時(shí)為醫(yī)患雙方提供有效的證據(jù),因此病歷數(shù)據(jù)的真實(shí)性非常重要,不能被隨意篡改和偽造[4]。在使用區(qū)塊鏈技術(shù)存儲(chǔ)病歷時(shí),所有上鏈數(shù)據(jù)必須先由生成者使用非對稱加密的私鑰,對上鏈區(qū)塊進(jìn)行數(shù)字簽名后,連同簽名后的文檔一起存儲(chǔ)在區(qū)塊鏈中。由于使用了私鑰進(jìn)行簽名,第三方無法模仿生成區(qū)塊節(jié)點(diǎn)數(shù)據(jù),同時(shí)也不隨意修改區(qū)塊內(nèi)的任何內(nèi)容,這樣就可以保證存儲(chǔ)在區(qū)塊鏈中的內(nèi)容真實(shí)、準(zhǔn)確,在任何情況下都可以使用對應(yīng)的公鑰對區(qū)塊數(shù)據(jù)進(jìn)行驗(yàn)證,確認(rèn)存儲(chǔ)數(shù)據(jù)的準(zhǔn)確性和真實(shí)性。
在發(fā)生醫(yī)療糾紛時(shí),當(dāng)事方為了保證自己的利益,通常會(huì)否認(rèn)病歷數(shù)據(jù)不是由自己編寫,或者被第三方偽造,此時(shí)通過區(qū)塊鏈的安全機(jī)制就可以避免此類問題的發(fā)生。在醫(yī)生將患者病歷數(shù)據(jù)存儲(chǔ)到區(qū)塊鏈之前,需要先使用醫(yī)生的U盾(內(nèi)部存儲(chǔ)醫(yī)生本人的數(shù)字證書)對當(dāng)前的區(qū)塊內(nèi)容進(jìn)行簽名,完成后將區(qū)塊數(shù)據(jù)連同簽名后的文件一起上傳到區(qū)塊鏈中進(jìn)行存儲(chǔ)[5]。上鏈后的數(shù)據(jù)可以被隨時(shí)下載并通過醫(yī)生的公鑰反向檢查,如果數(shù)據(jù)通過了驗(yàn)證則表明當(dāng)前區(qū)塊的數(shù)據(jù)真實(shí)有效,沒有被惡意修改或偽造,醫(yī)生也無法否認(rèn)已經(jīng)上鏈的數(shù)據(jù)。通過這種方式可以在發(fā)生醫(yī)療糾紛時(shí),提供真實(shí)有效的病歷信息。
通常區(qū)塊鏈有3種構(gòu)建方式,分別為公有鏈、私有鏈和聯(lián)盟鏈。(1)公有鏈上每個(gè)節(jié)點(diǎn)都可以根據(jù)自己的意愿加入或退出網(wǎng)絡(luò),并參與到區(qū)塊鏈上的數(shù)據(jù)讀寫工作,在網(wǎng)絡(luò)中不存在任何中心化的管理節(jié)點(diǎn)。(2)私有鏈也稱之為專有鏈,它與公有鏈正好相反,各節(jié)點(diǎn)的寫入權(quán)限歸內(nèi)部控制,而讀寫權(quán)限則有選擇性的對外開放。(3)聯(lián)盟鏈則是介于兩者之間的一種類型,在聯(lián)盟鏈上各個(gè)節(jié)點(diǎn)通常與實(shí)體機(jī)構(gòu)相對應(yīng),通過授權(quán)后才能進(jìn)入與退出,各機(jī)構(gòu)共同完成區(qū)塊鏈的維護(hù)工作。
按照醫(yī)療業(yè)務(wù)場景特征,同時(shí)結(jié)合區(qū)塊鏈不同形態(tài),聯(lián)盟鏈與醫(yī)療機(jī)構(gòu)業(yè)務(wù)場景信息化最為匹配。使用聯(lián)盟鏈存儲(chǔ)電子病歷,首先需要建立其于至少3家以上醫(yī)療機(jī)構(gòu)的區(qū)塊聯(lián)盟鏈。這個(gè)區(qū)塊鏈只針對這些醫(yī)療機(jī)構(gòu)開放,其他外部實(shí)體無法訪問,醫(yī)療聯(lián)盟鏈里有多個(gè)預(yù)選節(jié)點(diǎn)做為信息的記賬人,每個(gè)區(qū)塊的生成由所有預(yù)選節(jié)點(diǎn)共同決定完成。在聯(lián)盟鏈中所有區(qū)塊數(shù)據(jù)都會(huì)被及時(shí)進(jìn)行同步和備份,保證數(shù)據(jù)的安全性同時(shí)各鏈之間形成相互驗(yàn)證和監(jiān)督的機(jī)制。
區(qū)塊數(shù)據(jù)結(jié)構(gòu)如何設(shè)計(jì),成為電子病歷區(qū)塊化的重要基礎(chǔ),區(qū)塊中由為3個(gè)主要部分構(gòu)成,分別為區(qū)塊頭數(shù)據(jù)存儲(chǔ)區(qū)、業(yè)務(wù)數(shù)據(jù)存儲(chǔ)區(qū)、區(qū)塊簽名數(shù)據(jù)存儲(chǔ)區(qū),它們共同組成了一個(gè)完整的區(qū)塊數(shù)據(jù)存儲(chǔ)部分。在向區(qū)塊鏈系統(tǒng)中提交一個(gè)新的區(qū)塊時(shí),首先需要建立一個(gè)新的區(qū)塊,然后分別向這個(gè)新的區(qū)塊的不同部分填寫信息。
在區(qū)塊頭數(shù)據(jù)存儲(chǔ)區(qū),需要記錄當(dāng)前區(qū)塊的ID信息(通常是由程序生成UUID值,并寫入到區(qū)塊頭中對應(yīng)的屬性),還需要使用MD5算法計(jì)算當(dāng)前區(qū)塊的散列值,以保證本區(qū)塊寫入數(shù)據(jù)沒有發(fā)生變化。同時(shí)還要記錄當(dāng)前區(qū)塊寫入的時(shí)間戳信息等內(nèi)容,最后還要記錄當(dāng)前區(qū)塊寫入時(shí),它的上級(jí)區(qū)塊的Hash值數(shù)據(jù),用來記錄區(qū)塊鏈條的每一個(gè)節(jié)點(diǎn)與它上游節(jié)點(diǎn)的連接關(guān)系。
區(qū)塊鏈業(yè)務(wù)數(shù)據(jù)存儲(chǔ)區(qū)中,則需要保存與本次就診有關(guān)的病歷數(shù)據(jù),如患者ID、患者姓名、身份證號(hào)、出生日期、就診科室、醫(yī)生ID、醫(yī)生姓名、診斷結(jié)果、就診日期等關(guān)鍵業(yè)務(wù)數(shù)據(jù),這些內(nèi)容可以與其他系統(tǒng)的數(shù)據(jù)進(jìn)行關(guān)聯(lián),如本次就診涉及到CT數(shù)據(jù),則可以將CT檢查結(jié)果的ID號(hào)記錄到區(qū)塊業(yè)務(wù)數(shù)據(jù)存儲(chǔ)區(qū)。業(yè)務(wù)數(shù)據(jù)是區(qū)塊鏈最核心的部分,因此在設(shè)計(jì)時(shí)必須嚴(yán)格遵守醫(yī)療機(jī)構(gòu)信息系統(tǒng)規(guī)范,以便與其他的業(yè)務(wù)系統(tǒng)進(jìn)行橫向關(guān)聯(lián)。
一個(gè)區(qū)塊節(jié)點(diǎn)的尾部,記錄了區(qū)塊簽名數(shù)據(jù),它用來保證區(qū)塊內(nèi)業(yè)務(wù)信息真實(shí)有效。此時(shí)需要醫(yī)生使用數(shù)字密鑰對當(dāng)前的區(qū)塊進(jìn)行電子簽名,形成區(qū)塊數(shù)字簽名證書,隨后將此證書附加到區(qū)塊的末尾。至此完成了電子病歷區(qū)塊化的全部流程,可以通過網(wǎng)絡(luò)接口將本區(qū)塊提交到聯(lián)盟區(qū)塊鏈上進(jìn)行保存。
當(dāng)區(qū)塊提交到區(qū)塊鏈后,在區(qū)塊聯(lián)盟鏈中所有的區(qū)塊鏈都會(huì)定期同步數(shù)據(jù),即一個(gè)區(qū)塊會(huì)被同步到所有的區(qū)塊鏈,以保證聯(lián)盟鏈中數(shù)據(jù)的一致性,如圖2所示。
區(qū)塊鏈?zhǔn)俏磥頂?shù)據(jù)存儲(chǔ)技術(shù)發(fā)展的一個(gè)重要方向,它與生俱來的安全性、可靠性已經(jīng)成為解決業(yè)務(wù)領(lǐng)域眾多痛點(diǎn)的突破口,將區(qū)塊鏈的技術(shù)特性與醫(yī)療信息化系統(tǒng)相結(jié)合,也為未來醫(yī)療信息化帶來了新的發(fā)展機(jī)遇。電子病歷是最為常見的醫(yī)療信息化系統(tǒng),與區(qū)塊鏈技術(shù)結(jié)合后可以解決當(dāng)前電子病歷系統(tǒng)中常見的數(shù)據(jù)安全問題,打造安全、可信的醫(yī)療信息化系統(tǒng)。隨著區(qū)塊鏈技術(shù)的發(fā)展,未來的區(qū)塊鏈可以與更多的醫(yī)療場景相結(jié)合,催生出一批全新的應(yīng)用場景,為醫(yī)療信息化領(lǐng)域建設(shè)提供了一個(gè)可供探索的新領(lǐng)域。