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

?

智能自助中醫(yī)辨證與中成藥推薦系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2018-12-07 08:36張千方麗華張萬義薛萊張浩宇翟兆芹
智慧健康 2018年34期
關(guān)鍵詞:私鑰服務(wù)端公鑰

張千,方麗華,張萬義,薛萊,張浩宇,翟兆芹

( 1.中國石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,山東 青島266580;2. 中石化勝利石油管理局勝利醫(yī)院,山東 東營257091)

0 引言

伴隨著中國移動(dòng)互聯(lián)網(wǎng)技術(shù)高速發(fā)展,基于移動(dòng)終端涌現(xiàn)出了種類繁多的移動(dòng)醫(yī)療APP,為百姓提供著便捷及時(shí)的醫(yī)療資訊和診療服務(wù)。目前國內(nèi)的移動(dòng)醫(yī)療App主要面向西醫(yī)和西藥,其中尋醫(yī)問診需求,是用戶最為直接和迫切的需求。在健康和醫(yī)療類信息在互聯(lián)網(wǎng)上更輕松獲得的今天,用戶更需要的不僅僅是唾手可得的互聯(lián)網(wǎng)資訊,更深層次的需求是和醫(yī)生專家進(jìn)行直接的溝通和交流[1]。

近年來國家層面不斷加碼支持中醫(yī)藥行業(yè)的發(fā)展,特別是隨著健康觀念變化和醫(yī)學(xué)模式轉(zhuǎn)變,中醫(yī)藥越來越顯示出獨(dú)特優(yōu)勢(shì),時(shí)下中醫(yī)的問診需求與日俱增。然而國內(nèi)主流診斷方式多以西醫(yī)為主,中醫(yī)資源有限,中醫(yī)專家的門診服務(wù)供不應(yīng)求。一些常見病的患者為了避免醫(yī)院掛號(hào)就醫(yī)難的問題,往往會(huì)選擇自行到藥店購買中成藥,由于患者普遍缺乏中醫(yī)藥理論常識(shí),因此購藥時(shí)會(huì)咨詢藥店,針對(duì)病癥推薦相應(yīng)的中成藥。而藥店往往會(huì)存在為牟取利益,歧義引導(dǎo)顧客購買價(jià)格偏高藥物的現(xiàn)象,且療效并未達(dá)到預(yù)期效果,因此造成患者病程延長、藥費(fèi)昂貴且徒增抱怨。

大數(shù)據(jù)時(shí)代的來臨,使互聯(lián)網(wǎng)技術(shù)和中醫(yī)診療技術(shù)的結(jié)合日益緊密,這將進(jìn)一步促進(jìn)醫(yī)藥行業(yè)線上線下融合。[2]在各項(xiàng)鼓勵(lì)政策的加持下,傳統(tǒng)中醫(yī)與互聯(lián)網(wǎng)結(jié)合的APP開始涌現(xiàn),如叮當(dāng)中醫(yī)、小鹿醫(yī)館、平安好醫(yī)生國醫(yī)館、金華佗、微中醫(yī)等,市場(chǎng)反應(yīng)頗為熱烈,但目前的APP都是基于線上咨詢或發(fā)展線上中醫(yī)館的模式,并非為用戶提供自助便利的辨證購藥服務(wù)。而中醫(yī)藥項(xiàng)目對(duì)于藥店來說,是不可或缺的發(fā)展業(yè)態(tài)之一[3]。

針對(duì)上述現(xiàn)狀及問題,本項(xiàng)目與山東省名中醫(yī)藥專家、全國名老中醫(yī)藥專家學(xué)術(shù)繼承指導(dǎo)老師張萬義博士合作,旨在將中醫(yī)診療思想、中醫(yī)辨證和處方經(jīng)驗(yàn)進(jìn)行整合,開發(fā)一款便民的“智能自助中醫(yī)藥推薦系統(tǒng)-萬義中醫(yī)APP”,為患者提供常見病的辨證診斷結(jié)果及合理的藥物推薦方案。形成線上自助診療模式。使患者高效低價(jià)地享受到專業(yè)中醫(yī)診療服務(wù),無需了解中醫(yī)藥理便可以獲得科學(xué)、高效、實(shí)惠的中成藥推薦,緩解“看病難,買藥貴”的現(xiàn)狀。迎合廣大民眾自主購藥的便利需求,探索中醫(yī)藥便民零售的新模式。

1 系統(tǒng)設(shè)計(jì)

1.1 系統(tǒng)設(shè)計(jì)分析

智能自助中醫(yī)辨證與中成藥推薦系統(tǒng)-萬義中醫(yī)主要解決時(shí)下名老中醫(yī)就醫(yī)資源緊缺的情況下,常見病患者自助就醫(yī)購藥的問題。系統(tǒng)涉及到不同使用者的需求,將軟件設(shè)計(jì)的用戶分為三種不同的權(quán)限:患者、醫(yī)生、管理員。

