部分日期与动态查询文本的比较

比较两个日期问题,其中至少有一个日期是部分日期,然后发出包含动态文本的查询(如果日期不符合预期)。

规则说明: AE 终止日期必须等于或迟于通知日期的同意。

注:

如果 AE 停止日期的任何部分未知 (UNK),请比较可用日期部分。

规则表达式

if(getDatesCompareResult(aeenddt,true,infconsdt,false,'>=')) {
  return true;
 }
 else
 {
 setQueryMessage("AE Stop date "+getDateDMYFormat(aeenddt,true)+" is prior to Informed Consent date "+getDateDMYFormat(infconsdt,false)+". Please correct or confirm.");
  return false;               //Query message set dynamically. System sends query when return false condition is met.
 }

查询消息: AE 停止日期早于通知同意日期。请更正或确认。

定义

aeenddt

对应于规则说明(部分日期)中的 AE 停止日期,后跟 True,因为 AE 停止日期是部分日期。

infconsdt

从规则说明(完整日期)转为通知同意日期,后跟 False,因为通知同意日期是完整日期。

>=

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

getDatesCompareResult( )

使用传入运算符 (>=) 比较两个日期(aeenddtinfconsdt)。在这种情况下:aeenddt >= infconsdt

getDateDMYFormat( )

使用 getDateDMYFormat 帮助函数返回 DD-MON-YYYY 格式的日期(包括部分日期)。

返回值

布尔值

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

使用提示

  • 当应该对日期问题执行比较,并且至少有一个日期是部分日期时,使用此选项。
  • 查询文本应包含动态输入的日期问题值。

验证步骤

  1. 使用主题进行测试,转至包含要比较的日期项的给定访问和表单,在本例中为 AE 停止日期 <aeenddt> 和知情同意日期 <infconsdt>。
  2. 如下表所示更新表单项 aeenddtinfconsdt 并验证结果是否已列出:
    aeenddt infconsdt 结果
    Null 02-Dec-2021 无查询
    02-Dec-2021 02-Dec-2021 无查询
    01-Dec-2021 02-Dec-2021 查询。
    UNK-Dec-2021 02-Dec-2021 无查询
    UNK-Nov-2021 02-Dec-2021 查询。
    03-Dec-2021 02-Dec-2021 无查询
    03-Dec-2021 05-Dec-2021 查询
    03-Dec-2021 02-Dec-2021 无查询
    03-Dec-2021 01-Jan-2022 查询
    03-Dec-2021 04-Dec-2021 查询
    03-Dec-2021 Null 无查询
    03-Dec-2021 02-Dec-2021 无查询
    01-Dec-2021 02-Dec-2021 查询

注:

如果表单存在于多个访问中,则重复上述步骤。

其他示例

示例 4-24“完成研究日期”必须等于或迟于“最后研究药物日期”

注:如果“上次研究日期”药物的某些部分为 UNK,请比较可用的日期部分。

if(getDatesCompareResult(compdt,false,drugdt,true,'>='))
{
  return true;
}
else
{
setQueryMessage("Date of Study Completion "+getDateDMYFormat(compdt,false)+" is prior to Last Date of Study Drug "+getDateDMYFormat(drugdt,true)+" .Please correct or confirm.");
  return false;
}

查询消息:“学习完成日期”早于“学习药物的最后日期”。请更正或确认。

示例 4-25 CM 停止日期必须等于或迟于 CM 开始日期

注:如果 CM 起始/停止日期的任何部分未知,请比较可用日期部分。

if(getDatesCompareResult(cmenddt,true,cmstdt,true,'>='))
{
  return true;
}
else
{
setQueryMessage("Date of Study Completion "+getDateDMYFormat(cmenddt,true)+" is prior to Last Date of Study Drug "+getDateDMYFormat(cmstdt,true)+" .Please correct or confirm.");
  return false;
}

查询消息: CM 终止日期早于 CM 起始日期。请更正并说明。