国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的住院申請系統(tǒng)

2019-08-12 01:27:59朱祁鳳
電腦知識(shí)與技術(shù) 2019年16期
關(guān)鍵詞:智能合約區(qū)塊鏈

朱祁鳳

摘要:傳統(tǒng)的住院申請流程由人工登記,按時(shí)間順序安排床位,由于醫(yī)療資源緊缺,存在排隊(duì)不透明的情況。該文設(shè)計(jì)并實(shí)現(xiàn)基于區(qū)塊鏈的住院申請系統(tǒng),保證入住順序按申請的先后順序排列。系統(tǒng)采用以太坊區(qū)塊鏈技術(shù),使用智能合約處理排隊(duì)信息。通過管理頁面錄入住院信息,將入院申請基于時(shí)間戳保存在區(qū)塊鏈中,患者可通過瀏覽器查詢區(qū)塊鏈中的床位情況。系統(tǒng)安全可靠,提高了醫(yī)療信息透明化水平。

關(guān)鍵詞:區(qū)塊鏈;智能合約;入院申請系統(tǒng)

中圖分類號(hào):TP309.7? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)16-0027-02

開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

Abstract: The traditional hospitalization application process is manually registered and beds are arranged in time sequence. Due to the shortage of medical resources, there is a potential threaten of dealing the application without time order. This paper designs and implements an application system for hospitalization based on blockchain, which ensures that the order of admission is arranged according to the order of application. The system adopts the blockchain technology and uses smart contract to process queuing information. By inputting the hospitalization information into the management page, the application is saved in the blockchain based on the timestamp. The patients can inquire about the bed condition in the block chain through the browser. The system is safe and reliable, and improves the transparency level of medical information.

Key words: blockchain; smart contract; application system

1 背景

隨著國家大力發(fā)展城鎮(zhèn)化,人口日益向城市集中以及人口老齡化的發(fā)展趨勢,醫(yī)療供給側(cè)資源日益緊張。尤其在住院床位供給方面挑戰(zhàn)很大,病人通常提交住院申請多日之后才能匹配到床位。傳統(tǒng)的床位安排由護(hù)士人工登記,根據(jù)病人申請入院時(shí)間先后順序進(jìn)行匹配,缺乏公平透明的操作環(huán)境,可能存在中途加塞病人的情況。

近年來,區(qū)塊鏈在醫(yī)療領(lǐng)域應(yīng)用的討論越來越多[1-3]。區(qū)塊鏈技術(shù)的數(shù)據(jù)鏈本質(zhì)上是單鏈表,單鏈表分布式保存在區(qū)塊鏈節(jié)點(diǎn)上,數(shù)據(jù)不可篡改。本系統(tǒng)基于以太坊區(qū)塊鏈技術(shù),采用智能合約記錄病人申請住院的信息,實(shí)現(xiàn)醫(yī)療住院申請的公平和透明化。

2 區(qū)塊鏈技術(shù)簡介

區(qū)塊鏈由中本聰在2008年提出[4]。重點(diǎn)研究并解決了雙重支付的難題,比特幣使用去中心化的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)記錄數(shù)據(jù)。每筆交易利用哈希算法通過工作量證明保存在區(qū)塊鏈上。每一個(gè)區(qū)塊保存上一個(gè)區(qū)塊的哈希值等數(shù)據(jù),見圖1。為了降低存儲(chǔ)空間,交易信息使用Merkle樹進(jìn)行哈希,區(qū)塊鏈頭部只有樹根的值。以太坊[5]是基于區(qū)塊鏈技術(shù)的平臺(tái),提供了智能合約的編寫與運(yùn)行功能。

3 智能合約設(shè)計(jì)與實(shí)現(xiàn)

智能合約使用solidity撰寫,solidity與其他面向?qū)ο缶幊陶Z言類似,具有屬性與方法。使用智能合約可以取代傳統(tǒng)的后端架構(gòu),例如PHP+MySQL架構(gòu)可以由智能合約替代。根據(jù)實(shí)際需求,設(shè)計(jì)智能合約的結(jié)構(gòu)如圖2所示。

智能合約中約定了管理員和患者的信息, current_num是當(dāng)前申請隊(duì)列的值。系統(tǒng)提供了insert_info、next_patient、get_current_num和get_queue_length接口。insert_info由醫(yī)院錄入病人排隊(duì)信息,如果不是醫(yī)院的錢包地址,信息無法錄入,實(shí)現(xiàn)傳統(tǒng)的權(quán)限控制功能。如果需要通知下一位病人,則調(diào)用next_patient接口,接口會(huì)返回需要通知的病人信息。當(dāng)前的排隊(duì)情況可以查詢get_current_num和get_queue_length接口。合約編寫完成并進(jìn)行本地測試后,使用truffle部署到以太坊網(wǎng)絡(luò)中。本文部署編譯完成的智能合約到測試網(wǎng)絡(luò),測試一段時(shí)間正確后可以部署到去中心化主網(wǎng)絡(luò)中。

4 系統(tǒng)架構(gòu)

系統(tǒng)架構(gòu)如圖3所示,系統(tǒng)主要實(shí)現(xiàn)數(shù)據(jù)的增加與數(shù)據(jù)的獲取功能。數(shù)據(jù)庫基于去中心化以太坊區(qū)塊鏈,部署智能合約保存并處理患者數(shù)據(jù)。人機(jī)界面采用B/S架構(gòu),用戶使用瀏覽器進(jìn)行數(shù)據(jù)交互。權(quán)限控制使用metamask錢包。使用metamask錢包不用安裝全功能以太坊客戶端。metamask錢包類似支付寶,自身有密碼管理手段,同時(shí)可以授權(quán)本系統(tǒng)更改區(qū)塊鏈中的數(shù)據(jù)。傳統(tǒng)的web應(yīng)用和以太坊區(qū)塊鏈通信采用JSON-RPC協(xié)議,為了簡化開發(fā)難度,使用web3.js庫,web3.js封裝了JSON-RPC協(xié)議,降低了使用難度。Web應(yīng)用如果想與以太坊通信,需要獲得至少一個(gè)以太坊節(jié)點(diǎn),通過以太坊節(jié)點(diǎn)進(jìn)入整個(gè)以太坊分布式網(wǎng)絡(luò)。這里采用infura提供的節(jié)點(diǎn)。前端采用前后端分離的設(shè)計(jì)思想,使用vue.js設(shè)計(jì)web應(yīng)用。