患者無需在醫(yī)院掛號(hào)、門診,只需在萬義中醫(yī)問診系統(tǒng)上填寫常見病癥的診斷問卷,即可獲得辨證診療結(jié)果,根據(jù)診療結(jié)果給出合理的藥物推薦方案。患者可直接去附近的藥房買藥,節(jié)約了就醫(yī)時(shí)間和藥費(fèi)成本。醫(yī)生的角色需求是維護(hù)病癥數(shù)據(jù)庫,對(duì)藥品、病癥、科室、診斷關(guān)系等進(jìn)行增刪改查。管理員負(fù)責(zé)維護(hù)整個(gè)系統(tǒng),并對(duì)后臺(tái)流量進(jìn)行監(jiān)控。為方便醫(yī)生對(duì)后續(xù)常見病癥的錄入,開發(fā)了常見病癥錄入系統(tǒng)。整個(gè)系統(tǒng)后臺(tái)采用springboot+mybatis +mysql+eazyui的框架結(jié)構(gòu),構(gòu)成了一個(gè)完整的C/S架構(gòu)的系統(tǒng)[4]。

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

本系統(tǒng)總體架構(gòu)包括服務(wù)端和客戶端,萬義中醫(yī)APP的開發(fā)分為前臺(tái)開發(fā)和后臺(tái)開發(fā)兩部分[5]。前臺(tái)主要用于展示病癥、提供問卷和獲取用戶問卷回答,后臺(tái)使用Java進(jìn)行數(shù)據(jù)處理以及數(shù)據(jù)庫的增刪改查。整個(gè)軟件由APP前端、Java后臺(tái)、MySQL數(shù)據(jù)庫三部分構(gòu)成。客戶端與服務(wù)端根據(jù)C/S架構(gòu)進(jìn)行設(shè)計(jì),客戶端只是收集用戶的信息,而處理等方面都在后臺(tái)運(yùn)行,減小了手機(jī)端的負(fù)擔(dān),從而使用戶擁有更加完美的用戶體驗(yàn)。采用C/S結(jié)構(gòu)相對(duì)更加安全,客戶端和后臺(tái)可以實(shí)現(xiàn)異步維護(hù),用戶的個(gè)人信息安全能夠保障[6]。

軟件分為用戶前端,管理員前端和服務(wù)端。用戶在APP端選擇科室病癥,填寫問卷,然后繳納手續(xù)費(fèi),獲取診斷結(jié)果。服務(wù)端同時(shí)為微信小程序和Android APP提供服務(wù)。服務(wù)端根據(jù)用戶的請(qǐng)求返回簽名后的訂單信息,根據(jù)用戶回答的問卷進(jìn)行判斷返回診斷結(jié)果。具體如圖1所示。

圖1 系統(tǒng)邏輯架構(gòu)圖

1.3 客戶端架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)

1.3.1 邏輯架構(gòu)

為了方便用戶使用,智能自助中醫(yī)辨證與中成藥推薦系統(tǒng)在邏輯架構(gòu)上分為歡迎頁展示、登錄、科室分類展示、選擇病癥、填寫問卷、繳納手續(xù)費(fèi)、獲取診斷結(jié)果以及反饋評(píng)價(jià)等功能步驟,用戶可以按照APP的引導(dǎo)流程,進(jìn)行相應(yīng)的操作,最終實(shí)現(xiàn)為患者診斷病情、推薦藥物的功能。

系統(tǒng)結(jié)構(gòu)如圖2所示:

圖2 物理結(jié)構(gòu)圖

1.3.2 科室分類展示頁設(shè)計(jì)

萬義中醫(yī)APP中科室分類功能符合用戶就醫(yī)的習(xí)慣,同時(shí)將雜亂無章的病癥排列組合,便于用戶快速找到相應(yīng)的病癥??剖曳诸惖臄?shù)據(jù)結(jié)構(gòu)模擬了一個(gè)表格,每一個(gè)科室對(duì)應(yīng)了一個(gè)病情的列表,整體效果圖如圖3所示:

圖3 科室分類展示頁

1.3.3 病情問卷頁設(shè)計(jì)

萬義中醫(yī)App的核心功能是診斷病癥,需要獲取到用戶的身體狀況信息,因此問卷的設(shè)計(jì)是重點(diǎn)。病情問卷頁如圖4所示:

圖4 病情問卷頁

