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

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

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

EFファイル/Dファイルを使ってDPC・出来高対比を出す

DPC・出来高の点数対比は、一番業務で使いそうな数字である。

SQLを使って出す方法は、

 

1)該当月の患者別DPC点数集計をする

2)同じく該当月の出来高点数集計をする

3)上ふたつを突合する

 

という手順になる。

別に1)と2)を個別に行ってExcelでvlookup関数なんかを使い突合してもいいけど、面倒なので一回のSQL発行で済ませてしまおう。

 

WITH dsum AS (
select データ識別番号,入院年月日,sum(行為点数*行為回数) AS DPC総点数
from d1601
where データ区分 <> 97
group by データ識別番号,入院年月日),
efsum AS(
SELECT データ識別番号,入院年月日,SUM(出来高実績点数*行為回数) AS 出来高総点数
FROM ef1601
WHERE データ区分 <> 92
AND データ区分 <> 97
group by データ識別番号,入院年月日)

 

select d.データ識別番号,d.入院年月日,d.DPC総点数,e.出来高総点数,
d.DPC総点数-e.出来高総点数 AS 点数差異
from dsum AS d
INNER JOIN efsum AS e
USING(データ識別番号,入院年月日)

 

 

WITH構文でDファイル集計・EFファイル集計をdsum/efsumという一時テーブルに集計しておき、最後のselect文で2つを突合している。

データ識別番号と入院年月日ふたつのフラグで集計しないと、再入院が混ざってしまって変なことになるから注意。