国と自治体の医療機関CSVを“正規化”して使えるデータにする話

IT政策の提案
国と自治体の医療機関CSVを“正規化”して使えるデータにする話

どうも〜おかむーです!今日は医療機関データの話をエンジニア視点でサクッとやりますよ〜

  • これ見てくださいよ:政府のhospital CSV(digital.go.jp)や都道府県のCSVはあるけど形式バラバラ
  • 結局、実運用で使えるかは「正規化」と「差分同期」が決め手
  • 提案:スキーマ契約+ID連携+自動検証パイプラインで“一本化”する

結論

国が打ち出した「行政データの機械可読性ルール」(内閣官房の議事録/決定、2026年)などは前向きだけど、医療機関データはまだ現場で使いづらい。要するに、フォーマット統一+恒久的ID(法人番号+医療機関コード)をデータ契約に定め、差分アップデートとCI検証を回せば再利用コストが劇的に下がるということです。

レポート本文

現状観察(データソースの例)

これ見てくださいよ:digital.go.jpのhospital.csv(https://www.digital.go.jp/.../xxxxxx_hospital.csv)や、都道府県・市区町村のオープンデータカタログ(東京都や埼玉など)が散在してるんですけど、問題点が山盛り。

主な課題

  • スキーマの不一致:カラム名や順序、必須/任意がバラバラ
  • ID欠損・重複:法人番号はあるけど医療機関コードが無い、同一施設が複数レコードに
  • 位置情報の精度:緯度経度の有無や投影系の違い
  • 更新方式が非効率:CSVフルダウンロードのみで差分が取れない
  • 文字コード・全角半角問題

要するに、データを結合して使うまでの前処理コストが高くて、市民アプリや研究で使いにくいんですよね。

政策目標と実績のギャップ

政府は「機械可読性のルール」を決めてデータ整形負担を減らす、と明確な方向を示した(内閣官房の資料)。ただ実績を見ると、全国の公開CSVのうち「標準スキーマ準拠」「恒久IDつき」「差分供給あり」の三つを満たすデータは少数です。目標は明確でも、現場運用の体制や留意点(自治体のRPA運用、人的更新)がボトルネックになってます。

エンジニア的ソリューション設計

エンジニア的に言うと、ここはAPI一本+データ契約で解決する話なんですよね。具体要素は以下。

1) スキーマ契約(JSON Schema)

  • 必須フィールド:法人番号、医療機関コード、名称、住所(正規化済み)、緯度経度
  • メタ:作成日時、更新日時、発行元URI

2) 恒久的識別子の優先付与

  • 法人番号+国公的医療機関コードを正規IDにする
  • IDが無い場合は、住所正規化+名称正規化で候補マージ(ファジーマッチ)

3) 差分配信(Change Feed)

  • 毎回のフルCSVではなく、SSE/ウェブフック or JSONL差分ファイルを提供

4) CIによる品質ゲート

  • 新版公開時にスキーマ検証、重複検出、ジオコーディングエラー検出を自動でブロック

5) 公開API & SDK

  • OData/GraphQLの薄いレイヤーを用意して、パッケージ化されたPython/Rubyクライアントを配る

実装の小さな例(コード)

エンジニア的に言うと、まずpandasで取り込んで正規化して差分を取るのが手早いです。例えば:

import pandas as pd

old = pd.read_csv('hospital_prev.csv', dtype=str)

new = pd.read_csv('hospital.csv', dtype=str)

正規化関数は省略

new['key'] = new['corporate_number'].fillna('') + '|' + new['medical_code'].fillna('')

old['key'] = old['corporate_number'].fillna('') + '|' + old['medical_code'].fillna('')

added = new[~new['key'].isin(old['key'])]

removed = old[~old['key'].isin(new['key'])]

changed = new[new['key'].isin(old['key']) & (new != old).any(axis=1)]

要するに、この流れをCIに組み込んでおけば「今日のデータで壊れる」話が減るんです。

データ利活用のシナリオとKPI

  • KPI案:全国公開医療機関データの「一貫したスキーマ率」80%、差分提供率70%を2年で目指す
  • 活用例:災害時の受け入れ検索API、医療供給の空間分析、地域包括ケアの可視化

実運用での落とし穴と対処

  • 人的更新の遅れ → 自動スクレイピングではなく、自治体が出す編集フォーム+ログ承認ワークフローを整備
  • 旧システムからの移行 → バックアップ同期期間を設けてフェイルセーフなロールアウト

まとめ

  • 医療機関CSVはあるけど「使える状態」にするための工程が足りない
  • 解決は技術では簡単:スキーマ契約、恒久ID、差分配信、CI品質ゲートの四点セット
  • 政策目標(機械可読性ルール)はいいスタート。現場の運用設計とAPI提供が追いつけば実用性は一気に上がる

おかむーから一言

テクノロジーって結局「継続可能な運用」を作れるかどうかのゲームなんですよ!まずは小さくIDと差分を約束して、現場と一緒に回していきましょう!

シェアする