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

圖1 系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖
2.3 系統(tǒng)功能 睡眠監(jiān)測報告數(shù)據(jù)解析與識別系統(tǒng)的功能包括:文字?jǐn)?shù)據(jù)解析、文字?jǐn)?shù)據(jù)識別、表格數(shù)據(jù)解析、表格數(shù)據(jù)識別、用戶管理、患者信息管理以及患者監(jiān)測數(shù)據(jù)情況管理。見圖2。

圖2 睡眠數(shù)據(jù)管理系統(tǒng)功能圖
2.4 軟硬件平臺
作為整個系統(tǒng)開發(fā)和運(yùn)行的支撐和基礎(chǔ),軟硬件平臺的選擇是整個系統(tǒng)開發(fā)和設(shè)計的前提。本系統(tǒng)的硬件平臺選擇遵循通用的工業(yè)標(biāo)準(zhǔn)和協(xié)議,符合未來技術(shù)的發(fā)展方向。
2.4.1 硬件設(shè)備 詳見表1。

表1 硬件設(shè)備
2.4.2 軟件設(shè)備 詳見表2。

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

圖3 數(shù)據(jù)庫表總體設(shè)計

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