【问题标题】:REDCap automatically populate fields from earlier recordsREDCap 自动填充早期记录中的字段
【发布时间】:2021-01-09 22:31:12
【问题描述】:

我想用早期记录中该字段中插入的内容填充下拉菜单(不是带有管道的表单)。

具体来说,我有一个名为 “Journal” 的字段。如果有人之前记录了期刊“代谢组学”,我希望它出现在下拉菜单中(或类似的东西)。

如果期刊是新的,我会添加一个可以添加新期刊的文本字段。

感谢您的帮助

【问题讨论】:

    标签: redcap


    【解决方案1】:

    如果我理解正确,您希望人们从下拉列表中进行选择,如果不存在正确的选项,您希望允许他们自己输入。这可以通过只有管理员才能配置的动态 SQL 查询字段来完成,因此您需要本地管理员为您执行此操作。

    本质上,您将有一个动态 SQL 字段(我称之为 [journal_query])来查找已输入的不同值,以及一个文本框字段 ([journal_other]) 来输入一个新值,如果动态SQL 字段不包含所需的选项。

    [journal_query] SQL 字段有这个查询:

    SELECT DISTINCT value FROM redcap_data WHERE project_id = [project-id] AND field_name = 'journal_other' UNION SELECT 'Other';
    

    显示所有现有值并在列表中添加“其他”选项。

    并且[journal_other] 字段具有分支逻辑,仅当[journal_query] = 'Other' 时才显示。

    复杂之处在于数据现在仅存在于两个字段之一中,因此可以使用第三个字段将两者结合起来,如果 [journal_query] = 'Other' 的值选择 [journal_other] 的值,否则选择[journal_query] 的值。如果您使用的是最新版本并且可以访问 @CALCTEXT 操作标签,那么您将创建一个文本输入字段(我会将此字段称为 [journal],因为它始终包含记录的正确值),并且应用此操作标签:

    @CALCTEXT(if([journal_query]='Other',[journal_other],[journal_query]))
    

    然后[journal] 的值(根据需要重命名字段)包含受访者选择或手动输入的日记帐类型,您可以将其用于管道或报告。

    【讨论】:

    • 感谢您的帮助,这正是我所需要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多