殿堂入り記事

オンライン診療対応医療機関の一覧PDFをExcelに変換、Google Mapに書き出してみた

厚生労働省から発表されたオンライン診療対応医療機関を、Google Map上にマッピングしてみました。 ホームページ上で公開されているPDFの表資料をExcelに整形する手順と、Excel表を取り込んでGoogle Map上にマッピングする方法をご紹介しています。
2020.04.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

2020年4月25日、厚生労働省からオンライン診療を受け付けている医療機関、1万余りの一覧が発表されました。

発表されたリストはこちら。都道府県ごと、PDFにまとめての掲載となっています。

PDFは表示崩れを起こすことがなく、フリーのAdobe Readerを使用すれば誰でも閲覧できるのがメリットです。 ただし、デメリットもあり、掲載されているURLからリンクしづらかったり、文字列のコピーが難しかったり、PC以外のデバイスだと非常に見辛くなったりという課題があります。

そこで、Google Mapにこの一覧を取り込み、マッピングしてみました。

オンライン診療対応医療機関マップ

こちらが作成したマップです。少し手がかかったので、とりあえず東京都から始めてます。他の地域もぼちぼち足しています。
(2020年4月26日追記: この記事を見た方から整備済みのCSVファイルを共有いただきました。東京、北海道以外の地域については、こちらのCSVデータで補完し、4月26日9時時点の情報で全国をカバーしています。)
このGoogle Mapの作成手順をご紹介していきます。

※ マップを全画面表示したい場合は、こちらからどうぞ。
  上の地図のタイトル右にある四角をクリックしても別窓で拡大地図が表示されます。

1.PDFの表をOfficeだけでExcelに変換する

PDFを開いて文字列を選択、コピーしたものをTextファイルにそのまま貼ると、残念ながら表は崩れてしまいます。
Excelファイルには一見、きれいに貼れたのですが、79ページにわたるPDFのうち、1ページ目だけしか貼れません。
また、よく見ると表の列がずれているところがあります。

これを回避して、表の形のままでコピーするのにWordを使います。
まずはPDFの文字列を選択して、右クリックメニューから「書式設定を維持してコピー」を選択します。

これを一度Wordに貼り付けると、表の形のまま貼り付けることができます。
PDFのページを跨いでいる部分にはセクション区切りが入って次のページに続いています。

このWordの表を全選択(Ctrl + A)し、Excelシートに貼り付けると表に変換されます。

ただし、このままでは余分な空白行や、データが2行に分割されてしまっているものなどが数多く存在しています。
これは残念ながら手間ですが、目で見て整理していきます。
多いと言っても、東京都内のオンライン診療対応機関は1059件。Excelのフィルタや重複削除などの機能をうまく利用すれば効率アップはできる。がんばれ自分。

…こうして所要時間1時間程度をかけて整理したのがこちら。

施設のURLなどでミスタイプとみられるものがいくつかあり、これらを修正することは断念しました。
電話番号の明らかな誤りだけはできる限り修正してみたつもりですが、おそらく不備はあると思います。
完璧にするのは難しいため、あとはGoogleの検索に頼ることにします。

2.Google MapにExcelを取り込み!

Excel表さえできてしまえば、あとはGoogleにお任せです。
Google マイマップにアクセスし、左上の「新しい地図を作成」を選択します。

「無題の地図」が開くので、「インポート」を選んで、先ほど作成したExcelファイルを読み込ませます。

読み込ませたExcel表のうち、位置情報の元にするデータを聞かれるので、「住所」を選択します。
ちなみに、Excel表の列頭を自動的に系列名として読み込んでくれています。ちょっとしたことですが、ものすごく楽です。

続いて、各ポイントの表示名を聞かれるので、今回は「施設名」を選択しました。

これで設定は完了、待つこと5分程度で地図上へのマッピングが完成です。

読み込みに失敗したデータがあった場合、エラーで知らせてくれるので、手で直します。
Google Map上から直接修正できるので、Excelの修正まで手戻りする必要はありません。

ついでに、施設ごとに再診のみ対応してもらえるところと、初診でも対応してもらえるところがあるようなので、これを色分けしてみました。
※厚生労働省の発表資料に基づいてマーカーを設定していますが、時間帯の条件や、症状によっては対面診療が必要になる場合など、個別の条件がある場合がありますので、必ずご自身で医療機関のHPを確認するなどしてください。

これで完成です!

取り急ぎの作業でしたが、何かの役に立てれば幸いです。

追記

Google Mapの上限問題

Google マイマップに設定できるポイントは、レイヤーごとに2,000件です。また、レイヤー数は10枚までという上限があります。
この上限にあたってしまうのを避けるため、東京都、神奈川県を別レイヤーにして、他の道府県も地域ごとにレイヤーに分けることで表示しています。
もし、今後さらにオンライン診療対応医療機関が増えるようであれば、地域ごとにマップを作成する必要が出てくるかと思います。

データ分析ツールを使った効率化

この記事を公開後に同僚から「Alteryxを使ったら、もっと簡単になるんじゃないの?」との意見をもらいました。
Alteryxは、データクレンジングや統合ができる高機能なデータ分析ツールです。できるだけフリーでというコンセプトからは外れますが、確かに整形の手間は減るのかもしれません。
少し勉強してみて、より効率的になりそうでしたら、改めてブログをアップします。