You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RedCap中datediff函数含'today'需手动更新:系统还是用户问题?

RedCap计算字段未自动更新剩余到期天数的问题解决

问题场景

  • 使用RedCap跟踪部门临时岗位的到期日期,计算剩余天数的公式为:datediff('today',[appt_end_date],'d',true)
  • 必须每日手动在数据质量应用中点击fix calcs now才能更新计算结果,每遗漏一天,结果就会偏差1天,比如3天未操作后计算值会差3天

疑问解答

这不是用户操作问题,是RedCap常规计算字段的默认设计特性:常规计算字段仅在记录被创建或编辑时触发计算,不会随着系统日期(today)的变化自动每日刷新。也就是说,只要记录没有被修改,计算值就会停留在上次计算的结果,不会自动跟进日期更新。

解决办法

  • 切换为自动计算字段:
    创建字段时选择「Auto-calculated Field」类型(而非常规的Calculated Field),这类字段会通过系统每日定时任务自动重新计算,无需手动触发刷新,公式可以直接沿用原有的datediff('today',[appt_end_date],'d',true)。
  • 定时自动刷新计算值:
    如果无法切换字段类型,可以通过RedCap API编写脚本,定时调用计算刷新接口(API参数使用content=calc),实现每日自动执行fix calcs now的功能;或者联系机构的RedCap管理员,配置系统级定时任务来批量刷新计算字段。
  • 前端实时计算替代方案:
    若不需要将剩余天数存储到数据库,可在表单中添加文本字段,通过HTML或逻辑分支实现打开记录时实时计算显示剩余天数,这种方式不会产生存储值偏差的问题。

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:27:10