getQuestionValue( )

指定された項目パスの単一の質問値を返します。アイテム・パスは完全パスである必要があり、visitIdformIdおよびitemIdの値が含まれている必要があります。この関数は、繰返しフォームとフラット・フォームの両方の質問から値をフェッチします。

「すべての訪問」は、変数定義では使用できません。単一の関数コールで繰返しフォーム・インスタンスから複数の値をフェッチする場合は、getRFValues( )関数を使用します。

注意:

このルールは訪問開始日アイテムをサポートしていません。

これは集計関数で、ターゲットが繰返しフォームにある場合はフォーム・インスタンスごとにルールが実行されます。

構文

getQuestionValue('ruleVariable', eventInstanceNumber, formInstanceNumber, repeatFormNumber)

パラメータ

ruleVariable

変数(ルール・エディタから)。

eventInstanceNumber

イベント・インスタンス番号/サイクル・インスタンス番号(オプション)。非繰返し訪問を参照するには、空の文字列を渡します。

formInstanceNumber

フォーム インスタンス番号(オプション)。非繰返しフォームを参照するには、空の文字列を渡します。

repeatFormNumber

2つのセクション・フォームで項目を参照するには、フォーム番号(オプション)を繰り返します。

注意:

オプションのパラメータが欠落している場合は、インスタンス番号の現在の値が使用されます。

戻り値

質問値。値がない場合はnull。

  • 日付: 返される変数値は、変数が部分日付の場合にC1Dateオブジェクトになります。または、変数が完全日付の場合にDateオブジェクトになります。

    注意:

    日付アイテムを使用する場合は、nullのチェックを含める必要があります。詳細は、例を参照してください。

  • オプションのパラメータが指定されていない場合、イベント・インスタンス番号およびフォーム・インスタンス番号はルール・ターゲット・コンテキストから取得されます。

  • 変数が選択制御(チェックボックス、ラジオまたはドロップダウン)である場合、返される変数値はJSON形式の文字列("[{\"value\":\"3\",\"label\":\"TestLabel\"}]")です。これは、 JSON.parseまたはヘルパー関数parseChoiceを使用して解析できます。

    • parseChoice(result))
    • JSON.parse(result))

例3-95 2セクション・フォームでのgetQuestionValueの使用

2セクション・フォームの表行内のアイテムにgetQuestionValueを使用するには、構文は次のとおりです。

getQuestionValue('ruleVariable', eventInstanceNumber, repeatNumber, formInstanceNumber)
// Get a value from an item in a flat form
return (getQuestionValue('text1');
 
 
// Get a value from an item in repeating form instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', '', 1);
 
 
// Get a value from a flat form in unscheduled visit instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', 1, '');
 
 
// Get a date value from a flat form
var res = getQuestionValue('dt1');
if(res !== null) {
  return res.getFullYear();
} else {
  // do nothing
  return;
}
 
 
//In a 2-section form, get a value from Form 2, Table Row 3:
return getQuestionValue('v2', '', 3, 2);