馮靜,馮媛
1延安大學附屬醫院,陜西延安716000;2第四軍醫大學西京醫院,西安710032
強直性脊柱炎(ankylosing spondylitis,AS)是一種慢性進行性自身免疫性疾病[1],其發病受環境、季節、地域及飲食習慣等多方面因素的影響。由于該病好發于青壯年男性且致殘率高,近年來醫學界對本病的重視程度逐漸加大。然而,由于發病機制以及易感因素尚不明確,同時缺少大量的病情以及療效統計數據,目前本病仍然沒有特效的治療方法,病情控制較為緩慢[2]。針對強直性脊柱炎這一危害性強,且處在初級研究發展階段的臨床病癥,更需要信息化手段來對其進行控制以及統計治療,以促進該類疾病的研究[3]。
在項目開發過程中,需求分析是非常重要和關鍵的一步。要對強直性脊柱炎建立一個實用的信息采集系統,必須對用戶的各項信息需求以及處理功能進行合理組織和統籌安排。根據用戶需求描述,對AS信息采集處理軟件系統進行需求建模分析,系統的整體功能用例圖如圖1所示。

圖1 系統功能用例圖
在系統功能用例圖中可以看出,系統的用戶包括三類角色:分別是主任、項目組長和錄入員,不同的角色對系統具有不同的操作權限。
AS信息采集處理軟件系統可以為分布在不同地區的用戶提供一個平臺,很好地解決了醫療數據共享,使得醫療數據多元化,從而為用戶分析患者的發病情況和緩解方法提供了大量的數據來源。不同醫院的錄入員通過與系統界面進行交互,可以管理自己錄入的患者信息,錄入員不能查看其他錄入員錄入的信息;同一個醫院的項目組長可以管理自己創建的錄入員錄入的患者信息;作為系統最高權限的主任可以查看所有用戶錄入的患者信息,保證了強直性脊柱炎患者醫療信息的保密性和安全性。
該系統對體系結構的需求為“瀏覽器/服務器結構”,即“B/S結構”[4]。基于B/S體系結構是Web應用的發展趨勢,具有現代化和健壯性等優點。允許重用組件的面向對象體系結構作為三層概念的基礎。根據B/S結構的特點[5],該課題選取目前比較適合該結構的Java語言作為開發語言,并通過基于Java的J2EE開發平臺將其實現[6]。該系統將基于J2EE的Web應用分為三個層次:表示層、業務邏輯層和數據持久層。
表示層實現用戶界面和用戶與系統的交互,用戶通過瀏覽器登錄系統進入系統管理頁面。用戶可以通過該層訪問系統,登錄系統成功后,可以對患者信息、用戶信息和藥物信息進行查看、刪除、添加、修改、查詢等操作,同時可以查看所有患者的醫療信息統計。
業務邏輯層使用Java語言實現,接受表示層傳來的請求,將相關操作傳遞到對應的數據持久層,并接受返回的信息給表示層顯示。業務邏輯層將表示層與數據庫訪問分離,提高了系統的安全和性能。用戶的請求信息首先通過業務邏輯層的類進行處理,再通過調用數據持久層的數據訪問類與數據庫進行交互,實現數據庫中醫療數據的更新。
數據持久層也稱數據訪問對象層。該層采用輕量級的組件,將存放在數據庫內的用戶、患者、藥物等表信息,映射成對應的對象,并反映對象直接的參照、繼承等關系,同時也包含了對持久化對象的基本數據操作部分,使得可以利用面向對象的思想添加、刪除、修改及查看數據庫中的各種數據。
數據庫作為醫療數據的容器,通過數據持久層的代碼被訪問。在醫療數據被輸入到數據持久層進一步處理之前,數據庫用于醫療數據存儲。這就意味著醫療數據一旦被輸入到該層,該數據庫中的輸入將迅速減小,數據庫立即對所有模塊可用,因此醫療數據的正確性進一步提升。同時,也可以更好地實現綜合的報告和統計。
在AS信息采集處理軟件系統的三層結構中,表示層用戶提供友好的登錄界面,模型層則用于數據的存儲,中間的控制層則用于解決各類用戶對信息管理和信息服務的需求,是AS信息采集處理軟件系統建設的主要內容。系統的功能結構如圖2所示。

