首页 > 解决方案 > REDCap - 在数据中搜索条件后发送自动电子邮件

问题描述

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

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

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

我查看了警报和通知。我可以编写条件逻辑以在数据输入时发送提醒。但是,在我的例子中,数据已经存储了。

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

有没有办法可以做到这一点?

标签: redcap

解决方案


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

这是更改日志条目:

改进:在设置自动调查邀请和警报和通知时添加了一个新的发送时间选项。在定义何时应发送 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 天的确切日期成立。


推荐阅读