AIで医療機関リストはどこまで作れる?―実際に試して見えた可能性と課題―

AIで医療機関リストはどこまで作れる?公開データを使った検証記事のサムネイル

病院営業のノウハウがわかる資料、無料配布

医療系企業の営業担当者様へ、医療業界特有の営業課題の理解と具体的な解決策、実践的なスキルがまるごとわかる資料を無料でダウンロードいただけます。

無料でダウンロードする

EXE DATA INSIGHT

日々の実務を通じて得られた気づきや仮説、検証結果を整理し、医療・ヘルスケア業界に携わる皆さまへ、一つの考え方としてシェアしていきます。

生成AIで、医療機関リストづくりはどこまで変わる?

生成AIを仕事で使うことが、珍しいことではなくなりました。

文章を作る、情報を整理する、データを分析する。最近では、プログラムを書くことも生成AIに任せられるようになっています。

では、医療機関データはどうでしょうか。

全国の医療機関リストを自社で作ること自体は、以前から可能です。厚生労働省や地方厚生局などからは、医療機関に関するさまざまなデータが公開されています。

実際、これらの公開データを利用して、独自に医療機関データベースを構築している企業もあるかと思います。 ただし、全国分となると話は少し変わります。

  • 必要なデータを探す
  • ファイルをダウンロードする
  • 地域ごとに異なるデータを整形する
  • 全国分を同じ形式にそろえる
  • データに誤りがないか確認する
  • 必要に応じて別のデータと組み合わせる

こうした作業が必要になります。

EXE MEDICALでも、長年こうした処理をプログラムや自動化ツールを使って行ってきました。

では現在の生成AIを使えば、この作業はどこまで簡単になるのでしょうか。

今回は、実際の地方厚生局のデータを使って試してみることにしました。

今回作る医療機関リスト

まず、生成AIに「何を作るのか」まで考えてもらうことはしませんでした。必要な項目は、リストを使う側が決めるものだからです。

今回は、EXE MEDICALで扱っている項目をもとに、医療機関リストとして必要な30項目をあらかじめ指定しました。

代表的なものを挙げると、

  • 医療機関番号
  • 医療機関名称
  • 医療機関所在地
  • 電話番号
  • 勤務医数
  • 開設者氏名
  • 管理者氏名
  • 病床数
  • 診療科名
  • 備考

などです。

すべての項目や詳細な仕様については、今回の記事では割愛します。

生成AIには、医療機関データを扱う専門担当者という前提で、この指定した項目に沿って公開されている元データをどのように変換すればよいか、処理方法を考えてもらいました。

ただし、EXE MEDICALが現在どのような方法で処理しているのかは伝えません。

生成AIがどのような方法を提案するのか。そして、それが実務で使えるのか。実際のデータを使いながら確認していきます。

STEP1 地方厚生局からデータを取得する

STEP1 地方厚生局からデータを取得する

最初に必要なのは、元になるデータです。

全国の医療機関データを作るためには、8つの地方厚生局から、それぞれ最新のデータを取得する必要があります。

生成AIから最初に提案されたのは、「各地方厚生局から最新の医療機関データを探し、ダウンロードする」という方法でした。

文章にすると簡単ですが、実際にはここから少し面倒です。 地方厚生局によって、

  • ページの構成が違う
  • データの掲載場所が違う
  • ファイルの名称が違う
  • 最新データがページ上部にある場合と下部にある場合がある
  • ダウンロードURLの形式が違う

といった違いがあります。

EXE MEDICALでは、この部分はすでに独自の自動化処理を使っています。地方厚生局ごとのURLのパターンを利用して、毎月のデータを取得する仕組みです。

ただし、公開側のファイル名やURLが通常と少し違うだけで、取得できなくなることがあります。

ここで生成AIに置き換える方法も考えましたが、通常時の処理については、既存の自動化をそのまま使った方が速く、安定しています。

一方で、いつものパターンから外れて取得できなかったときには、生成AIにページを確認させ、該当するファイルを探してもらう方法は使えそうです。

最初の工程で出た答えは、「生成AIに置き換えられるか」ではなく、「置き換えない方がいいところもある」でした。

