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

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

规则说明: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,因为通知同意日期是完整日期。

>=

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

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 开始日期。请更正并说明。