一款大学生心理咨询预约平台的设计与实现
2023-01-11次仁玉珍倪胜巧索朗嘎措多吉卓玛
次仁玉珍,普 尺,倪胜巧,2,索朗嘎措,多吉卓玛
(1.西藏大学信息科学技术学院,拉萨 850000;2.四川大学计算机学院,成都 610065)
0 引言
大学生心理咨询预约平台通过线上和线下相结合的方式实现,线上预约,线下咨询,高质量地解决大学生的心理健康问题[1],为学生和老师提供了很好的帮助。查阅到很多心理预约平台,发现他们几乎都偏向于静态数据,比如直接有一个界面给出所有咨询师的联系名,让学生自己去找。本平台偏向于动态化的,它设计很多功能操作步骤,主要分为学生阅读同意书、填写预约申请表并提交,初访员对学生提交的申请表进行审核,审核通过与否取决于学生提交的申请表产生的问卷分数以及学生所提交信息的真实性等,之后审核结果反馈给学生,审核通过的按分类提交给对应的咨询师助理,心理助理为审核通过的学生分配咨询师,助理负责提醒学生和咨询师预约时间和地点,并查看咨询结果,其中为咨询师分配工作时间时用到了排课算法,对学生提交的心理问题类型按出现次数推荐相关知识,此时用到了推荐算法。为了解决高校学生心理健康问题,本平台为用户推荐与其心理健康问题有关的知识以及在现实生活中要注意的事项。
本系统的开发模式采用前后端分离,Vue[2]对视图层的操作十分便利,所以对程序的界面优化具有极其重要的作用。同样地,Spring⁃Boot[3]整合Mybatis-plus,对于后端项目的搭建起到方便的作用。使用Mysql数据模型,使得对数据的管理很方便,操作简单。
1 相关技术介绍
1.1 Mybatis-plus框架技术
Mybatis-plus是后端开发框架,Mybatisplus在Mybatis上进行了进一步的整合,这样无需手动去写数据库对应Java实体类及各层的类,而且Mybatis-plus自带xml脚本语言,可以实现基本的数据库操作,无需手动去写基本的sql语句,有框架自动生成,很大程度上降低了工作量。
1.2 Eacher
Eacher是各数据图表库,可以使用Eacher来生成统计数据图,能够更直观,明显看到数据的差异性,并且Eacher的可交互性能力十分强大。
1.3 MySQL数据库
Mysql是一个关系模型的数据库,将数据库的数据存储在不同的表中,从而方便数据的管理与操作。Mysql数据库具有数据库、表、视图等明确的逻辑模型,并提供了灵活、独立的编程环境。它可以通过将某个表映射到另一个表来体现Mysql数据库的可扩展性。
2 大学生心理预约平台的设计
预约平台主要分为前台浏览页面与后台管理页面,其中后台管理页面主要有五个角色,每个角色的权限及设计的功能不同,其中以学生为主要的服务对象,解决学生心理健康的问题,学生可以浏览前台与进入自己的后台页面提交咨询申请操作等,其他角色如初访员、心理咨询助理、心理咨询师、超级管理员等都有各自的功能。
前台设计主要有首页模块、心理知识模块、专家模块、心理倾诉模块和登录模块。后台设计包括以下几个模块。
学生:初访预约记录具体功能有查看初访预约记录,查看预约状态分别有等待审核、预约成功、预约失败、已撤销,其中撤销需要申请,申请至少要提前一天。初访预约具体功能有填写首访登记表、阅读同意书、显示预约状态、查看可以预约的时间段和咨询师。
初访员:初访管理具体功能有查看预约情况、查看预约人的信息、录入初访后的结果、对学生的心理问题分等级。
心理咨询助理:咨询预约的审核功能有查看所有学生的咨询预约申请、对申请者的信息审核、通过短息通知学生、录入咨询的时间和地点,咨询安排记录具体功能有查看和管理所有的预约记录、更改预约信息、匹配空闲的心理咨询师。
图1 功能设计图
心理咨询师:咨询记录具体功能有录入每一次咨询的结果,咨询次数最多为八次,超过八次申请咨询延长,申请内容有咨询师的,咨询结案报告,具体功能有来访者学号、来访者基本信息、问题类型、咨询效果自评、咨询结案报告。
超级管理员:用户管理具体功能有登录用邮件和密码登录、注册、注销、修改密码。预约记录具体功能有查看,管理具体功能有更改老师、更改时间、更改地点、新增预约、匹配初访老师。时间管理具体功能有上班时间查看和调整初防员和心理咨询师,对预约时间查看和调整。基本信息维护具体有个人信息维护、对心理咨询师、初访员,心理咨询助理、学生信息的维护和增删。初访预约审核具体有将首访登记表中的问卷信息实行计分报警策略,对部分紧急学生执行优先排队操作,其他学生按照排队时间正常审核预约初访,统计分析具体功能有咨询学生统计、问题类型的统计、统计的信息导出。
3 大学生心理咨询预约平台的实现
3.1 预约平台功能的实现
3.1.1 前台功能的实现
大学生心理咨询预约平台中前台功能包括首页、心理知识、专家、心理倾诉、登录,在没有登录时首页上展示的是常用心理知识,里面的内容对所有用户开放;登录之后根据不同的心理健康问题,其首页上推荐的内容是不一样的,线上专家咨询和心理倾诉中的内容也不同,主要是给用户提供全面体验平台的功能。
3.1.2 后台功能的实现
用户登录之后,不同的角色有不同的权限,可实现不同的功能。学生:阅读同意书,提交预约申请表,对个人信息的增删改查,查看咨询进度。初访员:对学生提交的申请表进行审核,对个人信息的增删改查。心理咨询助理:对审核通过的申请按照初访员提交的预约学生分配心理咨询师,心理咨询师是按空闲时间自动分配,心理咨询助理通知心理咨询师,可以查看自己管理的心理咨询师的预约情况,个人信息的增删改查。心理咨询师:查看咨询学生的信息,收到通知,录入咨询结果,提交申请咨询延长,个人信息的增删改查。超级管理员:账号管理,对用户信息的管理,对心理咨询师的时间管理,初访情况的管理。
3.1.3 平台展示(如图2—图4)
图2 首页模块
图3 超级管理员模块
图4 心理咨询师模块
3.2 算法的实现
3.2.1 推荐算法的实现
本推荐算法[4]是基于心理知识推荐算法,通过心理咨询师录入的学生心理问题的关键字搜索来实现。知识推荐算法实现的过程也是以一种个性化方法引导学生在大量的心理知识[5]的获选中找到解决自己心理问题的相关知识。如图5所示。
图5 知识推荐算法图
3.2.2 排课算法的实现
排课算法的实现是根据咨询师的空闲时间来给学生安排心理咨询师。排课算法的具体实现是设计要安排的学生为{s1,s2,s3},学生的总数为n,n<=3,而各个学生每周只能分配三次咨询时间,每次访问的时间为两个小时。每周有七天,一天有4次访问,时间分别设为1、2、3、4,依次代表9:00~11:00、 11:00~1:00、3:00~5:00、5:00~7:00。同时要考虑咨询师的上课时间,例如,如只有9:00~11:00没有课,而其他时段有课,则用0234表示,其中0代表可以咨询,其余每段时间的都不能咨询。功能如图6所示。
图6 排课算法图
4 结语
大学生心理咨询预约平台能够更好地解决大学生各种心理问题,能给老师和同学们提供一种更方便的服务。该平台最大的优点是操作简单,功能多,平台对不同权限的用户提供不同的操作,通过推荐算法与排课算法对系统的一些功能实现了精简化,一定程度上提高工作效率。平台使用了Javaweb前后端开发,前端使用了vue[6]作为编程框架实现各页面的设计,后端使用Spring Boot整合Mybatis-plus工程编程框架和基于MySql数据库等技术来设计和实现。