表インスタンス数
ルールが2セクション・フォームに対して現在実行されている表の行インスタンスを検索します。
ルールの説明: 「はい」が「サブジェクトには関連する医療履歴がありますか?」に対して選択されている場合、削除されていない表インスタンスが少なくとも1つ記録されているか、問合せが発行されている必要があります。
ルール式
If(MHSTDT!==null || MHONG!==null || MHENDT!==null){…..}
var instval=getCurrent2SFormInstance();
if(getStringFromChoice(MHYes)==='Yes' )
{
var instcnt=list2SInstances(MHTERM,instval,0);
if(instcnt.length > 0)
{
return true;
}
else
{
return false; //System sends query when return false condition is met
}
}
else
{
return true;
}
問合せメッセージ: 「サブジェクトには関連する医療履歴がありますか?」という回答が「はい」になっているため、表にデータが必要です。確認して完了してください。
定義
- MHSTDT、MHONG、MHENDT
-
2セクション形式のテーブルセクション項目。
- MHYes
-
ターゲット品目であるフラット・セクションの品目。
- MHTERM
-
"list2SInstances()"ヘルパー・ファンクションのパラメータとして使用される2セクション形式の表セクション項目。
- getCurrent2SFormInstance( )
-
現在の2項フォームのフォーム インスタンス番号を取得します。
- getStringFromChoice( )
-
選択要素の選択済ラベル(ドロップダウン、ラジオ・ボタンまたはチェック・ボックス)を文字列またはカンマ区切り値に変換します。選択要素をパラメータとして取得します。
- list2SInstances( )
-
渡された変数のすべてのテーブルインスタンスを2セクション形式で一覧表示します。フォームの表セクションの項目変数をパラメータとして取得します。
使用上のヒント
2セクション・フォームの表セクション内のいずれかの項目が完了または更新されるたびにルールが実行されるようにするには、各項目にグローバル変数を作成し、変数を使用してそれらのいずれかがnullでないかどうかを評価する必要があります。これは、ルール式の最初の行で行われます。注意:
この評価では、ListRFInstances( )ヘルパー関数にパラメータとして渡される項目をルール式ロジックに含めることはできません。検証ステップ
- テストの件名を使用して、確認する予定のiemsを含む特定の訪問およびフォームに移動します。この例では、「サブジェクトには関連する医療履歴がありますか?」質問<
MHYes
>があります。 - 次の表に示すようにフォーム・アイテム
MHYes
を更新し、結果が表示されていることを確認します。ステップ 結果 a. 2セクション・フォームの最初のインスタンスのフラット・セクション(Form1)で、
MHYes
アイテムを「はい」として入力します。問合せ
b. Form1で、最初の表インスタンスを作成し、すべての項目を完了します。
問合せなし
c. Form1で、最初の表インスタンス内のすべての項目をクリアします。
問合せなし
d。 Form1で、最初の表インスタンスを削除します。
問合せ
e。 Form1のフラット・セクションで、
MHYes
アイテムを「いいえ」として更新します。問合せなし
f。 Form1のフラット・セクションで、
MHYes
アイテムを「はい」として更新します。問合せ
g。 Form1で、新しい最初の表インスタンスを作成し、いくつかの項目を完了します。
問合せなし
h。 2番目の2セクション・フォーム・インスタンス(Form2)を作成し、フラット・セクションで
MHYes
アイテムを「はい」として入力します。Form2での問合せ
i。 Form2で、最初の表インスタンスを作成し、いくつかの項目を完了します。
問合せなし
j。 Form2を削除します。
問合せなし
注意:
フォームが複数の訪問に存在する場合は、前述のステップを繰り返します。
その他の例
例4-29読取り専用「Was PE Date populate?」に「Yes」が移入され、繰返しセクションに完了した日付がない場合に問合せをトリガーします。
var instval=getCurrent2SFormInstance();
if(getStringFromChoice(PEDT)==='Yes')
{
var instcnt=list2SInstances(RES,instval,0);
if(instcnt.length > 0)
{
return true;
}
else
{
return false;
}
}
else
{
return true;
}
問合せメッセージ: 健康診断の日付を入力します。ただし、表にエントリはありません。
親トピック: 2セクション・フォームの例