お疲れ様です。
本日は、重症度、医療・看護必要度の様式=Hファイルに関するSQLを披露したいと思います。
最近、全くSQLに関する記事を書いておりませんでした・・・。
長ったらしいですが、ひたすら項目別に集計を書けて、1患者1入院レコードにまとめるだけです。
Hfileは患者個別の毎日の計測データが格納されているので、1患者の分母分子を捉えるためには、
下記のようなクエリが必要になります。
これの活用目的としては、Dfile情報や様式1に繋げて必要度の特徴を把握するためのものです。
疾患別、DPC別の必要度の状況はどうなっているのかを観察するために作ったクエリです。
Dfileと結びつけるには、BIツールを経由してリレーションを行っています。

実は、このクエリは、Hfileをそのまま
一手間あって、この形に持って行けるので、その点は次回にでも報告させて
頂ければと思います。
プレーンな状態からぜーんぶの処理をSQLで出来れば楽なのですが、
まだそこまで追いついてません。


--##Hfeileを1患者毎のレコードに集計するクエリ### --
--Hfile processingファイル作成 横集計 【1患者毎】に集計
if OBJECT_ID(N'dbo.Hn_porc_rec',N'U') is not null drop table dbo.Hn_porc_rec;
SELECT [RecID] , sum(case when 判定 = '適合' then 1 else 0 end) as [適合]
, sum(case when 判定 = '非適合' then 1 else 0 end) as [非適合]
,MAX([実施相対日]) as 在院日数
,SUM(CONVERT(int, [一般A項目1]))as [一般A項目1]
,SUM(CONVERT(int,[一般A項目2]))as [一般A項目2]
,SUM(CONVERT(int,[一般A項目3]))as [一般A項目3]
,SUM(CONVERT(int,[一般A項目4]))as [一般A項目4]
,SUM(CONVERT(int,[一般A項目5]))as [一般A項目5]
,SUM(CONVERT(int,[一般A項目6]))as [一般A項目6]
,SUM(CONVERT(int,[一般A項目7-1]))as [一般A項目7-1]
,SUM(CONVERT(int,[一般A項目7-2]))as [一般A項目7-2]
,SUM(CONVERT(int,[一般A項目7-3]))as [一般A項目7-3]
,SUM(CONVERT(int,[一般A項目7-4]))as [一般A項目7-4]
,SUM(CONVERT(int,[一般A項目7-5]))as [一般A項目7-5]
,SUM(CONVERT(int,[一般A項目7-6]))as [一般A項目7-6]
,SUM(CONVERT(int,[一般A項目7-7]))as [一般A項目7-7]
,SUM(CONVERT(int,[一般A項目7-8]))as [一般A項目7-8]
,SUM(CONVERT(int,[一般A項目7-9]))as [一般A項目7-9]
,SUM(CONVERT(int,[一般A項目7-10]))as [一般A項目7-10]
,SUM(CONVERT(int,[一般A項目7-11]))as [一般A項目7-11]
,SUM(CONVERT(int,[一般A項目7]))as [一般A項目7]
,SUM(CONVERT(int,[一般A項目8]))as [一般A項目8]
,SUM(CONVERT(int,[一般A項目小計]))as [一般A項目小計]
,SUM(CONVERT(int,[一般B項目1]))as [一般B項目1]
,SUM(CONVERT(int,[一般B項目2]))as [一般B項目2]
,SUM(CONVERT(int,[一般B項目3]))as [一般B項目3]
,SUM(CONVERT(int,[一般B項目4]))as [一般B項目4]
,SUM(CONVERT(int,[一般B項目5]))as [一般B項目5]
,SUM(CONVERT(int,[一般B項目6]))as [一般B項目6]
,SUM(CONVERT(int,[一般B項目7]))as [一般B項目7]
,SUM(CONVERT(int,[一般B項目小計]))as [一般B項目小計]
,SUM(CONVERT(int,[一般C項目1]))as [一般C項目1]
,SUM(CONVERT(int,[一般C項目2]))as [一般C項目2]
,SUM(CONVERT(int,[一般C項目3]))as [一般C項目3]
,SUM(CONVERT(int,[一般C項目4]))as [一般C項目4]
,SUM(CONVERT(int,[一般C項目5]))as [一般C項目5]
,SUM(CONVERT(int,[一般C項目6]))as [一般C項目6]
,SUM(CONVERT(int,[一般C項目7-1]))as [一般C項目7-1]
,SUM(CONVERT(int,[一般C項目7-2]))as [一般C項目7-2]
,SUM(CONVERT(int,[一般C項目7-3]))as [一般C項目7-3]
,SUM(CONVERT(int,[一般C項目7]))as [一般C項目7]
,SUM(CONVERT(int,[一般C項目小計]))as [一般C項目小計]
,SUM(CONVERT(int,[一般A項目合計]))as [一般A項目合計]
,SUM(CONVERT(int,[一般B項目合計]))as [一般B項目合計]
,SUM(CONVERT(int,[一般C項目合計]))as [一般C項目合計]
,SUM(CONVERT(int,[合計]))as [合計]
,[病棟コード]
,[年月]
into [Hn_porc_rec]
FROM [dbo].[Hn_proc_1610_1703]
Group by [RecID],[病棟コード],年月
GO