吳月芳,孫培莉,胡勇,朱豫川,于海瑛
面向社區服務的呼吸科輔助診療系統的研制
吳月芳,孫培莉,胡勇,朱豫川,于海瑛
目的借助于計算機技術來統一、有序、高效地對患者就診信息進行處理,對就診資料進行有效的統計分析,找出和發現與疾病密切相關的危險因素,提高常規手工管理作業效率。方法以南京醫科大學第一附屬醫院與南京理工大學醫院開展的支氣管哮喘社區干預研究項目為背景,在近2年的實踐和全面分析需求的基礎上,完成面向社區服務的呼吸科輔助診療系統的設計與實現。結果所實現的輔助診療系統采用先進的AJAX(Asynchronous JavaScript XML)技術,應用JSP(Java Service Page)技術開發,后臺數據庫使用MS-SQL Server。系統由病例資料錄入、字典維護、就診預約、數據庫操作、查詢統計、疾病危險因素智能分析、權限管理和系統設置八個主要功能模塊組成,系統界面友好、操作方便、穩定可靠。結論實現了社區呼吸科診療工作的簡單化、程序化、智能化,顯著減少醫師的工作量,提升工作效率。本系統的特色之處在于應用數據挖掘技術實現了疾病危險因素智能分析功能,能給醫師診斷病情、總結病因提供智能分析建議。
面向社區服務;呼吸科;輔助診療;智能分析;瀏覽器/服務器
隨著社會經濟的發展和人民群眾日益增加的衛生需求,社區衛生服務在京、津、滬等城市迅速發展[1-2],并逐步推進到其他中小城市。社區衛生服務的發展不僅提高了衛生保健的公平性和效率,并且在提高居民的健康水平和控制醫療費用增長方面起到了卓有成效的作用[2]。然而,社區衛生服務有著其自身的特殊性,社區醫院需要針對實際情況,在軟硬件等方面開展相應的變革創新,以適應人民群眾對衛生服務的需求。在這種新形勢下,南京醫科大學第一附屬醫院與南京理工大學醫院針對社區特性,開展了呼吸疾病的相關研究。在研究中發現,呼吸科門診登記項目繁多,工作量大,常規手工管理作業效率低下,亦不便于從就診資料中進行有效的統計分析,找出和發現與疾病密切相關的危險因素。雖然已有很多軟件系統可以用于輔助醫師開展工作〔例如醫院信息系統(HIS)[3-4]〕,但是很多社區醫院采購能力有限。此外,由于HIS本身非常復雜,在此基礎上做特定目的(如針對呼吸科診療)的二次開發,除了需要熟悉HIS架構的軟件工程師,還需要專門的醫學人才梳理業務流程,因而需要耗費較大的人力財力,這些都是社區醫院所不能承受的。鑒于此,本研究針對社區衛生服務的特性,在綜合考察呼吸科臨床診療特性的基礎上,借助于計算機技術來統一、有序、高效地對患者就診信息進行處理,研發了面向社區服務的呼吸科輔助診療系統。
1.1 全面分析系統需求以南京醫科大學第一附屬醫院與南京理工大學醫院開展的支氣管哮喘社區干預研究項目為背景(2009年8月—2011年7月),在充分實踐的基礎之上,完成了面向社區服務的呼吸科輔助診療系統的全面需求分析。
1.2 運用先進技術,研發穩定、高效系統為使得所開發的系統穩定、高效,項目組采用了先進的AJAX(Asynchronous JavaScript XML)、JSP(Java Service Page)及MS-SQL Server技術。之所以采用該技術,旨在達到以下目標。
1.2.1 使用AJAX技術可以提高系統運行效率,增強用戶體驗AJAX是基于標準化、規范化并且能夠被廣泛支持的技術,不需要下載任何插件,更不需要虛擬機的支持。AJAX將成為未來Web發展標準和Web應用的可用性理論的統一,它極大地改善了Web應用的可用性和用戶的交互體驗,提高了客戶端的利用效率,減輕了服務器的負擔,在Web應用的發展中占據了重要位置。應用AJAX[5]技術的面向社區服務的呼吸科輔助診療系統,仍然采用B/S模式的三層構架,只是在交互方式上采用異步交互方式,大大減輕了服務器的壓力,縮短了用戶等待時間,提高了該系統工作效率,帶來了良好的用戶體驗。
1.2.2 使用JSP技術提高系統的跨平臺擴展能力JSP標準是由Sun公司主導[6],并采納了計算機軟硬件、通信、數據庫領域多家廠商的意見而共同指定的技術。JSP是一種基于Java的動態Web頁面技術。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序片段,然后將執行結果以HTML格式返回客戶端。程序片段可以操作數據庫、重新定向網頁以及發送E-mail等。所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果,JSP對客戶瀏覽器要求很低,無插件、ActiveX、Java Applet,甚至無Frame的瀏覽器均可以訪問它。JSP秉承了Java的“一次編寫,到處運行”的精神,既同硬件平臺無關,也同操作系統和Web服務器無關,是一種與平臺無關的技術。正是由于JSP的開放性,所以很多的廠商開發了多種平臺下的JSP開發工具、JSP引擎,使JSP的平臺無關性具有了現實的基礎。為提高系統的跨平臺能力,我們選用了JSP技術來開發服務端應用。
1.2.3 使用高級關系數據庫系統,提高系統處理數據能力本系統單機版中[7]使用的是ACCESS小型數據庫,不能滿足日益增長的數據處理需求。2005年11月,微軟公司發布了其數據庫軟件的升級版本SQL Server 2005,它在企業級支持、商業智能應用、管理開發效率等方面有了顯著增強[8]。它提供集成的數據管理和分析平臺,可以幫助組織更可靠地管理來自關鍵業務的信息、更有效地運行復雜的商業應用;而通過其中集成的報告和數據分析工具,企業可從信息中獲得更出色的商業表現力和洞察力。從SQL Server 2000到SQL Server 2005,不僅僅是數據庫系統具有更高的性能、處理能力,新版本的系統還帶來了許多新的、在舊版本中從未出現的特性。而這些新特性也都是和現代數據庫的發展方向一致的。由于該數據庫系統具有易部署、易維護、性價比高等諸多優良特性,因此,在本研究中使用了MS SQL Server 2005作為后臺數據庫系統。
2.1 系統整體結構基于AJAX技術的面向社區服務的呼吸科輔助診療系統的體系架構見圖1。共分為三層:第一層是位于Web瀏覽器端的展示層,負責和用戶之間的交互,如將系統運行結果展示給用戶,收集用戶的數據傳遞給AJAX引擎并進而傳送到服務器端。第二層是Web服務層,也是本系統的核心,所有功能模塊的業務邏輯均在此層實現。第三層是后臺數據庫,負責數據的存儲及各種業務對象的持久化。
2.2 系統功能模塊實現面向社區服務的呼吸科輔助診療系統主要由病例資料錄入、就診預約、字典維護、查詢統計、疾病危險因素智能分析、數據庫操作、系統幫助以及系統設置八個功能模塊組成(見圖2)。本系統運行的初始界面:八個功能模塊相應的功能按鈕在界面的左側依次排列。點擊相應的按鈕則進入相應的功能模塊界面。此外,當用戶進入系統時,和該用戶相關的一些信息會以“院內公告”的形式在界面中央提示,方便用戶及時獲取和自己密切相關的信息(見圖3)。

