王 鵬,吳 凱,5,6,周 靜,5*
(1.華南理工大學(xué)材料科學(xué)與工程學(xué)院生物醫(yī)學(xué)工程系,廣州 510006;2.廣東省精神疾病轉(zhuǎn)化醫(yī)學(xué)工程技術(shù)研究中心,廣州 510370;3.廣東省老年癡呆診斷與康復(fù)工程技術(shù)研究中心,廣州 510500;4.華南理工大學(xué)國(guó)家人體組織功能重建工程技術(shù)研究中心,廣州 510006;5.華南理工大學(xué)廣東省生物醫(yī)學(xué)工程重點(diǎn)實(shí)驗(yàn)室,廣州 510006;6.廣州醫(yī)科大學(xué)附屬腦科醫(yī)院,廣州市惠愛(ài)醫(yī)院,廣州 510370)
當(dāng)今社會(huì)快速發(fā)展,社會(huì)競(jìng)爭(zhēng)愈發(fā)激烈,給人們帶來(lái)了巨大的壓力,由此引起的心理問(wèn)題日益嚴(yán)峻。據(jù)2018 年發(fā)布的《中國(guó)城鎮(zhèn)居民心理健康白皮書(shū)》顯示,全國(guó)城鎮(zhèn)居民73.6%為心理亞健康,16.1%存在不同程度的心理問(wèn)題[1],心理健康問(wèn)題已成為居民生活和社會(huì)發(fā)展的重大威脅因素。國(guó)家衛(wèi)生健康委員會(huì)據(jù)此頒布了一系列文件,推行將心理健康服務(wù)融入社會(huì)治理體系,探索新的社會(huì)心理服務(wù)模式和工作機(jī)制[2-3],而“全民健康保障信息化工程”也成為國(guó)家的重要發(fā)展戰(zhàn)略[4],旨在加快數(shù)據(jù)開(kāi)放共享、推動(dòng)資源整合、提升服務(wù)能力[5]?;谌斯ぶ悄?、移動(dòng)互聯(lián)網(wǎng)技術(shù)的心理健康大數(shù)據(jù)體檢成為一種趨勢(shì),其根據(jù)心理學(xué)理論,通過(guò)信息化的心理測(cè)評(píng)方式,能對(duì)受檢者的情緒、記憶、智力、個(gè)性等心理特點(diǎn)做出科學(xué)推論和數(shù)量化分析,既能為受檢者提供更好的服務(wù),又便于醫(yī)務(wù)和科研工作者對(duì)數(shù)據(jù)的分析管理,因此,構(gòu)建一個(gè)科學(xué)規(guī)范的心理測(cè)評(píng)系統(tǒng),對(duì)心理健康服務(wù)將有很大的益處[6],同時(shí)有助于構(gòu)建社會(huì)健康大數(shù)據(jù)體系,推進(jìn)健康中國(guó)的建設(shè)進(jìn)程[7]。
目前,市面上已開(kāi)發(fā)出一些具有針對(duì)性的心理測(cè)評(píng)系統(tǒng),例如高校學(xué)生心理健康管理系統(tǒng)[8]、征兵心理選拔平臺(tái)[9]等,這類(lèi)系統(tǒng)大都面向特定人群,且系統(tǒng)內(nèi)容不夠靈活,缺乏良好的測(cè)評(píng)組織管理以及多中心的數(shù)據(jù)管理功能,無(wú)法適應(yīng)和滿(mǎn)足不同的測(cè)評(píng)需求。本文采用瀏覽器/服務(wù)器(Browser/Server,B/S)架構(gòu),設(shè)計(jì)基于Web 的心理測(cè)評(píng)系統(tǒng),集成用戶(hù)測(cè)評(píng)、專(zhuān)業(yè)報(bào)告、數(shù)據(jù)管理分析、量表定制等功能,為用戶(hù)和心理研究工作者提供一個(gè)便捷、靈活、智能化的心理服務(wù)平臺(tái)。
整個(gè)系統(tǒng)設(shè)計(jì)基于B/S 架構(gòu),采用分層設(shè)計(jì)思想,將系統(tǒng)進(jìn)行前后端邏輯分離,劃分為表現(xiàn)層、服務(wù)層以及數(shù)據(jù)層。系統(tǒng)的邏輯架構(gòu)如圖1 所示。
圖1 心理測(cè)評(píng)系統(tǒng)邏輯架構(gòu)圖
表現(xiàn)層是展現(xiàn)在前端瀏覽器上的界面,基于Layui 框架設(shè)計(jì),采用靜態(tài)頁(yè)面和Java 服務(wù)器頁(yè)面(Java server pages,JSP)(動(dòng)態(tài)頁(yè)面)結(jié)合,運(yùn)用Layui框架中的JS(JavaScript)和jQuery 實(shí)現(xiàn)前端頁(yè)面的功能,負(fù)責(zé)與用戶(hù)進(jìn)行直接交互,采取Ajax 異步通信技術(shù),將用戶(hù)請(qǐng)求發(fā)送至后臺(tái)服務(wù)器,最后將處理結(jié)果返回給前端。本系統(tǒng)的表現(xiàn)層交互界面包括測(cè)評(píng)用戶(hù)端、醫(yī)務(wù)人員端和管理員端。
服務(wù)層基于SpringMVC 框架設(shè)計(jì)[10],是系統(tǒng)的業(yè)務(wù)邏輯層,負(fù)責(zé)接收所有來(lái)自前端頁(yè)面的用戶(hù)請(qǐng)求,包括系統(tǒng)3 個(gè)端口的所有功能模塊,如量表管理模塊、系統(tǒng)管理模塊、用戶(hù)管理模塊和安全管理模塊等。其中,量表管理模塊從內(nèi)容、公式、信息、規(guī)則、結(jié)果5 個(gè)方面實(shí)現(xiàn)心理測(cè)評(píng)量表的管理;系統(tǒng)管理模塊負(fù)責(zé)系統(tǒng)的基本功能,包括系統(tǒng)菜單配置、分組管理、權(quán)限分配和日志查看管理等;用戶(hù)管理模塊負(fù)責(zé)用戶(hù)的信息管理和審核等;安全管理模塊負(fù)責(zé)系統(tǒng)的正常運(yùn)行和安全,包括用戶(hù)的單點(diǎn)登錄、角色的權(quán)限控制及驗(yàn)證、路由轉(zhuǎn)發(fā)、跨站腳本攻擊(cross sitescripting,XSS)漏洞和結(jié)構(gòu)化查詢(xún)語(yǔ)言(structured query language,SQL)注入防護(hù)等,通過(guò)設(shè)置安全管理過(guò)濾器對(duì)請(qǐng)求進(jìn)行權(quán)限判斷,只有擁有相應(yīng)的權(quán)限才能放行,將請(qǐng)求發(fā)送至對(duì)應(yīng)模塊接收并處理,否則返回錯(cuò)誤提示,由前端頁(yè)面接收返回結(jié)果并顯示。其中,用戶(hù)登錄的認(rèn)證信息以及部分業(yè)務(wù)數(shù)據(jù)使用后臺(tái)緩存數(shù)據(jù)庫(kù)Redis[11]進(jìn)行保存,當(dāng)用戶(hù)再進(jìn)行登錄或業(yè)務(wù)操作時(shí),若緩存中有對(duì)應(yīng)數(shù)據(jù),則無(wú)須再次輸入賬號(hào)密碼或等待服務(wù)器響應(yīng),可直接進(jìn)入登錄界面或從緩存中獲取響應(yīng)的業(yè)務(wù)數(shù)據(jù);若緩存中沒(méi)有數(shù)據(jù),服務(wù)層則進(jìn)行登錄驗(yàn)證和數(shù)據(jù)庫(kù)操作。
數(shù)據(jù)層采用MySQL 存儲(chǔ)和管理系統(tǒng)中的所有信息和數(shù)據(jù),包括各類(lèi)用戶(hù)的基本信息、量表數(shù)據(jù)和各種業(yè)務(wù)數(shù)據(jù)等。同時(shí)采用MyBatis 框架作為數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象(data access object,DAO),提供數(shù)據(jù)接口進(jìn)行數(shù)據(jù)層與服務(wù)層之間的交互,以便服務(wù)層獲取后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù)[12]。
本系統(tǒng)根據(jù)不同的用戶(hù)角色,劃分為測(cè)評(píng)用戶(hù)端、醫(yī)務(wù)人員端和管理員端。不同身份用戶(hù)初次使用時(shí),選擇相應(yīng)的系統(tǒng)入口進(jìn)行注冊(cè),普通用戶(hù)注冊(cè)后即可登錄,醫(yī)務(wù)人員則由管理員進(jìn)行身份審核,審核通過(guò)即可使用對(duì)應(yīng)系統(tǒng)的相應(yīng)功能。
系統(tǒng)登錄采用網(wǎng)絡(luò)加密傳遞信息的JWT(JSON Web Token)方式,設(shè)計(jì)了角色信息認(rèn)證、請(qǐng)求權(quán)限驗(yàn)證以及系統(tǒng)安全漏洞防護(hù)等功能,當(dāng)用戶(hù)通過(guò)前端瀏覽器錄入用戶(hù)名和密碼時(shí),用戶(hù)信息經(jīng)過(guò)加密以post 請(qǐng)求的方式發(fā)送至后臺(tái),后臺(tái)根據(jù)此信息進(jìn)行查詢(xún)和校驗(yàn),若查詢(xún)不到,則返回錯(cuò)誤提示;反之,則后臺(tái)生成JWT,傳遞對(duì)應(yīng)用戶(hù)的權(quán)限、身份信息等至前端,瀏覽器將Token 保存至本地,隨后跳轉(zhuǎn)至主頁(yè)。在Token 過(guò)期之前,用戶(hù)再次進(jìn)入主頁(yè)會(huì)直接跳轉(zhuǎn)至登錄后界面。同時(shí),用戶(hù)在請(qǐng)求具體業(yè)務(wù)時(shí),瀏覽器會(huì)將Token 放在請(qǐng)求中,后臺(tái)攔截請(qǐng)求,驗(yàn)證該用戶(hù)是否具有相應(yīng)業(yè)務(wù)權(quán)限,若無(wú),則返回失敗信息;若有,則調(diào)用控制器進(jìn)行具體業(yè)務(wù)處理,并返回處理結(jié)果。
不同角色對(duì)應(yīng)不同的系統(tǒng)端口,其功能設(shè)計(jì)也不相同。系統(tǒng)功能架構(gòu)如圖2 所示。
圖2 心理測(cè)評(píng)系統(tǒng)功能架構(gòu)圖
測(cè)評(píng)用戶(hù)端主要面向自主測(cè)評(píng)用戶(hù)和由醫(yī)生主導(dǎo)的測(cè)評(píng)用戶(hù)。自主測(cè)評(píng)用戶(hù)針對(duì)任何想要了解自己心理狀況的普通人群,可根據(jù)自己的需求,從系統(tǒng)提供的默認(rèn)開(kāi)放量表中自主選擇量表進(jìn)行測(cè)評(píng)。而由醫(yī)生主導(dǎo)的用戶(hù)則主要針對(duì)前往醫(yī)院的就診患者,通過(guò)在系統(tǒng)綁定醫(yī)生,經(jīng)由醫(yī)生確認(rèn)后,即可通過(guò)由醫(yī)生為其定制的針對(duì)性量表套餐進(jìn)行心理測(cè)評(píng),測(cè)評(píng)結(jié)果均以報(bào)告形式展示得分和指導(dǎo)建議。測(cè)評(píng)用戶(hù)端功能包括個(gè)人信息管理模塊及量表測(cè)評(píng)模塊。個(gè)人信息管理模塊分別定義了AppUserRegController、AppController 控制類(lèi)實(shí)現(xiàn)對(duì)用戶(hù)個(gè)人基本信息、心理測(cè)評(píng)信息及結(jié)果的查閱、查詢(xún)、更新、維護(hù)等功能;量表測(cè)評(píng)模塊采用AppQuestionController 類(lèi)控制測(cè)評(píng)量表內(nèi)容的獲取、AppScaleController 類(lèi)控制量表測(cè)評(píng)數(shù)據(jù)的相關(guān)操作。用戶(hù)測(cè)評(píng)及報(bào)告界面如圖3 所示。
圖3 用戶(hù)測(cè)評(píng)及報(bào)告界面
醫(yī)務(wù)人員端主要面向?qū)I(yè)醫(yī)生和科研工作者,可以通過(guò)系統(tǒng)提供的海量國(guó)際通用量表,為就診患者選擇配置具有針對(duì)性的量表套餐。醫(yī)務(wù)人員可對(duì)患者的測(cè)評(píng)結(jié)果進(jìn)行查看、分析等,并給出意見(jiàn)報(bào)告;科研工作者則可根據(jù)既定目標(biāo),調(diào)用數(shù)據(jù)進(jìn)行各類(lèi)分析、比較,方便進(jìn)行科學(xué)研究。其功能主要包括個(gè)人信息管理、用戶(hù)測(cè)評(píng)管理和量表套餐管理三大模塊。
(1)個(gè)人信息管理模塊通過(guò)DoctorController 類(lèi)實(shí)現(xiàn)醫(yī)務(wù)人員對(duì)個(gè)人基本信息和綁定患者用戶(hù)信息的增加、刪除、修改、檢索等功能。
(2)用戶(hù)測(cè)評(píng)管理模塊提供醫(yī)務(wù)人員對(duì)測(cè)評(píng)用戶(hù)的基本信息及測(cè)評(píng)內(nèi)容、結(jié)果等進(jìn)行查詢(xún),通過(guò)控制 類(lèi)UserRegInfoController、GroupController 等 實(shí) 現(xiàn)醫(yī)生狀態(tài)的控制、用戶(hù)信息和測(cè)評(píng)報(bào)告查看、用戶(hù)管理綁定等,采用UserEvaluateController 和OrgEvaluateController 類(lèi)實(shí)現(xiàn)個(gè)人數(shù)據(jù)和團(tuán)體數(shù)據(jù)的統(tǒng)計(jì)分析,能對(duì)單人的單次和多次測(cè)評(píng)進(jìn)行查看和動(dòng)態(tài)分析,生成相應(yīng)的圖像,反映用戶(hù)的心理發(fā)展趨勢(shì)及特點(diǎn)??赏ㄟ^(guò)對(duì)群體人員的測(cè)評(píng)結(jié)果不同維度以及縱、橫向比較,反映同一群體的共性問(wèn)題以及不同群體間的差異,并以文字、圖表等直觀(guān)形式展示;醫(yī)務(wù)人員可根據(jù)測(cè)評(píng)結(jié)果給出專(zhuān)業(yè)的評(píng)定意見(jiàn),提供訓(xùn)練、治療計(jì)劃,并出具專(zhuān)業(yè)的心理測(cè)評(píng)報(bào)告等。用戶(hù)測(cè)評(píng)結(jié)果分析界面如圖4 所示。
圖4 用戶(hù)測(cè)評(píng)結(jié)果分析界面
(3)量表套餐管理模塊主要針對(duì)就診病患的心理測(cè)評(píng),由醫(yī)生根據(jù)臨床檢查結(jié)果,通過(guò)ScaleSetController 類(lèi)實(shí)現(xiàn)醫(yī)務(wù)人員根據(jù)測(cè)評(píng)用戶(hù)的實(shí)際情況進(jìn)行針對(duì)性定制和分配量表套餐等。
管理員端面向系統(tǒng)的超級(jí)用戶(hù),擁有系統(tǒng)的最高權(quán)限,能對(duì)用戶(hù)身份進(jìn)行審核,維護(hù)各類(lèi)用戶(hù)的信息,能根據(jù)不同需求編制或修改測(cè)評(píng)量表,對(duì)系統(tǒng)進(jìn)行管理等。其功能模塊包括用戶(hù)管理、量表管理和系統(tǒng)管理三大功能模塊。
(1)用戶(hù)管理模塊實(shí)現(xiàn)對(duì)醫(yī)生用戶(hù)和普通用戶(hù)的信息和權(quán)限管理,通過(guò)分別定義控制類(lèi)Doctor-Controller、UserController 以及UserRegController 等,實(shí)現(xiàn)對(duì)醫(yī)生信息的刪改、普通用戶(hù)信息的刪改以及用戶(hù)測(cè)評(píng)信息的查看和檢索等功能。
(2)量表管理模塊可實(shí)現(xiàn)對(duì)測(cè)評(píng)量表的靈活定制,由于實(shí)際心理測(cè)評(píng)和研究?jī)?nèi)容的需求不同,所使用的心理量表也不盡相同,時(shí)常需要修改已有的測(cè)評(píng)量表或是編制新的測(cè)評(píng)量表來(lái)進(jìn)行心理測(cè)評(píng)的研究[13]。通過(guò)研究國(guó)際通用的大多數(shù)心理量表,系統(tǒng)將量表拆分格式化,通過(guò)設(shè)計(jì)量表管理相關(guān)類(lèi)Scale-Controller、QuestionController、RuleController、Formula-Controller 和ResultController 等,分別從量表信息、內(nèi)容、規(guī)則、公式和結(jié)果等5 個(gè)方面進(jìn)行分化管理,并將相關(guān)數(shù)據(jù)保存于數(shù)據(jù)庫(kù)中。當(dāng)需要查看或生成結(jié)果報(bào)告時(shí),通過(guò)量表控制類(lèi)ScaleController 獲取該量表對(duì)應(yīng)的所有數(shù)據(jù),最后返回給前端瀏覽器進(jìn)行解析(如圖5 所示)。
圖5 量表管理模塊界面
(3)系統(tǒng)管理功能模塊包括系統(tǒng)菜單管理、權(quán)限管理和日志查看等。采用Swagger 開(kāi)源工具,為所有的Controller 類(lèi)添加@ApiOperation 注解,并在Swagger 配置類(lèi)中配置掃描所有Controller 類(lèi)。當(dāng)進(jìn)行權(quán)限同步時(shí),系統(tǒng)調(diào)用Swagger 掃描獲取最新的權(quán)限數(shù)據(jù),并將數(shù)據(jù)更新至權(quán)限表中完成權(quán)限同步。
筆者單位與廣州醫(yī)科大學(xué)附屬腦科醫(yī)院(廣州市惠愛(ài)醫(yī)院)神經(jīng)內(nèi)科合作,從多家醫(yī)院、社區(qū)和老人院入組了160 名老年用戶(hù)利用本系統(tǒng)開(kāi)展臨床心理測(cè)評(píng)試驗(yàn)。本試驗(yàn)征得所有被試及其家屬同意,并完全告知了試驗(yàn)內(nèi)容及注意事項(xiàng),然后由廣州醫(yī)科大學(xué)附屬腦科醫(yī)院(廣州市惠愛(ài)醫(yī)院)組織被試創(chuàng)建賬號(hào),指導(dǎo)其登錄系統(tǒng)進(jìn)行在線(xiàn)心理測(cè)評(píng)。
160 名被試分為老年抑郁癥認(rèn)知正常(late-life depression,LLD)組、老年抑郁癥伴輕度認(rèn)知功能障礙(late-life depression&mild cognitive impairment,LLD&MCI)組與正常對(duì)照(normal control,NC)組,其中LLD 組共44 例,男12 例、女32 例,平均年齡(65.09±11.27)歲;LLD&MCI 組共56 例,男14 例、女42 例,平均年齡(66.08±7.66)歲;NC 組共60 例,男22 例、女38 例,平均年齡(66.42±7.69)歲。對(duì)3 組被試的人口學(xué)信息進(jìn)行對(duì)比,無(wú)顯著統(tǒng)計(jì)學(xué)差異(P>0.05)。應(yīng)用本系統(tǒng),選擇漢密頓抑郁量表-17(Hamilton depression scale-17,HAMD-17)、簡(jiǎn)明精神狀態(tài)檢查(minimental state examination,MMSE)量表、記憶與執(zhí)行篩查(memory and executive screening,MES)量表、臨床癡呆評(píng)估(clinical dementia rating,CDR)量表進(jìn)行測(cè)評(píng),采用SPSS 22.0 軟件對(duì)被試的各量表得分進(jìn)行單因素方差分析,評(píng)價(jià)其總體認(rèn)知功能。測(cè)試結(jié)果表明3 組被試在抑郁狀態(tài)、認(rèn)知功能、記憶功能等各方面均存在顯著性差異(詳見(jiàn)表1),為后續(xù)針對(duì)性地制訂訓(xùn)練計(jì)劃、實(shí)驗(yàn)設(shè)計(jì)以及相關(guān)心理研究提供了數(shù)據(jù)和依據(jù)。
表1 測(cè)評(píng)結(jié)果統(tǒng)計(jì) 單位:分
應(yīng)用測(cè)試表明,本系統(tǒng)操作簡(jiǎn)便、穩(wěn)定性好,被試能輕松快速地完成各項(xiàng)量表測(cè)試,并可及時(shí)查看測(cè)試報(bào)告;與其他面向特定人群且測(cè)試量表固定的心理測(cè)評(píng)系統(tǒng)相比,本系統(tǒng)面向范圍更廣泛,并且可靈活地根據(jù)應(yīng)用對(duì)象定制專(zhuān)門(mén)的測(cè)評(píng)套餐和制訂有針對(duì)性的訓(xùn)練計(jì)劃,能最大程度地滿(mǎn)足各種心理測(cè)評(píng)活動(dòng)和研究需求;同時(shí)方便醫(yī)務(wù)人員對(duì)測(cè)評(píng)試驗(yàn)的組織和管理,加強(qiáng)對(duì)測(cè)評(píng)用戶(hù)心理狀況的把握;通過(guò)多維度的數(shù)據(jù)檢索,系統(tǒng)實(shí)現(xiàn)了對(duì)單個(gè)被試信息及團(tuán)體測(cè)評(píng)情況的查詢(xún)、對(duì)比及統(tǒng)計(jì)分析等。
本文以B/S 架構(gòu)為基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)了基于Web的心理測(cè)評(píng)系統(tǒng),用戶(hù)可隨時(shí)通過(guò)計(jì)算機(jī)、移動(dòng)電子設(shè)備等終端與Web 服務(wù)器進(jìn)行交互,可為醫(yī)務(wù)人員提供一個(gè)便捷管理和分析用戶(hù)測(cè)評(píng)信息的平臺(tái),方便及時(shí)掌握測(cè)評(píng)人員的心理狀況并及早進(jìn)行干預(yù);系統(tǒng)的量表定制功能實(shí)現(xiàn)了測(cè)評(píng)量表從題目到內(nèi)容的自定義,提高了心理測(cè)評(píng)試驗(yàn)的靈活性和系統(tǒng)的可擴(kuò)展性。本系統(tǒng)的開(kāi)發(fā)提供了新的社會(huì)心理服務(wù)模式,能整合心理服務(wù)資源和提升心理服務(wù)能力,同時(shí)有助于構(gòu)建社會(huì)健康大數(shù)據(jù)體系,為大數(shù)據(jù)的分析和人工智能的開(kāi)發(fā)奠定基礎(chǔ)。雖然系統(tǒng)達(dá)到了預(yù)期目標(biāo),但仍有待進(jìn)一步完善,如增加心理健康資訊、在線(xiàn)咨詢(xún)、自動(dòng)化測(cè)評(píng)推薦功能等。