99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀醫(yī)療大數(shù)據(jù)分析管理系統(tǒng)的設(shè)計(jì)與科研應(yīng)用
醫(yī)療大數(shù)據(jù)分析管理系統(tǒng)的設(shè)計(jì)與科研應(yīng)用
2017-06-20
收藏

醫(yī)療大數(shù)據(jù)分析管理系統(tǒng)的設(shè)計(jì)與科研應(yīng)用

1 背景

我院半結(jié)構(gòu)化電子病歷起用于2005年,至今已積累電子病歷近50萬(wàn)份。由于病歷完成者主要是進(jìn)修醫(yī)和學(xué)生,數(shù)據(jù)質(zhì)量無(wú)法滿(mǎn)足科研需求,我們又開(kāi)發(fā)了科研電子病歷系統(tǒng),供科研人員在其中補(bǔ)充錄入普通電子病歷沒(méi)有的數(shù)據(jù)。兩個(gè)系統(tǒng)共為科研數(shù)據(jù)中心的數(shù)據(jù)來(lái)源??蒲袛?shù)據(jù)中心的應(yīng)用大大提高了科研工作效率及準(zhǔn)確性。但隨著數(shù)據(jù)量和查詢(xún)維度的增加,數(shù)據(jù)查詢(xún)和數(shù)據(jù)挖掘的速度越來(lái)越慢。為此,我們決定引入分布式存儲(chǔ)分布式計(jì)算技術(shù),建立醫(yī)療大數(shù)據(jù)分析管理系統(tǒng),來(lái)提高數(shù)據(jù)處理效率。

2 硬件系統(tǒng)架構(gòu)

我們采用MongoDB作為存儲(chǔ)工具。首先,因?yàn)槠胀?a href='/map/guanxixingshujuku/' style='color:#000;font-size:inherit;'>關(guān)系型數(shù)據(jù)庫(kù)的每次操作都會(huì)有一致性檢查,而MongoDB的設(shè)計(jì)沒(méi)有這個(gè)步驟,所以MongoDB的存儲(chǔ)效率比普通關(guān)系型數(shù)據(jù)庫(kù)更高。其次,醫(yī)院總數(shù)據(jù)量低于5T,綜合考慮數(shù)據(jù)量級(jí)及管理成本,沒(méi)有選擇hadoop。而且,MongoDB也考慮了設(shè)備故障出現(xiàn)的場(chǎng)景,在設(shè)計(jì)時(shí)就做了容災(zāi)和故障轉(zhuǎn)移的方案。

圖1 硬件系統(tǒng)架構(gòu)

如圖1所示,客戶(hù)端連接3臺(tái)應(yīng)用服務(wù)器,應(yīng)用服務(wù)器主要負(fù)責(zé)隨訪、數(shù)據(jù)采集清洗和科研項(xiàng)目管理等業(yè)務(wù)。因?yàn)樽?a href='/map/dashujufenxi/' style='color:#000;font-size:inherit;'>大數(shù)據(jù)分析,盡管本項(xiàng)目對(duì)存儲(chǔ)量要求不高,但對(duì)I/O及CPU運(yùn)算速度卻要求很高,故設(shè)計(jì)9臺(tái)PC服務(wù)器用來(lái)進(jìn)行分布式存儲(chǔ)及計(jì)算,這9臺(tái)PC服務(wù)器由三套副本集組成,以提高存儲(chǔ)及計(jì)算效率。每個(gè)副本集又由三個(gè)存儲(chǔ)節(jié)點(diǎn)組成,每個(gè)存儲(chǔ)節(jié)點(diǎn)各有分工,但數(shù)據(jù)相互備份,以保證數(shù)據(jù)安全

MongoDB的集群部署方案中有三類(lèi)角色:實(shí)際數(shù)據(jù)存儲(chǔ)結(jié)點(diǎn)(shard)、配置文件存儲(chǔ)結(jié)點(diǎn)(config server)和路由接入結(jié)點(diǎn)(mongos)。連接的客戶(hù)端直接與路由結(jié)點(diǎn)相連,從配置結(jié)點(diǎn)上查詢(xún)數(shù)據(jù),根據(jù)查詢(xún)結(jié)果到實(shí)際的存儲(chǔ)結(jié)點(diǎn)上查詢(xún)和存儲(chǔ)數(shù)據(jù)。

