基于Web 的心理测评系统设计与实现

2021-11-03 09:17鹏,吴凯,5,6,周静,5*
医疗卫生装备 2021年10期
关键词:医务人员量表模块

王 鹏,吴 凯,5,6,周 静,5*

(1.华南理工大学材料科学与工程学院生物医学工程系,广州 510006;2.广东省精神疾病转化医学工程技术研究中心,广州 510370;3.广东省老年痴呆诊断与康复工程技术研究中心,广州 510500;4.华南理工大学国家人体组织功能重建工程技术研究中心,广州 510006;5.华南理工大学广东省生物医学工程重点实验室,广州 510006;6.广州医科大学附属脑科医院,广州市惠爱医院,广州 510370)

0 引言

当今社会快速发展,社会竞争愈发激烈,给人们带来了巨大的压力,由此引起的心理问题日益严峻。据2018 年发布的《中国城镇居民心理健康白皮书》显示,全国城镇居民73.6%为心理亚健康,16.1%存在不同程度的心理问题[1],心理健康问题已成为居民生活和社会发展的重大威胁因素。国家卫生健康委员会据此颁布了一系列文件,推行将心理健康服务融入社会治理体系,探索新的社会心理服务模式和工作机制[2-3],而“全民健康保障信息化工程”也成为国家的重要发展战略[4],旨在加快数据开放共享、推动资源整合、提升服务能力[5]。基于人工智能、移动互联网技术的心理健康大数据体检成为一种趋势,其根据心理学理论,通过信息化的心理测评方式,能对受检者的情绪、记忆、智力、个性等心理特点做出科学推论和数量化分析,既能为受检者提供更好的服务,又便于医务和科研工作者对数据的分析管理,因此,构建一个科学规范的心理测评系统,对心理健康服务将有很大的益处[6],同时有助于构建社会健康大数据体系,推进健康中国的建设进程[7]。

目前,市面上已开发出一些具有针对性的心理测评系统,例如高校学生心理健康管理系统[8]、征兵心理选拔平台[9]等,这类系统大都面向特定人群,且系统内容不够灵活,缺乏良好的测评组织管理以及多中心的数据管理功能,无法适应和满足不同的测评需求。本文采用浏览器/服务器(Browser/Server,B/S)架构,设计基于Web 的心理测评系统,集成用户测评、专业报告、数据管理分析、量表定制等功能,为用户和心理研究工作者提供一个便捷、灵活、智能化的心理服务平台。

1 整体架构设计

整个系统设计基于B/S 架构,采用分层设计思想,将系统进行前后端逻辑分离,划分为表现层、服务层以及数据层。系统的逻辑架构如图1 所示。

图1 心理测评系统逻辑架构图

表现层是展现在前端浏览器上的界面,基于Layui 框架设计,采用静态页面和Java 服务器页面(Java server pages,JSP)(动态页面)结合,运用Layui框架中的JS(JavaScript)和jQuery 实现前端页面的功能,负责与用户进行直接交互,采取Ajax 异步通信技术,将用户请求发送至后台服务器,最后将处理结果返回给前端。本系统的表现层交互界面包括测评用户端、医务人员端和管理员端。

服务层基于SpringMVC 框架设计[10],是系统的业务逻辑层,负责接收所有来自前端页面的用户请求,包括系统3 个端口的所有功能模块,如量表管理模块、系统管理模块、用户管理模块和安全管理模块等。其中,量表管理模块从内容、公式、信息、规则、结果5 个方面实现心理测评量表的管理;系统管理模块负责系统的基本功能,包括系统菜单配置、分组管理、权限分配和日志查看管理等;用户管理模块负责用户的信息管理和审核等;安全管理模块负责系统的正常运行和安全,包括用户的单点登录、角色的权限控制及验证、路由转发、跨站脚本攻击(cross sitescripting,XSS)漏洞和结构化查询语言(structured query language,SQL)注入防护等,通过设置安全管理过滤器对请求进行权限判断,只有拥有相应的权限才能放行,将请求发送至对应模块接收并处理,否则返回错误提示,由前端页面接收返回结果并显示。其中,用户登录的认证信息以及部分业务数据使用后台缓存数据库Redis[11]进行保存,当用户再进行登录或业务操作时,若缓存中有对应数据,则无须再次输入账号密码或等待服务器响应,可直接进入登录界面或从缓存中获取响应的业务数据;若缓存中没有数据,服务层则进行登录验证和数据库操作。

