FindDuplicateRepeatingFormWithinRange( )
同じ日付範囲内の特定のアイテムの繰返しフォーム・インスタンス間で重複データを検出します。データは、指定された検索キーのアイテム値が重複するフォームIDで識別されます。ルール・ターゲットは、対応する繰返しセクション項目にある必要があります。
この関数について:
- ドロップダウン、ラジオ・ボタンまたはチェック・ボックス値を関数パラメータまたはターゲットとして使用することはできません。
- 変数が日付の一部を保持するように設計されている場合は、同じ部分的な日付書式でそのパラメータの値を指定する必要があります。
- レコードに必要な日付にデータ入力がない場合、レコードは比較のためにスキップされます。
最初の2つのパラメータは、常に日付範囲である必要があります。追加の検索キーを指定できます。
ノート:
これは集計関数です。ターゲットが繰返しフォーム上にある場合、ルールは各フォーム・インスタンスに対して実行されます。
構文
FindDuplicateRepeatingFormWithinRange('startDateVariable', 'endDateVariable', 'variable1',...)
パラメータ
注意:
ルール式の他の場所でこの関数に渡された変数を再利用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。戻り値
重複値が見つかった場合は trueを返し、重複値が見つからない場合は falseを返します。
例3-43同じ開始日付範囲および症状値の間に繰返しフォーム・インスタンスが存在するかどうかの確認
// Given 5 repeating form instances with items "onsetStartDate", "onsetEndDate and "Symptom"
if (FindDuplicateRepeatingFormWithinRange('itmOnsetDateStart', 'itmOnsetDateEnd', 'itmSymptom') === true) {
return false;
} else {
return true;
}
// Fires a query if more than 1 repeating form instance is found within the same symptom value within the same date range.
//
// Note: If any repeating form instance has a null start or end date then the system assumes a date in order to successfully
// perform the date range overlap check. If the start date is null then the system assumes it to be 01 Jan 0001 and if the
// end date is null then it is assumed to be 01 Dec 3099.
親トピック: 繰返しフォーム関数