mongos,數(shù)據(jù)庫(kù)集群請(qǐng)求的入口,所有的請(qǐng)求都通過(guò)mongos進(jìn)行協(xié)調(diào),不需要在應(yīng)用程序添加一個(gè)路由選擇器,mongos自己就是一個(gè)請(qǐng)求分發(fā)中心,它負(fù)責(zé)把對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的shard服務(wù)器上。在此我們考慮部署3臺(tái)mongos作為請(qǐng)求的入口,防止其中一臺(tái)宕機(jī)后所有的mongodb請(qǐng)求都無(wú)法操作。

config server,顧名思義為配置服務(wù)器,存儲(chǔ)所有數(shù)據(jù)庫(kù)元信息(路由、分片)的配置。mongos本身沒(méi)有物理存儲(chǔ)分片服務(wù)器和數(shù)據(jù)路由信息,只是緩存在內(nèi)存里,配置服務(wù)器則實(shí)際存儲(chǔ)這些數(shù)據(jù)。mongos第一次啟動(dòng)或者關(guān)掉重啟就會(huì)從 config server 加載配置信息,以后如果配置服務(wù)器信息變化會(huì)通知到所有的 mongos 更新自己的狀態(tài),這樣 mongos 就能繼續(xù)準(zhǔn)確路由。在此我們考慮部署3臺(tái)config server 配置服務(wù)器,就算其中一臺(tái)宕機(jī), mongodb集群仍然可用。

shard,實(shí)際的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),把既往一臺(tái)服務(wù)器存儲(chǔ)的數(shù)據(jù)分散到3臺(tái)存儲(chǔ),不僅存儲(chǔ)空間大大的擴(kuò)展,同時(shí)硬盤(pán)的讀寫(xiě),網(wǎng)絡(luò)的IO、CPU和內(nèi)存都得到很大的擴(kuò)展。在Mongodb集群中只要設(shè)置好了分片規(guī)則,通過(guò)mongos操作數(shù)據(jù)庫(kù)就能自動(dòng)把對(duì)應(yīng)的數(shù)據(jù)操作請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的分片機(jī)器上。同時(shí)每個(gè)分片有3臺(tái)服務(wù)器組成副本集(Replica Set) ,保證同一份數(shù)據(jù)存儲(chǔ)三份。

3 軟件系統(tǒng)架構(gòu)

院內(nèi)醫(yī)療數(shù)據(jù)大量分散存儲(chǔ)在HIS、LIS、EPR、PACS等子系統(tǒng)中,院外數(shù)據(jù)主要存儲(chǔ)在隨訪系統(tǒng)中。這些數(shù)據(jù)具有多源相關(guān)性、異構(gòu)性、海量高速性的特點(diǎn),有效的數(shù)據(jù)整合是大數(shù)據(jù)分析的前提。首先,所有子系統(tǒng)數(shù)據(jù)通過(guò)醫(yī)院系統(tǒng)集成平臺(tái)進(jìn)行采集,然后通過(guò)解析、映射、標(biāo)準(zhǔn)化等手段進(jìn)行加工處理,最后存儲(chǔ)于數(shù)據(jù)倉(cāng)庫(kù)中。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)通過(guò)聚合統(tǒng)計(jì)、結(jié)構(gòu)化、歸一等技術(shù)手段,為大數(shù)據(jù)查詢(xún)、挖掘、隨訪、科研項(xiàng)目管理等應(yīng)用系統(tǒng)提供數(shù)據(jù)支撐,具體如圖2所示。

圖2 軟件系統(tǒng)架構(gòu)

4 應(yīng)用效果分析

我院科研大數(shù)據(jù)分析管理系統(tǒng)啟用后效果明顯,到目前為止已建立20個(gè)專(zhuān)業(yè)科研數(shù)據(jù)庫(kù),支持了15個(gè)科研項(xiàng)目。完成各類(lèi)科研查詢(xún)200余項(xiàng)次,發(fā)表論文上百篇,其中SCI文章數(shù)十篇。科研工作績(jī)效長(zhǎng)期在北京市醫(yī)管局系統(tǒng)名列前茅??蒲腥藛T普遍反映工作效率有很大改善。

5 目前存在的不足