数据层采用MySQL 存储和管理系统中的所有信息和数据,包括各类用户的基本信息、量表数据和各种业务数据等。同时采用MyBatis 框架作为数据访问对象(data access object,DAO),提供数据接口进行数据层与服务层之间的交互,以便服务层获取后台数据库的数据[12]。

2 功能设计与实现

本系统根据不同的用户角色,划分为测评用户端、医务人员端和管理员端。不同身份用户初次使用时,选择相应的系统入口进行注册,普通用户注册后即可登录,医务人员则由管理员进行身份审核,审核通过即可使用对应系统的相应功能。

系统登录采用网络加密传递信息的JWT(JSON Web Token)方式,设计了角色信息认证、请求权限验证以及系统安全漏洞防护等功能,当用户通过前端浏览器录入用户名和密码时,用户信息经过加密以post 请求的方式发送至后台,后台根据此信息进行查询和校验,若查询不到,则返回错误提示;反之,则后台生成JWT,传递对应用户的权限、身份信息等至前端,浏览器将Token 保存至本地,随后跳转至主页。在Token 过期之前,用户再次进入主页会直接跳转至登录后界面。同时,用户在请求具体业务时,浏览器会将Token 放在请求中,后台拦截请求,验证该用户是否具有相应业务权限,若无,则返回失败信息;若有,则调用控制器进行具体业务处理,并返回处理结果。

不同角色对应不同的系统端口,其功能设计也不相同。系统功能架构如图2 所示。

图2 心理测评系统功能架构图

2.1 测评用户端功能模块设计与实现

测评用户端主要面向自主测评用户和由医生主导的测评用户。自主测评用户针对任何想要了解自己心理状况的普通人群,可根据自己的需求,从系统提供的默认开放量表中自主选择量表进行测评。而由医生主导的用户则主要针对前往医院的就诊患者,通过在系统绑定医生,经由医生确认后,即可通过由医生为其定制的针对性量表套餐进行心理测评,测评结果均以报告形式展示得分和指导建议。测评用户端功能包括个人信息管理模块及量表测评模块。个人信息管理模块分别定义了AppUserRegController、AppController 控制类实现对用户个人基本信息、心理测评信息及结果的查阅、查询、更新、维护等功能;量表测评模块采用AppQuestionController 类控制测评量表内容的获取、AppScaleController 类控制量表测评数据的相关操作。用户测评及报告界面如图3 所示。

图3 用户测评及报告界面

2.2 医务人员端功能模块设计与实现

医务人员端主要面向专业医生和科研工作者,可以通过系统提供的海量国际通用量表,为就诊患者选择配置具有针对性的量表套餐。医务人员可对患者的测评结果进行查看、分析等,并给出意见报告;科研工作者则可根据既定目标,调用数据进行各类分析、比较,方便进行科学研究。其功能主要包括个人信息管理、用户测评管理和量表套餐管理三大模块。

(1)个人信息管理模块通过DoctorController 类实现医务人员对个人基本信息和绑定患者用户信息的增加、删除、修改、检索等功能。

(2)用户测评管理模块提供医务人员对测评用户的基本信息及测评内容、结果等进行查询,通过控制 类UserRegInfoController、GroupController 等 实 现医生状态的控制、用户信息和测评报告查看、用户管理绑定等,采用UserEvaluateController 和OrgEvaluateController 类实现个人数据和团体数据的统计分析,能对单人的单次和多次测评进行查看和动态分析,生成相应的图像,反映用户的心理发展趋势及特点。可通过对群体人员的测评结果不同维度以及纵、横向比较,反映同一群体的共性问题以及不同群体间的差异,并以文字、图表等直观形式展示;医务人员可根据测评结果给出专业的评定意见,提供训练、治疗计划,并出具专业的心理测评报告等。用户测评结果分析界面如图4 所示。

图4 用户测评结果分析界面

(3)量表套餐管理模块主要针对就诊病患的心理测评,由医生根据临床检查结果,通过ScaleSetController 类实现医务人员根据测评用户的实际情况进行针对性定制和分配量表套餐等。

2.3 管理员端功能模块设计与实现

管理员端面向系统的超级用户,拥有系统的最高权限,能对用户身份进行审核,维护各类用户的信息,能根据不同需求编制或修改测评量表,对系统进行管理等。其功能模块包括用户管理、量表管理和系统管理三大功能模块。

(1)用户管理模块实现对医生用户和普通用户的信息和权限管理,通过分别定义控制类Doctor-Controller、UserController 以及UserRegController 等,实现对医生信息的删改、普通用户信息的删改以及用户测评信息的查看和检索等功能。

