日期时间比较 - 动态查询

比较同时具有时间元素的两个日期问题,如果日期不符合预期,则显示动态查询。

规则说明:收集日期和时间必须等于或早于研究疫苗接种日期和时间。

规则表达式

//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

与规则说明中的研究疫苗管理日期和时间相对应。

<=

小于或等于运算符。根据规则说明更新运算符。

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;
}

查询消息:日期晚于研究完成日期或停课日期。请更正或确认日期。