如何在不同事件的重复器械中按访视选择结果隐藏指定字段?
解决方案
你的核心问题在于之前的逻辑仅针对visit_2的触发场景,且未针对每个后续访视的字段单独设置精准的隐藏条件,导致无法区分"当前访视之前/之后"的字段范围。以下是具体实现方法:
核心逻辑思路
针对每个访视的flup_relapse字段,仅当**所有在它之前的访视中,任意一个该字段被选为"Yes"(值为'1')**时,才隐藏当前访视的该字段;而之前访视的字段不设置任何隐藏逻辑,确保始终可见。
具体操作步骤
- 打开RedCap项目的Online Designer,找到
Follow_up器械下的flup_relapse字段。 - 针对每个访视(事件)的该字段,单独设置
Action Tag:- visit_1_arm_1的
flup_relapse:无需设置任何隐藏Action Tag(它是第一个访视,无前置触发条件)。 - visit_2_arm_1的
flup_relapse:@IF([visit_1_arm_1][flup_relapse]='1', @HIDDEN, "") - visit_3_arm_1的
flup_relapse:@IF(@ANY([visit_1_arm_1][flup_relapse]='1', [visit_2_arm_1][flup_relapse]='1'), @HIDDEN, "") - visit_4_arm_1的
flup_relapse:@IF(@ANY([visit_1_arm_1][flup_relapse]='1', [visit_2_arm_1][flup_relapse]='1', [visit_3_arm_1][flup_relapse]='1'), @HIDDEN, "") - 以此类推,直到visit_10_arm_1的
flup_relapse,判断条件包含所有visit_1到visit_9的该字段值是否为'1'。
- visit_1_arm_1的
关键说明
- 使用
@ANY函数可简化多字段的或逻辑判断,避免手动编写多个OR条件。 - 仅对当前访视之后的字段设置隐藏逻辑,前置访视字段不做任何隐藏设置,确保已完成/未完成的前置访视字段始终可见。
- RedCap的
@HIDDEN标签仅在数据录入/编辑界面隐藏未填写的字段,已完成的前置访视字段即使后续触发隐藏条件,仍会在记录查看界面保持可见,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Javier Gámez
相关产品推荐
相关产品推荐

