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

?

基于微服務(wù)理論的大中型醫(yī)院門診信息服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)

2019-09-04 10:00趙龍張云華
軟件工程 2019年8期
關(guān)鍵詞:微服務(wù)

趙龍 張云華

摘? 要:隨著現(xiàn)代醫(yī)療條件不斷提升、患者就醫(yī)需求日益增加,醫(yī)院門診部門人流大幅度增加,部門運轉(zhuǎn)壓力增大。為了緩解醫(yī)院門診業(yè)務(wù)壓力,優(yōu)化門診流程,合理分流人群,合理引導(dǎo)患者有序就診,本文設(shè)計并實現(xiàn)了一個基于微服務(wù)理論的門診信息服務(wù)系統(tǒng),引導(dǎo)患者快速完成就醫(yī)環(huán)節(jié)、減少等候時間、避免糾紛,同時大幅度降低醫(yī)護工作人員維護就診秩序的工作量。

關(guān)鍵詞:微服務(wù);門診信息服務(wù);優(yōu)化流程

中圖分類號:TP311.5? ? ?文獻標(biāo)識碼:A

Abstract:With the continuous improvement of modern medical conditions and the increasing demand for medical treatment,the outpatient has increased substantially,which add additional pressure on the department.In order to ease the stress on the outpatient department,this paper designs and implements an outpatient information service system based on micro-service theory to optimize the medical process and patient management,guiding the patients to be treated orderly.With the help of this system,patients will be able to enjoy a more favorable medical environment with efficient treatment,less time for waiting and less disputes.Meanwhile,the workload for maintaining the order will be greatly reduced.

Keywords:micro-service;outpatient information service;optimization process

1? ?引言(Introduction)

伴隨著中國城鎮(zhèn)化建設(shè)的步伐,在大城市的帶動下小城鎮(zhèn)的生活節(jié)奏也發(fā)生了難以想象的變化,居民的生活水平在不斷提升,對教育、醫(yī)療這些國民基礎(chǔ)項目的服務(wù)水平也越來越高,傳統(tǒng)的醫(yī)療服務(wù)效率低下,醫(yī)療資源無法得到更高效的使用,造成了一部分資源的浪費,降低了看病治病的效率。并且隨著醫(yī)院業(yè)務(wù)需求的增加,系統(tǒng)設(shè)計、更新?lián)Q代也變得更加復(fù)雜化。

傳統(tǒng)的Spring框架(MVC架構(gòu))并發(fā)量差、容錯性差,當(dāng)用戶大規(guī)模訪問時服務(wù)器后臺因為一些原因?qū)е路?wù)器奔潰,用戶體驗很差,服務(wù)質(zhì)量得不到保障。而采用Spring(微服務(wù)架構(gòu)[1])可以將單個項目拆分成多個子模塊分別部署在不同服務(wù)器上,采用負載均衡策略對各個模塊進行部署。高效地解決了在患者集中掛號時期的服務(wù)器宕機問題,方便了醫(yī)患者使用,提高工作效率。

門診信息服務(wù)系統(tǒng)主要是為患者(或家屬)服務(wù)的信息系統(tǒng),它是數(shù)字化醫(yī)療[2]的重要組成部分,是醫(yī)院信息化建設(shè)的對外窗口。全方位向患者提供咨詢信息,向患者實時發(fā)布就醫(yī)進程,引導(dǎo)患者進行排隊候診,合理分散人流。對分布在不同場景的信息服務(wù)顯示屏、自助機具及其他相關(guān)硬件設(shè)備,進行遠程監(jiān)控和管理。

2? 微服務(wù)架構(gòu)的研究(Research on micro-service architecture)

微服務(wù)(Microservice)是在2012年的,作為加速Web和移動應(yīng)用程序開發(fā)進程的一種方法,是一種架構(gòu)風(fēng)格和模式,通過將復(fù)雜的系統(tǒng)分解成更小的、批次協(xié)同工作的服務(wù),形成大規(guī)模的商業(yè)服務(wù),其是自主的、自包含的和可獨立部署的服務(wù)。當(dāng)今世界,許多企業(yè)構(gòu)建大型的、面向服務(wù)的企業(yè)應(yīng)用程序時,都默認(rèn)將微服務(wù)作為標(biāo)準(zhǔn)。由于SpringBoot框架的強大,開發(fā)微服務(wù)不再冗長乏味。

