老年人系统
部分
// 评估等级枚举
public enum AbilityLevel {
INTACT, // 能力完好
MILD_IMPAIRMENT, // 轻度失能
MODERATE_IMPAIRMENT, // 中度失能
SEVERE_IMPAIRMENT // 重度失能
}
// 日常生活活动评估
public class DailyLivingActivity {
private int eating; // 进食
private int bathing; // 洗澡
private int grooming; // 修饰
private int dressing; // 穿衣
private int bowelControl; // 大便控制
private int bladderControl; // 小便控制
private int toileting; // 如厕
private int transfer; // 床椅转移
private int walking; // 平地行走
private int stairs; // 上下楼梯
// 计算总分并确定分级
public AbilityLevel calculateLevel() {
int total = eating + bathing + grooming + dressing + bowelControl
+ bladderControl + toileting + transfer + walking + stairs;
if (total == 100) return AbilityLevel.INTACT;
else if (total >= 65) return AbilityLevel.MILD_IMPAIRMENT;
else if (total >= 45) return AbilityLevel.MODERATE_IMPAIRMENT;
else return AbilityLevel.SEVERE_IMPAIRMENT;
}
// 省略Setter/Getter方法
}
// 精神状态评估
public class MentalStatus {
private int cognitiveFunction; // 认知功能
private int aggressiveBehavior; // 攻击行为
private int depressiveSymptoms; // 抑郁症状
public AbilityLevel calculateLevel() {
int total = cognitiveFunction + aggressiveBehavior + depressiveSymptoms;
if (total == 0) return AbilityLevel.INTACT;
else if (total == 1) return AbilityLevel.MILD_IMPAIRMENT;
else if (total <= 3) return AbilityLevel.MODERATE_IMPAIRMENT;
else return AbilityLevel.SEVERE_IMPAIRMENT;
}
// 省略Setter/Getter方法
}
// 综合评估逻辑
public class AbilityAssessment {
private DailyLivingActivity dailyLiving;
private MentalStatus mentalStatus;
// 其他两个一级指标类(感知觉与沟通、社会参与)省略类似实现
// 最终能力等级判定
public AbilityLevel finalAssessment(boolean hasDementia, boolean hasMentalIllness,
boolean hasRecentAccidents, boolean isComatose) {
if (isComatose) return AbilityLevel.SEVERE_IMPAIRMENT;
AbilityLevel dailyLevel = dailyLiving.calculateLevel();
AbilityLevel mentalLevel = mentalStatus.calculateLevel();
// 获取其他两个指标的分级(假设为perceptionLevel和socialLevel)
// 根据判定卡逻辑进行综合判定(此处为简化示例)
if (dailyLevel == AbilityLevel.INTACT
&& mentalLevel == AbilityLevel.INTACT
/* 其他指标条件 */) {
return AbilityLevel.INTACT;
}
// 特殊情况:确诊认知障碍/精神疾病/近期意外事件,等级提升
if (hasDementia || hasMentalIllness || hasRecentAccidents) {
return dailyLevel.compareTo(AbilityLevel.SEVERE_IMPAIRMENT) < 0
? dailyLevel.nextLevel() : dailyLevel;
}
// 其他复杂逻辑需完整实现判定卡规则
return AbilityLevel.SEVERE_IMPAIRMENT; // 示例返回值
}
}