劉海琴 朱小貝 施葉雯 陳進偉 邢亮 羅花南 黑新宏 任曉勇
(1.西安交通大學第二附屬醫院耳鼻咽喉頭頸外科病院,西安,710004; 2.西安理工大學計算機科學與工程學院,西安,710004)
根據以往工作經驗及需求,聯合計算機工程師,共同設計了睡眠監測數據管理庫,方便睡眠中心使用,節約人力物力,提高效率。經臨床檢驗,使用效果良好,報道如下。
人類生命的三分之一是處在睡眠中,可見睡眠對我們的重要性。睡眠障礙的發病率呈逐年上升趨勢,越來越多的地方建立起睡眠中心,但睡眠監測儀監測到的數據是以單個患者的睡眠數據和報告的形式呈現的,這樣對于數據的管理及從事睡眠研究方面的醫師進行科研工作極不方便。如果設計開發出睡眠監測報告數據解析與識別系統,這個系統能夠將報告中的數據解析并識別出來,存儲在數據庫中,便于睡眠中心患者資料的管理查閱、工作量統計以及科研使用數據檢索,省時省力,方便快捷,將大大提高睡眠中心工作效率。
2.1 系統業務環境 睡眠監測報告數據解析與識別系統專門為睡眠中心設計開發的軟件系統,是基于面向對象的思想來進行設計開發,后臺數據庫選用MySQL數據庫。睡眠監測報告數據解析與識別系統主要分為文字數據解析識別和表格數據解析識別。
2.2 系統結構 睡眠監測報告數據解析與識別系統的系統拓撲結構圖如圖1所示。

圖1 系統拓撲結構圖
2.3 系統功能 睡眠監測報告數據解析與識別系統的功能包括:文字數據解析、文字數據識別、表格數據解析、表格數據識別、用戶管理、患者信息管理以及患者監測數據情況管理。見圖2。

圖2 睡眠數據管理系統功能圖
2.4 軟硬件平臺
作為整個系統開發和運行的支撐和基礎,軟硬件平臺的選擇是整個系統開發和設計的前提。本系統的硬件平臺選擇遵循通用的工業標準和協議,符合未來技術的發展方向。
2.4.1 硬件設備 詳見表1。

表1 硬件設備
2.4.2 軟件設備 詳見表2。

表2 軟件環境
睡眠監測報告數據解析與識別系統是運行在Tomcat8.0上的應用程序,是以Java語言為基礎,SSM為框架的軟件系統。本系統采用已經被廣泛應用、成熟的Tomcat8.0作為服務器,具有高安全性、可靠性的SpringMVC框架。采用Java語言進行程序開發,確保系統的穩定性和準確性。它具有簡單、面向對象、分布式、解釋執行、魯棒、安全、體系結構中立、可移植、高性能、多線程以及動態性等特點。
3.1 數據識別解析與存儲 文字數據識別將解析出的文字進行識別和提取,目的是將有用的數據識別出來并保存到數據庫中。具體流程:經過上面將解析后的數據進行判斷,如果可劃分則進行識別并對數據進行提取和存儲;如果不可劃分,則返回劃分失敗,文字數據識別結束。
3.2 文件掃描與記錄 本系統采用一種廣為使用的描述性標記語言(XML)對文檔的掃描次數和操作次數以及其他多種信息進行記錄。在這一方面沒有采用關系數據庫進行管理,主要是考慮到這些掃描文件比較容易區分格式,采用這種方法可以有效的避免冗余,提高系統運行的效率。
3.3 用戶分類 本系統主要分為2種類型的用戶:系統管理員、普通用戶。
系統管理員:主要負責對系統在運行過程中出現的問題進行維護,包括對普通用戶的管理,對數據庫的基本操作,對患者睡眠監測報告的查看等等。
普通用戶:普通用戶可以對患者的睡眠監測數據進行全面的操作,包括查詢、修改、標記等,并且可以實時統計患者睡眠監測的次數和情況。
3.4 主要功能
3.4.1 文字數據解析 文字數據解析包括文字數據讀取和數據解析,其目的是將監測數據中有用的患者信息以及監測信息讀取出來,具體流程為:首先讀取整個文檔,選取文字部分的所有數據,判斷是否是需要的數據,如果是則對該段文字進行解析,如果不是則跳出文字部分數據解析,文字部分數據解析結束。
3.4.2 文字數據識別 文字數據識別將解析出的文字進行識別和提取,目的是將有用的數據識別出來并保存到數據庫中。具體流程為:經過上面將解析后的數據進行判斷,如果可劃分則進行識別并對數據進行提取和存儲,如果不可劃分,則返回劃分失敗,文字數據識別結束。
3.4.3 表格數據解析 表格數據解析包括讀取表格中所有數據并且對表格中的數據進行解析,其目的是將表格中有用的監測信息讀取出來,使接下來的識別更準確。具體流程為:首先讀取整個文檔,統計表格個數,一次對每個表格進行數據解析,在解析過程中需要判斷表格中是否有所需要的數據,如果有則進行解析,如果沒有則跳出文字部分數據解析,表格部分數據解析完成。
3.4.4 表格數據識別 表格數據識別沒有文字識別復雜,只需要按照表格中的行數和列數取出對應的值,值得注意的是有些表格數據中存在單位或者其他文字,也需要進行劃分。具體流程為:經過上面對表格數據解析后,解析后的數據需要判斷解析后的數據是否需要劃分,若需要劃分,則進行劃分并且識別出所需要的數據并進行存儲,若不需要劃分則直接將數據進行識別和提取最后進行存儲,表格數據識別完成。
3.4.5 患者個人信息管理 可以對患者的個人信息進行增刪改查,對出現讀取問題的患者信息也可以方便的進行修改,以實現可以人工復查的目的,提高系統的準確性。
3.4.6 患者睡眠監測數據情況管理 可以實現對患者睡眠監測數據高效查詢的操作,對個別出現數據異常的患者數據,也可進行人工修正。
數據庫設計包括患者信息表(Patient Information),睡眠情況表(Sleep Conditions),呼吸情況表(Breathing Situation),呼吸事件表(Respiratory Events),脈搏氧飽和度表(Oxygen Saturation),心率、肢體運動、鼾聲、體位、用戶登錄表(user),用戶角色表(role)。具體見圖3。
5.1 登錄說明 系統頁面訪問權限通過登錄界面的配置菜單來實現,用戶在登錄時就可以實現對不同種類用戶類型的選擇,此種方式簡單靈活,也同時使代碼的可重用性得到了提高。
首先用戶輸入網址進入系統,系統提示用戶登錄,用戶選擇身份進行登錄,若未注冊則點擊下方注冊按鈕進行注冊。注冊完成后進行登錄,如果輸入用戶名錯誤則提示相應用戶名的錯誤,如果密碼與數據庫中的用戶名密碼不對應則提示密碼錯誤,具體流程如圖4所示。

