朱旭艷,龐阿倩
(蘭考三農(nóng)職業(yè)學(xué)院,河南 蘭考 475300)
阿爾茨海默病(Alzheimer’s Disease,AD) 是一種神經(jīng)退行性疾病,主要特點為記憶力進(jìn)行性減退、人格改變及認(rèn)知障礙。目前,國內(nèi)外尚無根治AD 的理想藥物。中國人口老齡化進(jìn)程的加劇,使得AD 帶來的社會、生活及經(jīng)濟負(fù)擔(dān)越來越重[1]。現(xiàn)階段我國AD患者數(shù)量已經(jīng)超過1000萬,居全球首位,預(yù)計到2050年將突破4000 萬。AD 患者數(shù)量越來越多,但到醫(yī)院就診的患者數(shù)比實際人數(shù)少得多[2]。AD通常起病隱匿,病程緩慢且不可逆,而醫(yī)學(xué)界迄今仍未找到有效治療方法,因此AD的前期預(yù)測和早期診斷尤為重要[3]。腦科學(xué)研究結(jié)果表明,人腦功能具有可塑性,通過康復(fù)訓(xùn)練等認(rèn)知刺激行為,可以使得早期AD 患者康復(fù)[4]。傳統(tǒng)的康復(fù)方法需要大量專業(yè)醫(yī)務(wù)人員參與,康復(fù)訓(xùn)練的時間成本高、資源缺乏。
隨著“互聯(lián)網(wǎng)+醫(yī)療”技術(shù)的發(fā)展,研究發(fā)現(xiàn)大腦的可塑性會受到計算機訓(xùn)練軟件的影響,該方法可以有針對性地對患者的語言能力、記憶能力、視空間能力等進(jìn)行訓(xùn)練,促進(jìn)大腦新陳代謝速度加快,達(dá)到延緩患者認(rèn)知能力衰退的效果[5]。本文使用Asp.net 搭建AD 自主訓(xùn)練系統(tǒng),可以有效解決傳統(tǒng)康復(fù)訓(xùn)練醫(yī)務(wù)人員不足、成本高等問題,能有效延緩患者病程進(jìn)展,為AD早期康復(fù)提供新思路。
本系統(tǒng)以延緩AD患者病程為主要目的。在客戶端,測試者通過登錄/注冊,可以進(jìn)行認(rèn)知能力評定及自主訓(xùn)練,通過康復(fù)評定查看訓(xùn)練效果。因此,系統(tǒng)流程圖如圖1所示??紤]到多數(shù)用戶為老年人,頂層操作界面應(yīng)簡單友好,方便患者使用。服務(wù)器端主要負(fù)責(zé)系統(tǒng)運行,完成與客戶端、底層數(shù)據(jù)庫的交互,它要保證運行結(jié)果正確,響應(yīng)速度快。未來,本系統(tǒng)還可以添加分析患者的腦電圖像功能模塊,并給出分析結(jié)果及合理的建議,以獲得更好的干預(yù)效果。
圖1 系統(tǒng)流程圖
1) 安全性需求。為了確保系統(tǒng)安全穩(wěn)定運行,避免受到非法攻擊 ,對一些重要信息進(jìn)行了MD5加密,并設(shè)置了復(fù)雜密鑰。另外,增加了有效的身份認(rèn)證機制。系統(tǒng)還具有數(shù)據(jù)備份功能,比如:患者基本信息、MMES 量表、自主測試試題等數(shù)據(jù)都進(jìn)行了備份,防范數(shù)據(jù)丟失。
2) 維護(hù)性需求。為了后期系統(tǒng)維護(hù)方便,代碼中容易出錯的地方及一些重要數(shù)據(jù)的輸出都寫進(jìn)了系統(tǒng)日志,當(dāng)系統(tǒng)出現(xiàn)問題時可以準(zhǔn)確定位并及時修復(fù)。
3) 易用性需求。由于系統(tǒng)面向的對象主要是老年人,因此頂層操作界面要簡單易懂,方便用戶上手。
本系統(tǒng)以Asp.net為基礎(chǔ),采用MVC設(shè)計思想,并基于VUE框架對系統(tǒng)架構(gòu)層次進(jìn)行設(shè)計,主要將系統(tǒng)分為表示層、業(yè)務(wù)層、系統(tǒng)應(yīng)用層、數(shù)據(jù)安全防護(hù)層和系統(tǒng)層。整體框架結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)架構(gòu)圖
1) 表示層。表示層主要采用.NET MVC以及VUE對服務(wù)端進(jìn)行實現(xiàn),可以使得每個頁面看起來簡潔大方。該層主要用于與用戶的交互,基礎(chǔ)數(shù)據(jù)的維護(hù)以及數(shù)據(jù)操作結(jié)果的查詢?yōu)g覽以及相關(guān)可視化的操作。
2) 業(yè)務(wù)層。業(yè)務(wù)層主要采用Asp.net框架為需要服務(wù)的對象提供容器支持。處理系統(tǒng)中使用到的基本業(yè)務(wù),處理結(jié)果反饋給顯示層顯示,同時根據(jù)業(yè)務(wù)邏輯對用戶數(shù)據(jù)進(jìn)行處理。
3) 系統(tǒng)應(yīng)用層。應(yīng)用層用于將業(yè)務(wù)邏輯暴露給顯示層。AutoMapper完成Dto與Model的轉(zhuǎn)換。系統(tǒng)底層的安全認(rèn)證,數(shù)據(jù)的ORM映射以及日志的處理等部分的底層處理。
4) 數(shù)據(jù)安全防護(hù)層。通過防火墻以及軟件程序保護(hù)系統(tǒng)數(shù)據(jù)安全,數(shù)據(jù)庫進(jìn)行熱備份,防范數(shù)據(jù)丟失的風(fēng)險。
5) 系統(tǒng)層。為AD 自主訓(xùn)練系統(tǒng)的運行提供基礎(chǔ)的軟硬件環(huán)境。
本系統(tǒng)采用大型關(guān)系型數(shù)據(jù)庫SQL Server 2012 R2,它采用標(biāo)準(zhǔn)化的SQL語言,具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等特點[6]。本系統(tǒng)目前包含1 個數(shù)據(jù)庫ADDB,它由用戶表user、自主訓(xùn)練結(jié)果表autogenicTraining、訓(xùn)練試題推薦表trainDocument、受教育程度表educate、認(rèn)知能力評定結(jié)果表cognitiveAssesment、康復(fù)評定建議表recomment 和mmes 量表組成,如圖3 所示。其中,user 表的主鍵ID為autogenicTraining 表的外鍵user_id,表示用戶身份ID。cognitiveAssesment 表的主鍵id 為autogenicTraining 表的外鍵cognitive_id,表示認(rèn)知能力評定結(jié)果id,因為系統(tǒng)要求自主訓(xùn)練前至少進(jìn)行一次認(rèn)知能力評定。user 表的主鍵ID 為cognitiveAssesment 表的外鍵user_id,educate 表的主鍵id 為user 表的外鍵educate_id,表示受教育程度id,因為患者的癡呆程度與受教育程度密切相關(guān)[7]。recomment 表的主鍵id為autogenicTraining 表的外鍵recomment_id,表示康復(fù)評定建議表id,自主訓(xùn)練結(jié)束后,系統(tǒng)會結(jié)合認(rèn)知能力評定得分、自主訓(xùn)練結(jié)果得分及患者歷史成績,推薦合理的建議并調(diào)整下一次的自主訓(xùn)練試題。recomment表的主鍵id 為trainDocument 表的外鍵recomment_id,表示評定結(jié)果建議id,不同的建議id對應(yīng)著不同的自主訓(xùn)練試題集合。每個表包含的字段及其數(shù)據(jù)類型如圖3所示。注意,每一個字段類型及其長度都要恰當(dāng)定義,既能滿足功能需求又不會造成空間浪費。
圖3 數(shù)據(jù)庫的設(shè)計
本系統(tǒng)采用前后端分離模式,它有以下優(yōu)點:1)vue 前端的JavaScript 可以做大量數(shù)據(jù)處理工作,大大減小服務(wù)器的壓力;2) 底端錯誤不會直接反映到前端;3) 因為底端難以探知前端頁面的情況,而這卻是JavaScript 的強項,但JavaScript 又不能獨立和服務(wù)器進(jìn)行通信。因此,只靠底端去控制整體頁面,或者單用JavaScript 完成效果,都會加大開發(fā)難度,只有前后端各盡其職,才可以更好地完成本系統(tǒng)。下面將展示本系統(tǒng)的部分功能實現(xiàn)。
1) 認(rèn)知能力評定的實現(xiàn)。本系統(tǒng)采用簡易精神狀態(tài)量表(MMES)對測試者進(jìn)行認(rèn)知功能障礙檢查。測試者登錄系統(tǒng)后,單擊“評定認(rèn)知能力”按鈕進(jìn)入測試界面。每個界面只顯示一道題,做完后單擊“下一題”繼續(xù)測試,有些題目是錄入的語音或視頻,測試者需要讀題后才能作答,并實時顯示當(dāng)前題目的剩余作答時間。有些題目需要對測試者進(jìn)行錄像,系統(tǒng)自動對視頻解析并給出該題得分。有一道題目需要測試者畫圖(比葫蘆畫瓢),系統(tǒng)利用模板匹配法自動對畫圖結(jié)果進(jìn)行判斷。作答完最后一題,系統(tǒng)自動計算測試成績。根據(jù)測試成績及測試者的受教育程度,判斷測試者的癡呆程度。癡呆程度可以分為:正常、AD(癡呆患者)和MCI(輕度認(rèn)知功能障礙)三種。
2) 自主訓(xùn)練的實現(xiàn)。測試者完成認(rèn)知能力評定后,可進(jìn)行自主訓(xùn)練。系統(tǒng)會根據(jù)認(rèn)知能力評定結(jié)果自動推送訓(xùn)練題目,訓(xùn)練題目以Word文檔形式呈現(xiàn)。測試者需要下載后作答,可以把答案直接寫到Word電子版的相應(yīng)位置,也可以打印出來再填寫答案。作答完畢后,單擊“提交測試結(jié)果”按鈕,把答案以docx或圖片形式上傳。系統(tǒng)能夠自動閱卷,自動閱卷的原理是根據(jù)提交答案和正確答案之間的差異,計算出它們的相似度,并給出最終得分。
3) 康復(fù)評定。自主訓(xùn)練完成后,系統(tǒng)對認(rèn)知能力評定得分、自主訓(xùn)練得分、歷史成績進(jìn)行統(tǒng)計,并通過折線圖比較其變化趨勢,實現(xiàn)康復(fù)效果的評定。在整個過程中,無須醫(yī)護(hù)人員的干預(yù),所有的工作均由計算機進(jìn)行。測試者還可以查詢自己的訓(xùn)練記錄、康復(fù)效果等。系統(tǒng)根據(jù)評定結(jié)果自動調(diào)整訓(xùn)練題目。另外,系統(tǒng)能夠根據(jù)評定結(jié)果推送一些建議,包括飲食、運動等方面。
為了驗證本系統(tǒng)的正確性、完整性和質(zhì)量,對系統(tǒng)進(jìn)行了白盒測試和黑盒測試。系統(tǒng)測試環(huán)境:操作系統(tǒng)Microsoft Windows 11、處理器 Intel(R) Core(TM)i7、內(nèi)存:8G、系統(tǒng)類型:64位。開發(fā)工具Visual studio 2017、WebStorm、Google Chrome 等,開發(fā)語言:C#、.NET、Vue.js等,數(shù)據(jù)庫SQL Server 2012 R2。
1) 白盒測試。白盒測試主要對程序內(nèi)部邏輯結(jié)構(gòu)進(jìn)行測試,它屬于代碼級別的測試。在測試過程中發(fā)現(xiàn)的問題都進(jìn)行了一一更正。
2) 黑盒測試。黑盒測試不考慮程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu),主要用來測試系統(tǒng)的功能是否滿足需求。測試結(jié)果如表1所示,Ⅰ類、Ⅱ類、Ⅲ類及Ⅳ類表示測試過程中發(fā)現(xiàn)的問題嚴(yán)重程度及其數(shù)量,詳細(xì)說明見表2。由表可知,本系統(tǒng)共進(jìn)行3個版本的測試,bug 率依次降低,其中,第3 個版本bug 率降低到4%,基本能滿足用戶需求。
表1 AD自主康復(fù)系統(tǒng)-Bug率統(tǒng)計
表2 測試問題分類及其說明
本系統(tǒng)通過信息技術(shù),結(jié)合AD康復(fù)療法,設(shè)計網(wǎng)絡(luò)環(huán)境下的AD 自主康復(fù)系統(tǒng),測試者通過它可以自主進(jìn)行康復(fù)訓(xùn)練,無須外界干預(yù),節(jié)省了大量人力物力。本系統(tǒng)的特點可以歸納如下:1) 只要有網(wǎng)絡(luò),測試者就能進(jìn)行康復(fù)訓(xùn)練,比傳統(tǒng)訓(xùn)練方法更方便,適用范圍更廣。2) 康復(fù)評定的實時性更強,康復(fù)訓(xùn)練內(nèi)容能夠動態(tài)調(diào)整。3) 將信息技術(shù)應(yīng)用于AD 早期康復(fù),為AD康復(fù)提供了新思路。