賀建峰 寶媛媛 張 俊 胡楊升 張 昊 張明軍
1(昆明理工大學(xué)信息工程與自動化學(xué)院 云南 昆明 650500)2(昆明澳滇科技有限公司 云南 昆明 650000)
?
基于B/S模式的醫(yī)學(xué)實驗室信息平臺(LIS)的設(shè)計與實現(xiàn)
賀建峰1寶媛媛1張俊1胡楊升1張昊1張明軍2
1(昆明理工大學(xué)信息工程與自動化學(xué)院云南 昆明 650500)2(昆明澳滇科技有限公司云南 昆明 650000)
隨著醫(yī)療信息化的發(fā)展和對檢驗要求的提高,醫(yī)學(xué)檢驗實現(xiàn)信息化管理已成為必然趨勢,這也使得LIS在專業(yè)細分多、技術(shù)要素復(fù)雜的醫(yī)學(xué)實驗室信息管理中越來越重要。然而,傳統(tǒng)的LIS大多基于C/S模式進行開發(fā),這種模式開發(fā)的平臺安裝繁瑣,擴展性和分布能力差,實現(xiàn)維護和平臺移植困難。針對這些問題,基于B/S模式,運用SSH框架和ExtJS技術(shù)對LIS平臺進行研究并設(shè)計開發(fā)了一種醫(yī)學(xué)實驗室信息平臺。結(jié)果表明,該平臺有效地解決了傳統(tǒng)LIS的許多不足,完成并實現(xiàn)了醫(yī)學(xué)實驗室的規(guī)范管理與信息融合,提高了工作效率。
檢驗科LISC/SB/S模式SSH框架ExtJS技術(shù)
隨著自動化的醫(yī)學(xué)檢驗儀器和設(shè)備在醫(yī)院中的應(yīng)用和普及,如何更好地實現(xiàn)檢驗結(jié)果的管理和共享,提高醫(yī)學(xué)實驗室的工作效率,成了近年研究和探討的熱門課題[1]。將計算機技術(shù)融入醫(yī)學(xué)實驗室無疑是最好的辦法。醫(yī)學(xué)實驗室信息管理系統(tǒng)(LIS)就是利用計算機網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)存儲、處理技術(shù),快速高效地對醫(yī)學(xué)實驗室信息的采集、存貯、處理、傳輸、查詢和分析等全方位管理的計算機軟件系統(tǒng)。目前,LIS在各大醫(yī)院的使用越來越普遍,它促進了醫(yī)學(xué)實驗室信息化、自動化和網(wǎng)絡(luò)化的高速發(fā)展[2]。
就目前而言,國內(nèi)大多數(shù)醫(yī)院采用的LIS都是基于傳統(tǒng)的C/S模式進行設(shè)計和開發(fā)的,該種模式設(shè)計的系統(tǒng)雖然有個性化的用戶界面和響應(yīng)較快等優(yōu)點,但是由于其需要在每一個用戶下安裝客戶端并且對客戶端硬件要求較高 ,給系統(tǒng)的維護和升級帶來了極大困難[3,4]。除此之外,基于C/S模式開發(fā)的系統(tǒng)跨平臺使用難以實現(xiàn)[5]。如果想要跨平臺,就得重新開發(fā)該系統(tǒng)平臺下的客戶端,這樣又造成了人力和物力的浪費。隨著醫(yī)院檢驗業(yè)務(wù)的不斷拓展,對實驗室管理平臺的可擴展性要求越來越高,并且隨著4G時代的到來和各種移動終端的應(yīng)用普及,C/S模式開發(fā)的LIS平臺劣勢表現(xiàn)的越來越明顯。
基于以上C/S模式開發(fā)的LIS平臺的許多不足之處,我們設(shè)計和開發(fā)了基于B/S模式的醫(yī)學(xué)實驗室信息平臺。這種模式開發(fā)的系統(tǒng)靈活方便,不受客戶端限制,只要有瀏覽器且能上網(wǎng),就能夠登錄服務(wù)器進行信息處理。鑒于醫(yī)院已經(jīng)建立良好的局域網(wǎng)絡(luò)并且與英特網(wǎng)相連,B/S模式又特別適用于在英特網(wǎng)上公布信息和查詢的優(yōu)點,醫(yī)學(xué)實驗室管理平臺的B/S模式開發(fā)引起了醫(yī)療設(shè)備信息化研究對其的廣泛關(guān)注[6]。除此之外,在此種模式下,平臺升級和維護也只用在服務(wù)器端進行配置就可以完成,跨平臺問題也能得到輕松解決。并且隨著B/S模式開發(fā)工具的逐漸完善,系統(tǒng)前端界面不美觀的問題也得到了克服。另外,在該系統(tǒng)開發(fā)過程中,融入了ISO15189為原型和指導(dǎo),將標準化管理的要素融入信息系統(tǒng)的工作環(huán)節(jié),用軟件來規(guī)范操作,履行標準,實現(xiàn)了管理與信息的真正融合[7]。
本醫(yī)學(xué)實驗室信息平臺基于B/S模式,采用輕量級的Tomcat7.0.54作為應(yīng)用服務(wù)器,Oracle11g作為后臺數(shù)據(jù)庫。選擇MyEclipse2013 作為開發(fā)工具,ExtJS4.2作為界面開發(fā)技術(shù)并采用了SSH框架。其中ExtJS是一個用JavaScript編寫的用于創(chuàng)建前端用戶界面的一個與后臺技術(shù)無關(guān)的前端Ajax框架,它提供了一套較為完整和成熟的Web應(yīng)用的數(shù)據(jù)包[8]。而ExtJS4.2與以前的版本相比,功能更加豐富,更加符合面向?qū)ο蟮脑O(shè)計,也更能滿足醫(yī)學(xué)實驗室信息平臺以后不斷擴展和升級的需要,尤其是它在圖形功能的處理方面有了更大的提升,更能滿足LIS平臺在數(shù)據(jù)分析、圖形展現(xiàn)方面的優(yōu)勢。
SSH是一種多層Web應(yīng)用程序的框架[9]。它將Struts2、Spring和Hibernate這三個當前流行的JavaWeb開源框架進行整合,從而構(gòu)建出靈活,易于擴展的多層Web應(yīng)用程序。SSH架構(gòu)分為表現(xiàn)層、業(yè)務(wù)邏輯層、持久層和域模塊層[10]。其中表現(xiàn)層用Struts2框架,業(yè)務(wù)邏輯層用Spring框架,數(shù)據(jù)持久層用Hibernate框架實現(xiàn)。基于SSH框架的Web系統(tǒng)架構(gòu)如圖1所示。Struts2 是Webwork和Struts的結(jié)合,以Webwork為核心,采用攔截器機制來處理用戶的請求,它也是MVC設(shè)計模式的一種實現(xiàn),清晰地劃分了控制部分、事務(wù)邏輯和外觀視圖,使開發(fā)者都可以遵循一個統(tǒng)一的模式進行代碼設(shè)計,簡化了后期系統(tǒng)維護的難度[11]。Spring框架是一個控制反轉(zhuǎn)(IOC)和面向切面編程(AOP)的輕量級J2EE框架,它服務(wù)于所有層面的應(yīng)用程序并有效的組織了系統(tǒng)的中間層對象,使組件的創(chuàng)建與使用更加的耦合。Hibernate是一個功能強大的對象/關(guān)系映射ORM(ObjectRelationalMapping)框架,用于對JDBC訪問數(shù)據(jù)庫的操作進行輕量級封裝[12]。利用Hibernate的ORM技術(shù),可以將數(shù)據(jù)庫中表映射成為對象。
圖1 基于SSH框架的Web系統(tǒng)構(gòu)架圖
這樣在整個基于B/S模式設(shè)計的醫(yī)學(xué)實驗室信息平臺(LIS)開發(fā)中,Struts2負責(zé)從界面獲取表單及表格的數(shù)據(jù)并調(diào)用事務(wù)邏輯層進行業(yè)務(wù)的各種處理;Hibernate負責(zé)與LIS數(shù)據(jù)庫中各功能數(shù)據(jù)表的交互,對數(shù)據(jù)進行CRUD操作;Spring則對Hibernate和Struts2進行管理,以提高應(yīng)用效率。
2.1醫(yī)學(xué)實驗室信息平臺功能模塊組成
基于醫(yī)學(xué)實驗室檢驗環(huán)節(jié)多,標本種類數(shù)量大,專業(yè)細分多,技術(shù)要求較高,質(zhì)量管理嚴格,管理復(fù)雜等特點,要求LIS平臺必須要滿足7×24小時的穩(wěn)定和高效(一是操作上的高效,操作必須敏捷直觀、風(fēng)格統(tǒng)一;二是在工作量數(shù)據(jù)量很大時,系統(tǒng)依然運行快)的工作狀態(tài)等要求,基于B/S模式的醫(yī)學(xué)實驗室信息平臺(LIS)需要實現(xiàn)如圖2所示的功能模塊。
圖2 LIS主要組成模塊圖
2.2檢驗核心業(yè)務(wù)流程
在整個LIS平臺中,檢驗核心業(yè)務(wù)模塊覆蓋了檢驗項目申請、患者準備、患者識別、標本采集、運送、保存到標本接收、處理、檢驗,檢驗結(jié)果確認、生成報告以及報告發(fā)布等眾多檢驗核心環(huán)節(jié),是整個醫(yī)學(xué)實驗室業(yè)務(wù)的主體,所以也是整個LIS平臺設(shè)計的核心模塊。LIS平臺檢驗核心業(yè)務(wù)流程如圖3所示。
圖3 檢驗核心業(yè)務(wù)流程圖
在整個系統(tǒng)設(shè)計中,嚴格參照ISO15189的規(guī)范和要求進行設(shè)計。檢驗核心業(yè)務(wù)模塊要求實現(xiàn)檢驗申請完全電子化,通過與HIS的接口,實現(xiàn)門診醫(yī)囑轉(zhuǎn)化為檢驗申請條形碼,采用條形碼管理,不需要再開紙質(zhì)申請單。系統(tǒng)要能自動檢查收費金額是否有誤。對未交費的檢驗申請樣品要有提示,如因緊急搶救等特殊情況不能收費的,LIS要有相應(yīng)的模塊進行處理。在樣品采集階段,通過掃描樣品上的條形碼就能自動記錄患者姓名及采集時間。不合格被退回的樣品不會進入下一流程,同時有退回原因的記錄。樣品檢驗過程要實現(xiàn)全電子化記錄,對檢驗信息改動者要進行強制記錄,以保證結(jié)果的真實性和檢驗者責(zé)任的明確。要對失控類別進行自動判別,失控時進行自動報警,避免失控時繼續(xù)進行的無效檢驗造成時間和試劑的浪費。在報告審核過程中,審核者在報告發(fā)出前可以看到該患者的其他檢驗結(jié)果,以防止某種疏忽導(dǎo)致同一患者的各種檢驗結(jié)果互相矛盾。報告發(fā)布要實現(xiàn)患者同一診療項目的檢驗結(jié)果只生成一張報告單,以解決報告單繁雜和資源浪費的問題。除此外,報告發(fā)布還應(yīng)該充分發(fā)揮B/S跨平臺易于實現(xiàn)的特點,使患者在具備條件時,在互聯(lián)網(wǎng)通過密碼登錄就能查詢自己的檢驗結(jié)果。
2.3檢驗核心業(yè)務(wù)實體設(shè)計
醫(yī)學(xué)實驗室進行的一系列的業(yè)務(wù)操作,最終的目的就是生成準確的檢驗報告單,根據(jù)這個目的,可圍繞檢驗報告單的內(nèi)容將檢驗核心業(yè)務(wù)涉及到的數(shù)據(jù)分為檢驗申請、檢驗儀器、檢驗項目基礎(chǔ)數(shù)據(jù)、檢驗報告和儀器接口幾大類,從而從這幾大類中抽象出檢驗報告,檢驗結(jié)果、標本檢測記錄、檢驗圖形結(jié)果、檢驗申請表及檢驗項目等實體,實體以及實體關(guān)系如圖4所示。根據(jù)如圖4所示的實體內(nèi)容以及實體間的關(guān)系,就可以構(gòu)造出LIS平臺核心業(yè)務(wù)功能模塊的數(shù)據(jù)模型。
圖4 核心實體其關(guān)系圖
基于B/S模式的LIS平臺界面的開發(fā)主要是以ExtJS4.2技術(shù)為主,JSP和CSS等技術(shù)為輔來實現(xiàn)。具體的業(yè)務(wù)邏輯處理、用戶的數(shù)據(jù)訪問以及合法校驗性等功能的實現(xiàn)通過SSH框架來封裝,并由Java語言來實現(xiàn)。這樣既能保持界面的美觀性和易于維護性,又能保證系統(tǒng)的高效運行。
3.1檢驗核心業(yè)務(wù)功能前端實現(xiàn)
檢驗核心業(yè)務(wù)功能的前端設(shè)計與實現(xiàn)主要考慮到業(yè)務(wù)的內(nèi)容和操作者與界面的交互(包括操作者的習(xí)慣和界面設(shè)計的簡易性)??紤]到C/S模式平臺的業(yè)務(wù)鍵盤操作性特點和操作者的習(xí)慣以及業(yè)務(wù)的特殊性,在該B/S模式設(shè)計的醫(yī)學(xué)實驗室信息平臺前端實現(xiàn)中,改變傳統(tǒng)B/S模式設(shè)計的習(xí)慣,界面操作多增加鍵盤的應(yīng)用,下拉選項框也由ExtJS傳統(tǒng)設(shè)計習(xí)慣的一列增加為顯示兩列,一列是用來進行CRUD操作,一列用來顯示。除此外,該平臺增加了很多本地過濾功能,減少了操作中對數(shù)據(jù)庫的訪問次數(shù),保證該B/S模式LIS平臺的效率問題。檢驗核心業(yè)務(wù)功能模塊界面如圖5所示。在LIS平臺中,檢驗核心業(yè)務(wù)功能模塊界面的打開首先訪問的app.jsp文件中引入的JavaScript和css源,引入相應(yīng)源之后系統(tǒng)平臺即可根據(jù)需要,實例化界面中的表格、表單、窗口等一系列組件,然后再動態(tài)加載該模塊的.js文件,才可以顯示出界面。
圖5 檢驗核心業(yè)務(wù)功能模塊主界面
3.2檢驗報告單的實現(xiàn)
根據(jù)現(xiàn)代醫(yī)學(xué)實驗室檢驗項目繁多,檢驗復(fù)雜,各實驗室檢驗有交叉,病人檢驗報告單也繁多的實際情況和以往醫(yī)學(xué)報告單的不足,本醫(yī)學(xué)實驗室信息平臺對醫(yī)學(xué)報告單的實現(xiàn)做了重新的思考。在該平臺中,檢驗報告單的生成首先要通過LIS從檢驗儀器接收數(shù)據(jù),根據(jù)標本號和LIS中的檢驗申請信息匹配出患者信息和檢驗結(jié)果,然后再根據(jù)患者的ID查詢出檢驗結(jié)果應(yīng)該使用的報告單模板,然后再對模板采取一定的處理方式將患者基本信息和檢驗結(jié)果信息設(shè)入PDF,最后根據(jù)設(shè)入信息的多少,決定打印報告的頁數(shù)。在報告單模板的處理中,不同的模板采取的處理方式不同,如:自我免疫檢驗報告的模板必須要包含患者的骨髓圖片,那么在該模板處理過程中就要對圖片的顯示位置、大小、像素做明確的規(guī)定;患者基本信息,檢驗結(jié)果的安放位置也要區(qū)別于其他模板。但是在所有類型的報告單中,二維碼、患者基本信息和操作員信息是所必須的,所以在處理模板時這一塊可以適當抽取一些公共方法以提高程序的重用性、從而降低耦合。報告單中的二維碼是由系統(tǒng)根據(jù)報告單號自動生成的,在LIS系統(tǒng)中是患者個人信息的唯一標識。報告單通過判斷當前模板的行數(shù)和患者實際產(chǎn)生的檢驗結(jié)果多少來進行自動分頁。由于本系統(tǒng)采用的是B/S模式,它允許患者在允許條件下進行報告單的自助查看和打印。圖6是該系統(tǒng)自動生成的自免檢驗報告單。
圖6 自免檢驗報告單
本文闡述了一種基于B/S模式設(shè)計和開發(fā)的醫(yī)學(xué)實驗室信息平臺(LIS),重點介紹了該平臺中檢驗核心業(yè)務(wù)模塊的設(shè)計思路與實現(xiàn)。實踐表明,基于B/S模式開發(fā)的實驗室信息平臺,具有良好的維護性和可擴展性,有效地解決了傳統(tǒng)C/S模式開發(fā)的平臺的一些問題,提高了檢驗科的工作效率和工作質(zhì)量,充分發(fā)揮了檢驗儀器和實驗室信息管理的自動化水平。該LIS系統(tǒng)的實現(xiàn),必將加速醫(yī)院實驗室全面數(shù)字化信息管理的步伐。
[1] 陳小婷,鄭尾珍.婦幼保健院醫(yī)學(xué)檢驗系統(tǒng)的設(shè)計與實現(xiàn)[J].中外醫(yī)療,2013,32(30):189-190.
[2] 龐微微,張瑜.檢驗信息系統(tǒng)在醫(yī)學(xué)檢驗中的應(yīng)用探究[J].中國醫(yī)院統(tǒng)計,2013,20(3):204-206.
[3] 任慧朋,周宏宇,李強.基于B/S結(jié)構(gòu)的LIS數(shù)據(jù)分析系統(tǒng)設(shè)計[J].中國醫(yī)療設(shè)備,2014,29(3):56-58.
[4] 徐蕾.基于C#語言開發(fā)的醫(yī)院實驗室信息管理系統(tǒng)[D].天津:天津大學(xué),2012.
[5] 楊志和,胡虛懷,王輝,等.混合模式下的高校科研管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2006,16(8):211-213.
[6] 劉勝林,張敘天,王國宏.基于B/S模式的醫(yī)療設(shè)備維護信息平臺的開發(fā)與應(yīng)用[J].中國醫(yī)療器械雜志,2012,36(2):145-148.
[7] 姚晴虹,柏志安,朱立峰.基于ISO15189認證的LIS系統(tǒng)改造探索[J].中國醫(yī)療器械雜志,2012,36(1):59-61.
[8] 張建軍,劉虎.基于ExtJS的J2EE輕量級框架的研究與應(yīng)用[J].計算機應(yīng)用與軟件,2014,31(4):73-76.
[9] 姚敏,王方石.基于MVC模式和SSH框架的高效科研管理系統(tǒng)設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2014,10(11):2485-2487.
[10] 張紅衛(wèi),賈松濤,李曉,等.基于SSH的多語種構(gòu)件庫管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2010,27(5):139-143.
[11] 祝文軍.基于Struts框架和Hibernate技術(shù)的Web應(yīng)用的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué),2006.
[12] 李天明,何月順.基于ExtJS技術(shù)與SSH框架的權(quán)限管理研究[J].計算機應(yīng)用與軟件,2011,28(5):165-167,205.
DESIGNANDIMPLEMENTATIONOFB/SMODEL-BASEDMEDICALLABORATORYINFORMATIONMANAGEMENTSYSTEMPLATFORM
HeJianfeng1BaoYuanyuan1ZhangJun1HuYangsheng1ZhangHao1ZhangMingjun2
1(School of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500,Yunnan,China)2(Aodian Technology Co.Ltd ,Kunming 650000,Yunnan,China)
Withthedevelopmentofmedicalinformatisationandtheincreaseinmedicaltestrequirements,torealisetheinformatisationmanagementonmedicaltestshasbecomeaninevitabletrend,andthismakesthelaboratoryinformationmanagementsystem(LIS)playsincreasinglyimportantroleinmedicallaboratoryinformationmanagementwhichcontainsmanyspecialisationsandcomplextechnicalelements.However,traditionalLISsaremostlydevelopedbasedonC/Smode,andthedevelopmentplatformofsuchmodeiscumbersomeininstallationandhaspoorexpansibilityanddistributionability.Besides,itisdifficultformaintenanceandplatformtransplantationaswell.Fortheseproblems,inthearticlewestudytheLISplatformbasedonB/SmodeandbyemployingSSHframeworkandExtJStechnology,anddesignanddevelopamedicallaboratoryinformationplatform.ResultdemonstratesthattheplatformovercomesmanydisadvantagesoftraditionalLISeffectively,completesandimplementsthenormalisedmanagementandinformationintegrationofmedicallaboratory,andimprovesworkefficiency.
ClinicallaboratoryLISC/SB/SmodeSSHframeworkExtJStechnology
2014-11-02。國家自然科學(xué)基金項目(112650 07)。賀建峰,教授,主研領(lǐng)域:計算機技術(shù)與應(yīng)用。寶媛媛,碩士。張俊,碩士。胡楊升,本科。張昊,碩士。張明軍,工程師。
TP391
ADOI:10.3969/j.issn.1000-386x.2016.03.018