DPCデータを取り扱う

2017年1月31日

DPCデータの解析処理するプログラムに取り組んで得た知見などのメモです。

去年医療系のデータを扱う会社に転職して、初めてDPC制度という存在を知った。ざっくり説明すると厚労省が定めている医療費を算出するためのルールだ。そして制度に参加する病院は、自病院でおこなった診療行為についてDPCデータにまとめて提出することが決められている。データのフォーマットは厚労省が決めて公開している。

厚労省の医療制度のページ

16年制度DPC関係の説明はこのあたりの資料(たまに更新されているので注意が必要)

データの種類もいくつかあるが、個人的によく使うのは以下のもの

  • FF1 (呼称は「様式1」)
  • En (呼称は「入院診療明細情報」)
  • Fn (呼称は「入院行為明細情報」)

これらは文字コードがShift-JIS、タブ区切りのTSVファイルである。

診療に関する診療情報をデータ化しているので当然データサイズは大きくなり、また各レコード内に重複したデータもある。処理プログラムではこれらの特性を考慮した作りと設計をすることで最終的なアウトプットに差が出たりする。

解析処理を実装する言語について

解析処理プログラムを作るうえで個人的にpythonがベストな言語だと思っている。特にPandasライブラリを重宝しており、前述のtsvファイルはもちろん、厚労省が公開するエクセルデータを読み込むのにも非常に便利だ。

またjupytorもよく使う。データを調べる際に立ち上げたjupytorでpandasのread_csv関数で巨大なDPCデータを読込み、解析しつつプログラムの細かい内部仕様を詰める、その過程でできた関数はそのまま再利用、といった具合で活用している。