重複値チェック- 表セクション項目
それぞれの2セクション・フォームで、指定したアイテムに対して複数のテーブル・インスタンスに同じ値が含まれているかどうかを確認します。
ルールの説明:「医療履歴」表のセクションに重複する異常/条件が入力されている場合は、問合せを発行します。
ルール式
var instval=getCurrent2SFormInstance();
if(findDuplicate2SForm(instval,MHCondition))
{
return false; //System sends query when return false condition is met
}
else
{
return true;
}
問合せメッセージ:異常/条件が重複して記録されました。検証して修正してください。
定義
- MHCondition
-
ルールの説明から、2セクション・フォームのテーブル・セクションにある異常/条件に対応します。
- getCurrent2SFormInstance( )
-
現在の2セクション・フォームのフォーム・インスタンス番号を取得します。
- findDuplicate2SForm( )
-
重複データを、パラメータとして指定された変数のアイテム値(この場合は
lesid)として識別します。
使用上のヒント
これは、品目が選択管理でない場合に使用します。
検証ステップ
- テスト用のサブジェクトを使用して、チェックする項目を含む特定のビジットおよびフォームに移動します。この例では、「医療履歴」2セクション・フォームの指定した表インスタンスの異常/条件<
MHCondition>に移動します。 - 次の表のようにフォーム・アイテム
MHConditionを更新し、結果がリストどおりであることを確認します。ステップ 注意 結果 a. 最初の2セクション・フォーム・インスタンス(Form1)で、最初の表インスタンス(Row1)を作成し、
MHCondition項目にvalue 1と入力します。2セクション・フォーム・インスタンスは1つのみです。 問合せなし。
b. Form1で、2番目の表インスタンス(Row2)を作成し、
MHCondition項目にvalue 1と入力します。Form1のRow1およびRow2の値の一致: - Form1:
- Row1 - 値1
- Row2 - 値1
照会。
c. Form1のRow2の
MHcondition項目をvalue 2として更新します。Form1のRow1およびRow2内の異なる値: - Form1:
- Row1 - 値1
- Row2 - 値2
問合せなし。
d. Form1のRow1の
MHcondition項目をvalue 2として更新します。Form1のRow1およびRow2の値の一致: - Form1:
- Row1 - 値2
- Row2 - 値2
照会。
e. Form1のRow2にある
MHConditionアイテムをクリアします。Form1のRow1およびRow2内の異なる値: - Form1:
- Row1 - 値2
- Row2 -
Null
クエリーがありません。
f. Form1のRow2の
MHconditionアイテムをvalue 3として更新します。Form1のRow1およびRow2内の異なる値: - Form1:
- Row1 - 値2
- Row2 - 値3
問合せがありません。
たとえば、 Form1で、3番目の表インスタンス(Row3)を作成し、
MHConditionアイテムに'value 2'と入力します。Form1のRow1およびRow3の値の一致: - Form1:
- Row1 - 値2
- Row2 - 値3
- Row3 - 値2
照会。
h. Form1のRow3の
MHconditionアイテムをvalue 1として更新します。Form1のRow1、Row2およびRow3内の異なる値: - Form1:
- Row1 - 値2
- Row2 - 値3
- Row3 - 値1
問合せがありません。
i. Form1のRow3の
MHconditionアイテムをvalue 3として更新します。Form1のRow2およびRow3の値の一致: - Form1:
- Row1 - 値2
- Row2 - 値3
- Row3 - 値3
照会。
j. 2番目の2セクション・フォーム・インスタンス(Form2)を作成し、1番目の表インスタンス(Row1)を作成し、
MHCondition項目にvalue 3と入力します。Form1のRow2およびRow3の一致値: - Form1:
- Row1 - 値2
- Row2 - 値3
- Row3 - 値3
- Form2:
- Row1 - 値3
Form1で問い合せます。
Form2に問合せがありません。
k. Form2で、2番目の表インスタンス(Row2)を作成し、
MHConditionアイテムにvalue 3と入力します。Form1のRow2とRow3、およびForm2のRow1とRow2の一致値: - Form1:
- Row1 - 値2
- Row2 - 値3
- Row3 - 値3
- Form2:
- Row1 - 値3
- Row2 - 値3
Form1およびForm2で問い合せます。
l. Form2のRow2を削除します。
Form1のRow2およびRow3の一致値: - Form1:
- Row1 - 値2
- Row2 - 値3
- Row3 - 値3
- Form2:
- Row1 - 値3
Form1で問い合せます。
Form2に問合せがありません
- Form1:
ノート:
フォームが複数のビジットに存在する場合は、前述のステップを繰り返します。
その他の例
例4-31タイムポイント(またはビジット)が選択されていて、前のレコードですでにタイムポイントが使用されている場合は、問合せを実行します。
var frminst=getCurrent2SFormInstance();
if(findDuplicate2SForm(frminst,Visit))
{
return false;
}
else
{
return true;
}
クエリーメッセージ:選択した時点は、前のレコードで既にレポートされています。確認して調整してください。
例4-32アセスメントの日付は複製できません。たとえば、01/01/2021が前のタイムポイントにすでに記録されている場合、再度記録することはできません
var frminst=getCurrent2SFormInstance();
if(findDuplicate2SForm(frminst,assdt))
{
return false;
}
else
{
return true;
}
クエリーメッセージ:評価の日付はすでに記録されています。確認して訂正してください。
親トピック: 2セクション・フォームの例