STEP2 地方厚生局のExcelを一覧化する

次に、取得したExcelを同じ30項目に整形します。

ここが今回の実験の中心になりました。

地方厚生局から公開されているExcelは、すべて、いわゆる「神Excel」と呼ばれる形式になっています。

セルの結合や複数行にまたがる情報などがあり、「1行=1医療機関」という単純な表ではありません。

人が画面上で確認する場合にも、必ずしも見やすい形式とはいえませんし、そのままデータベースとして利用することにも向いていません。

さらに、全国すべてが同じ構造になっているわけでもありません。

一部の厚生局では都道府県ごとにファイルが分かれておらず、一つのファイル内に複数地域のデータが収録されているケースもあります。

そこで生成AIに、「このExcelを、指定した30項目の一覧に変換するプログラムを作ってください」と依頼しました。

東京都のデータで試してみる

まず東京都で試しました。

元データを生成AIに渡し、30項目への変換を依頼します。

生成AIはExcelの構造を確認し、変換方法を考え、一覧化するプログラムを作成しました。

自分で元データの構造を解析し、一からプログラムを書くことを考えると、この部分の負担はかなり小さくなります。

一方、東京都だけを実際に処理した時点で、「これを47都道府県分やるなら、それなりの作業になるな」とも感じました。

処理時間は、使用するPCの性能やデータ量、生成AIの利用環境などにも左右されます。そのため今回は、「全国版が○時間で作れる」という時間による評価はしないことにします。

そして、時間よりも大きな問題が、このあと見つかりました。

出来上がった。でも、間違っていた

東京都のデータは、13,954施設、30項目の一覧になりました。

見た目は問題ありません。

ところが病床数を確認してみると、感染病床の件数がおかしいことに気づきました。

元データを確認すると、「一般(感染)」という情報と、その病床数が別の行に入っているケースがあります。

最初に作ったプログラムでは、その構造を正しく読み取れていませんでした。

プログラムを修正し、もう一度変換します。今度は病床数も問題なさそうです。

ところが、さらに確認すると「備考」にも問題がありました。

本来、「病院」+「現存」として「病院現存」とするところが、「現存」だけになっていました。

これも修正します。

この時点で、少し気になることが出てきました。私が間違いに気づいたから、修正できている。ということです。

富山県で、さらに別の問題が出た

そこで、ほかの地域でも試してみました。

北海道、大阪府では大きな問題は見つかりませんでした。

ところが、富山県で再び問題が出ます。

ある医療機関では、「一般(感染)」の次に「一般 6」というデータが入っていました。

この「6」は感染病床として扱うべきですが、作成したプログラムでは一般病床として処理していました。

さらに備考でも、

「地域支援」
「病院」
「現存」

をつなげて、「地域支援病院現存」とする必要があるところ、「病院現存」になっていました。

これも、私は元データの特徴を知っていたため気づくことができました。

でも、知らなかったらどうでしょうか。

一覧化されたExcelだけを見れば、特に不自然には見えません。そのまま正しいデータとして使ってしまう可能性があります。

ここで、今回の実験で一番気になったことを生成AIに伝えました。

「この方法では、結局すべてのデータを目で確認する必要があるのでは?」

全国分を自動で作っても、そのあと約10万件を目視するのであれば、自動化した意味がありません。

「正しく変換する」だけでは足りない

ここから、処理方法を変えることになりました。

必要なのは、「すべて正しく変換するプログラム」だけではありません。

これまで確認されていないパターンを検出する仕組みも必要です。

考え方は次のようにしました。

  • 既知のパターン → 自動処理
  • 未検知のパターン → 一度検出
  • 構造から一意に解釈できる → 処理可能
  • 一意に解釈できない → 人が確認

東京・北海道・大阪・富山の4地域、26,749施設について病床情報の構造を調べると、病床数そのものを除けば51パターンに整理できました。

その中で、1施設にしか存在しない未検知のパターンは18件。

さらに18件を確認すると、そのうち11件は、初めて見る構造ではあっても機械的に意味を一つに決めることができました。

