コンテンツにスキップ

visit

診察を表すテーブル。患者が受診するたびに 1 行が作られ、その診察で使用した保険の組み合わせと診察日時を記録します。診療行為・投薬・処置・テキストなど診療記録の各要素は、それぞれ別のテーブルに保存され、この行の visit_id によってこの診察に結び付けられます。

カラム

カラム 説明
visit_id int unsigned 来院 ID(主キー、自動採番)
patient_id int unsigned 患者 ID(patient を参照)
v_datetime datetime 診察日時 (YYYY-MM-DD HH:MM:SS)
shahokokuho_id int unsigned 使用した社保国保の ID(hoken_shahokokuho0 = 使用なし)
roujin_id int unsigned 使用した老人保健の ID(hoken_roujin0 = 使用なし)
kouhi_1_id int unsigned 第 1 公費の ID(kouhi0 = 使用なし)
kouhi_2_id int unsigned 第 2 公費の ID(kouhi0 = 使用なし)
kouhi_3_id int unsigned 第 3 公費の ID(kouhi0 = 使用なし)
koukikourei_id int 使用した後期高齢の ID(hoken_koukikourei0 = 使用なし)
attributes json 来院ごとの補助情報(NULL 可)。下記参照

インデックス

キー 対象カラム 用途
patient_id patient_id 患者ごとの来院一覧の取得
idx_v_datetime v_datetime 日付範囲での来院検索(日次・月次集計など)

保険の紐付け

  • 来院時に適用する保険は、患者が持つ保険資格(hoken_*kouhi)の ID を各カラムに記録することで確定させます。値が 0 のカラムはその来院で使用しなかったことを表します。
  • 医療保険(shahokokuho_id / koukikourei_id / roujin_id)はいずれか 1 つ、公費(kouhi_1_idkouhi_3_id)は最大 3 つまで併用できます。
  • 来院時点の ID を保持するため、後から患者の保険情報が更新されても過去の来院の保険内容は変わりません。

attributes

attributes は任意のキーを持つ JSON オブジェクトで、来院単位の付加情報を保持します。主なキー:

キー 説明
hokengai 保険外(自費)項目の一覧(文字列配列)
nanbyouGendogaku 難病の自己負担限度額
cashierReceiptName 会計時の領収書宛名

スキーマ

CREATE TABLE `visit` (
  `visit_id` int unsigned NOT NULL AUTO_INCREMENT,
  `patient_id` int unsigned NOT NULL DEFAULT '0',
  `v_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `shahokokuho_id` int unsigned NOT NULL DEFAULT '0',
  `roujin_id` int unsigned NOT NULL DEFAULT '0',
  `kouhi_1_id` int unsigned NOT NULL DEFAULT '0',
  `kouhi_2_id` int unsigned NOT NULL DEFAULT '0',
  `kouhi_3_id` int unsigned NOT NULL DEFAULT '0',
  `koukikourei_id` int NOT NULL DEFAULT '0',
  `attributes` json DEFAULT NULL,
  PRIMARY KEY (`visit_id`),
  KEY `patient_id` (`patient_id`),
  KEY `idx_v_datetime` (`v_datetime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;