OkiTool開発日記

データベース参照ツールを開発しています。そのツールの開発、利用方法秘話などなどの紹介

「重症度、医療・看護必要度」 特定集中治療室用からハイケアユニット用へ変更する場合の試算 のSQL

syskobo.hatenablog.com

 


select

to_char(to_date(h.TARGETDATE),'YYYY/MM/DD') 対象日
,h.PATIENTNO 患者番号
,( z.KANJILASTNAME || ' ' || z.KANJIFIRSTNAME ) 患者氏名

,TO_DATE(h.TARGETDATE) - A.ADMISSIONDATE + 1 入院日数

,h.WARDCODE 病棟
,h.ROOMCODE||'-'||h.BEDCODE 病室

,decode(h.ADMTYPE,'N','N:入院','E','E:転棟','G','G:外来','X','X:死亡' ) 区分
,decode(h.HOKATU,null,h.HANTEI,'対象外', h.HANTEI,h.HOKATU ) 判定

,case
when IMPDEGQUANTITYA >= '4' and IMPDEGQUANTITYB >= '3' then '○'
else '_' end
|| ' ' || IMPDEGQUANTITYA || '-' || IMPDEGQUANTITYB "特定集中"

,case
when ( nvl(ATEN,0) + HIGHCAREQUANTITYA ) >= '3' and HIGHCAREQUANTITYB >= '4' then '○'
else '_' end
|| ' ' || ( nvl(ATEN,0) + HIGHCAREQUANTITYA ) || '-' || HIGHCAREQUANTITYB "ハイケア"

-- ,null "不一致"

,h.ADMISSIONNO 入院NO

,GET_STREFH2(h.H11,ef.H11) "①創傷処置"
,GET_STREFH2(h.H12,ef.H12) "②褥瘡処置"
,GET_STREFH2(h.H2,ef.H2) "蘇生術"
,GET_STREFH2(h.H3,ef.H3) "呼吸ケア"
,GET_STREFH2(h.H4,ef.H4) "点滴ライン"

,GET_STREFH2(h.E5,null) "心電図モニタ"
,GET_STREFH2(h.E6,null) "輸液ポンプ"
,GET_STREFH2(h.E7,null) "動脈圧測定"
,GET_STREFH2(h.E8,null) "シリンジポンプ"
,GET_STREFH2(h.E9,null) "中心静脈"
,GET_STREFH2(h.E10,null) "人工呼吸器"
,GET_STREFH2(h.E11,null) "輸血"
,GET_STREFH2(h.E12,null) "肺動脈圧"
,GET_STREFH2(h.E13,null) "特殊な治療法等"

,h.B9 "寝返り"
,h.B10 "移乗"
,h.B11 "口腔清潔"
,h.B12 "食事摂取"
,h.B13 "衣服の着脱"
,h.B14 "診療・療養上の指示"
,h.B15 "危険行動"

 

from MS_HALL h -- Hファイル
left join VS_EFJALL ef on ef.ymd = h.TARGETDATE and ef.ptno = h.PATIENTNO and ef.BTOCD = h.WARDCODE -- EFファイル
left join Z_IBAPATIENT@order97.opgh.local z on z.PATIENTNO = h.PATIENTNO
left join Z_ADMADMISSION@order97.opgh.local a on a.ADMISSIONNO = h.ADMISSIONNO

where h.HOSPITALCODE = '01'
and h.TARGETDATE between '<p>DATE21|開始対象日|AddDays(-34)</p>' and '<p>DATE21|終了対象日|AddDays(-4)</p>'
and h.WARDCODE IN ('ICU','HCU' )

order by h.TARGETDATE , h.WARDCODE , h.ROOMCODE , h.BEDCODE