つまり、人が確認する必要があるのは、未検知のパターンすべてではなく、未検知のパターンの中でも機械的に判断できないものということになります。

医療機関数の少ない福井県で試してみる

ここまで作った仕組みが本当に機能するのか。

次は、検証しやすいよう、比較的医療機関数の少ない福井県のデータを使って試しました。

福井県については、注意点や特殊な構造などを生成AIには伝えていません。

病床情報を持つ119施設のうち、

  • 113施設:既知のパターン
  • 6施設:未検知のパターン

となりました。

6施設をさらに解析すると、

  • 4施設:構造から一意に解釈可能
  • 2施設:自動判断せず、人による確認が必要

という結果になりました。

そこで2施設の元データを確認します。

すると、この2施設は特殊な病床数だったのではなく、病床区分の記載はあるものの、対応する病床数そのものが記載されていないケースでした。

つまり、数値を勝手に補完せず、「ここは判断できない」と止めたこと自体が正解でした。

富山県までは、「筆者が間違いを知っていたから、生成AIの誤りを発見できた」という状態でした。

福井県では、「筆者が事前に答えを知らなくても、未検知のパターンとして検出できた」ところまで進みました。

実際にやっていたのは「生成AIだけ」ではなかった

今回、生成AIが全国の医療機関を一件ずつ読んでリストを作ったわけではありません。

生成AIが担当したのは、主に次の部分です。

  • 元データの構造を確認する
  • 処理方法を考える
  • プログラムを作る
  • 問題が見つかったときに原因を調べる
  • 修正方法を考える
  • 未検知のパターンを検出する仕組みを考える

大量のデータを実際に処理するのは、生成AIが作ったプログラムです。そして、プログラムだけでは判断できないところを人が確認します。

今回実際に使ったのは、「生成AI × プログラム × 人」という組み合わせでした。

プログラミングの知識はいらなくなる?

プログラムを書くこと自体のハードルは、かなり下がったと思います。

今回も、生成AIがかなりの部分を作ってくれました。

ただし、

  • 出来上がったデータが正しいか
  • どこに誤りがありそうか
  • 何を検証すればよいか
  • どこまで自動処理するか
  • どの段階で人の確認に回すか

といった判断は必要でした。

特に、途中から取り入れた「未検知のパターンを検出する」という考え方は、生成AI特有のものではありません。

本来、データ処理のプログラムを作るときに必要になる品質管理の考え方です。

そして今回、生成AIが最初からそこまで考えてくれたわけではありませんでした。

実際に誤変換が見つかり、「このままでは全件目視になってしまうのでは?」と筆者が指摘したことで、初めて検証の仕組みを作る方向へ進みました。

プログラムを書いてもらえることと、そのプログラムが正しいか判断できることは、別の話です。

ここは、今回実際に試してみて強く感じたところです。

全国のデータを一つにする

各都道府県のデータを同じ30項目に整形できたら、最後に一つのリストにまとめます。

ここは比較的単純です。

プログラムを作り、

  • 整形済みの都道府県データを読み込む
  • 都道府県番号順に並べる
  • 項目名は最上部に1回だけ入れる
  • 各都道府県のデータを順番に追加する
  • 指定した都道府県だけを結合できるようにする

という処理を行います。

これで、

  • 全国版
  • 首都圏版
  • 関東版
  • 近畿版
  • 任意の都道府県を組み合わせたリスト

などを作れるようになります。

この処理自体はそれほど複雑ではないため、大きな問題なく作成できるものとして今回の実験を進めました。

ここまでで、一般的な用途で利用する医療機関リストとしては、ひとまず完成とします。

実は、EXE MEDICALではまだ完成ではありません

今回の実験では、「厚生局の公開データを30項目に整形し、必要な地域を一つのリストにまとめる」ところまでを完成としました。

営業先の選定やアンケートの送付先などに使う医療機関リストを自社で作るのであれば、ここまででも利用できるケースは多いと思います。

ただし、EXE MEDICALではここからさらにチェック・整形を行います。

実際には30以上のチェック項目があります。