圖3 數據庫表總體設計

圖4 用戶登錄流程圖
5.2 系統管理員與管理員操作 系統管理員或管理員登錄系統后可以查看患者的睡眠監測情況,系統將自動掃描新的睡眠監測報告并將報告識別解析后保存在數據庫中,方便醫生進行查看和研究,同時管理員可以對患者的所有個人信息以及監測情況進行修改和刪除。除上述功能之外,系統管理員還具有管理管理員的特權,若管理員離職或更改,系統管理員可對管理員進行增加、刪除、查看等功能。
檢索是為了使用戶能夠更加方便快捷的找到用戶需要的內容,在睡眠監測數據管理系統中使用智能檢索使得醫生能夠更加快捷的找到患者信息和睡眠監測情況,在較短的時間內了解一個患者之前的就診信息和睡眠情況。用戶可以在數據查詢搜索欄中,輸入患者的姓名或編號,然后點擊“查詢”按鈕,即可實現簡單的數據查詢,該患者的詳細個人信息以及睡眠監測信息將直接進行呈現。
6.1 姓名檢索 醫生可以通過輸入患者的姓名進行檢索,查看該患者的就診信息,通過幾次監測數據的比較,醫生可以更加準確地確定醫囑。除此之外醫生通過檢索特殊患者進行研究,可以更加直接的觀察出該患者的睡眠情況的變化,方便醫生之間相互溝通交流學習。
6.2 報告編號檢索 每個患者的每次睡眠監測的報告編號都是唯一的,通過報告編號監測能夠準確地找到該患者的一次監測情況,方便醫生準確地查找患者睡眠監測情況。醫生可以點擊“編輯”按鈕,即可查看患者睡眠監測詳細信息。
根據睡眠障礙國際分類顯示,由于睡眠障礙問題導致的疾病多達90多種,是很多軀體疾病和身心疾病的源頭。睡眠障礙發病率呈逐年上升趨勢,越來越多的地方建立起睡眠中心,但睡眠中心人員嚴重不足,工作量大,且睡眠監測儀監測到的數據是以單個患者的睡眠數據和報告的形式呈現的,導致數據的管理及科研統計極極為不便。本文設計的軟件能將批量的數據解析并識別出來,存儲在數據庫中,便于睡眠中心患者資料的管理查閱,工作量統計,科研使用數據的檢索,省時省力,方便快捷,大大地提高了睡眠中心工作效率。