圖2 系統功能結構圖
根據系統功能的規劃,總體歸納為如圖2所示的八個主要一級模塊,用于解決用戶對信息管理和信息服務的需求,系統每個模塊的功能描述如下。
1.3.1 用戶登錄模塊實現用戶的正常登錄和退出。所有用戶的訪問操作整體受登錄模塊的控制,一旦有非法登錄的用戶,將自動返回到登錄頁面。不同的用戶有不同的操作權限,不同的信息記錄也有不同的被訪問權限。主任權限最高,可對所有模塊進行管理,項目組長對醫療信息統計和數據管理模塊沒有權限,錄入員對醫療信息統計模塊、數據管理模塊和用戶管理模塊沒有權限,這樣就保證了系統的保密性。
1.3.2 用戶管理模塊實現對用戶信息的錄入、認證、權限管理功能。
1.3.3 健康狀況管理模塊實現患者信息的查詢、錄入、修改、刪除和打印功能。
1.3.4 醫療記錄管理模塊實現對患者醫療信息記錄的查詢、錄入、修改、刪除和打印功能。
1.3.5 藥物信息管理模塊實現藥物信息的查詢、錄入、修改和刪除功能。
1.3.6 醫療信息統計模塊結合健康狀況調查表和患者醫療信息,實現對患者用藥、關節受累、平均病程和發病年齡、評分結果以及HLA-B27人數統計的功能。
1.3.7 數據管理模塊實現將數據以Excel表格形式導入與導出,同時提供數據的備份與恢復功能,保證了系統的安全性。
1.3.8 幫助模塊提供常見問題及解答信息。
AS信息采集處理軟件系統共分為八個模塊。其中,健康狀況管理模塊、醫療記錄管理模塊及醫療信息統計模塊為本系統中的三個核心模塊,其設計和實現過程如下。
在健康狀況管理模塊中,用戶請求的處理主要由圖3所示的類來實現,struts-config.xml為控制層的配置文件,負責管理用戶請求的分發。當用戶發出查找、刪除、添加、保存等請求時,根據配置文件strutsconfig.xml把請求轉發給適當的Action類。Action的execute方法被執行,execute方法調用模型層的數據訪問接口類,將控制層的醫療數據轉化為持久對象,對數據庫進行操作,用戶請求得到處理。該模塊的類圖如圖3所示。

圖3 健康狀況管理模塊類圖
ShowList類查看患者列表,ShowInfo類為查看患者信息,Showagree為查看知情同意書,ShowLinkInfo類為查看聯系人信息,ShowResearch類為查看健康狀況調查表信息,SaveHealth類為添加患者信息,FindBy Pname類為通過患者姓名查找該患者信息,FindByPid為通過患者id查找該患者信息。
醫療記錄管理模塊有七個選項卡,頁面中每個保存按鈕對應一個表單,一個或多個表單對應一個表。如患者用藥選項卡對應患者用藥表,而不良記錄一到四,這幾個選項卡均對應不良反應表,通過參數次數來與頁面匹配。
圖4為醫療記錄管理模塊中所設計實現的類及其關系。以修改用藥情況為例說明修改的流程,其實現步驟如下:
①用戶登錄系統成功時,系統記錄登錄用戶信息,同時記錄該用戶角色為主任、項目組長還是信息錄入員;

圖4 醫療記錄管理模塊類圖
②用戶進入系統頁面后,選擇醫療記錄管理模塊,在所有患者列表中選擇需要修改的患者,并進入該患者的用藥情況頁面;
③選擇對信息進行修改,信息修改完成后進行提交處理;
④表單正常提交時,在sturts-config.xml中查找匹配的UpdateMedicine類,實現業務操作;
⑤獲取表單各項提交值,由數據訪問對象類將其轉換為持久化對象,進行數據庫的更新操作;
返回操作是否成功,0代表提交狀態不正常顯示頁面異常;1則轉到患者用藥情況的頁面,該頁面在struts-config.xml中已經進行配置。到此,該項業務操作完畢。
在醫療記錄管理模塊中,系統實現的創新點和難點為評分系統的實現。長期以來,對于強直性脊柱炎的疾病活動度的評估方法多采用Bath法(如:BA SDAI、BASFI、BASMI等)。
荷蘭的Lukas C等進行了一項研究,發現新的評估方法(ASDAS)較以往的評估手段更加直觀、更有效、判別能力更強。ASDAS中主成分分析顯示:其中有3個因素的本征值>0.75(患者評估、外周關節評估和急性期蛋白);判別功能分析顯示:其判別正確率最高可達72%(以往是<50%);該公式包含5項變量:總體背痛評分、患者總體評分、晨僵時間、C反應蛋白和血沉。
在該模塊中,不僅保留了對BASDAI、BASFI的評分,同時加入了新的評估方法ASDAS,使得系統的內容更加完善和實用。在評分結果中,用戶可以查看每次隨訪ASDAS、BASDAI、BASFI、BASMI、MRI和Harris的評分數值,為了方便醫師對患者的評分進行查看,該系統提供兩種形式的評分結果形式、數值形式和圖示。圖示形式顯示患者多次隨訪評分結果的變化曲線,醫師可以根據患者的評分變化曲線對患者病情進行判斷。
健全的、發達的、現代化的統計工作,能夠及時地調查、分析和提供準確、豐富的統計數據,作為醫務人員醫療工作和科學研究的向導[7]。統計在管理決策和進行決策控制過程中起到重要作用。首先,統計是制定決策的依據,要進行科學決策,就必須掌握及時、準確、全面的統計信息。信息不準確或不全面可能導致決策的失誤。其次,統計為決策提供科學方法,對占有的大量統計信息進行加工整理,把原始信息變為決策信息,并對決策方案進行評論、論證,以便選出最優方案。最后,統計也是決策控制的手段。要對決策的實現進行有限控制,就要對決策實施情況進行信息反饋,并依據反饋信息對決策方案進行調整或修訂。
在AS信息采集處理軟件系統中,醫療信息統計模塊的功能共包括八個方面:患者用藥信息統計、關節及關節外表現統計、患者平均病程與平均發病年齡統計、BASDAI的統計、BASFI的統計、ASDAS的統計和HLA-B27檢驗結果的統計。統計信息以多種方式呈現,包括報表顯示,條形圖顯示以及餅狀圖顯示,本節詳細介紹統計功能的實現過程。