圖1 基于AJAX技術的面向社區服務的呼吸科輔助診療系統體系架構Figure 1 System architecture of the community service oriented respiratory assisted treatment system based on AJAX technique

圖2 系統功能模塊劃分Figure 2 System functional modules

圖3 診療系統首頁畫面Figure 3 Welcome page of the respiratory assisted treatment system
2.2.1 病例資料錄入當接診醫師點擊界面左側的病例資料錄入按鈕時,則出現相應的界面(見圖4)。在病例資料錄入界面中,提供了多種功能供使用,以提高病例資料錄入的效率,如初診、復診錄入以及病例資料的修改。此外,實踐中我們發現,患者就診信息的完善與否對后續的診斷治療以及疾病的危險因素分析至關重要。鑒于此,本系統在實現就診病例資料錄入模塊的功能時,著重考慮了以下幾點:(1)錄入方便性:對于再次就診的患者,系統自動提供患者的歷次診療信息,方便醫師了解患者的診療歷史,提高診療的針對性。接診醫師也可以根據需要自定義查詢患者既往的就診信息。(2)數據嚴密性:病例信息錄入完成后,原則上不允許修改,尤其是醫囑用藥部分。如確需修改,則需由上級用戶授權,并且每個醫生只能修改自己記錄的診療信息,后臺日志完整記錄修改痕跡,從而能夠提供真實的診療歷史信息。(3)靈活的慢性病管理支持:提供慢性病診治需要的常用表格、分級診治指南,且可以隨著疾病診治進展不斷更新。數據錄入中,可根據錄入癥狀與檢查化驗資料,點擊所需指南或公式,給出患者的疾病診斷、分期、級別,進行相應的級別治療,以協助醫生、護師嚴格規范執行疾病的規范化診斷與治療。

