日付比較

正確な時間(時と分)のフィールドがない2つの日付質問を比較し、それらの質問の日付が予想どおりでない場合は問合せを発行します。

ルール摘要:「発効日」の値は「完了日」の値以前にする必要があります。そうしないと、問合せが発生します。

ルール式

//to meet the rule description criteria onstdt-compdt should be a negative value or zero (<=0)
if(dateDiffInDays(onstdt,compdt)<=0)     
{
return true;
}
else
{
return false;                         //System sends query when return false condition is met
}

クエリーメッセージ:発効日が完了日より後です。日付を修正または確認してください。

定義

onstdt

ルールの説明の「設定日」に対応します。

compdt

ルール摘要の完了日に対応します。

<=

「次以下」演算子。ルールの説明に基づいて演算子を更新します。

dateDiffInDays

date1 (onstdt)とdate2 (compdt) (date1-date2)の差異を日数で計算します。

戻り値

ブール

trueまたはfalseのいずれかを返します。return false条件が満たされると、問合せが呼び出されます。

使用方法のヒント

比較演算子を使用して変数を直接比較するのではなく、関連する日付ヘルパー関数を使用して日付を比較してください。

検証ステップ

  1. テスト用のサブジェクトを使用して、比較する日付アイテムを含む特定のビジットおよびフォームに移動します。この例では、設定日<onstdt>および完了日<compdt>です。
  2. 次の表のようにフォーム・アイテムonstdtおよびcompdtを更新し、結果がリストどおりであることを確認します。
    onstdt compdt 結果
    10-May-2021 Null 問合せなし
    10-May-2021 10-May-2021 問合せなし
    11-May-2021 10-May-2021 問合せ
    09-May-2021 10-May-2021 問合せなし
    09-Jun-2021 10-May-2021 問合せ
    11-Apr-2021 10-May-2021 問合せなし
    Null 10-May-2021 問合せなし
    12-May-2021 10-May-2021 問合せ
    12-May-2021 14-May-2021 問合せなし

注意:

フォームが複数の訪問に存在する場合は、前述のステップを繰り返します。

その他の例

例4-11死亡日は無作為化日以降にする必要があります

if(dateDiffInDays(deathdt,randt)>=0)
{
return true;
}
else
{
return false;
}

問合せメッセージ:死亡日が無作為化日より前です。日付を修正または確認してください。

例4-12完了日または取下げ日は死亡日と同じである必要があります

//Apply this rule when Reason for discontinuation is 'death'
if(dateDiffInDays(compdt,deathdt)===0)
{
return true;
}
else
{
return false;
}

問合せメッセージ:中止の事由は死亡、完了日または取下げ日は死亡日と同じである必要があります。日付を修正または確認してください。

例4-13低血糖症エピソード開始日は、被験者退会日より前である必要があります

ノート:低血糖症のエピソードは日時質問であり、時間要素はこのロジックでは無視されます。

if(dateDiffInDays(hypodt,withdrawdt)<=0)
{
return true;
}
else
{
return false;
}

問合せメッセージ:低血糖症のエピソードの日付は、被験者がトライアルを終了した後です。修正または明確化してください。

例4-14病歴の開始日は生年月日以降にする必要があります

if(dateDiffInDays(mhstdt,dob)>=0)
{
return true;
}
else
{
return false;
}

問合せメッセージ:開始日が「人口統計」フォームの生年月日より前です。日付を修正してください。