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.
親トピック: 繰返しフォーム関数