圖4 患者就診信息錄入界面Figure 4 Interface for inputting the diagnostic data of the patient
2.2.2 就診預約為方便患者預約就診,提高醫院工作效率,本系統還實現了一個基于工作流的社區醫院網上門診預約系統,任何患者可以通過Internet接入本系統開放的預約界面進行就診預約。系統采用輕量級工作流引擎來分配、調度、管理和監控任務的執行。本預約系統將用戶分為三種類別:患者用戶、醫師用戶及系統管理員用戶。患者類用戶主要是查詢醫生信息、查詢病歷信息以及查詢和修改自己的預約信息;醫師類用戶登錄后,可以依據自己的實際情況,提供預約時間信息表,對接受自己治療的患者病歷進行創建、修改和刪除等維護工作;管理員用戶只能添加、刪除和管理醫師賬戶,不能修改醫師和患者的接診預約信息。
2.2.3 數據字典為提高系統的可擴展性,系統功能模塊與數據結構的獨立性,進而增強系統的通用性,本系統使用了一種可擴展的數據字典體系的結構設計方法,用UML對系統進行分析和建模[9]。例如,為了減少醫師錄入的工作量,對特定字段的常用值做一個相應的數據字典。典型的字段包括病史、藥物、危害物、家族史、誘因、過敏原、病因(癥狀)、接診醫師等。數據字典中這些字段的內容均可添加、刪除和修改。對于配備了數據字典的字段,醫師在錄入患者資料時只需要簡單的選擇合適的數據項即可,不再需要打字錄入。通過應用數據字典,既提高了軟件的易用性,也使得系統具有良好的擴展性。
需要注意的是,數據字典體系結構的設計非常重要,很關鍵的一點是要從系統的客觀需要出發,分析各功能模塊需要共享的公用數據和需要提供的接口,從而確定數據字典的類型。
2.2.4 查詢統計本系統提供了強大的查詢及統計功能,用戶可以自定義查詢條件、查詢結果。查詢統計結果既可以用圖表的形式形象展示,亦可方便地導出到Excel文件做進一步處理。此功能模塊也是危險因素智能分析功能模塊的預處理模塊。
本系統充分利用了AJAX技術,并采用數據聯動框方法。所謂“聯動下拉框”,即若干個下拉列表組合在一起,讓用戶依次選擇其中的條目,這樣逐步地縮小范圍,逐漸得到最精確的選項,這樣用戶只要知道某一方面的信息即可查找它的相關信息。
采取這種聯動下拉框的優勢有以下三個方面:(1)提高程序效率:客戶端只從服務器端獲取所必需的這一部分數據,大大減少了程序的加載時間。(2)降低網絡流量:相對于將查詢相關聯的信息均一次性發給客戶端而言,不但減少了服務器資源的使用,也減少了網絡流量。(3)良好的用戶體驗:減少了用戶等待頁面加載的時間。
2.2.5 危險因素智能分析如何找到疾病的相關危險因素,對于疾病的預防、診斷以及治療都具有重要的意義。為此,在本系統的智能危險因素分析模塊,采用了數據挖掘技術來實現疾病的相關危險因素智能分析功能。
數據挖掘要得以有效實施,高質量的基礎數據是必要條件。為此,我們在設計呼吸科輔助診療系統時,考慮到后續數據挖掘工作的需要,錄入的就診信息非常全面,并且在數據的一致性、完整性方面加以特別地控制。為了發現其中哪些因素和某種疾病是密切相關的,應用了數據挖掘技術。數據挖掘是采用適當的機器學習算法來進行數據分析、揭示數據內部蘊藏知識的技術,能夠從大量的含有噪聲的數據中挖掘出隱含其中的知識和信息[10],是當前數據分析的先進手段之一。
危險因素智能分析模塊由三部分構成:數據預處理、知識挖掘、知識可視化。數據預處理進行數據的清洗、整理和規則化,在盡量不丟失數據所含信息的前提下用利于后續數據挖掘的形式來表示數據;在數據挖掘階段,首先使用粗糙集理論進行數據的屬性約簡,然后使用Apriori[11]算法來挖掘出關聯規則(知識),通過癥狀與診斷疾病共同出現的頻率與規則設定的最小置信度和最小支持度進行比較,判定頻繁項集,從而發現這些常見癥狀與疾病的關聯規則。知識可視化則是以用戶易于理解的圖形方式來顯示挖掘所得到的知識。
2.2.6 數據庫設計由于本系統采用的是關系型數據庫,為了構建適合用戶需求的數據庫,保證數據表結構合理,數據存取有序,便于查詢和修改。本系統采用了以下步驟進行數據庫的設計:(1)分析整個系統的需求,確定數據庫中必須包含的信息。在對面向社區服務的呼吸科輔助診療系統數據流程進行分析的基礎上,獲取目前數據處理過程中所需要的表格和報表的副本,從而能夠明確數據庫中需要包含的字段和表。(2)確定面向社區服務的呼吸科輔助診療系統需要記錄的元素。列出系統所有需要記錄的數據項,并在其旁邊給出相應的示例,從而便于確定數據類型。(3)識別表和字段。確定實體,建立實體關系圖:為每個數據表分配字段,并賦予有意義的名稱;為每一字段指定示例數據、數據類型和估計的字段容量。字段及表名用英語來描述,盡量使用實際業務流中的專業詞匯。(4)定義鍵碼和關系。根據實體關系圖設置主鍵和外鍵,并根據可能的業務操作設置參照完整性。(5)進行數據規范化。根據系統用戶規模和數據需要,數據表設計為滿足第三范式準則。但在部分情況下,為了提高數據庫的查詢效率,采用了折中原則,增加了數據冗余。
2.2.7 權限管理出于系統安全性的考慮,系統的權限管理顯得尤其重要。傳統的權限控制是通過將訪問權限直接和用戶對應起來的方式實現的。隨著網絡的普及,用戶可訪問的信息資源的結構日趨復雜,規模日益增大,使用這種傳統的訪問權限控制機制,使得對信息存取權限的管理變得十分復雜和繁重,難以滿足現實的要求,由此產生了基于角色訪問控制機制(role-based access control,RBAC)[12]。在我們開發本系統的時候,通過引入RBAC模型,提出了一套適用于醫療信息管理系統的基于角色權限控制應用模型。應用這種模型,可以直接將企業的組織結構映射到信息系統中,使得對用戶的管理更加直觀,在很大程度上簡化了權限管理工作。在實際應用中的情況表明,該權限控制的管理方式具有簡單、高效和安全的特點,能夠很好地滿足實際應用的需要。
2.3 知識產權本研究成果已經申報了軟件著作權《呼吸科門診登記系統V1.0》。
本研究介紹了基于AJAX和JSP的面向社區服務的呼吸科輔助診療系統的設計與實現。所實現的系統具有低成本、部署便捷、穩定性高、擴展性強的特點。目前,該系統已經在南京醫科大學第一附屬醫院及南京理工大學醫院的呼吸科臨床與科研中得到應用,也適合其他社區醫院推廣使用。本系統的研發具有以下幾個方面的意義:
首先,建立了疾病診治流程規范、技術先進的面向社區服務的門診應用系統,綜合考慮了呼吸科門診的特性和社區業務的特殊性,系統具有較強的應用針對性。其次,本系統采用了先進的技術,所實現的系統穩定性高,可擴展性強,并預留了HIS接口,可和每家醫院現有的門診軟件或是實驗室檢查報告系統連接,易于資料保存,省去了輔助化驗檢查輸入的繁瑣工作,并具備圖片存儲、發布與共享的功能。在界面風格與操作方式上與常用的辦公軟件如OFFICE保持一致,并提供了強大的幫助功能,使得用戶可以快速掌握本系統的使用。查詢功能模塊設置了靈活的自定義的檢索功能,可通過姓名、身份證號碼、就診卡號快速搜索到已登記的庫內患者。可根據需要設置了不同目標的統計數據導出功能,便于臨床研究與衛生統計。再者,基于數據挖掘技術的疾病危險因素分析是一個重要功能,對于呼吸疾病的預防、診斷以及后續的治療具有重要的意義。基于挖掘技術得到的疾病危險因素決策規則,具有科學性、客觀性以及實用性。通過對所獲取的決策規則的定性分析可以發現,決策規則所包含的知識與人類的認知是相符的。
該系統的推廣應用可以使社區呼吸科診療工作的簡單化、程序化、智能化,顯著減少接診醫師的工作量,提升工作效率,也有助于提高就診患者的滿意度。
1 鮑勇.社區衛生服務實用指南[M].上海:上海科技出版社,2004:289.
2 胡紅濮,雷行云,陳荃,等.社區衛生服務監督管理信息系統的構建[J].中國全科醫學,2011,14(9):2847-2849.
3 鐘建亮.關于醫院統計人員參與醫院HIS系統管理的幾點思考[J].中國醫院統計,2007,14(4):333.
4 金偉.實施醫院信息化建設管理的幾點體會[J].中國醫院統計,2006,13(1):78-79.
5 吳吉義,平玲娣.Web 2.0主流應用技術-AJAX性能分析[J].計算機工程與設計,2008,29(8):913-945.
6 李安強.JSP/Servlet技術在管理信息系統中的應用[J].青海大學學報(自然科學版),2004,22(4):66-68.
7 吳月芳,孫培莉,于海瑛.呼吸科輔助診療系統的設計與實現[J].中國數字醫學,2011,6(8):60-62.
8 龐婭娟,房大偉.SQL Server應用與開發范例[M].北京:人民郵電出版社,2009.
9 譚敏,劉連臣,倪晚成.基于UML的信息模型中數據字典的設計與實現[J].計算機工程與設計,2008,29(4):849-854.
10 郭珉江.數據挖掘技術在輔助臨床診斷中的應用現狀研究[J].中國數字醫學,2010,5(3):67-69.
11 張萌,梁正,祝思清.基于關聯規則的數據挖掘在醫療診斷中的應用[J].山東科學,2008,21(1):80-82.
12 林磊,駱建彬,鄧憲.管理信息系統中基于角色的權限控制[J].計算機應用研究,2002,19(6):82-84.
Community Oriented Computer-assisted System of Diagnosis and Treatment of Respiratory Diseases
WU Yue-fang,SUN Pei-li,HU Yong,et al.Nanjing University of Science and Technology Hospital,Nanjing 210094,China
ObjectiveTo reduce the workload and improve the work efficiency of medical staff,and investigate the risk factors of diseases through unified,orderly and efficient computed-aided diagnostic tools.MethodsBased on the collaborative project"Research on Community Intervention of Bronchial Asthma",we designed and implemented a community-oriented computer-assisted diagnosis and treatment system of respiratory diseases after nearly two years'trial and improvement.ResultsThe advanced AJAX and JSP techniques are used to develop the system and MS-SQL Server is used as the database server.The system has eight modules including clinical data input,dictionary maintenance,appointment,database operation,query statistics,risk factors intelligent analysis,user access control,and system configuration.In addition,the implemented system achieves high stability,friendly interface and easy operation.ConclusionThe system significantly reduces the workload of physicians.Simplicity,effectiveness and intelligence of respiratory diagnosis can be obtained by applying the system.The most outstanding characteristic of the system is that it can provide intelligent analysis of risk factors for disease,which will help doctors to improve their capability of diagnosing the illness.
Community service oriented;Respiratory department;Assisted treatment;Intelligent analysis;Browser/Server
R 194.2
A
1007-9572(2012)11-3602-04
10.3969/j.issn.1007-9572.2012.11.012
江蘇省衛生廳支撐項目《支氣管哮喘社區干預研究》(XK13 200904)
210094江蘇省南京市,南京理工大學醫院(吳月芳,胡勇,朱豫川);南京醫科大學第一附屬醫院呼吸內科(吳月芳,孫培莉);南京理工大學計算機科學與技術學院(于海瑛)
孫培莉,210029江蘇省南京市,南京醫科大學第一附屬醫院呼吸內科;E-mail:njyudj@njust.edu.cn