日期时间比较 - 动态查询

比较两个日期问题,这些问题也具有时间要素,如果日期不如预期,则显示动态查询。

规则说明:收集日期和时间必须等于或早于研究疫苗管理注入日期和时间。

规则表达式

//to meet the rule description criteria colldt-vaccdt should be a negative value or 0 (<=0)
if(timeDiffInMinutes(colldt,vaccdt)<=0)
{
return true;
}
else
{
var dt1=getDateDMYFormat(colldt,"HH:mm");
var dt2=getDateDMYFormat(vaccdt,"HH:mm");
var qtstr="Potential Protocol Deviation: Blood sample "+dt1+" was obtained post-injection "+dt2+".Please reconcile or complete Protocol Deviation CRF."
setQueryMessage(qtstr);      //query message set dynamically
return false;                //System sends query when return false condition is met
}

查询消息:潜在协议偏差:已获取注入后 {injectiondate} 的血样 {SampleDate}。请调节或完成协议偏差 CRF。

定义

colldt

对应于规则说明中的收集日期和时间

vaccdt

对应于规则说明中的 Study Vaccine Administration Date and Time

<=

Less Than or Equal To 运算符。根据规则说明更新运算符。

timeDiffInMinutes( )

计算 date1 (colldt)、date2 (vaccdt) (date1-date2) 之间的差值(分钟)。

getDateDMYFormat( )
以 DD-Mon-YYYY 格式返回日期或日期时间,包括时间元素(如果适用)。
"HH:mm"
作为 getDateDMYFormat() 帮助函数的参数传递的时间格式,用于定义当前时间元素的输出格式。
setQueryMessage( )

使用 setQueryMessage( ) 函数指定动态查询文本。

返回值

布尔值

返回 truefalse。满足返回 false 条件时,系统会引发查询。

使用提示

  • 始终使用相关的日期帮助程序函数来比较日期,而不是使用比较运算符直接比较变量。
  • 在应该对具有时间的完整日期执行比较时使用此选项。

验证步骤

  1. 使用主题进行测试,转到包含要比较的日期项的给定访问和表单,在此示例中为采样收集日期 <colldt> 和研究疫苗管理日期 <vaccdt>。
  2. 按照下表更新表单项 colldtvaccdt,并验证结果是否已列出:
    colldt vaccdt 结果
    2021 年 5 月 10 日 10:00 Null 无查询
    2021 年 5 月 10 日 10:00 2021 年 5 月 10 日 10:00 无查询
    2021 年 5 月 10 日 10:01 2021 年 5 月 10 日 10:00 查询。

    验证是否在查询文本中填写了正确的日期值。

    2021 年 5 月 10 日 09:59 2021 年 5 月 10 日 10:00 无查询
    2021 年 6 月 11 日 10:00 2021 年 5 月 10 日 10:00 查询。

    验证是否在查询文本中填写了正确的日期值。

    2021 年 4 月 11 日 07:01 2021 年 5 月 10 日 10:00 无查询
    Null 2021 年 5 月 10 日 10:00 无查询

其他示例

示例 4-23“ECG 日期”[和“执行时间”]必须等于或早于“完成研究日期”

if(dateDiffInDays(ecgdt,compdt)<=0)
{
return true;
}
var dt1=getDateDMYFormat(ecgdt,"HH:mm");
var dt2=getDateDMYFormat(compdt);
var qtstr="Date is "+dt1+" after Date of Study Completion or Discontinuation "+dt2+". Please correct or confirm date(s).";
setQueryMessage(qtstr);
return false;
}

查询消息:日期晚于学习完成日期或停止日期。请更正或确认日期。