心身医学自评表
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
package com.peanut.modules.common.controller;
|
||||
|
||||
import com.peanut.common.utils.R;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 心身医学自评表
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController("commonSelfEvaluationForm")
|
||||
@RequestMapping("common/selfEvaluationForm")
|
||||
public class SelfEvaluationFormController {
|
||||
|
||||
/*
|
||||
中国大陆用户
|
||||
SDS的评定结果以标准分来定:
|
||||
标准分小于52分为无抑郁;标准分大于等于52分且小于62分为轻微至轻度抑郁;标准分大于等于62分且小于72分为中至重度抑郁;标准分大于等于72分为重度抑郁。
|
||||
|
||||
其它国家和地区
|
||||
标准分小于50分为无抑郁;标准分大于等于50分且小于60分为轻微至轻度抑郁;标准分大于等于60分且小于70分为中至重度抑郁;标准分大于等于70分为重度抑郁。
|
||||
|
||||
计分规则:
|
||||
SDS评定采用1—4制记分,评分时间为过去一周内。
|
||||
正向题,依次评为粗分1、2、3、4分 (1 3 4 7 8 9 10 13 15 19)
|
||||
反向题,依次评为粗分4、3、2、1分 (2 5 6 11 12 14 16 17 18 20)
|
||||
20项相加得到原始分,原始分分乘以1.25以后取整,得到标准分。
|
||||
|
||||
*/
|
||||
|
||||
//打分
|
||||
@RequestMapping("/calculationForm")
|
||||
public R calculationForm(@RequestBody Map<String,Object> params) {
|
||||
List<Integer> list = (List) params.get("resList");
|
||||
int total = 0;
|
||||
for (int i=0;i < list.size(); i++) {
|
||||
//反向题
|
||||
if (i==1||i==4||i==5||i==10||i==11||i==13||i==15||i==16||i==17||i==19){
|
||||
if (list.get(i)==1){
|
||||
total += 4;
|
||||
}else if(list.get(i)==2){
|
||||
total += 3;
|
||||
}else if (list.get(i) == 3) {
|
||||
total += 2;
|
||||
}else {
|
||||
total += 1;
|
||||
}
|
||||
}else {
|
||||
total += list.get(i);
|
||||
}
|
||||
}
|
||||
total = (int)(total*1.25);
|
||||
String country = params.get("country").toString();
|
||||
if ("CN".equals(country)){
|
||||
total = total - 2;
|
||||
}
|
||||
String res ="无抑郁";
|
||||
if (total>=70){
|
||||
res ="重度抑郁";
|
||||
}else if (total >= 60) {
|
||||
res ="中至重度抑郁";
|
||||
}else if (total >= 50) {
|
||||
res ="轻微至轻度抑郁";
|
||||
}
|
||||
return R.ok().put("res",res);
|
||||
}
|
||||
|
||||
//自评表题目列表
|
||||
@RequestMapping("/getSelfEvaluationFormList")
|
||||
public R getSelfEvaluationFormList() {
|
||||
List list = new ArrayList();
|
||||
list.add("我觉得闷闷不乐,情绪低沉");
|
||||
list.add("我觉得一天之中早晨最好");
|
||||
list.add("我一阵阵哭出来或觉得想哭");
|
||||
list.add("我晚上睡眠不好");
|
||||
list.add("我吃得跟平常一样多");
|
||||
list.add("我与异性密切接触时和以往一样感到愉快");
|
||||
list.add("我发觉我的体重下降");
|
||||
list.add("我有便秘的苦恼");
|
||||
list.add("我心跳比平时快");
|
||||
list.add("我无缘无故地感到疲乏");
|
||||
list.add("我的头脑跟平常一样清楚");
|
||||
list.add("觉得经常做的事情并没有困难");
|
||||
list.add("我觉得不安而平静不下来");
|
||||
list.add("我对将来抱有希望");
|
||||
list.add("我比平常容易生气激动");
|
||||
list.add("我觉得作出决定是容易的");
|
||||
list.add("我觉得自己是个有用的人,有人需要我");
|
||||
list.add("我的生活过得很有意思");
|
||||
list.add("我认为如果我死了别人会生活得好些");
|
||||
list.add("我平常感兴趣的事我仍然照样感兴趣");
|
||||
return R.ok().put("list",list);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user