5.1數(shù)據(jù)分析與建模中存在的問(wèn)題 首先,醫(yī)療信息系統(tǒng)通常不是為了科研和數(shù)據(jù)分析設(shè)計(jì)的。從數(shù)據(jù)分析的角度看,醫(yī)療數(shù)據(jù)通常比較復(fù)雜,醫(yī)療數(shù)據(jù)建模與醫(yī)療業(yè)務(wù)流程關(guān)系密切,需要不同領(lǐng)域的知識(shí),包括醫(yī)學(xué)、生物統(tǒng)計(jì)學(xué)、流行病學(xué)和信息學(xué)等。在某些涉及基因療法的醫(yī)學(xué)數(shù)據(jù)中,還需要有基因?qū)W領(lǐng)域的專(zhuān)家。僅憑HIS廠商是無(wú)法實(shí)現(xiàn)的。因此如何協(xié)調(diào)好各領(lǐng)域?qū)<遥⑿兄行У臄?shù)據(jù)模型是項(xiàng)目成敗的關(guān)鍵。

5.2 醫(yī)學(xué)自然語(yǔ)言處理難度大,影響數(shù)據(jù)質(zhì)量 由于大量詳細(xì)的病人信息以文本形式存儲(chǔ),而文本描述的信息通常存在歧義和很多非標(biāo)準(zhǔn)化描述,如何把這些非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一的結(jié)構(gòu)化數(shù)據(jù)是醫(yī)學(xué)信息處理的重要步驟。自然語(yǔ)言處理是解決方案之一。將非結(jié)構(gòu)化醫(yī)療數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)需要一系列醫(yī)學(xué)自然語(yǔ)言處理技術(shù),包括:醫(yī)學(xué)名實(shí)體識(shí)別,名實(shí)體自動(dòng)編碼,名實(shí)體修飾詞識(shí)別,時(shí)間信息抽取等。作為信息抽取的關(guān)鍵技術(shù),醫(yī)學(xué)信息抽取一直是醫(yī)學(xué)自然語(yǔ)言處理的研究熱點(diǎn)。

5.3 病案質(zhì)量欠佳 科研數(shù)據(jù)中心的數(shù)據(jù)是需要經(jīng)過(guò)結(jié)構(gòu)化、標(biāo)準(zhǔn)化處理后才能存儲(chǔ)的。這些數(shù)據(jù)要求以病例個(gè)體為單位,以時(shí)間為線索,按照開(kāi)放的標(biāo)準(zhǔn)架構(gòu)進(jìn)行組織存儲(chǔ),如HL7、CDA,保證病例數(shù)據(jù)的可用性和可擴(kuò)展性。提供靈活的數(shù)據(jù)檢索能力,方便查找符合條件的病例,并通過(guò)數(shù)據(jù)輸出接口將數(shù)據(jù)導(dǎo)出成為標(biāo)準(zhǔn)的,可供第三方平臺(tái)處理的數(shù)據(jù)格式。

臨床科研對(duì)病案質(zhì)量要求更高,低質(zhì)量的病案會(huì)直接導(dǎo)致臨床科研結(jié)果的偏差。因此,嚴(yán)謹(jǐn)?shù)牟v書(shū)寫(xiě)規(guī)范及數(shù)據(jù)校驗(yàn),對(duì)每一個(gè)數(shù)據(jù)元素進(jìn)行標(biāo)準(zhǔn)化定義,是必不可少的步驟。

5.4 患者提供隨訪數(shù)據(jù)的依從性有待提高 隨訪數(shù)據(jù)對(duì)于醫(yī)學(xué)科研的意義不言而喻。在實(shí)踐過(guò)程中,我們發(fā)現(xiàn)心腦血管疾病人群大多為老年人,而老年人對(duì)于電子設(shè)備操作不熟練,影響了數(shù)據(jù)采集的及時(shí)性和準(zhǔn)確性。未來(lái)應(yīng)通過(guò)可穿戴設(shè)備、遠(yuǎn)程會(huì)診、異地醫(yī)療機(jī)構(gòu)信息系統(tǒng)互聯(lián)互通等方式提高患者,特別是外地患者隨訪的依從性。

6 結(jié)論與展望

醫(yī)療衛(wèi)生行業(yè)的數(shù)據(jù)資源為大數(shù)據(jù)技術(shù)應(yīng)用提供了條件。目前醫(yī)療大數(shù)據(jù)的相關(guān)標(biāo)準(zhǔn)與軟件應(yīng)用等研究仍處在起步階段,開(kāi)拓空間大,提供機(jī)會(huì)多,但也面臨諸多現(xiàn)實(shí)問(wèn)題。


數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢(xún)
客服在線
立即咨詢(xún)
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶(hù)后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }