計算値のルールの作成

フォーム内の値を自動的に計算できるルールを作成できます。これにより、手動で入力したフォーム・データに基づいて特定の値を自動的に計算できます。計算エラーを減らし、フォームを簡略化できます。

このタスクの実行方法を確認しますか?次のビデオを視聴してください。

自動問合せを生成するルールや電子メール通知を送信するルールを作成することもできます。参照:

必要な要素を含む試験バージョンがテスト・コンテナにある必要があります。ルール・インタフェースへのアクセスの説明に従って、特定の試験バージョンおよびサイトからルール・インタフェースにアクセスします。
  1. テスト・モードで目的の試験に移動し、施設を選択します(複数の施設にアクセスできる場合)。
  2. 表で、編集するビジット・カードを見つけてクリックします。
  3. 左側で、ルールを作成するフォームをクリックします。
  4. ルールを含める質問と、計算値を表示する場所を選択します。
  5. 右側で、「ルール」ペインを展開し、「ルールの追加」をクリックします。
  6. ルール・エディタで、次のフィールドに入力します。「次」をクリックします。
    フィールド 説明
    ルール名

    ルールの名前を入力します。各名前は試験内で一意である必要があり、文字数は512を超えないようにする必要があります。

    説明

    4000文字を超えないルールの簡単な説明を入力します。

    このフィールドは必須ではありません。ただし、説明を追加すると、試験で各ルールとその目的を区別するのに役立ちます。これは、ルールを再利用する場合に便利です。

    フォームのブロック解除

    ルールの実行中にブロックされずにサイト・ユーザーがフォームを編集および保存できるようにする場合は、このトグルをオンにします。

    注意:

    複雑なルールの実行にはさらに時間がかかります。ルールの実行中でも、サイト・ユーザーは値を入力してフォームを保存できます。ただし、複雑なルールによって生成されたフォームの更新は遅延する可能性があり、ページ・リフレッシュ後にのみ表示される場合があります。
  7. 「変数」セクションで、ルール変数を定義します
  8. 「式」セクションで、値に評価されるJavaScript式を入力します。

    たとえば、BMIを計算するには:

    return weight/(height*height);

    注意:

    • 処理項目が動的である場合、ルール式には、計算値が移入される前に項目が表示されるようにするロジックを含める必要があります。ターゲット項目が非表示の場合、計算値は更新されません。
    • デフォルトでは、ルールは、フォームを含む試験のすべてのビジットおよびすべての試験バージョンに対して実行されます。
      • ルールの実行対象となる試験バージョンを制限するには、isStudyVersion()ヘルパー関数を使用します。
      • ルールを適用し、特定のビジットに対してのみ実行する必要がある場合は、getCurrentVisitPropertyValue (Control)ヘルパー関数を使用できます。

    ヒント:

    予測テキスト機能は、使用可能なサブジェクト属性ルール・ヘルパー関数などを使用して、入力時に使用できます。予測テキストを使用したルールの記述を参照してください。
  9. 「処理」ドロップダウンから、「値の計算」を選択します。
    これにより、値は自動的に計算され、読取り専用アイテムに結果が移入されます。あなたも、

    注意:

    ルール式に構文エラーが含まれている場合は、ルール・エディタによって修正のマークが付けられます。
  10. ドロップダウンから「アンサー・タイプ」を選択します。
    • 数値
    • テキスト
    • 選択肢
  11. 回答タイプが「数値」の場合は、計算値の「データ形式」を選択します。
    たとえば、症例の高さと重量に基づいてボディ・マス・インデックス(BMI)を計算し、フォーマットを1つの小数点に1.0として設定できます。
  12. 「保存」をクリックします。
これで、ルールが作成され、「ドラフト」ステータスになりました。
ルールを本番で使用可能にします。ルールをテスト、承認および公開する必要があります。ルールはスタディ・バージョンに依存せず、「公開済」状態になると、すべてのモードで適用されます。

このルールを削除してやり直す場合は、メニュー・アイコン(「ルール」メニュー・アイコン)をクリックし、「削除」を選択します。

カスタム・ルールの開発例および詳細は、次を参照してください。