老年人系统

部分代码
`
import java.util.HashMap;
import java.util.Map;

public class ElderlyAbilityAssessment {
// 定义日常生活活动评估项及分数
private static final Map<String, Integer> dailyActivityScores = new HashMap<>();
// 定义精神状态评估项及分数
private static final Map<String, Integer> mentalStatusScores = new HashMap<>();
// 定义感知觉与沟通评估项及分数
private static final Map<String, Integer> sensoryAndCommunicationScores = new HashMap<>();
// 定义社会参与评估项及分数
private static final Map<String, Integer> socialInvolvementScores = new HashMap<>();

static {
    // 初始化日常生活活动评估项分数
    dailyActivityScores.put("进食", 10);
    dailyActivityScores.put("洗澡", 5);
    dailyActivityScores.put("修饰", 5);
    // 其他日常生活活动项及分数初始化
    // 初始化精神状态评估项分数
    mentalStatusScores.put("认知功能", 0);
    mentalStatusScores.put("攻击行为", 0);
    mentalStatusScores.put("抑郁症状", 0);
    // 初始化感知觉与沟通评估项分数
    sensoryAndCommunicationScores.put("意识水平", 0);
    sensoryAndCommunicationScores.put("视力", 0);
    sensoryAndCommunicationScores.put("听力", 0);
    sensoryAndCommunicationScores.put("沟通交流", 0);
    // 初始化社会参与评估项分数
    socialInvolvementScores.put("生活能力", 0);
    socialInvolvementScores.put("工作能力", 0);
    socialInvolvementScores.put("时间/空间定向", 0);
    socialInvolvementScores.put("人物定向", 0);
    socialInvolvementScores.put("社会交往能力", 0);
}

// 计算一级指标得分
private static int calculateScore(Map<String, Integer> scores) {
    return scores.values().stream().mapToInt(Integer::intValue).sum();
}

// 获取一级指标分级
private static int getGrade(int score, int[] thresholds) {
    if (score <= thresholds[0]) {
        return 0;
    } else if (score <= thresholds[1]) {
        return 1;
    } else if (score <= thresholds[2]) {
        return 2;
    } else {
        return 3;
    }
}

// 获取老年人能力等级
public static String getAbilityLevel() {
    int dailyActivityScore = calculateScore(dailyActivityScores);
    int mentalStatusScore = calculateScore(mentalStatusScores);
    int sensoryAndCommunicationScore = calculateScore(sensoryAndCommunicationScores);
    int socialInvolvementScore = calculateScore(socialInvolvementScores);

    int[] dailyActivityThresholds = {100, 95, 60};
    int[] mentalStatusThresholds = {0, 1, 3};
    int[] sensoryAndCommunicationThresholds = {0, 1, 2};
    int[] socialInvolvementThresholds = {2, 7, 13};

    int dailyActivityGrade = getGrade(dailyActivityScore, dailyActivityThresholds);
    int mentalStatusGrade = getGrade(mentalStatusScore, mentalStatusThresholds);
    int sensoryAndCommunicationGrade = getGrade(sensoryAndCommunicationScore, sensoryAndCommunicationThresholds);
    int socialInvolvementGrade = getGrade(socialInvolvementScore, socialInvolvementThresholds);

    // 根据标准确定老年人能力等级
    if (dailyActivityGrade == 0 && mentalStatusGrade == 0 && sensoryAndCommunicationGrade == 0
            && (socialInvolvementGrade == 0 || socialInvolvementGrade == 1)) {
        return "能力完好";
    } else if (dailyActivityGrade == 0
            && (mentalStatusGrade >= 1 || sensoryAndCommunicationGrade >= 1 || socialInvolvementGrade == 2)
            || (dailyActivityGrade == 1
            && (mentalStatusGrade == 0 || mentalStatusGrade == 1 || sensoryAndCommunicationGrade == 0
            || sensoryAndCommunicationGrade == 1 || socialInvolvementGrade == 0 || socialInvolvementGrade == 1))) {
        return "轻度失能";
    } else if (dailyActivityGrade == 1
            && (mentalStatusGrade == 2 || mentalStatusGrade == 3 || sensoryAndCommunicationGrade == 2
            || sensoryAndCommunicationGrade == 3 || socialInvolvementGrade == 2 || socialInvolvementGrade == 3)
            || (dailyActivityGrade == 2
            && (mentalStatusGrade == 1 || mentalStatusGrade == 2 || sensoryAndCommunicationGrade == 1
            || sensoryAndCommunicationGrade == 2 || socialInvolvementGrade == 1 || socialInvolvementGrade == 2))) {
        return "中度失能";
    } else if (dailyActivityGrade == 3
            || (dailyActivityGrade == 2
            && (mentalStatusGrade == 3 || sensoryAndCommunicationGrade == 3 || socialInvolvementGrade == 3))
            || (dailyActivityGrade == 2 && mentalStatusGrade == 2 && sensoryAndCommunicationGrade == 2 && socialInvolvementGrade == 2)) {
        return "重度失能";
    } else {
        return "未知等级";
    }
}

public static void main(String[] args) {
    // 示例:修改评估项分数模拟不同情况
    dailyActivityScores.put("进食", 5);
    mentalStatusScores.put("认知功能", 1);

    System.out.println("老年人能力等级: " + getAbilityLevel());
}

}
`

posted @ 2025-02-12 20:41  ytr123  阅读(8)  评论(0)    收藏  举报