Redcap - 在数据中搜索条件后发送自动电子邮件

问题描述

我正在将 sql server 数据库迁移到 Redcap。我是 Redcap 的新手,我仍在研究 Redcap 的功能。我正在构建一个调查表,将所有数据收集到 Redcap 中。一旦数据存在于 Redcap 中,我想根据未来的日期发送电子邮件。例如,如果仪器中有如下字段

电子邮件 到期日
test@gmail.com 12/12/2021

我想在该日期(2021 年 12 月 12 日)向该电子邮件地址 (test@gmail.com) 发送自动电子邮件。基本上,它必须查看数据并在到期日向电子邮件地址发送提醒。

我查看了提醒和通知。我可以编写条件逻辑以在数据输入时发送提醒。但是,就我而言,数据已经存储。

我查看了调度模块。日程安排模块在日历上生成事件,但不会自动发送电子邮件

有什么办法可以做到这一点吗?

解决方法

您的机构使用的是哪个版本的 REDCap?从 9.9.1 版开始,您可以在项目中的日期字段之前或之后发送警报。因此,可以将警报配置为由数据导入触发,并且发送时间将是 [expiry_date] 之前的 5 天。

这是变更日志条目:

改进:在设置自动调查邀请和警报和通知时添加了一个新的发送时间选项。定义时 当应该发送 ASI/警报时,选项“经过一段时间后发送 时间”添加了一个新设置,以便如果需要,用户可以设置 相对于日期或日期时间字段值的时间间隔 该项目。在以前的版本中,延时设置只能 相对于触发 ASI/警报的时间进行设置。那 仍然是一个选项,但现在用户也可以选择发送 ASI/警报 某个日期/时间之前或之后的特定时间 特定领域。这一新设置将允许用户拥有更大的 关于设置何时发送 ASI/警报的控制 在他们的设置中变得过于复杂,例如必须使用复杂的 逻辑(使用 datediff 等)。

正如变更日志所说,另一种方法是在触发器中使用 datediff 逻辑,如果您不是在 v9.9.1 或更高版本上,则需要使用该逻辑(您还应该鼓励您的机构升级,因为有重要的安全补丁自那以后)。当警报在其逻辑中具有 datediff 功能时,REDCap 将每四小时检查一次(除非您的管理员更改了频率)。这意味着您可以使用以下逻辑在到期日期前 5 天发送警报:

(existing logic) and datediff("today",[expiry_date],"d",true) = -5

这里的 true 参数返回有符号的值,这样如果第一个日期晚于第二个日期,它将返回一个负值。 false 返回一个绝对数。

这将在 [expiry_date] 是未来 5 天的确切日期成立。

相关问答

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