REDCap 自动填充早期记录中的字段

问题描述

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

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

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

感谢您的帮助

解决方法

如果我理解正确,您希望人们从下拉列表中进行选择,如果不存在正确的选项,您希望允许他们自己输入。这可以通过动态 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_other] 的值,则选择 [journal_query] = 'Other' 的值,并且否则,选择 [journal_query] 的值。如果您使用的是最新版本并且可以访问 @CALCTEXT 操作标签,那么您将创建一个文本输入字段(我将这个字段称为 [journal],因为它始终包含正确的值记录),并应用此操作标记:

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...