王 杰 錢旦敏 婁 帥 何德?!№f玉芳 董建成*
1(南通大學(xué)醫(yī)學(xué)信息系 江蘇 南通 226001) 2(江蘇中康軟件有限責(zé)任公司 江蘇 南通 226001)
住院醫(yī)師規(guī)范化培訓(xùn)是醫(yī)學(xué)畢業(yè)生接受繼續(xù)醫(yī)學(xué)教育的重要組成部分,目的是為各級(jí)醫(yī)療機(jī)構(gòu)培養(yǎng)具有良好的職業(yè)道德、扎實(shí)的醫(yī)學(xué)理論知識(shí)和臨床技能,能獨(dú)立、規(guī)范承擔(dān)本專業(yè)常見(jiàn)疾病診療工作的臨床醫(yī)師。住院醫(yī)師規(guī)范化培訓(xùn)效果的好壞也是檢驗(yàn)一個(gè)醫(yī)院醫(yī)療水平高低的一項(xiàng)重要因素,對(duì)醫(yī)院的發(fā)展密切相關(guān)。
住院醫(yī)師規(guī)范化培訓(xùn)管理工作涉及到的醫(yī)療數(shù)據(jù)具有瑣碎、繁雜的特點(diǎn),由于醫(yī)學(xué)教育背景不同、醫(yī)院科室設(shè)置、醫(yī)院流程的差異,不同醫(yī)院在具體培訓(xùn)管理上也無(wú)法避免存有差異[1]。為了規(guī)范培訓(xùn)內(nèi)容,保證培訓(xùn)質(zhì)量,利用信息化手段進(jìn)行管理成為必然趨勢(shì)。
隨著大數(shù)據(jù)理念的出現(xiàn),醫(yī)療行業(yè)迎來(lái)了大數(shù)據(jù)潮流,而醫(yī)療數(shù)據(jù)已經(jīng)具備了大數(shù)據(jù)的基本特征:數(shù)據(jù)量大、數(shù)據(jù)種類多、價(jià)值高、價(jià)值密度低、產(chǎn)生快、處理快[2-3]。在系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)階段,結(jié)合大數(shù)據(jù)“4V”特點(diǎn),使得系統(tǒng)能夠承載多用戶的高并發(fā)讀寫(xiě),達(dá)到快速處理、快速響應(yīng)的目標(biāo)。為了存儲(chǔ)不同結(jié)構(gòu)、體積大的數(shù)據(jù),本系統(tǒng)部分模塊采用流行的非關(guān)系型數(shù)據(jù)庫(kù)MongoDB進(jìn)行存儲(chǔ),使系統(tǒng)擁有存儲(chǔ)海量數(shù)據(jù)的能力,在安全性、可靠性、擴(kuò)展性和資源重復(fù)利用率上更勝一籌[4-5],為日后大數(shù)據(jù)研究與應(yīng)用奠定基礎(chǔ)。
在我國(guó),自1921年開(kāi)始實(shí)行住院醫(yī)師培訓(xùn)。2013年,伴隨著七部委發(fā)布的相關(guān)指導(dǎo)意見(jiàn),標(biāo)志著住院醫(yī)師規(guī)范化培訓(xùn)在我國(guó)全面啟動(dòng)。2014年8月在全國(guó)范圍內(nèi)啟動(dòng)第一批住培基地認(rèn)定工作。不久,國(guó)家住院醫(yī)師規(guī)范化培訓(xùn)管理信息系統(tǒng)建立,該系統(tǒng)整合了國(guó)家級(jí)和省級(jí)兩個(gè)平臺(tái),使得國(guó)家和省級(jí)單位能夠全面掌握醫(yī)師培訓(xùn)情況。截至2015年,半數(shù)以上省市已逐步建立滿足地方需求的住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)。然而,由于各個(gè)地方住培系統(tǒng)不統(tǒng)一,使得頂層信息系統(tǒng)難以高效地統(tǒng)籌各地方子系統(tǒng),給國(guó)家級(jí)住培系統(tǒng)整合全國(guó)住院醫(yī)師培訓(xùn)資源帶來(lái)一定的困難[6]。
在美國(guó),全國(guó)已有上千家醫(yī)院接受住院醫(yī)師培訓(xùn),其管理制度和信息系統(tǒng)的運(yùn)用不斷完善。在日本,醫(yī)院信息化建設(shè)開(kāi)展得比較早,20世紀(jì)70年代末就率先提出了共享的醫(yī)院信息系統(tǒng)。在歐共體也開(kāi)展了類似的“歐洲健康信息網(wǎng)絡(luò)戰(zhàn)略計(jì)劃”[7]。由于國(guó)外醫(yī)院信息化發(fā)展較早,積累了大量的經(jīng)驗(yàn),技術(shù)相對(duì)成熟先進(jìn),從而為住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)的實(shí)現(xiàn)與應(yīng)用奠定了良好的基礎(chǔ)。
無(wú)論是國(guó)家住院醫(yī)師規(guī)范化培訓(xùn)管理信息系統(tǒng)還是各個(gè)培訓(xùn)基地的住培系統(tǒng)都尚未采用非關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),而是采用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)保存。醫(yī)療數(shù)據(jù)不僅量大而且結(jié)構(gòu)復(fù)雜,在這數(shù)據(jù)急劇增長(zhǎng)的“大數(shù)據(jù)時(shí)代”,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)表現(xiàn)出明顯的缺陷:性能弱、靈活性和可擴(kuò)展性差[8]。
在系統(tǒng)功能上,國(guó)家住院醫(yī)師規(guī)范化培訓(xùn)管理信息系統(tǒng)在題庫(kù)管理和輪轉(zhuǎn)排班管理上尚有欠缺。
針對(duì)以上不足,基于大數(shù)據(jù)的住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)在部分模塊已采用流行的Nosql進(jìn)行存儲(chǔ),滿足大數(shù)據(jù)時(shí)代的需求。在系統(tǒng)功能上,新增題庫(kù)管理模塊和輪轉(zhuǎn)排班模塊,使得系統(tǒng)更加健壯和自動(dòng)化。
在滿足國(guó)家和省級(jí)住培系統(tǒng)功能結(jié)構(gòu)基礎(chǔ)上,本系統(tǒng)角色主要分為四類:住院醫(yī)師、指導(dǎo)醫(yī)師、專業(yè)基地負(fù)責(zé)人和管理人員。不同角色擁有不同的職責(zé),相互關(guān)聯(lián),相互協(xié)調(diào),共同維持住院醫(yī)師培訓(xùn)的信息化管理。
住院醫(yī)師進(jìn)行規(guī)范化培訓(xùn)時(shí),需每日上報(bào)工作量,經(jīng)指導(dǎo)醫(yī)師審核通過(guò)后計(jì)入培訓(xùn)檔案。住院醫(yī)師日常管理還包括輪轉(zhuǎn)信息的填寫(xiě),病例上報(bào),操作技能上報(bào),教學(xué)、科研等情況上報(bào),填寫(xiě)問(wèn)卷調(diào)查表(出科評(píng)價(jià)表),參加考試考核、申請(qǐng)出科等。其功能用例圖如圖1所示。
圖1 住院醫(yī)師用例圖
指導(dǎo)醫(yī)師即每個(gè)科室的管理人員,也就是帶教老師,應(yīng)當(dāng)嚴(yán)格按照住院醫(yī)師規(guī)范化培訓(xùn)內(nèi)容與標(biāo)準(zhǔn)的要求實(shí)施培訓(xùn)工作,認(rèn)真負(fù)責(zé)地指導(dǎo)和教育培訓(xùn)對(duì)象。其最主要任務(wù)是負(fù)責(zé)住院醫(yī)師的日??己撕统隹瓶己?,出科考核原則上應(yīng)當(dāng)在培訓(xùn)對(duì)象出科前完成,并由專業(yè)基地審核其真實(shí)性和有效性。指導(dǎo)醫(yī)師的功能需求包括:日常考核、出科考核、預(yù)約信息、問(wèn)卷查看(出科評(píng)價(jià)表的查看)、知識(shí)庫(kù)學(xué)習(xí)、學(xué)員基本信息管理(包括個(gè)人信息、相關(guān)科室的學(xué)習(xí)情況)、出科審核、學(xué)員每日工作量審核等。其功能用例圖如圖2所示。
圖2 指導(dǎo)醫(yī)師用例圖
培訓(xùn)基地由符合條件的專業(yè)基地組成。專業(yè)基地由本專業(yè)科室牽頭,會(huì)同相關(guān)科室制訂和落實(shí)本專業(yè)培訓(xùn)對(duì)象的具體培訓(xùn)計(jì)劃,實(shí)施輪轉(zhuǎn)培訓(xùn),并對(duì)培訓(xùn)全過(guò)程進(jìn)行嚴(yán)格質(zhì)量管理。培訓(xùn)基地、專業(yè)基地應(yīng)當(dāng)定期向所在地省級(jí)衛(wèi)生計(jì)生行政部門或其指定的行業(yè)組織、單位報(bào)告培訓(xùn)工作情況,接受檢查指導(dǎo)。其功能需求包括:學(xué)員信息管理、學(xué)員考核審核、學(xué)員輪轉(zhuǎn)記錄查看、預(yù)約信息等。功能用例圖如圖3所示。
圖3 專業(yè)基地負(fù)責(zé)人用例圖
醫(yī)院管理員擁有較多的管理權(quán)限,其功能需求包括:住院醫(yī)師規(guī)范化培訓(xùn)管理相關(guān)文件材料的發(fā)布、學(xué)員錄取、學(xué)員信息管理、考核管理、基地申報(bào)、賬號(hào)審核、預(yù)約信息審核、輪轉(zhuǎn)排班等。其功能用例圖如圖4所示。
圖4 管理員用例圖
標(biāo)準(zhǔn)化:嚴(yán)格按照國(guó)家衛(wèi)生計(jì)生委辦公廳關(guān)于印發(fā)《住院醫(yī)師規(guī)范化培訓(xùn)基地認(rèn)定標(biāo)準(zhǔn)(試行)》和《住院醫(yī)師規(guī)范化培訓(xùn)內(nèi)容與標(biāo)準(zhǔn)(試行)》等材料實(shí)施開(kāi)發(fā)。
個(gè)性化:在國(guó)家級(jí)和省級(jí)住培系統(tǒng)結(jié)構(gòu)標(biāo)準(zhǔn)的基礎(chǔ)上,醫(yī)院可根據(jù)自身的實(shí)際情況提出合理的需求進(jìn)行個(gè)性化設(shè)計(jì)開(kāi)發(fā)。
智能化:住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)實(shí)現(xiàn)了對(duì)培訓(xùn)過(guò)程的智能化管理,在題庫(kù)訓(xùn)練、輪轉(zhuǎn)安排、考試考核、統(tǒng)計(jì)分析等模塊上通過(guò)程序自動(dòng)完成,易錯(cuò)地方設(shè)有智能化提示等。
目前,常見(jiàn)的系統(tǒng)體系結(jié)構(gòu)有C/S(客戶機(jī)/服務(wù)器)和B/S(瀏覽器/服務(wù)器)兩種。B/S結(jié)構(gòu)隨著互聯(lián)網(wǎng)技術(shù)的興起而出現(xiàn),主要優(yōu)勢(shì)體現(xiàn)在:① 具有強(qiáng)大的數(shù)據(jù)操作和事務(wù)處理能力。② B/S體系維護(hù)方便,易于擴(kuò)展。③ 適用于分布式集群系統(tǒng),支持多層應(yīng)用架構(gòu),更有利于大數(shù)據(jù)的研究[9]。
本系統(tǒng)采用流行的B/S體系結(jié)構(gòu),如圖5所示。無(wú)論是住院醫(yī)師、指導(dǎo)醫(yī)師、專業(yè)基地負(fù)責(zé)人還是管理人員,可以隨時(shí)隨地查看信息,作出重要指示。
圖5 系統(tǒng)體系結(jié)構(gòu)示意圖
在技術(shù)架構(gòu)方面,采用功能上可擴(kuò)展、接口安全開(kāi)放的松耦合架構(gòu),確保系統(tǒng)能夠適應(yīng)各種應(yīng)用環(huán)境,穩(wěn)步運(yùn)行。本系統(tǒng)以微軟.NET Framework 4.5為平臺(tái),采用ASP.NET MVC5框架,將數(shù)據(jù)、業(yè)務(wù)、展現(xiàn)進(jìn)行有效分離[10]。本系統(tǒng)架構(gòu)是在三層的基礎(chǔ)上進(jìn)行多層架構(gòu)面向接口設(shè)計(jì),各層之間通過(guò)依賴注入實(shí)現(xiàn)解耦,體現(xiàn)了系統(tǒng)設(shè)計(jì)的開(kāi)閉原則。系統(tǒng)架構(gòu)如圖6所示。
圖6 系統(tǒng)架構(gòu)圖
數(shù)據(jù)訪問(wèn)驅(qū)動(dòng)層:本系統(tǒng)采用微軟官方ORM實(shí)體框架Entity Framework,簡(jiǎn)稱EF,是一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ),提高軟件開(kāi)發(fā)效率,有著僅僅通過(guò)改變配置就可以做到跨數(shù)據(jù)庫(kù)的能力。其中知識(shí)庫(kù)學(xué)習(xí)模塊,由于數(shù)據(jù)量巨大,數(shù)據(jù)結(jié)構(gòu)復(fù)雜,包括:文本、圖片、音頻、視頻等多種格式,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)在可靠性和性能方面越來(lái)越無(wú)能為力[11]。而日志管理模塊是一個(gè)完整醫(yī)療信息系統(tǒng)的重要組成部分,面對(duì)海量的日志信息,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)顯得力不從心。為了減輕Web系統(tǒng)的巨大壓力,保證網(wǎng)站的可用性、增強(qiáng)網(wǎng)站性能、提升用戶體驗(yàn),知識(shí)庫(kù)學(xué)習(xí)和日志管理模塊已采用異步編程,結(jié)合C#官方MongoDB驅(qū)動(dòng),利用非關(guān)系型數(shù)據(jù)庫(kù)MongoDB進(jìn)行實(shí)現(xiàn)。
數(shù)據(jù)訪問(wèn)接口層和業(yè)務(wù)邏輯接口層:分別為DAL(數(shù)據(jù)訪問(wèn)實(shí)現(xiàn)層)和BLL(業(yè)務(wù)邏輯實(shí)現(xiàn)層)提供接口規(guī)范、約束,實(shí)現(xiàn)多態(tài),降低耦合。為了提高網(wǎng)站并發(fā)處理能力,提高應(yīng)用程序執(zhí)行速度、響應(yīng)速度,采用異步編程模型,在數(shù)據(jù)訪問(wèn)接口層定義公共的倉(cāng)儲(chǔ)操作接口,供數(shù)據(jù)訪問(wèn)層繼承使用。其中方法名稱以Async結(jié)尾并以泛型Task作為返回值。核心代碼如下:
Task
Task
Task DeleAsync(Expression
Task DeleAsync(TKey id);
Task DeleAsync(T entity);
Task
Task
Task> QueryAllAsync();
Task> QueryAllAsync(Expression
Task
Task
Task
Task
Task
Task
展現(xiàn)層:采用MVC框架進(jìn)行分層開(kāi)發(fā),使得控制更加靈活,頁(yè)面更加干凈,復(fù)雜的項(xiàng)目更加容易維護(hù),減少項(xiàng)目間的耦合[12]。通過(guò)MVC中Controller調(diào)用業(yè)務(wù)邏輯層的方法進(jìn)行數(shù)據(jù)處理,進(jìn)而通過(guò)View將數(shù)據(jù)在頁(yè)面展示。
各層之間調(diào)用不能任意相互調(diào)用,具有一定的規(guī)則。即展現(xiàn)層通過(guò)Controller層利用接口調(diào)用業(yè)務(wù)邏輯層的具體業(yè)務(wù)方法,業(yè)務(wù)邏輯層通過(guò)接口調(diào)用數(shù)據(jù)訪問(wèn)層的核心代碼,服務(wù)器端做出響應(yīng)返回?cái)?shù)據(jù),然后按照相反順序?qū)?shù)據(jù)結(jié)果在展現(xiàn)層呈現(xiàn)出來(lái)。多層架構(gòu)的優(yōu)點(diǎn)是依賴接口編程,結(jié)構(gòu)清晰、安全性高、易于維護(hù)和擴(kuò)展。
在國(guó)家級(jí)住培系統(tǒng)功能基礎(chǔ)上,按照國(guó)家級(jí)的數(shù)據(jù)標(biāo)準(zhǔn)、接口規(guī)范,以信息安全為切入點(diǎn)[6],設(shè)計(jì)出可與國(guó)家級(jí)住培系統(tǒng)對(duì)接的滿足醫(yī)院業(yè)務(wù)需求的住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)。主要功能模塊包括:住院醫(yī)師管理模塊、培訓(xùn)基地管理模塊、帶教師資管理模塊、考試考核管理模塊、統(tǒng)計(jì)分析模塊、公共信息管理模塊、系統(tǒng)維護(hù)模塊。系統(tǒng)整體功能結(jié)構(gòu)如圖7所示。
圖7 系統(tǒng)整體功能結(jié)構(gòu)示意圖
3.4.1系統(tǒng)主要功能設(shè)計(jì)
住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)是在國(guó)家級(jí)住培系統(tǒng)的基礎(chǔ)上,開(kāi)發(fā)的一套功能齊全的軟件。其中新增的題庫(kù)管理模塊實(shí)現(xiàn)靈活組題,可供學(xué)員隨時(shí)進(jìn)行題庫(kù)訓(xùn)練和日??己?。知識(shí)庫(kù)學(xué)習(xí)模塊采用流行的非關(guān)系型數(shù)據(jù)庫(kù)MongoDB存儲(chǔ),提高多用戶并發(fā)訪問(wèn)時(shí)的查詢效率,結(jié)合專業(yè)知識(shí)創(chuàng)建索引,提高查詢準(zhǔn)確度。輪轉(zhuǎn)排班模塊利用排班算法將管理員從繁雜的手動(dòng)排班中解放出來(lái),使系統(tǒng)更加智能化、人性化。日志管理模塊包括系統(tǒng)日志和異常日志,系統(tǒng)每天都會(huì)產(chǎn)生大量的日志信息,為了對(duì)海量日志數(shù)據(jù)能夠進(jìn)行高效分析和存儲(chǔ),發(fā)掘隱藏在日志數(shù)據(jù)中的用戶訪問(wèn)規(guī)律和模式,該模塊采用MongoDB進(jìn)行存儲(chǔ),利用其中的數(shù)據(jù)聚合工具M(jìn)apReduce來(lái)實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)計(jì)處理[13-14]。
1) 題庫(kù)管理模塊設(shè)計(jì)隨著醫(yī)院教學(xué)要求的提高,傳統(tǒng)的利用人工組卷不僅效率低下,而且工作量大、易出錯(cuò),浪費(fèi)大量的人力物力,難以適應(yīng)現(xiàn)代化的教學(xué)需求。管理員利用該系統(tǒng)可進(jìn)行試題的批量導(dǎo)入,學(xué)員進(jìn)行題庫(kù)訓(xùn)練或日常考核時(shí),系統(tǒng)可進(jìn)行隨機(jī)組卷,靈活組題。
系統(tǒng)中設(shè)有五種題型,分別為:?jiǎn)芜x題、多選題、判斷題、名詞解釋和問(wèn)答題,試題選項(xiàng)和答案均存于相應(yīng)的表中。學(xué)員進(jìn)行題庫(kù)訓(xùn)練時(shí),題型包括單選、多選和判斷題,系統(tǒng)可自動(dòng)組卷改卷。以單選題為例,系統(tǒng)會(huì)自動(dòng)從庫(kù)中隨機(jī)抽取50道單選題,將試題題目、選項(xiàng)以及答案以json的數(shù)據(jù)格式返回至前臺(tái)頁(yè)面。學(xué)員考試結(jié)束后,系統(tǒng)會(huì)以鍵值對(duì)key-value的形式將題號(hào)和答案保存至庫(kù)中,可供學(xué)員日后查看學(xué)習(xí)。其中單選題抽取核心代碼如下:
string code=CommonFunc.FilterSpecialString(Common-Func.SafeGetStringFromObj(Request[″code″]));
//獲取科目代碼,判斷內(nèi)科還是外科
var OptionList = OptionService.QueryAllAsync(u=>u.SubjectCode==code).OrderBy(u=>Guid.NewGuid()).Take(50);
//隨機(jī)取50道相應(yīng)科目下的單選題
return Json(OptionList,JsonRequestBehavior.AllowG-et);
//結(jié)果以json格式返回
2) 知識(shí)庫(kù)學(xué)習(xí)模塊設(shè)計(jì)住院醫(yī)師在輪轉(zhuǎn)過(guò)程中可以通過(guò)知識(shí)庫(kù)學(xué)習(xí)進(jìn)行知識(shí)積累與管理,但面對(duì)浩瀚的知識(shí)數(shù)據(jù),如何進(jìn)行信息的定位與準(zhǔn)確檢索變得尤為重要。本系統(tǒng)采用Lucene.NET全文檢索開(kāi)發(fā)包,基于盤古分詞的詞庫(kù)分詞算法,實(shí)現(xiàn)培訓(xùn)知識(shí)庫(kù)的快速搜索功能,底層數(shù)據(jù)庫(kù)采用MongoDB,可對(duì)圖片、音頻、視頻等大文件數(shù)據(jù)進(jìn)行存儲(chǔ)。多用戶查詢時(shí),能夠高效、快速地返回結(jié)果。相比較于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù),不僅提高了檢索速度,而且提高了檢索的準(zhǔn)確度。
3) 輪轉(zhuǎn)排班管理模塊設(shè)計(jì)當(dāng)培訓(xùn)人數(shù)較多時(shí),輪轉(zhuǎn)排班成為培訓(xùn)管理的難點(diǎn)。大量住院醫(yī)師的輪轉(zhuǎn)排班既要符合個(gè)人培訓(xùn)計(jì)劃,又要滿足臨床科室的工作安排。該系統(tǒng)通過(guò)特定的算法完成學(xué)員的自動(dòng)排班,既減輕人工排班的工作量,減少排班差錯(cuò),又有利于臨床工作的安排[1]。本系統(tǒng)輪轉(zhuǎn)排班模塊包括:輪轉(zhuǎn)科室管理、指導(dǎo)醫(yī)師分配、學(xué)員輪轉(zhuǎn)分配和查看輪轉(zhuǎn)排班四個(gè)模塊。
首先對(duì)專業(yè)基地下的輪轉(zhuǎn)科室進(jìn)行設(shè)置,完畢后進(jìn)入指導(dǎo)醫(yī)師分配模塊,對(duì)該專業(yè)基地下的所有指導(dǎo)老師進(jìn)行科室分配。接著進(jìn)行學(xué)員輪轉(zhuǎn)分配,該模塊包括兩步:生成輪轉(zhuǎn)方案和分配學(xué)員。在輪轉(zhuǎn)方案生成之前,應(yīng)先設(shè)置該專業(yè)輪轉(zhuǎn)開(kāi)始時(shí)間和結(jié)束時(shí)間并對(duì)專業(yè)下輪轉(zhuǎn)的科室順序進(jìn)行調(diào)整,最后保存輪轉(zhuǎn)方案。其中輪轉(zhuǎn)方案生成核心代碼如下:
function Generate() {
…
var RotaryBeginTime = (″#RotaryBeginTime″).val();
//獲取輪轉(zhuǎn)開(kāi)始時(shí)間
var RotaryEndTime = (″#RotaryEndTime″).val();
//獲取輪轉(zhuǎn)結(jié)束時(shí)間
var strHtml = ″…″;
//用于拼接html代碼
for (var n = 0; n < (″#selectRight option″).length; n++) {
//根據(jù)調(diào)整好的輪轉(zhuǎn)科室數(shù)循環(huán)產(chǎn)生tr標(biāo)簽
strHtml += ″
for (var j = 0; j < (″#selectRight option″).length; j++) {
//根據(jù)調(diào)整好的輪轉(zhuǎn)科室數(shù)循環(huán)產(chǎn)生td標(biāo)簽
var k;
for (var i = 0; i < jsonRes.length; i++) {//jsonRes為專業(yè)基地下設(shè)置好的輪轉(zhuǎn)科室相關(guān)數(shù)據(jù)
if ((″#selectRight option:eq(″ + j + ″)″).val()== jsonRes[i].DeptCode) {
//調(diào)整好順序的輪轉(zhuǎn)科室與專業(yè)基地下設(shè)置好的輪轉(zhuǎn)科
//室一致時(shí)執(zhí)行以下代碼
k = i;
//根據(jù)輪轉(zhuǎn)開(kāi)始時(shí)間、結(jié)束時(shí)間和jsonRes值對(duì)輪轉(zhuǎn)方
//案下相關(guān)字段進(jìn)行計(jì)算賦值
…
}
}
RotaryBeginTime = countNextTime(RotaryBeginTime, jsonRes[k].RealTime);
//計(jì)算下一個(gè)科室的輪轉(zhuǎn)開(kāi)始時(shí)間
}
strHtml +=″...″;
//拼接html標(biāo)簽,并綁定value值用于保存
}
strHtml += ″…″;
$(″#RotaryScheme″).append(strHtml);
//將拼接好的html標(biāo)簽加載到前端顯示
}
4) 日志管理模塊設(shè)計(jì)日志管理模塊是一個(gè)完整醫(yī)療信息系統(tǒng)的重要組成部分,用戶每次訪問(wèn)系統(tǒng)將產(chǎn)生海量的日志數(shù)據(jù)。通過(guò)對(duì)日志數(shù)據(jù)進(jìn)行有效的數(shù)據(jù)挖掘,將為優(yōu)化網(wǎng)站結(jié)構(gòu)、發(fā)掘用戶訪問(wèn)規(guī)律提供有用信息。本系統(tǒng)日志管理模塊包括系統(tǒng)日志和異常日志兩部分,住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)實(shí)現(xiàn)了基于MongoDB的日志系統(tǒng),由原來(lái)利用傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的日志管理轉(zhuǎn)變成高效、可進(jìn)一步分析利用的日志管理。
3.4.2系統(tǒng)主要功能介紹
1) 題庫(kù)管理模塊介紹學(xué)員進(jìn)行題庫(kù)訓(xùn)練或日常考核時(shí),根據(jù)需求選擇訓(xùn)練科目進(jìn)行答題。進(jìn)入答題系統(tǒng)后,系統(tǒng)開(kāi)始計(jì)時(shí),并在規(guī)定時(shí)間內(nèi)強(qiáng)制收卷,也可提前交卷。訓(xùn)練過(guò)程中,若學(xué)員因中途有事可暫停答題。答題結(jié)束后,系統(tǒng)自動(dòng)給出評(píng)分和錯(cuò)題解析并生成近10次訓(xùn)練成績(jī)的統(tǒng)計(jì)圖表,學(xué)員也可進(jìn)行錯(cuò)題打印,以便日后復(fù)習(xí)。題庫(kù)訓(xùn)練界面如圖8所示。
圖8 圖庫(kù)訓(xùn)練界面
2) 知識(shí)庫(kù)學(xué)習(xí)模塊介紹培訓(xùn)知識(shí)庫(kù)模塊包括基本檢索和高級(jí)檢索。如用戶檢索關(guān)于“diabetic foot(糖尿病足)”的相關(guān)知識(shí)時(shí),頁(yè)面會(huì)顯示所有關(guān)于糖尿病足的知識(shí)內(nèi)容,系統(tǒng)可針對(duì)不同主題詞查看特定內(nèi)容。如圖9所示。
圖9 知識(shí)庫(kù)學(xué)習(xí)界面
3) 輪轉(zhuǎn)排班管理模塊介紹輪轉(zhuǎn)排班管理使得學(xué)員排班更加智能化和自動(dòng)化。系統(tǒng)對(duì)特定專業(yè)基地下的各個(gè)科室輪轉(zhuǎn)時(shí)間、是否必輪等進(jìn)行設(shè)置,設(shè)置好后管理員即可對(duì)專業(yè)基地下的指導(dǎo)醫(yī)師和學(xué)員進(jìn)行分配,實(shí)現(xiàn)學(xué)員科室輪轉(zhuǎn)安排。輪轉(zhuǎn)科室管理界面如圖10所示。
圖10 輪轉(zhuǎn)科室管理界面
4) 日志管理模塊介紹用戶登錄系統(tǒng)時(shí)會(huì)產(chǎn)生大量的系統(tǒng)日志,系統(tǒng)異常出錯(cuò)時(shí),亦會(huì)產(chǎn)生異常日志信息。住院醫(yī)師規(guī)范化培訓(xùn)管理系統(tǒng)能夠自動(dòng)收集日志信息,為今后日志分析、大數(shù)據(jù)研究奠定基礎(chǔ)。系統(tǒng)異常日志列表如圖11所示。
圖11 異常日志列表界面
住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)基于.NET平臺(tái)的ASP.NET MVC5技術(shù)實(shí)現(xiàn),采用面向接口多層架構(gòu)設(shè)計(jì),并運(yùn)用依賴注入進(jìn)行各層間的解耦,提高開(kāi)發(fā)效率,系統(tǒng)升級(jí)與維護(hù)更加容易。在住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)中,針對(duì)數(shù)據(jù)量大、數(shù)據(jù)結(jié)構(gòu)復(fù)雜、需高并發(fā)讀寫(xiě)的模塊,采用流行的NoSQL數(shù)據(jù)庫(kù)MongoDB進(jìn)行開(kāi)發(fā)與實(shí)現(xiàn)。如知識(shí)庫(kù)學(xué)習(xí)和日志管理模塊,以便滿足將來(lái)數(shù)據(jù)挖掘和大數(shù)據(jù)分析的需要。在國(guó)家和省級(jí)住培系統(tǒng)基礎(chǔ)上,除了實(shí)現(xiàn)基本功能外,拓展新增題庫(kù)管理和輪轉(zhuǎn)排班管理模塊,學(xué)員可隨時(shí)進(jìn)行題庫(kù)訓(xùn)練,指導(dǎo)醫(yī)師可隨時(shí)進(jìn)行日??己?。在輪轉(zhuǎn)排班上,本系統(tǒng)解放了傳統(tǒng)的手工排班,運(yùn)用成熟的輪轉(zhuǎn)排班算法實(shí)現(xiàn)對(duì)學(xué)員輪轉(zhuǎn)管理。在編程模型上,采用C#最新語(yǔ)法async/await進(jìn)行異步編程,提高系統(tǒng)響應(yīng)速度和執(zhí)行速度。
住院醫(yī)師規(guī)范化培訓(xùn)系統(tǒng)的應(yīng)用是醫(yī)院信息化發(fā)展的必然趨勢(shì),目標(biāo)是通過(guò)對(duì)系統(tǒng)的使用,提高住院醫(yī)師培訓(xùn)質(zhì)量和醫(yī)院管理效率,從而將住院醫(yī)師整體培訓(xùn)認(rèn)證工作達(dá)到科學(xué)、高效、規(guī)范的效果。
[1] 黃慮,周穎杰,邵強(qiáng),等.住院醫(yī)師規(guī)范化培訓(xùn)信息管理平臺(tái)建設(shè)[J].現(xiàn)代醫(yī)院管理,2016,14(5):79-82.
[2] 汪鵬,吳昊,羅陽(yáng),等.醫(yī)療大數(shù)據(jù)應(yīng)用需求分析與平臺(tái)建設(shè)構(gòu)想[J].中國(guó)醫(yī)院管理,2015,35(6):40-42.
[3] Dimitrov D V.Medical Internet of Things and Big Data in Healthcare[J].Healthcare Informatics Research,2016,22(3):156.
[4] 鐘麟,員建廈.一種基于MongoDB的大數(shù)據(jù)管理架構(gòu)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2016,42(5):62-64.
[5] Wang X,Chen H,Wang Z.Research on Improvement of Dynamic Load Balancing in MongoDB[C]//IEEE,International Conference on Dependable,Autonomic and Secure Computing.IEEE Computer Society,2013:124-130.
[6] 孟群,邢昊,李岳峰.國(guó)家住院醫(yī)師規(guī)范化培訓(xùn)管理信息系統(tǒng)設(shè)計(jì)與實(shí)施[J].中國(guó)衛(wèi)生信息管理雜志,2015(5):466-472.
[7] 白芙蓉.住院醫(yī)師培訓(xùn)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[8] Corbellini A,Mateos C,Zunino A,et al.Persisting big-data:The NoSQL landscape[J].Information Systems,2017,63:1-23.
[9] 賀建峰,寶媛媛,張俊,等.基于B/S模式的醫(yī)學(xué)實(shí)驗(yàn)室信息平臺(tái)(LIS)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(3):83-86.
[10] Guo C,Zhu K,Zongguo M A.The Design of B2B E-commerce System Based on MVC Model and J2EE[J].Management Science & Engineering,2010,4(4):113.
[11] 申德榮,于戈,王習(xí)特,等.支持大數(shù)據(jù)管理的NoSQL系統(tǒng)研究綜述[J].軟件學(xué)報(bào),2013(8):1786-1803.
[12] 楊靜,華頌文,趙麗萍.基于JavaEE傷口門診患者信息采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2017,34(2):142-146.
[13] Lü Q,Xie W.A Real-Time Log Analyzer Based on MongoDB[J].Applied Mechanics & Materials,2014,571-572:497-501.
[14] 曾強(qiáng),繆力,秦拯.面向大數(shù)據(jù)處理的Hadoop與MongoDB整合技術(shù)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(2):21-24.