読者です 読者をやめる 読者になる 読者になる

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

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

前月からDPC請求方法が変化した患者を探す

今年度の改定で、DPC請求/出来高請求は一入院で統一することになりました。

つまり、DPCから出来高分岐になれば、前月以前分は返戻処理することになります。

また、前月でDPCが終わったものの、今月になって手術などを行いDPC期間が延長になれば、前月分を返戻しなければいけません。

面倒ですね。

さて、対象患者を探すにはどうすればいいでしょうか。

まず考えられるのは、入院料に注目する方法です。

具体的には、前月末日の入院料と、当月初日の入院料の区分が違えば、その患者は返戻対象の可能性が高いです。

まあ、たまたま前月末日がDPC最終日だった、というケースもありますので100%確実ではありませんが、探す手がかりにはなります。
早速そのためのスクリプトを書いてみましょう。

import pandas.io.sql as psql
import psycopg2 as pg
import pandas as pd

connection = pg.connect(database='データベースの名前',
                user='ユーザー名',
                host='localhost',
                password='パスワード',
                port=5432)

data1 = psql.read_sql("select データ識別番号,入院年月日,診療科区分,病棟コード,データ区分,診療行為名称 \
from d1606 \
where レセ電算処理コード in (930000000,190077410) \
AND 実施年月日 = '2016-06-30'",connection)

data2 = psql.read_sql("select データ識別番号,入院年月日,診療科区分,病棟コード,データ区分,診療行為名称 \
from d1607 \
where レセ電算処理コード in (930000000,190077410) \
AND 実施年月日 = '2016-07-01'",connection)


kakunin = pd.merge(data1,data2,how='inner',on = ['データ識別番号','入院年月日'])
kakunin['bool'] = kakunin['データ区分_x'] == kakunin['データ区分_y']
kakuninkekka = kakunin[kakunin['bool']==False]
kakuninkekka.to_csv('dpc_changed.csv')
print(kakuninkekka)

まず2つの変数に6月末日/7月1日のデータを投げ込んでいます。 レセ電算処理コードに930000000,190077410が指定されていますが、
930000000がDPC入院料
190077410が10対1入院基本料
です。入院基本料はご自身の病院の設定に合わせてください。
2つのデータをpd.mergeで結合し(how='inner'SQLのINNER JOINと同じ動きになります)、データ区分が一致するか確認します。
出来高入院基本料はデータ区分90番、DPC入院料は93番ですので、これが不一致であれば確認対象者です。 最後の2行でCSVに書き出し、コンソールに対象者を表示します。