當(dāng)醫(yī)院登記信息時(shí),輸入密碼登錄metamask錢包應(yīng)用,在管理頁面輸入患者信息后,發(fā)送交易數(shù)據(jù)給智能合約,將患者信息保存在區(qū)塊鏈之中。智能合約收到數(shù)據(jù)時(shí)檢查發(fā)送方的錢包地址,如果有權(quán)限,才能增加數(shù)據(jù)?;颊咴谑謾C(jī)、網(wǎng)頁中打開查詢網(wǎng)頁,點(diǎn)擊查詢,信息會(huì)通過JSON-RPC遠(yuǎn)程調(diào)用服務(wù)器的獲取函數(shù),獲取函數(shù)通過web3.js以及infura從智能合約中獲取患者隊(duì)列信息,獲取信息后返回給查詢網(wǎng)頁。

5 系統(tǒng)實(shí)現(xiàn)

使用jayson和web3.js等技術(shù)開發(fā)JSON-RPC服務(wù)供查詢頁面調(diào)用。查詢頁面是單頁面應(yīng)用,如圖4所示。點(diǎn)擊查詢按鈕就可查詢當(dāng)前排隊(duì)信息,由于數(shù)據(jù)從區(qū)塊鏈中獲取,安全可靠。數(shù)據(jù)更改僅可由醫(yī)院操作,界面如圖5所示,采用Vue.js和Ant Design of Vue框架搭建??梢栽黾雍屯ㄖ乱粋€(gè)病人,更改區(qū)塊鏈數(shù)據(jù)時(shí),metamask會(huì)跳出授權(quán)界面,只有授權(quán)后才能更改區(qū)塊鏈數(shù)據(jù)。每一次數(shù)據(jù)操作都有據(jù)可循,避免了人為因素導(dǎo)致的不透明現(xiàn)象。

6 總結(jié)

本文基于區(qū)塊鏈技術(shù),部署智能合約保存并處理患者數(shù)據(jù),使得入院次序按照時(shí)間順序排列,具有不可更改性。本文還存在一些不足,在保存患者數(shù)據(jù)到區(qū)塊鏈中時(shí),信息沒有加密,雖然查詢頁面進(jìn)行了隱私控制,但還是存在一定風(fēng)險(xiǎn)。系統(tǒng)應(yīng)與醫(yī)院內(nèi)部系統(tǒng)聯(lián)合提供服務(wù),將患者數(shù)據(jù)加密后傳到區(qū)塊鏈,保障患者隱私。

參考文獻(xiàn):

[1] 黃永剛. 基于區(qū)塊鏈技術(shù)的電子健康檔案安全建設(shè)[J]. 中華醫(yī)學(xué)圖書情報(bào)雜志, 2016, 25(10): 38-40.

[2] 周輝, 楊陽, 李衛(wèi)東. 區(qū)塊鏈在醫(yī)療信息化領(lǐng)域的應(yīng)用展望[J]. 中國數(shù)字醫(yī)學(xué), 2018, 13(4): 115-116, 125.

[3] 黃建華, 江亞慧, 李忠誠. 區(qū)塊鏈在醫(yī)療行業(yè)的應(yīng)用前景[J]. 醫(yī)學(xué)信息學(xué)雜志, 2018.

[4] Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. (2018-10-31)[2019-04-20].https://bitcoin.org/bitcoin.pdf.

[5] Gavin Wood. Ethereum: a secure decentralised generalised transaction ledger[EB/OL]. (2019-04-17)[2019-04-20].https://ethereum.github.io/yellowpaper/paper.pdf.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
智能合約區(qū)塊鏈
農(nóng)產(chǎn)品供應(yīng)鏈金融信用體系框架設(shè)計(jì)
基于區(qū)塊鏈技術(shù)的去中心化數(shù)字出版平臺(tái)研究
區(qū)塊鏈技術(shù)在互聯(lián)網(wǎng)保險(xiǎn)行業(yè)的應(yīng)用探討
保險(xiǎn)企業(yè)的區(qū)塊鏈技術(shù)應(yīng)用方向選擇研究
區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用與前景研究
中國市場(2016年32期)2016-12-06 11:21:13
區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
商情(2016年40期)2016-11-28 11:24:12
“區(qū)塊鏈”的茍且、詩和遠(yuǎn)方
基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
區(qū)塊鏈技術(shù)在會(huì)計(jì)中的應(yīng)用展望
智能合約與金融合約
商(2016年6期)2016-04-20 17:50:36
浦县| 鄄城县| 佳木斯市| 老河口市| 连江县| 金坛市| 虎林市| 江达县| 廊坊市| 株洲市| 柘荣县| 正宁县| 沂源县| 高邑县| 长海县| 大余县| 波密县| 常州市| 克山县| 福建省| 龙海市| 溆浦县| 太和县| 沂南县| 许昌市| 福建省| 饶阳县| 镇巴县| 田东县| 蛟河市| 吴川市| 神池县| 毕节市| 旌德县| 宝兴县| 五原县| 禹城市| 昌乐县| 济南市| 景德镇市| 威海市|