可以發(fā)現(xiàn),問卷的組成由三個(gè)要素,標(biāo)題、題干和選項(xiàng)。標(biāo)題的名字就是病情名,題干就是病癥的具體病情,選項(xiàng)是具體病情的具體表現(xiàn)。為了獲取到用戶的輸入,對(duì)每一個(gè)選項(xiàng)確定一個(gè)唯一的值,可以把病名+題干+選項(xiàng)的組合作為主鍵來確定。在數(shù)據(jù)庫中體現(xiàn)為sickdetail表。該表保存了所有的選項(xiàng),選項(xiàng)通過sd_index聚集在題干下,題干通過ill_name組合成問卷。

題干的列表組成了問卷,問卷的標(biāo)題即病名可以通過上一個(gè)Activity獲得。

用戶點(diǎn)擊了某種病癥后,App向服務(wù)器發(fā)起請(qǐng)求,服務(wù)器返回問卷的json數(shù)據(jù),App獲取數(shù)據(jù)后進(jìn)行解析。這里使用谷歌的gson包對(duì)Java對(duì)象實(shí)現(xiàn)json序列化和反序列化。

1.3.4 支付頁設(shè)計(jì)

萬義中醫(yī)APP在通過支付寶的接入申請(qǐng)后,在螞蟻金服開放平臺(tái)創(chuàng)建了App,獲取了Appid,隨即可以開始使用支付寶的支付功能。在用戶填寫完問卷之后,將彈出一個(gè)確認(rèn)支付手續(xù)費(fèi)的對(duì)話框,對(duì)話框采用Android原生的AlertDialog實(shí)現(xiàn),在提交按鈕上添加監(jiān)聽函數(shù),同時(shí)創(chuàng)建AlertDialog。

點(diǎn)擊確認(rèn)后,App彈出支付寶的支付頁面。生產(chǎn)環(huán)境中手續(xù)費(fèi)為2元,支付頁面的效果如下點(diǎn)擊確認(rèn)后,App彈出支付寶的支付頁面。支付頁面的效果如圖5所示:

圖5 支付頁面

如果用戶的手機(jī)中沒有支付寶,則App會(huì)跳轉(zhuǎn)到支付寶H5頁面。然后填寫支付寶的賬號(hào)和密碼,即可完成本次支付。

支付功能的實(shí)現(xiàn)需要開通手機(jī)相關(guān)權(quán)限,這樣就完成了前端App的支付環(huán)境搭建。在支付頁面,需要通過OKHTTP3在服務(wù)端獲取訂單信息。從服務(wù)器請(qǐng)求到簽名后的訂單信息后,由App客戶端向支付寶的服務(wù)器發(fā)起支付請(qǐng)求,如果支付成功,則會(huì)跳轉(zhuǎn)進(jìn)入結(jié)果頁,如果支付失敗,則彈出失敗的提示。

前端App訂單信息的獲取依賴于服務(wù)端訂單信息的生成,支付寶支付接口采用RSA非對(duì)稱加密算法,在創(chuàng)建應(yīng)用后需要配置密鑰。密鑰包含:

應(yīng)用公鑰:由商戶自己生成的RSA公鑰(與應(yīng)用私鑰必須匹配),商戶需上傳應(yīng)用公鑰到支付寶開放平臺(tái),以便支付寶使用該公鑰驗(yàn)證該交易是否是商戶發(fā)起的。

應(yīng)用私鑰:由商戶自己生成的RSA私鑰(與應(yīng)用公鑰必須匹配),商戶開發(fā)者使用應(yīng)用私鑰對(duì)請(qǐng)求字符串進(jìn)行加簽。

支付寶公鑰:支付寶的RSA公鑰,商戶使用該公鑰驗(yàn)證該結(jié)果是否是支付寶返回的。

需要使用支付寶提供的生成工具,生成公鑰和私鑰,將公鑰上傳到支付寶的網(wǎng)站。私鑰寫在代碼中,按照支付寶的訂單規(guī)則,生成訂單信息。然后使用支付寶提供的簽名工具對(duì)訂單信息進(jìn)行簽名,簽名中包含了應(yīng)用私鑰和Appid還有pid。簽名后的訂單信息將發(fā)送到App。如果公鑰和私鑰不匹配的話則驗(yàn)簽失敗,支付失敗。注意私鑰必須寫在服務(wù)端,由服務(wù)端提供接口調(diào)用,不能直接寫在App代碼中,否則apk被反編譯后,黑客可以竊取私鑰,產(chǎn)生安全問題。公鑰和私鑰可以修改,修改后的公鑰必須上傳到螞蟻金服開放平臺(tái),私鑰必須在相應(yīng)的代碼處修改。

在支付寶的服務(wù)器驗(yàn)簽成功后,此筆訂單為有效訂單。用戶可以進(jìn)行支付。

1.3.5 診斷頁設(shè)計(jì)