圖5 醫療信息統計模塊類圖
醫療信息統計模塊的類圖如圖5所示。Show BASFI為查看BASFI評分的統計,ShowBASDAI為查看BASDAI評分的統計,ShowASDAS為查看ASDAS評分的統計,ShowArtus類為查看關節及關節外表現的人數統計,分為骶髂、髖關節、脊柱和外周的統計,UseMedicine類為查看使用各類藥物的人數統計,HlaStatistic類為查看HLA-B27人數統計,MeanAge類為查看患者的平均病程和平均發病年齡。
在統計圖中包括條形統計圖和餅狀圖兩種圖。條形統計圖視圖中分為2個子模塊:文字說明與繪圖區域。條形圖旨在用多個不同填充色的矩形框來展示不同比較對象之間的數量關系。餅狀圖則能清晰地看到各部分占總量的百分比,以及部分與部分之間的數量對比關系。
該系統已經在實際中得到應用。以下相關病例數據均來自本單位實際數據。符合1984年美國紐約修訂標準或2009年ASAS頒布的SpA分類標準,且未合并其他系統嚴重疾病。
由于篇幅有限,這里僅以信息統計部分指標和結果為例,說明該系統的應用情況和效果。根據1984年的紐約修訂標準和2009年ASAS推薦的中軸型SpA的分類標準,目前在骶髂關節分級方面,X線、橫斷CT和MRI影像已經成為骶髂關節病變觀察、定位、定性的重要指標。依據X線的診斷分級,我們對AS患者關節受累狀況與病程進行了統計,結果如圖6所示。

圖6 關節受累統計
從圖6可見,系統可對錄入的AS患者進行各個受累關節(脊柱、髖和骶髂關節)統計,并可以分年齡、性別分別進行統計分析。年齡中又將年齡段以16、30歲為基礎進行分割統計。系統統計的骶髂關節炎Ⅲ級的性別、發病年齡分布可分別以柱狀圖和餅狀圖顯示。
通過對于基于Web的強直性脊柱炎醫療信息采集處理軟件系統的應用,將患者的基本信息、醫療信息等內容集成起來,實現信息的統一管理。通過對系統中相關的AS信息資料的統計,分析患者的癥狀體征、免疫狀態和遺傳個體差異等因素對病情發展及治療效果的影響,以期客觀評價目前AS的診治現狀,提高臨床醫師的診斷、醫療及評估水平,并為AS患者的診治及研究提供較為充分的循證醫學依據。
AS信息采集處理軟件著重于利用采集AS患者信息,并對這些信息進行統計和分析,使得分析結果能夠對患者康復提供很大幫助,同時能夠促進對AS深度的研究。正是這點區別使本系統的設計與研究有著自己特殊的解決方案和獨特之處,且系統的實用價值比較強,它提供的調查是與AS患者切身相關的內容,它的內容也比較全面。不僅包含患者的健康狀況和醫療記錄信息,而且信息更新和擴展性也很好。隨著醫療信息不斷發展變化,模塊可以增添,內容能及時修改。
[1]魏云玉,黃紅宇,陸紅兵,等.465例強直性脊柱炎患者HLA-B27結果的調查分析[J].頸腰痛雜志,2008,29(1):41-42
[2]劉湘源,王寬婷,趙偉,等.HLA-B27陰性與陽性強直性脊柱炎的對比研究[J].中華風濕病學雜志,1998,(2):143-146
[3]呂旭東.醫療信息系統體系結構研究及開發平臺設計[D].杭州:浙江大學博士論文,2007:71-82
[4]Xu XL,Hu WH.Research on J2EE Teaching Based on Mainstream Open Source Frameworks[R].Bradford,West Yorkshire,UK:Proceedings of the 2010 10th IEEE International Conference on Computer and Information Technology,June 29 2010-July 1 2010:2014-2017
[5]Cheng Y L.Design of a financial expense system based on B/S and C/S[J].J of Ningbo Polytechnic,2008,(12):29-32
[6]Zhang JP,Zhu XD,Liang X.C/S and B/S Mixed Style and the Application[R].Wuhan,Hubei,China:In Proceeding of the 2009 First International Workshop on Education Technology and Computer Science,Vol(2):682-686
[7]楊云,郝建朋,袁李娟.基于數據倉庫技術的醫療信息查詢系統設計與實現[J].計算機工程與設計,2008,29(15):4051-4053