SpringBoot的優(yōu)勢:

(1)簡化編碼:SpringBoot幫助開發(fā)者快速建立并啟動一個Web容器,在SpringBoot中只需要添加stater-web依賴即可更加方便管理依賴庫。

(2)簡化配置:SpringBoot更多采用Java Config的方式,對Spring進行配置無需提供復(fù)雜的xml、Annotation的配置方式。

(3)簡化部署:SpringBoot內(nèi)嵌了tomcat、jetty等服務(wù)器,只需將項目打成jar包、war包,即可一鍵啟動。

(4)簡化監(jiān)控:我們可以引入spring-boot-start-actuator依賴,直接使用 REST方式來獲取進程的運行期性能參數(shù),以達到監(jiān)控的目的,比較方便。但Spring Boot只是微框架,沒有相應(yīng)的服務(wù)發(fā)現(xiàn)與注冊的配套功能,沒有外圍監(jiān)控集成方案,沒有外圍安全管理方案,所以在微服務(wù)架構(gòu)中,還需要dubbo等來配合一起使用。

3? ?系統(tǒng)總體架構(gòu)設(shè)計((System design for the overall framework)

為了提高系統(tǒng)的高可用性,部署方便,提高模塊復(fù)用率,減少各模塊之間相互依賴,方便升級,以及系統(tǒng)的集中管理,采用多層分控結(jié)構(gòu)設(shè)計包括主服務(wù)單元、子服務(wù)單元以及顯示單元??傮w框架圖如圖1所示。

(1)數(shù)據(jù)庫:主要負責(zé)醫(yī)院數(shù)據(jù)的存儲可分為患者信息,醫(yī)護信息、醫(yī)療設(shè)備信息、醫(yī)院綜合能力評估信(專家評審、患者評審、醫(yī)護自評等),醫(yī)院病歷數(shù)據(jù)(歷史病歷、常見病病歷、罕見病病歷等)。所有數(shù)據(jù)進行統(tǒng)一的存儲與管理,一切數(shù)據(jù)均存儲在MySQL中,而對某些常用信息(醫(yī)護信息、長期病患者慢性、病患者、ICU患者等一些特殊患者信心)會在Redis進行二次存儲,以方便讀取。

(2)具體服務(wù):把邏輯層處理過的最終數(shù)據(jù)通過接口調(diào)用的方式存儲到MySQL中,并對敏感數(shù)據(jù)進行二次更新或存儲到Redis中。

(3)業(yè)務(wù)邏輯層:主要提供給屏幕顯示下達指令,實現(xiàn)順序叫號、重復(fù)叫號、過號等分診服務(wù)器操作,以及醫(yī)生、診室、診位信息的維護操作,計算統(tǒng)計醫(yī)院的評估值等操作,為用戶界面提供高效的支持。

(4)用戶界面:主要通過ElementUI+vue.js實現(xiàn)常規(guī)的顯示(患者掛號情況、醫(yī)生就診情況、患者取藥情況、醫(yī)院評估統(tǒng)計的實時顯示)設(shè)備運轉(zhuǎn)統(tǒng)計、常見病處理方法展示等。

4? ?系統(tǒng)模塊設(shè)計(System module design)

4.1? ?信息發(fā)布模塊

給用戶提供編輯節(jié)目的頁面信息顯示服務(wù)器對終端設(shè)備按照組進行管理,編輯號節(jié)目單之后可以選擇節(jié)目單適用哪些設(shè)備播放,節(jié)目單包括患者排隊信息、患者就診信息、醫(yī)生叫號信息、患者取藥信息以及醫(yī)院的常規(guī)通知信息,醫(yī)院評估信息等,具體結(jié)構(gòu)如圖2所示。

4.2? ?排隊叫號

排隊叫號系統(tǒng)分為醫(yī)生端叫號器、分診服務(wù)器、護士工作站、一次分診屏、二次分診屏,自助報到機。

(1)醫(yī)生端叫號器

采用虛擬叫號軟件或者跟診療系統(tǒng)結(jié)合的方式實現(xiàn),有三個功能:順序叫號、重復(fù)叫號、過號。操作調(diào)用分診服務(wù)器提供的接口。

(2)分診服務(wù)器

分診服務(wù)器是核心,主要進行隊列的處理。

(3)分診屏幕

一次分診屏和二次分診屏只需要顯示二次就診隊列當(dāng)前狀態(tài)即可,每次隊列有變化,則觸發(fā)一次顯示刷新。顯示功能交給信息發(fā)布的顯示模塊進行。

(4)護士工作站

護士工作站通過分診系統(tǒng)的接口對分診系統(tǒng)的排隊情況進行調(diào)整。包括:醫(yī)護工作者信息維護、診室信息維護、診位信息維護、醫(yī)生和診位的對應(yīng)信息、對診位和醫(yī)生狀態(tài)的設(shè)定:開診、暫停、閉診、一級分診隊列排隊順序調(diào)整,包括調(diào)整患者優(yōu)先級,調(diào)整同優(yōu)先級的患者就診順序。

有分診實時統(tǒng)計功能,能夠顯示當(dāng)前診區(qū)的基本狀態(tài),比如今天總掛號量、總報到量、已經(jīng)就診人數(shù)、等待就診人數(shù),包括每個號別的統(tǒng)計,每位醫(yī)生平均診治時間,實際開診時間等等,提供給分診臺護士。

簡化配置功能,盡量讓軟件配置與實際的場景相一致,如果出診沒有變動,則開機自動運行,到點切換。如果出診有變化,護士能夠?qū)ε渲米鑫⒄{(diào)。

有群發(fā)短信功能,能夠讓護士在系統(tǒng)上給醫(yī)生群發(fā)通知短信,可以選擇定時發(fā)送或者自由發(fā)送,提醒醫(yī)生不要忘記出診時間。

具體的結(jié)果圖如圖3所示。

4.3? ?設(shè)備管理

此模塊的功能比較單一,通過監(jiān)測設(shè)備運行情況,將運行狀況實時回傳到告警管理中心并對故障設(shè)備進行故障鑒定,制定報警級別。錄入設(shè)備信息,報警編號等方便檢修人員的進一步查看檢修。

4.4? ?醫(yī)院綜合評估

通過對模糊綜合評價算法對評價因素(評價因素包括專家評審、患者評審、醫(yī)院工作人員的自我評價以及綜合治愈率)建立評價因素集和評語集,確定被評價因素的權(quán)重比和構(gòu)造模糊判斷矩陣,通過模糊理論將權(quán)重矩陣和判斷矩陣合成綜合評價矢量值,并對矢量值進行結(jié)果分析,將綜合評價結(jié)果轉(zhuǎn)換為相應(yīng)實體對象入數(shù)據(jù)庫中。

5? ?系統(tǒng)實現(xiàn)(System implementation)

5.1? ?技術(shù)棧支持

該門診信息服務(wù)系統(tǒng)采用SpringBoot+Dubbo+Redis+RabbitMQ方式搭建系統(tǒng)架構(gòu)。

Dubbo是一款高性能、輕量級的開源Java RPC框架它提供了三大核心能力:面向接口的遠程方法調(diào)用,智能容錯和負載均衡,以及服務(wù)自動注冊和發(fā)現(xiàn)。該框架不僅實現(xiàn)了高性能、高可用性,而且使用方便,擴展性極佳[3]。

Spring Boot是Java領(lǐng)域知名的微服務(wù)框架,微服務(wù)的目的在于化解整體架構(gòu)服務(wù)的復(fù)雜性,以簡單快速的方式實現(xiàn)各個服務(wù)的部署和變更。而SpringBoot提供了形式多樣的庫,支持JPA、RESTFul、Docker等技術(shù),能夠讓配置、部署和監(jiān)控變得簡單方便[4]。

Rabbit MQ基于Erlang語言編寫,用于在分布式系統(tǒng)中存儲轉(zhuǎn)發(fā)異步消息,將彼此獨立的計算機連接形成松耦合的系統(tǒng),Rabbit MQ在易用性擴展性、高可用性等方面表現(xiàn)不俗[5]。

Redis是一款基于內(nèi)存的、可持久化的非關(guān)系型Key-Value存儲系統(tǒng),它支持多種數(shù)據(jù)類型,并支持原子性操作。Redis與其他Cache相比,擁有更多的數(shù)據(jù)結(jié)構(gòu)并支持更豐富的數(shù)據(jù)操作[6]。

5.2? ?數(shù)據(jù)訪問實現(xiàn)

數(shù)據(jù)層MyBatis框架提供的注解標(biāo)注實現(xiàn)訪問即通過編寫mapper文件與標(biāo)注@Mapper的Dao層接口一一對應(yīng),實現(xiàn)對象關(guān)系映射。

5.3? ?業(yè)務(wù)邏輯層實現(xiàn)

本系統(tǒng)從前端返回的數(shù)據(jù)類型均為application/json格式,采用類注解@RestController的形式接收返回的數(shù)據(jù),通過@RequestMapping的匹配請求地址,查詢數(shù)據(jù)采用GET方式,@GetMapping請求數(shù)據(jù),以及POST方式@Post Mapping提交數(shù)據(jù),并采用DELETE方式@DeleteMapping刪除數(shù)據(jù),以及PUT方式@PutMapping修改數(shù)據(jù),同時采用@RequestParam和@PathVariable提供參數(shù)據(jù)。

5.4? ?頁面實現(xiàn)

系統(tǒng)采用ElementUI+VUE.js的前端架構(gòu)來實現(xiàn)頁面編寫,VUE負責(zé)與后臺數(shù)據(jù)交互和前端頁面數(shù)據(jù)的動態(tài)渲染,ElementUI負責(zé)靜態(tài)頁面的編寫。

6? ?結(jié)論(Conclusion)

本文描述了有關(guān)微服務(wù)架構(gòu)的理念和優(yōu)點,并且基于微服務(wù)架構(gòu)體系開發(fā)了大中型醫(yī)院的門診信息服務(wù)系統(tǒng)介紹了各模塊的設(shè)計以及實現(xiàn)方法,在實際業(yè)務(wù)中微服務(wù)的架構(gòu)體系為門診信息服務(wù)系統(tǒng)后續(xù)功能的擴充,建立更加完善的醫(yī)療服務(wù)體系提供了良好的技術(shù)支撐。此系統(tǒng)的應(yīng)用極大優(yōu)化了患者就醫(yī)的流程,使得就醫(yī)更加方便、快捷,減少了醫(yī)療資源的浪費。

參考文獻(References)

[1] Balalaie A,Heydarnoori A,Jamshidi P.Microservices Architecture Enables DevOps:Migration to a Cloud-Native Architecture[J].IEEE Software,2016,33(3):42-52.

[2] Steinhubl Steven R,Topol Eric J.Digital medicine,on its way to being just plain medicine[J].NPJ digital medicine,2018(1):1-5.

[3] 陳曉棟.基于Dubbo分布式框架的信用卡無卡大額分期系統(tǒng)設(shè)計[J].信息與電腦(理論版),2017(07):132-135.

[4] 溫曉麗,蘇浩偉,陳歡,等.基于SpringBoot微服務(wù)架構(gòu)的城市一卡通手機充值支撐系統(tǒng)研究[J].電子產(chǎn)品世界,2017,24(10): 59-62.

[5] 魚朝偉,詹舒波.基于Rabbit MQ的異步全雙工消息線的實現(xiàn)[J].軟件,2016,37(2):139-146.

[6] 曾超宇,李金香.Redis在高速緩存系統(tǒng)中的應(yīng)用[J].微型機與應(yīng)用,2013,32(12):11-13.

猜你喜歡
微服務(wù)
數(shù)字文化館建設(shè)中的“微服務(wù)”
基于微服務(wù)架構(gòu)的日志系統(tǒng)
微服務(wù)架構(gòu)及相應(yīng)云平臺解析
基于供給側(cè)改革理論的圖書館社交網(wǎng)絡(luò)微服務(wù)研究
微信公眾平臺在醫(yī)院圖書館的應(yīng)用現(xiàn)狀調(diào)查
基于微信企業(yè)號的校園移動服務(wù)
微服務(wù)視角下高職圖書館數(shù)字資源使用分析
從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
微媒體時代高校圖書館閱讀推廣微服務(wù)探析
阜南县| 深泽县| 霸州市| 永和县| 新河县| 天等县| 丰县| 龙陵县| 吴江市| 临颍县| 加查县| 闽清县| 中牟县| 师宗县| 枣强县| 阿城市| 肇州县| 龙岩市| 武宁县| 宜都市| 理塘县| 梓潼县| 贡觉县| 民乐县| 体育| 长寿区| 内乡县| 梨树县| 通海县| 宁阳县| 溧水县| 禄丰县| 桓台县| 滦平县| 蕲春县| 剑川县| 潮安县| 福海县| 东丰县| 象山县| 武夷山市|