在用戶提交了問卷之后,后臺(tái)需要對(duì)用戶的問卷需要進(jìn)行判斷和處理。診斷功能的原理圖如圖6所示:

圖6 診斷原理圖

一個(gè)病情illness下面有若干個(gè)病癥sick,每個(gè)病癥的特點(diǎn)對(duì)應(yīng)了一個(gè)選項(xiàng)的集合。用戶的選擇結(jié)果也構(gòu)成了一個(gè)集合。在后臺(tái),系統(tǒng)將每個(gè)病癥的選項(xiàng)集合與用戶的選擇集合求交集,交集的大小為匹配度u_matchs,將匹配度u_matchs和數(shù)據(jù)庫中recipe表的matchs比較,只要u_matchs>=matchs,即可判斷用戶的可能病癥,并且根據(jù)該病癥推薦相應(yīng)的藥物。

2 后臺(tái)功能設(shè)計(jì)和實(shí)現(xiàn)

萬義中醫(yī)App后臺(tái)提供為整個(gè)系統(tǒng)提供了數(shù)據(jù)支持服務(wù),同時(shí)為醫(yī)生維護(hù)數(shù)據(jù)提供了入口。APP前端采用eazyUI作為前端框架。easyui是一種基于jQuery的用戶界面插件集合,為創(chuàng)建現(xiàn)代化,互動(dòng),JavaScript應(yīng)用程序,提供必要的功能。病癥錄入分為三個(gè)步驟,第一步是錄入病名和科室;第二步是錄入病癥;第三步是錄入診斷關(guān)系和對(duì)應(yīng)藥物。醫(yī)生在錄入時(shí)需要事先準(zhǔn)備相應(yīng)的數(shù)據(jù),經(jīng)過分析處理得出。

后臺(tái)系統(tǒng)運(yùn)行在tomcat服務(wù)器上,由于Spring Boot內(nèi)嵌了tomcat服務(wù)器,在部署到生產(chǎn)環(huán)境時(shí),需要修改項(xiàng)目的pom.xml文件后,再使用maven的打包功能將項(xiàng)目打包成可以部署在服務(wù)器上的war包。同時(shí),在tomcat服務(wù)器默認(rèn)的配置下,<Context>標(biāo)簽沒有指定任何內(nèi)容,項(xiàng)目的靜態(tài)資源路徑會(huì)出現(xiàn)問題,相對(duì)路徑的起始路徑為webApps,而不是工程路徑,從而報(bào)錯(cuò)。需要修改tomcat的server.xml。 <Alias></Alias> 標(biāo)簽把 host 的別名指定為服務(wù)器的IP地址,然后在<Context>標(biāo)簽中,將path屬性改為空,這樣在使用url:http://139.199.159.173:8080/htzx/admin訪問的時(shí)候,就可以使得靜態(tài)資源的相對(duì)路徑正確,也可以添加另外一個(gè)<Context>,把path屬性改為項(xiàng)目名稱,可以起到同樣的效果。如果要把url改成更加常見的形式,如wyzy.com/admin,只需要把<Alias>標(biāo)簽的內(nèi)容改成公司的域名,然后把tomcat的http端口修改成80端口,就可以實(shí)現(xiàn)常見形式的訪問。

3 總結(jié)

本文基于對(duì)智能自助中醫(yī)辨證與中成藥推薦系統(tǒng)有充分理解患者就醫(yī)場(chǎng)景的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)能夠?qū)ΤR姴“Y在線快速診療及藥物推薦APP。為驗(yàn)證系統(tǒng)的可靠性與作用,系統(tǒng)開發(fā)基本完成后,測(cè)試證明了系統(tǒng)的可靠性及高效性。經(jīng)驗(yàn)證本系統(tǒng)創(chuàng)新了傳統(tǒng)的中醫(yī)診療模式,改傳統(tǒng)的人工診療為線上自動(dòng)診療,并具有用戶認(rèn)證和線上支付的功能,一定程度上解決了中醫(yī)診療“名醫(yī)診療貴,看病排長隊(duì)”的弊病,大大縮減了中醫(yī)診療所需的費(fèi)用和時(shí)間,提高了診療效率。

猜你喜歡
私鑰服務(wù)端公鑰
清掃機(jī)器人避障系統(tǒng)區(qū)塊鏈私鑰分片存儲(chǔ)方法
比特幣的安全性到底有多高
案例教學(xué)法在公鑰密碼體制難點(diǎn)教學(xué)中的應(yīng)用——以ssh服務(wù)中雙向認(rèn)證為例
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
神奇的公鑰密碼
一種基于虛擬私鑰的OpenSSL與CSP交互方案
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
國密SM2密碼算法的C語言實(shí)現(xiàn)
P2X7 receptor antagonism in amyotrophic lateral sclerosis
摸清黑客套路防范木馬侵入