今日は保険医療機関のデータ集計をしましたが、相変わらずのデータフォーマットのバラバラさに苦労しました。
本省ではなく都道府県別
保険医療機関のデータは厚生労働省の本省(霞が関)で取りまとめるのではなく、都道府県別に集計されています。
ホームページ上では地方厚生局のサイトに掲載されますが、データをまとめるのは都道府県毎の担当官です。
神奈川なら神奈川県駐在の職員、香川なら香川県駐在の職員が、ご当地のデータをまとめて地方厚生局に送り、ウェブサイトに掲載されます。
本省の関与が薄いので、色々とバラバラになります。
掲載ページが不統一
まず最初にアクセスするのが地方厚生局のウェブサイトですが、この時点で見た目が不統一です。
コード内容別医療機関一覧の表示の方法は下表のようにバラバラです。
特に九州局の圧縮ファイルの作り方がユニークで、福岡県というファイルに福岡県の医科・歯科・薬局のファイルが入っています。
とりあえず医科だけまとめようと思っても、九州の場合は都道府県の圧縮ファイルを開いて取り出すのでそれだけ手間が増えます。
関東信越局が10都県あっても医科・歯科・薬局の3つの圧縮ファイルで済みますが、九州局は8つの圧縮ファイルをダウンロードしなければならないので、これも手間です。
科目(医歯薬) | 都道府県 | Excel | |
北海道厚生局 | 表:縦軸 | - | 科目でZip |
東北厚生局 | 表:縦軸 | 表:ヨコ | 科目でZip |
関東信越厚生局 | 表:ヨコ | 表:縦軸 | 科目でZip |
東海北陸厚生局 | テキスト | テキスト | 科目でZip |
近畿厚生局 | 表:縦軸 | 表:ヨコ | 科目でZip |
中国四国厚生局 | 表:縦軸 | 表:ヨコ | 科目でZip |
四国厚生支局 | 表:縦軸 | 表:ヨコ | 科目でZip |
九州厚生局 | 都道府県別縦並び | 横4×縦2 | 都道府県でZip |
保険医療機関・保険薬局のコード内容別医療機関一覧
コード内容別の医療機関リストは下図のような見た目です。図が小さいので、それぞれの図画をクリックしていただければリンクしていますのでご参照ください。
施設基準等の届出事項(届出受理医療機関名簿)
施設基準の届出についても統一されてはいません。
ファイル名
圧縮ファイルとしてダウンロードした後のエクセルファイルの名称が統一されていません。
ファイル名に都道府県名が標準的に記載されていれば活用するのですが、残念ながら日本語と英語が混在し、都道府県名の位置なども統一されていません。
少し前までは四国の4県のファイル拡張子が『.xlsx』ではなく『.xls』であったため管理がしづらかったのですが、現在は『.xlsx』に変更されています。
ファイル名に法則性があるとすれば年と月がわかるようになっている、と見られる点です。
残念ながら全県ではありません。
残念ながら統一されていません。
このファイル名の中で意外とやっかいなのが近畿厚生局のタイプです。
『2022.11_kikanzentai_shiga_ika.xlsx』となるので拡張子(xlsx)の前のピリオド以外にもう1つのピリオドが存在します。
このピリオドを何らかの処理のトリガとして使っている場合、例えば『ピリオド以降は拡張子なので表示しません』という指示を出すような場合、このファイル名だと近畿局のすべてのファイルが『2022』になってしまいます。そして拡張子名が『11_kikanzentai_shiga_ika.xlsx』になるので、その拡張子を開くためのソフトが見つからず、ややこしいファイルになってしまいます。
都道府県 | ファイル名 |
北海道 | 000257557.xlsx 000257559.xlsx |
青森県 | 02青森 コード内容別医療機関一覧表(医科)20221104.xlsx |
岩手県 | 03岩手 コード内容別医療機関一覧表(医科)_20221104_082016.xlsx |
宮城県 | 04宮城 コード内容別医療機関一覧表(医科)_20221107_094952.xlsx |
秋田県 | 05秋田 コード内容別医療機関一覧表(医科)_20221104_083033.xlsx |
山形県 | 06山形 コード内容別医療機関一覧表(医科)_20221104_083601.xlsx |
福島県 | 07福島 コード内容別医療機関一覧表(医科)_20221104_084126.xlsx |
茨城県 | 081コード内容別一覧表(医科)茨城r0411.xlsx |
栃木県 | 091コード内容別一覧表(医科)栃木r0411.xlsx |
群馬県 | 101コード内容別一覧表(医科)群馬r0411.xlsx |
埼玉県 | 111コード内容別一覧表(医科)埼玉r0411.xlsx |
千葉県 | 121コード内容別一覧表(医科)千葉r0411.xlsx |
東京都 | 131コード内容別一覧表(医科)東京r0411.xlsx |
神奈川県 | 141コード内容別一覧表(医科)神奈川r0411.xlsx |
新潟県 | 151コード内容別一覧表(医科)新潟r0411.xlsx |
富山県 | 2211(富山医科)コード内容別医療機関一覧表.xlsx |
石川県 | 2211(石川医科)コード内容別医療機関一覧表.xlsx |
福井県 | 2022.11_kikanzentai_fukui_ika.xlsx |
山梨県 | 191コード内容別一覧表(医科)山梨r0411.xlsx |
長野県 | 201コード内容別一覧表(医科)長野r0411.xlsx |
岐阜県 | 2211(岐阜医科)コード内容別医療機関一覧表.xlsx |
静岡県 | 2211(静岡医科)コード内容別医療機関一覧表.xlsx |
愛知県 | 2211(愛知医科)コード内容別医療機関一覧表.xlsx |
三重県 | 2211(三重医科)コード内容別医療機関一覧表.xlsx |
滋賀県 | 2022.11_kikanzentai_shiga_ika.xlsx |
京都府 | 2022.11_kikanzentai_kyoto_ika.xlsx |
大阪府 | 2022.11_kikanzentai_osaka_ika.xlsx |
兵庫県 | 2022.11_kikanzentai_hyogo_ika.xlsx |
奈良県 | 2022.11_kikanzentai_nara_ika.xlsx |
和歌山県 | 2022.11_kikanzentai_wakayama_ika.xlsx |
鳥取県 | 医科31鳥取_コード内容別医療機関一覧表.xlsx |
島根県 | 医科32島根_コード内容別医療機関一覧表.xlsx |
岡山県 | 医科33岡山_コード内容別医療機関一覧表.xlsx |
広島県 | 医科34広島_コード内容別医療機関一覧表.xlsx |
山口県 | 医科35山口_コード内容別医療機関一覧表.xlsx |
徳島県 | 01_04 徳島 医科 コード内容別医療機関一覧表.xlsx |
香川県 | 01_01 香川 医科 コード内容別医療機関一覧表.xlsx |
愛媛県 | 01_07 愛媛 医科 コード内容別医療機関一覧表.xlsx |
高知県 | 01_10 高知 医科 コード内容別医療機関一覧表.xlsx |
福岡県 | r4_11_fukuoka_ika_02.xlsx |
佐賀県 | r4_11_saga_ika_02.xlsx |
長崎県 | r4_11_nagasaki_ika_02.xlsx |
熊本県 | r4_11_kumamoto_ika_02.xlsx |
大分県 | r4_11_ooita_ika_02.xlsx |
宮崎県 | r4_11_miyazaki_ika_02.xlsx |
鹿児島県 | r4_11_kagoshima_ika_02.xlsx |
沖縄県 | r4_11_okinawa_ika_02.xlsx |
東北局はファイル名の末尾がファイル作成日かなと思います。
青森や『YYYYMMDD』で西暦年・月・日の8桁です。
他県は『YYYYMMDD_HHNNSS』で西暦年・月・日にアンダーバーを挟んで時・分・秒になっていると思います。
この法則を見ると岩手県、秋田県、山形県、福島県の4県では11月4日の朝8時半頃に出力して提出したのだなという行動が透けて見えます。勤務が8時半からだとすると、出勤して席に座り、最初の仕事として出力をしているのだろうと思います。
宮城県は11月7日の9時49分なので、もしかすると東北厚生局の本局として各県から11月4日に送られて来た分を週明けの7日朝に確認して、同時に自県の分を出力して業務を完了させているのかな、と思いました。
東北局は西暦表示でしたが、関東信越局は『r0411』なので和暦表示です。
この和暦表示が何かとやっかいなことを引き起こします。
仮にExcelの関数を使って『r04』を『2022』に置き換えるReplace関数を使ったとしても、次の元号が始まった時に新たな関数を組まなければなりません。おそらくIf文を付けて、計算式もややこしくなると思います。
現状でも『r04』をReplaceで『r』を 『20』に置き換えて『2004』として一旦は数字に、さらに『18』を足して2022年にするという面倒な数式を作らないとなりません。
これが『令和04』となっていれば、まだExcel側も理解してもらえますが『r04』はやっかいです。
東海北陸局は『2211』なので22年11月となっていると思います。
これはさほど悪くないと思います。私が現役で仕事をしている間には『2122年』になることはないので2100年代の心配をする必要はありません。
同様に1922年のデータもExcelで公開されていることはないと思いますので、今のところは良いのかなと思っています。
中国四国厚生局と四国厚生支局は年月の区別がないファイル名になっています。
ファイルを開いて最初の情報が….
ダウンロードしたExcelファイルを開いて最初にデータが表示されるのが3行目ですが、その行にあるデータが都道府県によって異なります。
もう少し詳しく言うと、B3セルにデータが入っているとすれば都道府県名なのですが、下記のファイルには都道府県名の記載がありません。
- 北海道
- 茨城県
- 栃木県
- 群馬県
- 埼玉県
- 千葉県
- 東京都
- 神奈川県
- 新潟県
- 山梨県
- 長野県
- 香川県
記載がないことによって困ることは、ファイル名などに都道府県名を入れたいときに困っています。
後述する『医療機関番号』にも都道府県名が判明する必要があります。
医療機関の所在地から都道府県名を探ることはできますが、医療機関の所在地欄を見ると、例えば北海道は『札幌市』から始まる住所の記載であるため『北海道』であるかどうかは明記されていません。
医療機関番号
医療機関には『医療機関番号』という識別番号が付けられています。
この番号は全国共通といえば共通なのですが、共通化されていません。
『医療機関番号』は3つに分かれています。
冒頭にある2桁が地域を識別する記号(都市区番号)になっているようです。
次の4桁が医療機関等番号という、医療機関個別の番号です。
最後の1桁が検証番号となります。計算式が決められています。
都道府県から配布されるExcelシート内には[都市区番号][医療機関等番号][検証番号]の3つしか記載されていないので、全国の統一番号とは異なってしまいます。
冒頭に2桁の都道府県番号、次に点数表番号を入れる必要があるため都道府県を識別した上で番号を入れなければなりません。
医療機関番号の不統一
都道府県ごとに表示方法が違います。
関東局だけでも表記ゆれが見られます。
まず都市区番号が2桁と3桁のパターンがあります。3桁に合わせてゼロ詰めするべきか悩ましいところです。
やっかいなのが『,』(カンマ)区切りに統一されていないという点です。
神奈川県は1つ目がカンマで2つ目が『.』(ピリオド)です。
千葉県は『-』(ハイフン)を使っています。
長野県は『・』(中点)を使っています。
茨城県 | 01,1005,6 |
栃木県 | 010,074,2 |
群馬県 | 01,0008,7 |
埼玉県 | 030,176,2 |
千葉県 | 01-0198-0 |
東京都 | 01,1004,9 |
神奈川県 | 010,006.5 |
新潟県 | 011,120,4 |
山梨県 | 01,0253,0 |
長野県 | 01・1206・4 |
施設基準届出は記号なし
保険医療機関・保険薬局のコード内容別医療機関一覧では医療機関番号の表示が不統一でしたが、施設基準届出になると関東信越局の中でも統一されます。
中間に記号がなく7ケタの番号で表示されます。
医科と歯科だけで保険医療機関が16万軒ありますが、施設基準届出は10倍くらいありますので、医療機関と届出を突合するためにはこの医療機関番号を適切に取り扱う必要があります。
そのキーとなるはずの医療機関番号の表記ゆれを修正するプログラムを開発せざるを得ません。
さぁ、手作業で一本化
医科だけでも47都道府県で48個のファイルがあります。
そのファイル名はバラバラです。
医科だけでも合計9万軒以上あるので、Excelのシート上では9万行を使うことになります。
実際にファイルを開いていただくとわかりますが、1医療機関で1行ではありません。
下図の例ではいきなり1軒目が第12行から第17行まで6行使って1医療機関です。
このペースでいくと全国で50万行以上必要になります。一応Excelの仕様では100万行まで対応できるので大丈夫かもしれませんが、医科と歯科を合わせると16万軒以上あるので6行ずつ使うと96万行以上、Excelの限界に近づきそうです。
1医療機関で6行使っているが、列はそれぞれに個別の情報に対応しているだろうと期待します。
残念ながら期待外れです。
第4列は所在地が入っていますが、郵便番号と所在地(地番)は改行がなく1つのセルに収まっています。
第5列は電話番号と勤務医数の列ということで、まったく関係のないものが取り扱われます。
ここが取り扱いをややこしくする列です。
第5列の2行目に『常 勤:』と書かれて空白(スペース)が入り数字が記載されます。常勤という文字に空白(スペース)が使われた上に、コロンの後ろにも空白(スペース)が入り、数ケタの数字で表記されるので法則性があるような、無いような感じです。
ExcelならばSUBSTITUTE関数を使って全角スペースと半角スペースを共に削除する事になります。TRIM関数だと少々役不足かなと思います。
常勤医だけでなく非常勤医も表示される、それぞれの内訳もあるのでこの第5列はかなり複雑です。
この時点で50万行のExcelシートを扱う気力を失っていると思いますが、まだ先があります。
第9列では病床数と診療科目を扱っています。
病床数が一筋縄ではいきませんでした。
『一般』だけでなく『療養』『精神』『結核』などがあります。まず手を煩わす事になったのが『一般(感染)』です。
処理上は『一般』を見つけたら一般病床とするように指示したかったのですが『一般(感染)』の存在により、それができなくなりました。
では『感染』で進めるとどうなるかというと診療科名で『感染症内科』『性感染症』などが引っ掛かります。
病床数欄ではもう1つ課題があり、病床区分と同じ行に病床数が書かれていないことがあります。
例えば『一般(感染)』を見つけて、左にある数字を取り込んで分類しようと思っても、そこは空白です。
もう、ExcelやAccessでの処理では無理だと思ったので、Visual Studioを使ってC#言語でExcelファイルを編集するソフトを開発しました。
何やかんやとありまして….
色々と調整すべきことが多い保険医療機関に関するデータですが、全国統一できました。
C#言語で作ったプログラムでは地方厚生局が公開するExcelファイルを読込みXMLファイル化します。そのXMLファイルに二次医療圏のデータをコンバージョンします。そしてCSVファイルとして吐出しウェブデータベースに載せます。
昨日アップデートした施設基準届出データベースには130万件超の届出情報が掲載されています。
施設基準届出の全国データをまとめたデータベースを見たことがないので、もしかすると唯一無二かもしれません。
医療機関についてはYahoo!などでも検索できるのでリストが存在することに価値はありませんが、当方が制作しているデータベースには厚生労働省に届け出ているままの情報が掲載されていますので、正確性は高いと思います。
そして、前述の施設基準とのリンクもありますので、当該医療機関がどのような施設基準を満たして届出ているのかを知る事ができます。
更に二次医療圏の情報も付加しているので、目的によっては使いよいデータベースになるのではないかと思います。
存廃の厳しい調剤薬局もデータベース化しています。数の上では激変していないかもしれませんが、テナントとして入っていることが多いため入替や移転が目立ちます。
おわりに
医療機関の開設や保険診療を行う場合には許認可が必要であるため、どこかで情報を得られるようになっています。
おそらく厚生労働省に行って情報開示請求すれば台帳を見る事ができるのだと思いますが、普段から霞が関に通うのも大変なのでインターネットが活用されます。
電子データとして後悔されているExcelファイル等の数が多い上にフォーマットがバラバラ、Excelとして1本にまとめるのもなかなかの苦労です。
今回はソフトを開発して一本化し、煩わしい作業から解放されましたが、それでも思わぬところで躓いています。
毎月、20万軒以上の保険医療機関が収載された電子ファイルが更新されるので、毎月の作業が軽減されるように、これからも集計用ソフトの更新に努めていきたいと思います。