新增四个心身医学自评表

This commit is contained in:
wuchunlei
2025-01-23 13:30:11 +08:00
parent e56b186fff
commit ee79f4d6bf

View File

@@ -10,10 +10,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 心身医学自评表
@@ -32,10 +29,10 @@ public class SelfEvaluationFormController {
public R formList() {
List res = new ArrayList();
res.add(yiyu);
// res.add(jiaolv);
res.add(jiaolv);
// res.add(zibi);
// res.add(zaokuang);
// res.add(zilian);
res.add(zaokuang);
res.add(zilian);
return R.ok().put("formList",res);
}
@@ -45,6 +42,12 @@ public class SelfEvaluationFormController {
List list = null;
if ("yiyu".equals(params.get("type").toString())){
list = yiyuList;
}else if ("jiaolv".equals(params.get("type").toString())){
list = jiaolvList;
}else if ("zaokuang".equals(params.get("type").toString())){
list = zaokuangList;
}else if ("zilian".equals(params.get("type").toString())){
list = zilianList;
}
return R.ok().put("list",list);
}
@@ -58,6 +61,12 @@ public class SelfEvaluationFormController {
String city = params.get("city").toString();
if ("yiyu".equals(params.get("type").toString())){
res = countyiyu(list,country);
}else if ("zilian".equals(params.get("type").toString())) {
res = countzilian(list);
}else if ("jiaolv".equals(params.get("type").toString())) {
res = countjiaolv(list);
}else if ("zaokuang".equals(params.get("type").toString())) {
res = countzaokuang(list);
}
SelfEvaluationForm f = new SelfEvaluationForm();
f.setType(params.get("type").toString());
@@ -102,6 +111,70 @@ public class SelfEvaluationFormController {
}
return R.ok().put("total",total).put("status",status);
}
public R countjiaolv(List<Integer> list) {
int total = 0;
for (int i=0;i < list.size(); i++) {
//反向题
if (i==1||i==2||i==3||i==4||i==6||i==7||i==8||i==10||i==11||i==12||i==14||i==15||i==16||i==18||i==20){
if (list.get(i)==1){
total += 1;
}else if(list.get(i)==2){
total += 2;
}else if (list.get(i) == 3) {
total += 3;
}else {
total += 4;
}
}else {
total += list.get(i);
}
}
total = (int)(total*1.25);
String status ="正常";
if (total>=70){
status ="重度焦虑";
}else if (total >= 60) {
status ="中至重度焦虑";
}else if (total >= 50) {
status ="轻微至轻度焦虑";
}
return R.ok().put("total",total).put("status",status);
}
public R countzaokuang(List<Integer> list) {
int total = 0;
for (int i=0;i < list.size(); i++) {
if (list.get(i)==1){
total += 0;
}else if(list.get(i)==2){
total += 1;
}else if (list.get(i) == 3) {
total += 2;
}else {
total += 3;
}
}
String status ="无双相情感障碍 (注意自我保重)";
if (total>=19){
status ="可能有双相情感账啊  (一定要看心理医生或精神科医生)";
}else if (total >= 9) {
status ="可能有轻微的双相情感障碍  (建议咨询心理医生或精神科医生)";
}
return R.ok().put("total",total).put("status",status);
}
public R countzilian(List<Integer> list) {
int total = 0;
for (int i=0;i < list.size(); i++) {
if (1==list.get(i)){
total++;
}
}
String status ="自恋型人格障碍";
if (total>=5){
status ="正常";
}
return R.ok().put("total",total).put("status",status);
}
@@ -109,15 +182,15 @@ public class SelfEvaluationFormController {
private static final Map<String, Object> yiyu;
// private static final Map<String, Object> jiaolv;
private static final Map<String, Object> jiaolv;
// private static final Map<String, Object> zibi;
// private static final Map<String, Object> zaokuang;
// private static final Map<String, Object> zilian;
private static final Map<String, Object> zaokuang;
private static final Map<String, Object> zilian;
private static final List yiyuList;
// private static final List jiaolvList;
private static final List jiaolvList;
// private static final List zibiList;
// private static final List zaokuangList;
// private static final List zilianList;
private static final List zaokuangList;
private static final List zilianList;
static {
yiyu = new HashMap<>();
@@ -142,6 +215,7 @@ public class SelfEvaluationFormController {
"正向题,依次评为粗分1、2、3、4分   (1 3 4 7 8 9 10 13 15 19)\n" +
"反向题,依次评为粗分4、3、2、1分   (2 5 6 11 12 14 16 17 18 20)\n" +
"20项相加得到原始分原始分分乘以1.25以后取整,得到标准分。");
yiyu.put("result", Arrays.asList("没有或很少时间","小部分时间","相当多时间","绝大部分或全部时间"));
yiyuList = new ArrayList();
yiyuList.add("我觉得闷闷不乐,情绪低沉");
yiyuList.add("我觉得一天之中早晨最好");
@@ -164,17 +238,41 @@ public class SelfEvaluationFormController {
yiyuList.add("我认为如果我死了别人会生活得好些");
yiyuList.add("我平常感兴趣的事我仍然照样感兴趣");
// jiaolv = new HashMap<>();
// jiaolv.put("title","焦虑量表");
// jiaolv.put("des","你焦虑吗");
// jiaolv.put("num","20道题目");
// jiaolv.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
// jiaolv.put("cnRes","否");
// jiaolv.put("worldRes","否");
// jiaolv.put("role","大于0就焦虑");
jiaolv = new HashMap<>();
jiaolv.put("title","SAS焦虑量表");
jiaolv.put("type","jiaolv");
jiaolv.put("des","焦虑自评量表由W.K.Zung于1971年编制。从量表结构的形式到具体评定方法都与抑郁自评量表SDS十分相似用于评定病人焦虑的主观感受及其在治疗中的变化。SAS适用于具有焦虑症状的成年人它与SDS一样具有广泛的应用性。焦虑是心理咨询门诊中较为常见的一种情绪障碍因此SAS可作为咨询门诊中了解焦虑症状的自评工具。");
jiaolv.put("num","20道题目");
jiaolv.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
jiaolv.put("cnRes","SAS标准差的分界值为50分其中5059分为轻度焦虑6069分为中度焦虑69分以上为重度焦虑。");
jiaolv.put("worldRes","SAS标准差的分界值为50分其中5059分为轻度焦虑6069分为中度焦虑69分以上为重度焦虑。");
jiaolv.put("role","若为正向评分题依次评为粗分1、2、3、4分反向评分题带有*号者)则评为4、3、2、1分。与SDS一样20个项目得分相加即得粗分X经过公式换算即用粗分乘以1.25以后取整数部分,就得标准分(Y)。");
jiaolv.put("result", Arrays.asList("没有或很少时间","小部分时间","相当多时间","绝大部分或全部时间"));
jiaolvList = new ArrayList();
jiaolvList.add("我觉得比平常容易紧张和着急");
jiaolvList.add("我无缘无故地感到害怕");
jiaolvList.add("我容易心里烦乱或觉得惊恐");
jiaolvList.add("我觉得我可能将要发疯");
jiaolvList.add("我觉得一切都很好,也不会发生什么不幸");
jiaolvList.add("我手脚发抖打颤");
jiaolvList.add("我因为头疼、头颈痛和背痛而苦恼");
jiaolvList.add("我感到容易衰弱和疲乏");
jiaolvList.add("我觉得心平气和,并且容易安静坐着");
jiaolvList.add("我觉得心跳得很快");
jiaolvList.add("我因为一阵阵头晕而苦恼");
jiaolvList.add("我有晕倒发作或觉得要晕倒似的");
jiaolvList.add("我呼气、吸气都感到很容易");
jiaolvList.add("我手脚麻木和刺痛");
jiaolvList.add("我因为胃痛和消化不良而苦恼");
jiaolvList.add("我常常要小便");
jiaolvList.add("我的手脚常常是干燥温暖的");
jiaolvList.add("我脸红发热");
jiaolvList.add("我容易入睡,并且一夜睡得很好");
jiaolvList.add("我做恶梦(恶梦)");
// zibi = new HashMap<>();
// zibi.put("title","自闭量表");
// zibi.put("type","zibi");
// zibi.put("des","你自闭了吗");
// zibi.put("num","20道题目");
// zibi.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
@@ -182,23 +280,56 @@ public class SelfEvaluationFormController {
// zibi.put("worldRes","否");
// zibi.put("role","大于0就自闭");
// zaokuang = new HashMap<>();
// zaokuang.put("title","躁狂量表");
// zaokuang.put("des","不要躁狂");
// zaokuang.put("num","20道题目");
// zaokuang.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
// zaokuang.put("cnRes","否");
// zaokuang.put("worldRes","否");
// zaokuang.put("role","大于0就躁狂");
zaokuang = new HashMap<>();
zaokuang.put("title","双相情感障碍/躁郁症量表");
zaokuang.put("type","zaokuang");
zaokuang.put("des","BSQ主要用于对双相情感障碍躁狂抑郁症进行筛查量表主要包含12个项目。对于双向情感障碍的筛查除了通过专门的双向情感障碍量表筛查外也可以结合躁狂症筛查量表、抑郁症筛查量表一起进行如果即有躁狂症状又有抑郁症状则需要考虑双向情感障碍的可能性。");
zaokuang.put("num","12道题目");
zaokuang.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
zaokuang.put("cnRes","0-8  无双相情感障碍 (注意自我保重)\n" +
"9-18  可能有轻微的双相情感障碍  (建议咨询心理医生或精神科医生)\n" +
"19-36 可能有双相情感账啊  (一定要看心理医生或精神科医生)");
zaokuang.put("worldRes","0-8  无双相情感障碍 (注意自我保重)\n" +
"9-18  可能有轻微的双相情感障碍  (建议咨询心理医生或精神科医生)\n" +
"19-36 可能有双相情感账啊  (一定要看心理医生或精神科医生)");
zaokuang.put("role","没有=0轻度=1中度数=2非常严重=3.\n" +
"总分0-36分");
zaokuang.put("result",Arrays.asList("没有","轻度","中度","非常严重"));
zaokuangList = new ArrayList();
zaokuangList.add("有时我突然变得非常健谈而且语速非常快。");
zaokuangList.add("有时我突然变得特别主动,做一些平时都不做的事情。");
zaokuangList.add("有时候我觉得时间过得很快,这种时候我感到有些生气!");
zaokuangList.add("我有时候会一方面觉得自己情绪高涨,另一方面又觉得有些沮丧。");
zaokuangList.add("别人对我的评价经常提到,有段时间显得过于自卑,有段时间又显得过于自信。");
zaokuangList.add("我的工作业绩(学习成绩)不是很稳定,一段时间能做很多事情,也能出成果,另外一段时间却什么都做不出来。");
zaokuangList.add("有时候,我会有不明原因的愤怒,甚至想打人。");
zaokuangList.add("我在某段时间觉得脑中空空如也,什么都想不出;而在另外一段时间的想法又特别多,很有创意。");
zaokuangList.add("我在一些时间喜欢和别人黏在一起玩耍,而在另外一段时间我却只想单独呆着。");
zaokuangList.add("我在某段时间觉得特别乐观;另外一段时间我又觉得特别悲观。");
zaokuangList.add("我在某段时间感到食欲不振;另外一段时间却情不自禁地暴饮暴食。");
zaokuangList.add("我在某段时间觉得特别想哭哭不出来;另外一段时间却特别幽默搞笑。");
// zilian = new HashMap<>();
// zilian.put("title","自恋型人格量表");
// zilian.put("des","我很帅");
// zilian.put("num","20道题目");
// zilian.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
// zilian.put("cnRes","否");
// zilian.put("worldRes","否");
// zilian.put("role","大于0就自恋");
zilian = new HashMap<>();
zilian.put("title","自恋型人格障碍量表");
zilian.put("type","zilian");
zilian.put("des","自恋型人格障碍量表 (是否题)");
zilian.put("num","10道题目");
zilian.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
zilian.put("cnRes","出现是其中的五项,即可诊断为自恋型人格障碍。");
zilian.put("worldRes","出现是其中的五项,即可诊断为自恋型人格障碍。");
zilian.put("role","出现是其中的五项,即可诊断为自恋型人格障碍。");
zilian.put("result",Arrays.asList("",""));
zilianList = new ArrayList();
zilianList.add("自高自大,对自己的才能夸大其辞,希望受人特别关注。(自高自大)");
zilianList.add("坚信他关注的问题是世上独有的,不能被某些特殊的人物了解。(不被理解)");
zilianList.add("对权力、金钱、荣誉、美丽或理想爱情有过分幻想。(不切实际)");
zilianList.add("缺乏同情心。(不能共情)");
zilianList.add("有很强的嫉妒心。");
zilianList.add("对批评的反应是愤怒、羞愧或感到耻辱(尽管不一定当即表露出来)(永不认错)");
zilianList.add("渴望持久的关注与赞美。(渴望关注)");
zilianList.add("喜欢指使他人,要他人为自己服务。(被服务)");
zilianList.add("认为自己应享有他人没有的特权。(控制关系)");
zilianList.add("亲密关系困难(婚姻关系,亲子关系等)");
}