主なものを挙げると、

  • 電話番号の空欄や桁不足などの確認・補完
  • 医療機関名や管理者名などに含まれる文字化けの補正
  • 医療機関番号の形式統一
  • その他、データを利用するために必要なチェック・整形

などです。

電話番号については、毎月500件ほど空欄や桁不足などが発生するため、確認・補完を行っています。

文字化けについても、これまでの運用で蓄積してきた置換パターンが500以上あります。

しかも、この部分は生成AIで文字化けしていること自体を検知できたとしても、本来どの文字であるべきかを判断し、正しい文字へ置換することまではできません。

そのため、これまでに確認・蓄積してきた置換パターンを使って補正しています。

また、医療機関番号は都道府県によって形式が異なるため、EXE MEDICALでは東京都の形式に合わせて統一しています。

これは見た目をそろえるためではありません。施設基準や病床機能など、別のデータと医療機関を紐づける際に必要になる処理です。

このあたりは、長年医療機関データを扱う中で蓄積してきた部分でもあるため、今回の検証では詳しい工程までは扱いません。

また、EXE MEDICALでは医療機関データを毎月計測・更新しているため、この先には新規指定、廃止、変更などを反映する工程もあります。

ただ、多くの企業が営業や調査のために医療機関リストを自社で作る場合、毎月更新するところまでは必要ないでしょう。

そのため、今回はこの工程も割愛します。

生成AIを使って、実際どうだった?

今回試してみて、一番大きかったのは、プログラムを作る負担が大きく減ったことでした。

公開データを自社で加工する場合、これまでは少なくとも、元データの構造を理解し、それを処理するプログラムを作る必要がありました。

生成AIを使えば、その部分のハードルはかなり下がります。

一方で、今回実際に起きたこともあります。

  • 一見正しく見えるデータに誤変換があった
  • 医療機関データの知識があったから気づけた誤りがあった
  • 生成AIは最初から検証方法まで設計したわけではなかった
  • 全件目視を避けるためには、別途、検証の仕組みが必要になった
  • 全国分を作るための作業そのものがなくなるわけではなかった
  • 一般的な医療機関リストと、実務で継続して使うデータベースでは必要な工程が違った

生成AIを使えば、公開データから医療機関リストを自社で作ることは、以前よりずっと現実的になったと思います。

ただ、今回やってみて分かったのは、「作れる」ことと、「そのデータを安心して使える」ことの間には、もう一つ工程があるということでした。

生成AIに何を任せるのか。プログラムに何を任せるのか。そして、どこを人が確認するのか。

この切り分けができれば、生成AIはかなり便利な道具になります。

自社で医療機関リストを作る場合には、必要な精度や用途、社内で対応できる範囲を考えながら、どこまで自社で行うかを決める必要がありそうです。

今回の検証が、医療機関リストを自社で作る場合の一つの参考になればと思います。

EXE DATA INSIGHT Editor’s Note

今回の記事では、生成AIを使って医療機関リストをどこまで作れるのか、実際の公開データを使って検証してみました。

生成AIによって、データを加工するプログラムの作成は、以前よりずっと身近なものになっています。

一方で、今回の実験では、一見正しく見えるデータにも誤りが含まれていることや、その誤りを検出する仕組みが必要なこともわかりました。

医療機関リストは、作ることが目的ではありません。
営業活動や市場調査など、実際の業務で安心して使えることが大切です。

自社で公開データを加工するのか、専門企業が整備したデータを利用するのか。
必要な精度や更新頻度、社内で対応できる範囲によって、適した方法は変わってくると思います。

EXE MEDICALでは、長年にわたり医療機関データの収集・整備・更新を行い、地域や診療科などの基本情報に加え、施設基準、病床情報、FAX番号などを組み合わせた医療機関リストを提供しています。

「医療機関リストを自社で作るべきか迷っている」
「公開データだけで、必要な情報がそろうのかわからない」
「データの加工や更新に手間がかかっている」

そのような段階からでも、お気軽にご相談ください。

医療機関リストを、作るだけで終わらせず、実際の営業活動や調査に活用できるデータへ。

EXE MEDICALは、そのためのデータづくりをお手伝いしています。

医療機関リストについて相談する