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つを突合している。
データ識別番号と入院年月日ふたつのフラグで集計しないと、再入院が混ざってしまって変なことになるから注意。