重複値チェック- 表セクション項目

それぞれの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)として識別します。

戻り値

ブール値

trueまたはfalseのいずれかを返します。return false条件が満たされると、システムによって問合せが呼び出されます。

使用上のヒント

これは、品目が選択管理でない場合に使用します。

検証ステップ

  1. テスト用のサブジェクトを使用して、チェックする項目を含む特定のビジットおよびフォームに移動します。この例では、「医療履歴」2セクション・フォームの指定した表インスタンスの異常/条件<MHCondition>に移動します。
  2. 次の表のようにフォーム・アイテムMHConditionを更新し、結果がリストどおりであることを確認します。
    ステップ 注意 結果

    a. 最初の2セクション・フォーム・インスタンス(Form1)で、最初の表インスタンス(Row1)を作成し、MHCondition項目にvalue 1と入力します。

    2セクション・フォーム・インスタンスは1つのみです。

    問合せなし。

    b. Form1で、2番目の表インスタンス(Row2)を作成し、MHCondition項目にvalue 1と入力します。

    Form1Row1およびRow2の値の一致:
    • Form1:
      • Row1 - 値1
      • Row2 - 値1

    照会。

    c. Form1Row2MHcondition項目をvalue 2として更新します。

    Form1Row1およびRow2内の異なる値:
    • Form1:
      • Row1 - 値1
      • Row2 - 値2

    問合せなし。

    d. Form1Row1MHcondition項目をvalue 2として更新します。

    Form1Row1およびRow2の値の一致:
    • Form1:
      • Row1 - 値2
      • Row2 - 値2

    照会。

    e. Form1Row2にあるMHConditionアイテムをクリアします。

    Form1Row1およびRow2内の異なる値:
    • Form1:
      • Row1 - 値2
      • Row2 - Null

    クエリーがありません。

    f. Form1Row2MHconditionアイテムをvalue 3として更新します。

    Form1Row1およびRow2内の異なる値:
    • Form1:
      • Row1 - 値2
      • Row2 - 値3

    問合せがありません。

    たとえば、 Form1で、3番目の表インスタンス(Row3)を作成し、MHConditionアイテムに'value 2'と入力します。

    Form1Row1およびRow3の値の一致:
    • Form1:
      • Row1 - 値2
      • Row2 - 値3
      • Row3 - 値2

    照会。

    h. Form1Row3MHconditionアイテムをvalue 1として更新します。

    Form1Row1Row2およびRow3内の異なる値:
    • Form1:
      • Row1 - 値2
      • Row2 - 値3
      • Row3 - 値1

    問合せがありません。

    i. Form1Row3MHconditionアイテムをvalue 3として更新します。

    Form1Row2およびRow3の値の一致:
    • Form1:
      • Row1 - 値2
      • Row2 - 値3
      • Row3 - 値3

    照会。

    j. 2番目の2セクション・フォーム・インスタンス(Form2)を作成し、1番目の表インスタンス(Row1)を作成し、MHCondition項目にvalue 3と入力します。

    Form1Row2およびRow3の一致値:
    • Form1:
      • Row1 - 値2
      • Row2 - 値3
      • Row3 - 値3
    • Form2:
      • Row1 - 値3

    Form1で問い合せます。

    Form2に問合せがありません。

    k. Form2で、2番目の表インスタンス(Row2)を作成し、MHConditionアイテムにvalue 3と入力します。

    Form1Row2Row3、およびForm2Row1Row2の一致値:
    • Form1:
      • Row1 - 値2
      • Row2 - 値3
      • Row3 - 値3
    • Form2:
      • Row1 - 値3
      • Row2 - 値3

    Form1およびForm2で問い合せます。

    l. Form2Row2を削除します。

    Form1Row2およびRow3の一致値:
    • Form1:
      • Row1 - 値2
      • Row2 - 値3
      • Row3 - 値3
    • Form2:
      • Row1 - 値3

    Form1で問い合せます。

    Form2に問合せがありません

ノート:

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

その他の例

例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;
}

クエリーメッセージ:評価の日付はすでに記録されています。確認して訂正してください。