Forráskód Böngészése

修改睡眠树问题提交

zsy 1 éve
szülő
commit
170b91e962

+ 1 - 1
src/main/java/com/rf/kjb/chat/dao/domain/ChatQuestionEntity.java

@@ -22,7 +22,7 @@ public class ChatQuestionEntity   {
     @Id
     @Column(name = "id", columnDefinition = "varchar(36) COMMENT '数据ID'")
     private String id;
-    @Column(name = "question",columnDefinition = "varchar(50) not null comment '问题'")
+    @Column(name = "question",columnDefinition = "varchar(500) not null comment '问题'")
     private String question;
 
     @Column(name = "next_question_no",columnDefinition = "varchar(50) not null comment '下一个问题编号'")

+ 11 - 2
src/main/java/com/rf/kjb/chat/rest/ChatController.java

@@ -92,8 +92,17 @@ public class ChatController extends BaseController {
                 chatQuestionEntity.setId((String) item.get(0));
                 chatQuestionEntity.setQuestion((String) item.get(1));
                 chatQuestionEntity.setNextQuestionNo((String) item.get(2));
-                chatQuestionEntity.setQuestionType((String) item.get(3));
-                chatQuestionEntity.setScaleFlag((String) item.get(4));
+                String questionType = (String) item.get(3);
+                if (questionType.equals("单选")){
+                    chatQuestionEntity.setQuestionType("0");
+                }else if (questionType.equals("填空")){
+                    chatQuestionEntity.setQuestionType("1");
+                }else if (questionType.equals("多选")){
+                    chatQuestionEntity.setQuestionType("2");
+                }else {
+                    chatQuestionEntity.setQuestionType("0");
+                }
+                //chatQuestionEntity.setScaleFlag((String) item.get(4));
                 chatQuestionEntity.setLabel(label);
                 chatQuestionEntityList.add(chatQuestionEntity);
             });

+ 495 - 0
src/main/java/com/rf/kjb/scale/scaleResult/PSQIScale.java

