findDuplicate2SFormWithinRange( )
フラット・セクションまたは繰返しセクション内で、同じ日付範囲内の特定のアイテムの2セクション・フォーム・インスタンス間で重複データを検出します。データは、指定された検索キーまたは日付範囲で重複するアイテム値を持つフォームIDによって識別されます。ルール・ターゲットは、対応する繰返しセクション項目にある必要があります。
最初の2つのパラメータは、常に日付範囲である必要があります。追加の検索キーを指定できます。
- ドロップダウン、ラジオ・ボタンまたはチェック・ボックス値を関数パラメータまたはターゲットとして使用することはできません。
- 変数が日付の一部を保持するように設計されている場合は、同じ部分的な日付書式でそのパラメータの値を指定する必要があります。
- レコードに必要な日付にデータが入力されていない場合、レコードは比較のためにスキップされます。
これは集計関数です。ターゲットが2セクション・フォームの繰返しセクションにある場合、ルールは各インスタンスに対して実行されます。
構文
findDuplicate2SFormWithinRange(formInstance,'startDateVariable','endDateVariable','variable1',...)
パラメータ
注意:
ルール式の他の場所でこの関数に渡された変数を再利用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。パラメータ | 必須/オプション | 説明 |
---|---|---|
formInstance |
オプション | 検索が実行されるフォーム インスタンスを示します。
|
startDateVariable |
必須 | 評価する日付範囲の開始日として使用される、繰返しフォームの日付アイテム。 |
endDateVariable |
必須 | 評価する日付範囲の終了日として使用される、繰返しフォームの日付アイテム。 |
variable(s) |
オプション | チェックする項目変数。一重引用符を使用して渡されます。 |
戻り値
ブール(trueまたはfalse)値:
- 重複する値が見つかった場合は [真]。
- False (重複する値が見つからない場合)。
例)
例3-63すべての2セクション・フォーム・インスタンスで、同じ開始日付範囲および症状値内にインスタンスが存在するかどうかを確認します。
// Given 5 repeating form instances with items "onsetStartDate", "onsetEndDate and "Symptom"
if (findDuplicate2SFormWithinRange(null,'itmOnsetDateStart','itmOnsetDateEnd','itmSymptom') === true) {
return false;
} else {
return true;
}
// Fires a query if more than 1 repeating instance in a two-section form is found within the same date range and with the same symptom.
//
// Note: If any repeating instance of the two-section form 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.
親トピック: 2セクション・フォーム関数