DPCデータの分析とかやるブログ

DPCデータの分析なんかをテキトーにやってます。

電子点数本を使ってDPCデータを拡張する(1)

DPCのDファイルには、DPC分類番号が記録されています。 理論的には、これを利用し紐付けすれば、その日の診療データがDPC期間のどの区分に該当するか、といった分析も可能になる筈です。 そのためのデータが厚生労働省のページで配布されているので、今回はその紹介をしようと思います。

まずは電子点数本を入手しましょう。

診断群分類(DPC)電子点数表について |厚生労働省

中身はxlsxファイルです。
(率直に言って、中立であるべき政府機関がマイクロソフトのエクセル使用を前提にするのはどうなんだ、と思いますが)
幾つもシートがありますが、その中の「11)診断群分類点数表」を見てみましょう。
全ての診断群分類番号と、それに対応する傷病名・入院期間が載っているはずです。
何を思ったのか、カテゴリ名のカラムが幾つか結合されていたり、二次利用のことを一切考えていない作りですが、そこは手作業でどうにかなる範囲ですね。 素直にcsvで分割しろと言いたい
このうち、どのデータを利用するかは人それぞれです。
私は分類番号、病名、入院期間くらいがあればいいので、カラムを幾つか削って以下のようなテーブル定義で取り込んでいます。

CREATE TABLE dpcmaster
(分類番号 VARCHAR(255),
病名 VARCHAR(255),
手術分岐 VARCHAR(255),
入院期間1 INTEGER,
入院期間2 INTEGER,
入院期間3 INTEGER,
点数1 INTEGER,
点数2 INTEGER,
点数3 INTEGER,
id SERIAL PRIMARY KEY);

別に全項目を取り込んでもいいと思いますが、今のところ思いつく用途がDPC期間の判定くらいなもので…
ちなみにDPC期間ですが、まず在院日数を'実施年月日-入院年月日+1`で算出し、それと入院日I~IIIを比較することで出すことが出来ます。
SQL上で頑張って出してもいいんですが、中間テーブルを作る羽目になるか、WITH句とCASE式を使った複雑なシロモノになるでしょう。
私は面倒くさいのでスクリプト側で処理しました。次回は、実際の処理例を見てみようと思います。