診療報酬の算定ルールは複雑です。告示・通知・疑義解釈が積み重なり、「この検査とこの処置を同月に算定できるか」という問いに正確に答えるには、膨大な文書を横断して参照する必要があります。算定ミスは返戻・過誤調整に直結し、医事課スタッフの大きな負担になっています。

giverthでは、この課題をRAG(検索拡張生成)を使ったAIシステムで解決できるか検証しました。本記事は、初期構成での正答率76.7%から100%達成までの設計・改善プロセスの全記録です。

76.7%
初期構成の正答率
30問評価セット
100%
最終構成の正答率
同一評価セット

診療報酬チェックにAIを使う背景

算定ミスと返戻の問題

診療報酬の算定ミスは、大きく2つの問題を引き起こします。ひとつはレセプト返戻——審査機関から「算定が不適切」として請求が戻ってくる問題です。もうひとつは過誤調整——いったん支払われた報酬が後から差し引かれるケースです。

返戻・過誤は医療機関の収益に直接影響するだけでなく、再請求の事務作業も発生します。特に複雑な算定ルール(併算定不可・施設基準・算定回数制限など)は、経験の浅いスタッフには判断が難しいケースが多くあります。

なぜ診療報酬の確認が難しいか

診療報酬のルールは、主に以下の文書群で構成されています。

  • 診療報酬点数表(厚生労働省告示)
  • 診療報酬の算定方法の一部改正に係る通知
  • 施設基準の届出通知
  • 疑義解釈(Q&A形式の補足説明)

これらは改定ごとに更新され、相互に参照し合う構造になっています。「AはBの場合に限り算定可」「AとBの同時算定不可」といったルールが、複数の文書に分散して記載されているため、全体像を把握するには専門知識と経験が必要です。

RAGの仕組みとなぜ診療報酬に向いているか

RAG(Retrieval-Augmented Generation)は、LLM(大規模言語モデル)に外部の知識ベースを参照させる手法です。通常のLLMが「学習済みの知識から回答を生成する」のに対し、RAGは「質問に関連する文書を検索してから回答を生成する」ため、ハルシネーション(もっともらしい嘘)を抑制できます。

なぜRAGが診療報酬に向いているか
診療報酬ルールは「告示に書いてある事実」を正確に参照することが求められます。LLMの学習知識はカットオフがあり、改定情報が反映されていないリスクがあります。RAGは「最新の告示・通知文書そのもの」を参照して回答するため、正確性・追跡可能性の両面で診療報酬との相性が良いです。

最初の構成と76.7%の正答率

初期構成

最初に構築したシステムの構成は以下のとおりです。

初期構成

LLM:Llama 3.1 8B(Ollama経由・ローカル動作)
ベクトルDB:Dify内蔵のベクトルストア
チャンク設計:固定長1000文字・オーバーラップ100文字
検索方式:セマンティック検索(上位3件)
プロンプト:「以下の文書を参照して質問に答えてください」(汎用型)

評価セットは、医事課経験者に作成を依頼した30問(算定可/不可の二択問題が中心)を使用しました。初期構成での正答率は23/30問(76.7%)でした。

76.7%の内訳分析

不正解7問を分析したところ、以下のパターンに分類されました。

  • 検索失敗(3問):関連する条文がチャンクに含まれておらず、検索結果に出てこなかった
  • 文脈の断絶(2問):条文が前後で意味をなすにもかかわらず、チャンク分割で分断された
  • プロンプト不足(2問):「算定可/不可」を明示的に問う指示がなく、曖昧な回答になった

精度改善のプロセス

改善1:チャンク設計の見直し

固定長チャンクの問題は「意味的な単位で分割されない」ことです。診療報酬の条文は、「(1) 〇〇の場合は算定できる。ただし××の場合は除く。(2) 〇〇に係る施設基準は〜」という構造を持っており、括弧番号や項目単位で区切ることで意味が保たれます。

対応策として、固定長分割からセクション単位分割(告示の括弧番号・項番ごとに区切る)に変更しました。チャンクサイズは平均200〜500文字と短くなりましたが、意味的な完結性が向上しました。

改善2:メタデータとハイブリッド検索の導入

各チャンクに診療行為コード・区分番号・ページ番号をメタデータとして付与し、セマンティック検索とキーワード検索を組み合わせたハイブリッド検索に変更しました。コード番号(例:D009-12)での完全一致検索が機能するようになり、検索の再現率が向上しました。

改善3:診療報酬専用プロンプトの設計

汎用型プロンプトから、診療報酬チェック専用のプロンプトに切り替えました。

専用プロンプトの要件

・回答形式を「算定可 / 算定不可 / 要確認」の3択に限定する
・根拠となる条文を必ず引用させる(出典:告示・通知の番号)
・参照文書に根拠がない場合は「記録なし。原文確認を推奨」と回答させる
・「〜と思われる」「〜の可能性がある」という表現を禁止する

改善4:評価セットの拡充と反復テスト

初期の30問評価セットに加えて、不正解問題の類似パターンを10問追加し、40問の評価セットで繰り返しテストを行いました。チャンク設計・検索パラメータ・プロンプトのそれぞれを単独で変更しながら効果を確認する、ABテスト的なアプローチを採用しました。

100%達成した最終構成

最終構成

LLM:Llama 3.1 8B(Ollama経由・ローカル動作)
ベクトルDB:Dify内蔵のベクトルストア
チャンク設計:セクション単位分割(平均300文字・メタデータ付与)
検索方式:ハイブリッド検索(セマンティック + キーワード・上位5件)
プロンプト:診療報酬チェック専用(3択回答・根拠引用必須)
評価セット:40問(初期30問 + 追加10問)

この構成で評価セット40問中40問正解(100%)を達成しました。ただし、評価セット外の問題に対する汎化性能については継続的な検証が必要です。

医療機関への示唆

今回の検証から、医療機関がRAGを使った診療報酬チェックシステムを導入する際に注意すべき点を整理します。

  • チャンク設計が精度の根幹:固定長チャンクはシンプルですが診療報酬には不向きです。条文の構造に合わせた設計が必要です
  • 評価セットは業務知識者が作る:AIが評価セットを作ると「AIが得意な問題」に偏ります。医事課経験者による評価セット設計が重要です
  • 「記録なし」を返せる設計:根拠がない場合に回答しないAIは、ハルシネーションより安全です。常に「不確かなら答えない」設計を優先してください
  • ローカル動作で患者情報を守る:検証・本番ともにオフライン環境で実施しています。外部APIに患者情報を送らない設計が医療機関では必須です

「自院でも試してみたい」「どの程度の精度になるか確認したい」という医療機関からのご相談をお待ちしています。現在の算定ルール文書をお持ちであれば、PoC設計の概算からご提案できます。

まとめ

診療報酬チェックAIの設計と精度改善のプロセスを振り返ります。

  1. 初期構成(固定長チャンク・汎用プロンプト)では正答率76.7%
  2. チャンク設計の見直し(セクション単位分割)で検索精度が向上
  3. ハイブリッド検索の導入でコード番号での完全一致が機能
  4. 専用プロンプトで回答形式・根拠引用・禁止表現を制御
  5. 評価セットの拡充と反復テストで最終的に正答率100%を達成

精度100%は評価セット内での結果ですが、このプロセスで得た知見——チャンク設計・プロンプト設計・評価設計の三点セット——は汎用的に使えます。

診療報酬AIの検討を始めてみませんか?

「自院のルール文書でどの程度の精度が出るか知りたい」
「PoC設計の費用感を聞きたい」——30分の無料ヒアリングでお答えします。

無料相談はこちら