@@ -0,0 +1,495 @@
+package com.rf.kjb.scale.scaleResult;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.rf.kjb.scale.dao.dto.NewResultDto;
+import com.rf.kjb.scale.dao.model.AnswerEntity;
+import com.rf.kjb.scale.dao.model.BaseScale;
+import com.rf.kjb.scale.dao.model.DimensionEntity;
+import com.rf.kjb.scale.dao.model.ScaleMarksEntity;
+import com.rf.kjb.scale.util.ScaleConstant;
+
+import java.time.Duration;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author zsy
+ * @description:匹兹堡睡眠质量指数
+ * 备注:2022年7月21日Gaoyixuan已改正,数据格式由version1转换为version2,但是仍有问题
+ * @date 2021/7/20 15:55
+ */
+public class PSQIScale extends BaseScale {
+
+    public PSQIScale(JSONArray jsonArray, JSONObject resultJson) {
+        super(jsonArray, resultJson);
+    }
+
+    public  JSONObject scaleCalculate() throws Exception {
+
+        // 自定义路径使用
+        /*ScaleUtil.getScaleDll("PSQISCALE.dll");
+        System.out.println("JSONArray:"+jsonArray);
+        System.out.println("resultJson:"+resultJson);
+        XScale xScale = new XScale(jsonArray,resultJson);
+        String result = xScale.PSQIScale(jsonArray.toString(), resultJson.toString());
+        //System.out.println("dllresult:"+result);
+        //解决排序问题
+        LinkedHashMap<String, Object> jsonMap = JSON.parseObject(result,LinkedHashMap.class, Feature.OrderedField);
+        JSONObject jsonObject = new JSONObject(true);
+        jsonObject.putAll(jsonMap);
+        System.out.println("jsonObject:"+jsonObject);
+        return jsonObject;*/
+
+        //睡眠质量
+        int scoreQuality = checkQuality(jsonArray);
+        //入睡时间
+        int scoreTime = checkTime(jsonArray);
+        //睡眠时间
+        int scoreHour = checkHour(jsonArray);
+        //睡眠效率
+        int scoreEfficiency = checkEfficiency(jsonArray);
+        //睡眠障碍
+        int scoreObstruct = checkObstruct(jsonArray);
+        //催眠药物
+        int scoreMedicine = checkMedicine(jsonArray);
+        //日间功能障碍
+        int scoreDay = checkDay(jsonArray);
+        System.out.println("A睡眠质量:"+scoreQuality+";B入睡时间:"+scoreTime+";C睡眠时间:"+scoreHour+";D睡眠效率:"+scoreEfficiency+";E失眠障碍:"+scoreObstruct+";F催眠药物:"+scoreMedicine+";日间工程障碍:"+scoreDay);
+        int score = scoreQuality+scoreTime+scoreHour+scoreEfficiency+scoreObstruct+scoreMedicine+scoreDay;
+        System.out.println("PSQI总分:"+score);
+        Map<String,String> resultMap = new LinkedHashMap<>();
+        resultMap.put("睡眠质量得分",String.valueOf(scoreQuality));
+        resultMap.put("入睡时间得分",String.valueOf(scoreTime));
+        resultMap.put("睡眠时间得分",String.valueOf(scoreHour));
+        resultMap.put("睡眠效率得分",String.valueOf(scoreEfficiency));
+        resultMap.put("睡眠障碍得分",String.valueOf(scoreObstruct));
+        resultMap.put("催眠药物得分",String.valueOf(scoreMedicine));
+        resultMap.put("日间工程障碍得分",String.valueOf(scoreDay));
+        resultMap.put("PSQI总分",String.valueOf(score));
+        resultJson.put("睡眠质量得分",String.valueOf(scoreQuality));
+        resultJson.put("入睡时间得分",String.valueOf(scoreTime));
+        resultJson.put("睡眠时间得分",String.valueOf(scoreHour));
+        resultJson.put("睡眠效率得分",String.valueOf(scoreEfficiency));
+        resultJson.put("睡眠障碍得分",String.valueOf(scoreObstruct));
+        resultJson.put("催眠药物得分",String.valueOf(scoreMedicine));
+        resultJson.put("日间工能障碍得分",String.valueOf(scoreDay));
+        resultJson.put("PSQI总分",String.valueOf(score));
+        if (score<= 5){
+            resultMap.put("结论","睡眠质量很好");
+            resultJson.put("结论","睡眠质量很好");
+        }else if (score >= 6 && score <= 10){
+            resultMap.put("结论","睡眠质量还行");
+            resultJson.put("结论","睡眠质量还行");
+        }else if (score >= 11 && score <= 15){
+            resultMap.put("结论","睡眠质量一般");
+            resultJson.put("结论","睡眠质量一般");
+        }else {
+            resultMap.put("结论","睡眠质量很差");
+            resultJson.put("结论","睡眠质量很差");
+        }
+
+        List<Map<String,String>> resultMapList = new ArrayList<>();
+        resultMapList.add(resultMap);
+
+        JSONObject returnJson = new JSONObject(true);
+        returnJson.put("resultMapList",resultMapList);
+        returnJson.put("resultJson",resultJson);
+
+        return returnJson;
+    }
+
+    public JSONObject scaleCalculateV2() throws Exception {
+
+        //总分
+        double score = 0;
+        Map<String, String> resultMap0 = new LinkedHashMap<>();
+        List<Map<String, String>> resultMapList = new ArrayList<>();
+
+        //新版本数据格式
+        Map<String, Object> newResult = new LinkedHashMap<>();
+
+        //返回值以及存数据库格式
+        List<NewResultDto> newResultDtos = new ArrayList<>();
+
+        //获取答案列表
+        List<AnswerEntity> answerEntities = (List<AnswerEntity>) resultJson.get("answerEntities");
+        //获取评分规则列表
+        List<ScaleMarksEntity> scaleMarksEntities = (List<ScaleMarksEntity>) resultJson.get("scaleMarksEntities");
+        //获取维度信息列表
+        List<DimensionEntity> dimensionEntities = (List<DimensionEntity>) resultJson.get("dimensionEntities");
+        if (jsonArray.size() > 0) {
+            score += checkSleepTime(jsonArray) + checkWaitTime(jsonArray) + checkWakeTime(jsonArray) + checkSleepHour(jsonArray) + checkSleepQuality(jsonArray) + checkQuality(jsonArray) + checkEnergy(jsonArray);
+            resultMap0.put("总分", String.valueOf(score));
+            resultJson.put("总分", String.valueOf(score));
+            if (score >= 0 && score <= 12) {
+                newResultDtos.add(new NewResultDto("总分", String.valueOf(score), "睡眠质量很好。", "睡眠质量,很好,入睡速度非常快,夜间不会有频繁醒来的情况,早上起床之后精神状态良好", "无",
+                        "无", "无", "无", "是"));
+                resultMap0.put("总分症状", "睡眠质量很好。");
+                resultMap0.put("总分指导语", "睡眠质量,很好,入睡速度非常快,夜间不会有频繁醒来的情况,早上起床之后精神状态良好");
+                resultMap0.put("总分因子解释", "无");
+                resultMap0.put("总分建议", "无");
+                resultJson.put("总分症状", "睡眠质量很好。");
+                resultJson.put("总分指导语", "睡眠质量,很好,入睡速度非常快,夜间不会有频繁醒来的情况,早上起床之后精神状态良好");
+                resultJson.put("总分因子解释", "无");
+                resultJson.put("总分建议", "无");
+            } else if (score >= 13 && score <= 26) {
+                newResultDtos.add(new NewResultDto("总分", String.valueOf(score), "睡眠质量还行", "睡眠质量一般,健康状况有所下降,如果再不引起足够的重视,您的状况会向一般发展。", "无",
+                        "无", "无", "坚持有规律的作息时间,在周末不要睡得太晚,睡前不要暴饮暴食,也不要喝太多的水。", "是"));
+                resultMap0.put("总分症状", "睡眠质量还行");
+                resultMap0.put("总分指导语", "睡眠质量一般,健康状况有所下降,如果再不引起足够的重视,您的状况会向一般发展。");
+                resultMap0.put("总分因子解释", "无");
+                resultMap0.put("总分建议", "坚持有规律的作息时间,在周末不要睡得太晚,睡前不要暴饮暴食,也不要喝太多的水。");
+                resultJson.put("总分症状", "睡眠质量还行");
+                resultJson.put("总分指导语", "睡眠质量一般,健康状况有所下降,如果再不引起足够的重视,您的状况会向一般发展。");
+                resultJson.put("总分因子解释", "无");
+                resultJson.put("总分建议", "坚持有规律的作息时间,在周末不要睡得太晚,睡前不要暴饮暴食,也不要喝太多的水。");
+            } else if (score >= 27 && score <= 40) {
+                newResultDtos.add(new NewResultDto("总分", String.valueOf(score), "睡眠质量一般", "睡眠质量比较糟糕,健康状况明显受损,容易被一些声音吵醒,饮食起居失去规律。在不引起重视的话,会发展到更严重的地步", "无",
+                        "无", "无", "舒缓的心情就可以让患者早日睡眠,还有就是患者要积极锻炼,在肌体劳累之时就可以很快入眠。", "是"));
+                resultMap0.put("总分症状", "睡眠质量一般");
+                resultMap0.put("总分指导语", "睡眠质量比较糟糕,健康状况明显受损,容易被一些声音吵醒,饮食起居失去规律。在不引起重视的话,会发展到更严重的地步");
+                resultMap0.put("总分因子解释", "无");
+                resultMap0.put("总分建议", "舒缓的心情就可以让患者早日睡眠,还有就是患者要积极锻炼,在肌体劳累之时就可以很快入眠。");
+                resultJson.put("总分症状", "睡眠质量一般");
+                resultJson.put("总分指导语", "睡眠质量比较糟糕,健康状况明显受损,容易被一些声音吵醒,饮食起居失去规律。在不引起重视的话,会发展到更严重的地步");
+                resultJson.put("总分因子解释", "无");
+                resultJson.put("总分建议", "舒缓的心情就可以让患者早日睡眠,还有就是患者要积极锻炼,在肌体劳累之时就可以很快入眠。");
+            } else if (score >= 41 && score <= 54) {
+                newResultDtos.add(new NewResultDto("总分", String.valueOf(score), "睡眠质量很差", "睡眠质量已经到了令您非常头痛的地步,长期的睡眠不足,精神状态较差,难以入睡,导致健康状况的严重恶化,应付工作力不从心,情绪不稳定。", "无",
+                        "无", "无", "建议您及时就医了,必要时采用药物治疗。", "是"));
+                resultMap0.put("总分症状", "睡眠质量很差");
+                resultMap0.put("总分指导语", "睡眠质量已经到了令您非常头痛的地步,长期的睡眠不足,精神状态较差,难以入睡,导致健康状况的严重恶化,应付工作力不从心,情绪不稳定。");
+                resultMap0.put("总分因子解释", "无");
+                resultMap0.put("总分建议", "建议您及时就医了,必要时采用药物治疗。");
+                resultJson.put("总分症状", "睡眠质量很差");
+                resultJson.put("总分指导语", "睡眠质量已经到了令您非常头痛的地步,长期的睡眠不足,精神状态较差,难以入睡,导致健康状况的严重恶化,应付工作力不从心,情绪不稳定。");
+                resultJson.put("总分因子解释", "无");
+                resultJson.put("总分建议", "建议您及时就医了,必要时采用药物治疗。");
+            }
+
+            resultMapList.add(resultMap0);
+        }
+
+
+        //需要图表展示的
+        newResult.put("iconInfo", "");
+        newResult.put("result", newResultDtos);
+
+        JSONObject returnJson = new JSONObject(true);
+        returnJson.put("resultMapList", resultMapList);
+        //returnJson.put("scaleName",resultJson.getString("scaleName"));
+        returnJson.put("resultJson", resultJson);
+        returnJson.put(ScaleConstant.ResultEnum.RESULT_NEW_FIELD.getKeyword(), newResult);
+
+        return returnJson;
+    }
+
+    /**
+     * 获取第一题分数
+     * @param jsonArray
+     * @return
+     */
+    private static int checkSleepTime(JSONArray jsonArray){
+        //第一题:睡觉时间:22:00前0分,22:00到23:001分;23:00到24:002分;24:00到1:003分
+        //获取睡觉时间小时
+        Integer hour = Integer.parseInt(jsonArray.getJSONObject(0).getString("checkItems").substring(0, jsonArray.getJSONObject(0).getString("checkItems").indexOf(":")));
+        if ((hour > 3) && (hour < 22)){
+            return 0;
+        } else if ((hour == 22) || (hour == 23)){
+            return 1;
+        } else if ((hour == 24) || (hour == 1)){
+            return 2;
+        } else {
+            return 3;
+        }
+    }
+
+    /**
+     * 获取第二题分数
+     * @param jsonArray
+     * @return
+     */
+    private static int checkWaitTime(JSONArray jsonArray){
+        JSONObject jsonObject1 = jsonArray.getJSONObject(1);
+        String minute = jsonObject1.getString("checkItems");
+        if(minute.equals("16~30min")){
+            return 1;
+        } else if(minute.equals("31~60min")){
+            return 2;
+        } else if(minute.equals(">=60min")){
+            return 3;
+        } else {
+            return 0;
+        }
+    }
+    /**
+     * 获取第三题分数
+     * @param jsonArray
+     * @return
+     */
+    private static int checkWakeTime(JSONArray jsonArray){
+        Integer hour = Integer.parseInt(jsonArray.getJSONObject(3).getString("checkItems").substring(0, jsonArray.getJSONObject(0).getString("checkItems").indexOf(":")));
+        if (hour < 6){
+            return 0;
+        } else if ((hour == 6) || (hour == 7)){
+            return 1;
+        } else if ((hour == 8) || (hour == 9)){
+            return 2;
+        } else {
+            return 3;
+        }
+    }
+    /**
+     * 获取第四题分数
+     * @param jsonArray
+     * @return
+     */
+    private int checkSleepHour(JSONArray jsonArray) {
+
+        //睡眠时间 根据条⽬ 4 的应答计分, >7 ⼩时计 0 分,6~7 计 1 分,5~6计 2 分,<5 ⼩时计 3 分。
+        int scoreHour = 0;
+        //JSONObject jsonObject1 = jsonArray.getJSONObject(3);
+        String hourSleepString = jsonArray.getJSONObject(3).getString("checkItems");
+        int hour =Integer.parseInt(hourSleepString.substring(0,hourSleepString.indexOf(":")));
+        if(hour>6&&hour<=7){
+            scoreHour = 1;
+        }else if (hour>=5&&hour<=6){
+            scoreHour = 2 ;
+        }else if (hour<5){
+            scoreHour = 3 ;
+        }
+        return scoreHour;
+    }
+    /**
+     * 获取第五-十四题分数/十六-十七题分数
+    * @param jsonArray
+    * @return
+    */
+    private static int checkSleepQuality(JSONArray jsonArray){
+        //睡眠障碍
+        int score = 0;
+        for(int i=4;i<14;i++){
+            JSONObject jsonObject = jsonArray.getJSONObject(i);
+            String checkItems = jsonObject.getString("checkItems").trim();
+            if(checkItems.equals("<1次/周")){
+                score += 1;
+            }else if(checkItems.equals("1-2次/周")){
+                score += 2;
+            }else if(checkItems.equals("≥3次/周")){
+                score += 3;
+            }
+        }
+        for(int i=15;i<17;i++){
+            JSONObject jsonObject = jsonArray.getJSONObject(i);
+            String checkItems = jsonObject.getString("checkItems").trim();
+            if(checkItems.equals("<1次/周")){
+                score += 1;
+            }else if(checkItems.equals("1-2次/周")){
+                score += 2;
+            }else if(checkItems.equals("≥3次/周")){
+                score += 3;
+            }
+        }
+        return score;
+    }
+    /**
+     * 获取第十五题分数
+     * @param jsonArray
+     * @return
+     */
+    private static int checkQuality(JSONArray jsonArray){
+        //睡眠质量,第六题,很好0分 较好1分  较差2分 很差3分
+        int scoreQuality = 0 ;
+        JSONObject jsonObject1 = jsonArray.getJSONObject(14);
+        String checkItems = jsonObject1.getString("checkItems");
+        if(checkItems.equals("较好")){
+            scoreQuality +=1;
+        }else if(checkItems.equals("较差")){
+            scoreQuality +=2;
+        }else if(checkItems.equals("很差")){
+            scoreQuality +=3;
+        }
+        return scoreQuality;
+    }
+    /**
+     * 获取第十八题分数
+     * @param jsonArray
+     * @return
+     */
+    private static int checkEnergy(JSONArray jsonArray){
+        //睡眠质量,第六题,很好0分 较好1分  较差2分 很差3分
+        int scoreQuality = 0 ;
+        JSONObject jsonObject1 = jsonArray.getJSONObject(17);
+        String checkItems = jsonObject1.getString("checkItems");
+        if(checkItems.equals("偶尔有")){
+            scoreQuality +=1;
+        }else if(checkItems.equals("有时有")){
+            scoreQuality +=2;
+        }else if(checkItems.equals("经常有")){
+            scoreQuality +=3;
+        }
+        return scoreQuality;
+    }
+    private static int checkTime(JSONArray jsonArray){
+        //入睡时间 ,
+        // 1、第二题 计分为≤ 15 分计 0 分,16~30 分计 1 分,31~60计 2 分,≥60 分计 3 分
+        // 2、 5a⽆计 0 分,<1 周/ 次计 1 分,1~2 周/ 次计 2 分,≥3周/ 次计 3 分3.
+        // 累加条⽬ 2 和 5a 的计分,若累加分为 0 计 0 分,1~2计 1 分,3~4分 2 ,5~6 计 3 分
+        int scoreTime = 0;
+        int scoreTime5a=0;
+        int scoreTime2=0;
+        JSONObject jsonObject1 = jsonArray.getJSONObject(1);
+        String minute = jsonObject1.getString("checkItems");
+        if(minute.equals("16~30min")){
+            scoreTime2 =1;
+        }else if(minute.equals("31~60min")){
+            scoreTime2 =2;
+        }else if(minute.equals(">=60min")){
+            scoreTime2 =3;
+        }
+        jsonObject1=jsonArray.getJSONObject(4);
+        String checkItems = jsonObject1.getString("checkItems").trim();
+        if(checkItems.equals("<1次/周")){
+            scoreTime5a = 1;
+        }else if(checkItems.equals("1-2次/周")){
+            scoreTime5a = 2;
+        }else if(checkItems.equals("≥3次/周")){
+            scoreTime5a=3;
+        }
+        int scoreTemp = scoreTime2+scoreTime5a;
+        if(scoreTemp==0){
+            scoreTime = 0;
+        }else if(scoreTemp>=1 && scoreTemp<= 2 ){
+            scoreTime = 1;
+        }else if(scoreTemp>=3 && scoreTemp<= 4 ){
+            scoreTime = 2;
+        }else if(scoreTemp>=5 && scoreTemp<= 6 ){
+            scoreTime = 3;
+        }
+        return scoreTime;
+    }
+
+    private int checkHour(JSONArray jsonArray) {
+
+        //睡眠时间 根据条⽬ 4 的应答计分, >7 ⼩时计 0 分,6~7 计 1 分,5~6计 2 分,<5 ⼩时计 3 分。
+        int scoreHour = 0;
+        //JSONObject jsonObject1 = jsonArray.getJSONObject(3);
+        String hourSleepString = jsonArray.getJSONObject(3).getString("checkItems");
+        int hour =Integer.parseInt(hourSleepString.substring(0,hourSleepString.indexOf(":")));
+        if(hour>6&&hour<=7){
+            scoreHour = 1;
+        }else if (hour>=5&&hour<=6){
+            scoreHour = 2 ;
+        }else if (hour<5){
+            scoreHour = 3 ;
+        }
+        return scoreHour;
+    }
+
+    private static int checkEfficiency(JSONArray jsonArray){
+//        床上时间 = 条⽬ 3(起床时间) - 条⽬ 1(上床时间)
+        String goBad = "2021-01-27 "+jsonArray.getJSONObject(2).getString("checkItems")+"";
+        LocalDateTime engDate = LocalDateTime.parse(goBad, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
+        String leaveBad = "2021-01-26 "+jsonArray.getJSONObject(0).getString("checkItems");
+        LocalDateTime beginDate = LocalDateTime.parse(leaveBad,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
+        Duration duration = Duration.between(beginDate,engDate);
+        //相差的分钟数
+        long hourOnBed = duration.toMinutes();
+        String hourSleepString = jsonArray.getJSONObject(3).getString("checkItems");
+        int hourSleep = Integer.parseInt(hourSleepString.substring(0,hourSleepString.indexOf(":")))*60 + Integer.parseInt(hourSleepString.substring(hourSleepString.indexOf(":")+1));
+        double efficiencyTemp  = (double)hourSleep/hourOnBed;
+        if(efficiencyTemp>0.85){
+            return 0;
+        }else if(efficiencyTemp>=0.75&&efficiencyTemp<=0.84){
+            return 1;
+        }else if(efficiencyTemp>=0.65&&efficiencyTemp<0.74){
+            return 2;
+        }else{
+            return 3;
+        }
+
+    }
+    private static  int checkObstruct(JSONArray jsonArray){
+        //睡眠障碍
+        int scoreTemp = 0;
+        int score = 0;
+        for(int i=5;i<14;i++){
+            JSONObject jsonObject = jsonArray.getJSONObject(i);
+            String checkItems = jsonObject.getString("checkItems").trim();
+            if(checkItems.equals("<1次/周")){
+                scoreTemp += 1;
+            }else if(checkItems.equals("1-2次/周")){
+                scoreTemp += 2;
+            }else if(checkItems.equals("≥3次/周")){
+                scoreTemp += 3;
+            }
+            if(scoreTemp==0){
+                score = 0;
+            }else if(scoreTemp>=1 && scoreTemp<10){
+                score = 1;
+            }else if(scoreTemp>=10 && scoreTemp<=18){
+                score = 2;
+            }else if(scoreTemp >=19 && scoreTemp<=27){
+                score = 3;
+            }
+        }
+        return score;
+    }
+
+    private int checkMedicine(JSONArray jsonArray){
+        //催眠药物
+        int scoreMedicine = 0 ;
+        JSONObject jsonObject = jsonArray.getJSONObject(15);
+        String checkItems = jsonObject.getString("checkItems").trim();
+        if(checkItems.equals("<1次/周")){
+            scoreMedicine = 1;
+        }else if(checkItems.equals("1-2次/周")){
+            scoreMedicine = 2;
+        }else if(checkItems.equals("≥3次/周")){
+            scoreMedicine = 3;
+        }
+        return scoreMedicine;
+    }
+
+    private static int checkDay(JSONArray jsonArray){
+        //日间功能障碍
+        int scoreDay=0;
+        JSONObject jsonObject = jsonArray.getJSONObject(16);
+        String checkItems = jsonObject.getString("checkItems").trim();
+        if(checkItems.equals("<1次/周")){
+            scoreDay += 1;
+        }else if(checkItems.equals("1-2次/周")){
+            scoreDay += 2;
+        }else if(checkItems.equals("≥3次/周")){
+            scoreDay += 3;
+        }
+
+        jsonObject = jsonArray.getJSONObject(17);
+        checkItems = jsonObject.getString("checkItems").trim();
+        if(checkItems.equals("没有")){
+            scoreDay += 0;
+        }else if(checkItems.equals("偶尔有")){
+            scoreDay += 1;
+        }else if(checkItems.equals("有时有")){
+            scoreDay += 2;
+        }else if(checkItems.equals("经常有")){
+            scoreDay += 3;
+        }
+        if(scoreDay == 0){
+            scoreDay = 0;
+        }else if(scoreDay == 1 || scoreDay == 2){
+            scoreDay = 1;
+        }else if(scoreDay == 3 || scoreDay == 4){
+            scoreDay = 2;
+        }else if(scoreDay == 5 || scoreDay == 6){
+            scoreDay = 3;
+        }
+        return scoreDay;
+    }
+
+}