コンテンツにスキップ

external_logic_items

概要

外部ツールから取り込んだ分岐条件(CS の logic_item)を保管するテーブル。同一 logic 内の複数の条件は AND で結合される。

テーブル定義

論理名 物理名 カラム名 データ型 主キー リレーション ユニーク NULL許可 デフォルト値 備考
外部分岐条件 external_logic_items id uuid ◯ gen_random_uuid()
external_logic_id uuid external_logics:id (cascade)
external_id bigint CS 側の logic_item ID
cond_question_external_id bigint ◯ 条件の参照元となる設問 ID
cond_answer_item_external_id bigint ◯ 条件の対象となる選択肢 ID。null も許容される
cond_sub_item_external_id bigint ◯ マトリクスの列 ID。行 × 列でセル単位の条件になる
value text ◯ 比較値。選択系では空文字、プルダウン・FA では文字列
verb integer ◯ 条件演算子
order_index integer ◯ logic 内での並び順。重複することがある
raw jsonb logic_item オブジェクトの生 JSON

リレーション

  • external_logic_id → external_logics.id (onDelete: cascade)

インデックス

  • 主キー (id)
  • UNIQUE INDEX: external_logic_items_logic_external_id_idx (external_logic_id, external_id)

verb(条件演算子)

CS の実機トラフィックから確定した対応表。

verb CS の UI ラベル 設計ツールの演算子
0 を含む equals / includes
1 を含まない not_includes
2 だけである only
3 以外にある has_other
4 だけではない not_only

answered(FA の回答あり)に対応する専用の verb はなく、verb 3 + value が空文字(=「空以外の入力がある」)で表現する。

設問タイプ別の条件表現

設問タイプ 選択肢の特定方法 value
選択(SA / MA) cond_answer_item_external_id 空文字
マトリクス cond_answer_item_external_id(行)+ cond_sub_item_external_id(列) 空文字
プルダウン 先頭の answer_item_id を共有 選択肢の文言(例: 福岡県)
テキスト入力(FA) cond_answer_item_external_id(欄。-1 = いずれか、-2 = すべて) 照合するテキスト

注記

  • 選択系とプルダウンで表現が異なる: 選択系は answer_item_id で対象を特定して value を空文字にするのに対し、プルダウンは value の文字列で判定する。CS へ投入する際はこの違いを踏まえた変換が必要
  • FA のテキストマッチ: CS は自由回答の内容による分岐ができる(「を含む」なので部分一致とみられる)。設計ツール側は includes / not_includes を流用してこれを表現する
  • raw には score_group_id / score フィールドも含まれる。CS のスコアロジックは logic_items に載る構造だが、本システムでは対応しない