コンテンツにスキップ

external_questions

概要

外部ツールから取り込んだ調査票に属する設問を保管するテーブル。

テーブル定義

論理名 物理名 カラム名 データ型 主キー リレーション ユニーク NULL許可 デフォルト値 備考
外部設問 external_questions id uuid ◯ gen_random_uuid()
external_survey_id uuid external_surveys:id (cascade)
external_id bigint CS 側の設問 ID
answer_type integer ◯ CS の設問形式コード
answer_type_name varchar(100) ◯ 設問形式の表示名。「提示ステップ」がセクションの区切りになる
rendered_sentence text ◯ 描画済みの設問文
order_index integer ◯ 調査票内での並び順
any_logic boolean false 分岐ロジックが設定されているか
any_visibility boolean false 表示ロジックが設定されているか
raw jsonb 設問オブジェクトの生 JSON

リレーション

  • external_survey_id → external_surveys.id (onDelete: cascade)
  • 参照される側: external_answer_items.external_question_id(cascade)
  • 参照される側: external_sub_items.external_question_id(cascade)
  • 参照される側: external_logics.external_question_id(cascade)
  • 参照される側: question_library_items.source_external_question_id(cascade)

インデックス

  • 主キー (id)
  • UNIQUE INDEX: external_questions_survey_external_id_idx (external_survey_id, external_id)

CS の answer_type

拡張の変換で使用している主な対応。

answer_type 意味 設計ツールの設問タイプ
2 選択(SA / MA) single / multi
5 テキスト入力 free_text
11 テキストマトリクス matrix
14 提示ステップ intro
18 サバイバルテキスト 対象外
21 プルダウン pulldown
22 最終ステップ intro(コンプリート / スクリーンアウト)

注記

  • セクション候補の分割: CS にはセクション(大問)の概念がないため、answer_type_name が 提示ステップ の設問を区切りとしてセクション候補に分割する
  • 最終ステップの区別: answer_type 22 の設問は、コンプリートとスクリーンアウトを区別するフラグを持たない。位置で意味が決まる(最後の設問の直後 = コンプリート、調査票の最後尾 = スクリーンアウト)
  • any_logic / any_visibility は分岐・表示ロジックの有無を示すフラグ。取り込み後の解析対象を絞り込むのに使える