Exam機能は調査をタイマー付きクイズに変えます。回答者にカウントダウンタイマーが表示され、調査は終了したときに残り時間を記録します。オプションで、正解と不正解に対して音声が再生されます。

これは知識評価、識字能力テスト、フィールドスタッフのコンピテンシーチェック、およびタスクにかかる時間が意味のあるデータとなるあらゆる調査に便利です。


check-exam()関数

フォームの先頭に配置されたcalculateフィールドの**calculation**列でcheck-exam()を使用して試験を設定します:

  check-exam(examTime, questionToStoreRemainingTime)
check-exam(examTime, questionToStoreRemainingTime, rightSound, wrongSound, excludeQuestion)
  

パラメーター

#パラメーター説明
1examTime試験の合計時間(秒)
2questionToStoreRemainingTime試験終了時に残り時間を保存するcalculateまたはintegerフィールドのname
3rightSound*(オプション)*正解が与えられたときに再生する音声ファイルのファイル名(フォームのメディアファイルとして添付)
4wrongSound*(オプション)*不正解が与えられたときに再生する音声ファイルのファイル名
5excludeQuestion*(オプション)*試験タイマーから除外するフィールド名のカンマ区切りリスト(例:'intro_note,consent'

基本セットアップ

ステップ1:試験フィールドを追加する

typenamelabelcalculation
calculateexam_configcheck-exam(600, 'remaining_time')
calculateremaining_time

exam_configは600秒(10分)のタイマーをトリガーします。remaining_timeは回答者が終了したときに自動的に設定されます。

ステップ2:質問を追加する

試験タイマーは、excludeQuestionに記載されているものを除くフォーム内のすべての質問をカバーします。

typenamelabel
select_one yesnoq1ケニアの首都はナイロビです。真か偽か?
select_one choicesq2体中に血液を送るのはどの臓器ですか?
select_one choicesq3水は海面で100°Cで沸騰します。真か偽か?

ステップ3:残り時間を保存する

パラメーター2で指定されたフィールド(remaining_time)は、回答者が送信したときの残り秒数に自動的に設定されます。値0は時間切れを意味し、高い値は素早く終了したことを意味します。


音声フィードバック付き

フォームに音声ファイルを添付(メディア添付として)し、それらを参照します:

typenamelabelcalculation
calculateexam_configcheck-exam(300, 'remaining_time', 'correct.mp3', 'wrong.mp3')
  • correct.mp3は回答者が正解を選択したときに再生されます
  • wrong.mp3は回答者が不正解を選択したときに再生されます

タイマーからの質問の除外

試験から除外するフィールド名のカンマ区切りリストを渡します(例:導入ノートや同意質問):

  check-exam(300, 'remaining_time', '', '', 'intro_note,consent_ack,section_header')
  

音声は必要なく除外が必要な場合は、rightSoundwrongSoundを空の文字列''のままにします。


完全な例

typenamelabelcalculation
noteintro健康知識評価へようこそ。すべての質問に答えるのに5分間あります。
triggerstart_ack準備ができたらOKをタップしてください。
calculateexam_configcheck-exam(300, 'remaining_time', 'correct.mp3', 'wrong.mp3', 'intro,start_ack')
calculateremaining_time
select_one yesnoq1手洗いは病気の感染を防ぎます。
select_one yesnoq21日に少なくとも2リットルの水を飲む必要があります。
select_one yesnoq3マラリアはウイルスによって引き起こされます。

ベストプラクティス

  1. 開始前に回答者に制限時間を知らせてください — check-exam()フィールドの前にnoteまたはtriggerを使用してください。
  2. excludeQuestionパラメーターを使用してタイマーから導入ノートと同意質問を除外してください。
  3. タイムアウトを検出するためにremaining_timeを後続の計算で使用してください:if(${remaining_time} = 0, 'タイムアウト', '完了')
  4. 許可された時間に対して質問の数を比例させてください — ほとんどの知識評価では質問ごとに2〜3分が合理的なベースラインです。
  5. デプロイ前に実際のデバイスで音声ファイルをテストしてください — 音声再生はAndroidバージョンとブラウザによって異なります。

制限事項

  • タイマーは表示のみです — 時間切れになってもフォームが自動的に送信されるわけではありません;回答者はまだ手動で送信しなければなりません。
  • 音声フィードバックはデバイスの音量がオンでミュートされていないことが必要です。
  • exam機能はrtSurvey拡張機能であり、標準XLSForm仕様の一部ではありません。
このページは役に立ちましたか?