心身医学自评表

This commit is contained in:
wuchunlei
2024-10-28 09:41:26 +08:00
parent cce2106e04
commit 76eec3b2ba

View File

@@ -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);
}
}