REDCap多区间体温评分条件逻辑方程编写求助
REDCap体温评分逻辑排查与正确实现方案
现有代码错误点排查
- 语法错误:存在运算符书写错误,
=>是无效写法,REDCap大于等于运算符必须为>=,代码中if([cpis_temp]=>38.5的符号写反直接导致语法解析失败 - 逻辑错误:额外新增了
>1、>20无意义判断条件,嵌套顺序混乱,区间与分值的对应关系完全错位,是运行结果不符合要求的核心原因
正确可运行代码
if([cpis_temp] >= 41, 4, if([cpis_temp] >= 39, 3, if([cpis_temp] >= 38.5, 1, if([cpis_temp] >= 36, 0, if([cpis_temp] >= 34, 1, if([cpis_temp] >= 32, 2, if([cpis_temp] >=30, 3, 4))))))
逻辑匹配校验
代码按照从高到低的温度顺序逐层判断,无需额外写区间上下限即可完全匹配评分规则:
- ≥41℃:第一层判断命中返回4
- 39~40.9℃:第一层不成立、第二层命中返回3
- 38.5~38.9℃:前两层不成立、第三层命中返回1
- 36~38.4℃:前三层不成立、第四层命中返回0
- 34~35.9℃:前四层不成立、第五层命中返回1
- 32~33.9℃:前五层不成立、第六层命中返回2
- 30~31.9℃:前六层不成立、第七层命中返回3
- ≤29.9℃:所有条件不成立默认返回4
内容的提问来源于stack exchange,提问作者Philip Olsson
相关产品推荐
相关产品推荐

