# 患者調査票 内容検査と疑義照会文案 — 営業・デモガイド

## これは何か（1分説明）

医療施設から保健所経由で提出された**患者調査票の記入内容**と、**同一施設の医療施設静態調査の届出内容**を貼り付けるだけで、①記入不備 ②票内の論理矛盾 ③二段抽出ルールの適用誤り ④**医療施設調査との調査間整合性** ⑤時系列の妥当性 を一次点検し、審査メモ＋医療施設への疑義照会文案までを生成するワークフローです。

- 判定は「OK／要確認／不備」の3段階。すべての指摘に `[根拠: 文書名]` タグ
- 書かれていない事項は推測せず「記載なし・要確認」として職員に引き継ぐ
- 患者の氏名・住所の詳細は審査メモに転記しない（個人が特定されない粒度で記述）
- 末尾に「最終判断は職員」固定文言

**このUCの肝は④**。正確性の確保対策 3(4)「調査間の整合性を確認すること」は、**調査ごとに書かれた SAMAS プログラムでは原理的にできず、人がやっている**工程です。

## 実務調査の結果（2026-08-03、この設計の根拠）

患者調査を題材に選んだ理由:

| 論点 | 実態 | 出典 |
|---|---|---|
| **処理言語** | 患者統計は審査 **SAMAS・FORTRAN**／集計 **DICS**、医療施設統計は審査 **SAMAS・C**／集計 **DICS**。SAMAS・DICS は厚労省独自のプログラミング言語 | [書面調査項目の概要 pp.14-16](https://www.soumu.go.jp/main_content/000617512.pdf) |
| **2調査が構造的に連結** | 患者調査の**抽出枠（フレーム）は「医療施設基本ファイル」**。500床以上は悉皆 | [患者調査 調査の概要](https://www.mhlw.go.jp/toukei/list/10-20-tyousa_gaiyou.html) |
| **同時期に実施される対の調査** | 「昭和59年から…調査を3年に1回、**医療施設静態調査と同時期に実施**」 | 同上 |
| **次回は令和8年（2026年）10月＝いま** | 令和8年調査の調査票様式（`R08_*.pdf`）は既に公開済み | [調査票](https://www.mhlw.go.jp/toukei/chousahyo/index.html) |
| **審査工程が公式に明文化** | 「厚生労働省に提出された調査票は、**欠測値や記入内容の矛盾などについて精査し、必要な補足訂正を行った上で**…集計を行っている」 | [患者調査 調査の概要](https://www.mhlw.go.jp/toukei/list/10-20-tyousa_gaiyou.html) |
| **手作業の量** | 疑義照会は委託工数の **19.0%（152人日/年・2,935件/年）**、問合せ対応と合わせて **約38%**（能力開発基本調査の入札仕様書 別紙26。患者調査の数値ではないが、同種の中型調査の実績値） | [民間競争入札実施要項](https://www.mhlw.go.jp/content/11800000/001497472.pdf) |

→ **「調査ごとのプログラムでは届かない調査間の照合」を自動化すべき**、が調査の結論。

## ワークフロー構成

```
start（患者調査票の記入内容 + 医療施設静態調査の届出内容 + 調査票の種類 + 前回調査値・補足）
  → kr1: 患者調査・医療施設調査の要領と審査基準のナレッジ検索（query=患者調査票, 4docs, top_k=10）
  → llm1: 内容検査（gpt-5-mini, 5観点, 根拠タグ必須, temp=0.2）
  → end: result（審査メモ＋疑義照会文案）
```

### モデル選定の理由（gpt-5-mini 単段）

- 入口が**テキスト（保健所から回付された調査票の転記、又は AI-OCR の読取結果）**なので VLM は不要。児童手当UCのテキスト版と同じ構成
- 二段抽出の判定は**許可病床数の足し算と生年月日の末尾日の照合**という決定的な計算。5-mini で十分再現できることをE2Eで確認済み
- 建付けが「一次スクリーニング＋根拠タグ＋最終判断は職員」なので、モデルの役割は**判断の下書き**
- 紙の調査票を入口にしたい場合は、児童手当スキャン版と同じく前段に VLM 転記ノードを挿すだけで拡張できる

## デモの流れ（見どころ）

1. **サンプル1（○○中央病院・不備あり）** を投入 → 5観点すべてで指摘が出る
2. **見どころ①: 二段抽出ルールの検算** — 許可病床数を**自分で合計して344床**と出し、「500床未満区分」→「患者001は生年月日 4月**12**日＝末尾**偶数**」→「偶数の患者は『入院・外来の別／性別／出生年月日』の3項目のみのはず」→「受療の状況・主傷病が記入されている＝**適用誤り**」と、5段階で並べて断定する
3. **見どころ②: 調査間の整合性（このUCの本丸）** — 患者002は**結核病床の入院患者**だが、医療施設調査の許可病床数は**結核病床 0床**。患者003は**産婦人科**だが、医療施設調査で**産婦人科を標ぼうしていない**（しかも前回調査値の補足に「令和7年4月に産婦人科を廃止」とある）。**2つの調査票を並べないと絶対に出てこない指摘**
4. **見どころ③: 副傷病の範囲** — 患者003の副傷病「関節リウマチ」は、本調査が把握する**10疾患の範囲外**
5. **サンプル2（△△記念病院・不備なし）** → 526床＝500〜599床区分、生年月日末尾が 3日・5日・7日で全調査事項が正しく記入されており、**「疑義照会不要」と言い切る**。誤検出を出さないことを見せる
6. クロージング: 「**疑義照会は委託工数の19%、問合せ対応と合わせて38%です。しかも留意事項(4)の『調査間の整合性』は、調査ごとに書かれたSAMASプログラムでは原理的にできず、人がやっています。** 第Ⅳ期基本計画では疑義照会のオンライン調査システム実装が既に決まっている。その"中身"がこれです」

## 厚生労働省資料との対応

| 資料の記載 | 本ワークフローでの実装 |
|---|---|
| 正確性の確保対策 2(2)「**内容検査（目視による）**・データチェック業務」 | ワークフロー全体がこの工程の一次スクリーニング |
| 同 2(2)①「チェック内容及びそれによって発見された記入不備の**処理方法**についてドキュメントを作成・更新し作業を可視化」 | 出力の「記入不備・要確認事項」が確認方法まで含む＝**そのまま可視化ドキュメントになる** |
| 同 2(2)①「次回の調査実施時に**継承すべき事項**」 | 3年周期の調査で担当者が入れ替わる。KBと出力が継承資産になる |
| 同 3(3)「**時系列的妥当性**を確認すること」 | 出力「時系列の点検」 |
| **同 3(4)「調査間の整合性を確認すること」** | 出力「医療施設調査との整合性」＝**本UCの中核** |
| 統計改革ビジョン2019「**職員等による手作業のデジタル化**」「ＡＩやＲＰＡの導入に向けた調査研究」 | 2019年に自らコミットした宿題の実装 |
| 第Ⅳ期基本計画「オンライン調査システムへの**コミュニケーション機能（疑義照会等）の実装**」 | 出力「医療施設への疑義照会文案」＝その"中身" |

## 既知の制約

- **令和8年患者調査の調査票様式（`R08_*.pdf`）はスキャン画像PDFでテキスト層が無い**（実測: 病院入院票 46文字しか抽出できず）。そのためKBには調査票の様式そのものではなく、**「調査の概要」ページに記載された調査事項・抽出方法・用語の解説**を収録している。実案件では先方の「調査の手引」（保健所配布・Web非公開）をKBに入れることで精度が上がる
- 医療施設静態調査 病院票（`R08_seitai_byouin.pdf`）はテキスト層があり、開設者27区分・診療科目43区分・許可病床数の構造をKBに収録済み
- 患者調査の**傷病分類（ICD）そのものはKBに入れていない**。傷病名の分類妥当性の判定は現状スコープ外で、主傷病・副傷病の記入範囲の点検までを行う
- 本番では**調査票情報を扱うため閉域LLM必須**（統計法41条・57条）。デモはクラウドAPI。Dify はノード単位でモデルを差し替えられるので、構成を変えずにローカルLLMへ向けられる → `docs/mhlw-toukei/05_confidentiality-llm.md`

## 運用メモ

- サンプルは**すべて架空**（○○中央病院・△△記念病院、施設番号99-9999／88-8888、実在しない患者）。調査票本文にも「デモ用架空データ」と明記
- KBの正本は `knowledge/*.txt`（4文書、全ファイル冒頭に出典URL・取得日）
- E2E: `DIFY_LOCAL_CONSOLE_URL=http://localhost/console/api DIFY_LOCAL_WORKFLOW_URL=http://localhost/v1 DIFY_LOCAL_BASE_URL=http://localhost python scripts/test_kanja_chosa_review.py`（KB作成→import→2ケース実行→app+KB削除まで自己完結。`--keep` で残す）
- 検討ドキュメント一式は `docs/mhlw-toukei/`。提案時の地雷リストは同 `README.md` 末尾