(2)量表管理模块可实现对测评量表的灵活定制,由于实际心理测评和研究内容的需求不同,所使用的心理量表也不尽相同,时常需要修改已有的测评量表或是编制新的测评量表来进行心理测评的研究[13]。通过研究国际通用的大多数心理量表,系统将量表拆分格式化,通过设计量表管理相关类Scale-Controller、QuestionController、RuleController、Formula-Controller 和ResultController 等,分别从量表信息、内容、规则、公式和结果等5 个方面进行分化管理,并将相关数据保存于数据库中。当需要查看或生成结果报告时,通过量表控制类ScaleController 获取该量表对应的所有数据,最后返回给前端浏览器进行解析(如图5 所示)。

图5 量表管理模块界面

(3)系统管理功能模块包括系统菜单管理、权限管理和日志查看等。采用Swagger 开源工具,为所有的Controller 类添加@ApiOperation 注解,并在Swagger 配置类中配置扫描所有Controller 类。当进行权限同步时,系统调用Swagger 扫描获取最新的权限数据,并将数据更新至权限表中完成权限同步。

3 系统应用

3.1 应用实例

笔者单位与广州医科大学附属脑科医院(广州市惠爱医院)神经内科合作,从多家医院、社区和老人院入组了160 名老年用户利用本系统开展临床心理测评试验。本试验征得所有被试及其家属同意,并完全告知了试验内容及注意事项,然后由广州医科大学附属脑科医院(广州市惠爱医院)组织被试创建账号,指导其登录系统进行在线心理测评。

160 名被试分为老年抑郁症认知正常(late-life depression,LLD)组、老年抑郁症伴轻度认知功能障碍(late-life depression&mild cognitive impairment,LLD&MCI)组与正常对照(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)岁。对3 组被试的人口学信息进行对比,无显著统计学差异(P>0.05)。应用本系统,选择汉密顿抑郁量表-17(Hamilton depression scale-17,HAMD-17)、简明精神状态检查(minimental state examination,MMSE)量表、记忆与执行筛查(memory and executive screening,MES)量表、临床痴呆评估(clinical dementia rating,CDR)量表进行测评,采用SPSS 22.0 软件对被试的各量表得分进行单因素方差分析,评价其总体认知功能。测试结果表明3 组被试在抑郁状态、认知功能、记忆功能等各方面均存在显著性差异(详见表1),为后续针对性地制订训练计划、实验设计以及相关心理研究提供了数据和依据。

表1 测评结果统计 单位:分

3.2 系统特点

应用测试表明,本系统操作简便、稳定性好,被试能轻松快速地完成各项量表测试,并可及时查看测试报告;与其他面向特定人群且测试量表固定的心理测评系统相比,本系统面向范围更广泛,并且可灵活地根据应用对象定制专门的测评套餐和制订有针对性的训练计划,能最大程度地满足各种心理测评活动和研究需求;同时方便医务人员对测评试验的组织和管理,加强对测评用户心理状况的把握;通过多维度的数据检索,系统实现了对单个被试信息及团体测评情况的查询、对比及统计分析等。

4 结语

本文以B/S 架构为基础,设计并实现了基于Web的心理测评系统,用户可随时通过计算机、移动电子设备等终端与Web 服务器进行交互,可为医务人员提供一个便捷管理和分析用户测评信息的平台,方便及时掌握测评人员的心理状况并及早进行干预;系统的量表定制功能实现了测评量表从题目到内容的自定义,提高了心理测评试验的灵活性和系统的可扩展性。本系统的开发提供了新的社会心理服务模式,能整合心理服务资源和提升心理服务能力,同时有助于构建社会健康大数据体系,为大数据的分析和人工智能的开发奠定基础。虽然系统达到了预期目标,但仍有待进一步完善,如增加心理健康资讯、在线咨询、自动化测评推荐功能等。

猜你喜欢
医务人员量表模块
28通道收发处理模块设计
医务人员新冠疫苗接种意愿现状及影响因素
“选修3—3”模块的复习备考
如何提高医务人员对多重耐药菌感染防控措施执行率
以患者为主的炎症性肠病患者PRO量表特异模块条目筛选
网络服装虚拟体验的概念模型及其量表开发
《公共体育服务政府供给社会期待量表》的编制与修订
福建:通过全国首个关于尊医重卫的决议
切实关爱疫情防控一线医务人员
CSE阅读量表在高中生自我评价中的有效性及影响因素