Skip to content

Commit 5504c41

Browse files
committed
fix: refactor UO to better align with kdigo guidelines
1 parent 316cb96 commit 5504c41

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed

mimic-iv/concepts/organfailure/kdigo_stages.sql

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,15 @@ WITH cr_stg AS
4343
WHEN uo.uo_rt_6hr IS NULL THEN NULL
4444
-- require patient to be in ICU for at least 6 hours to stage UO
4545
WHEN uo.charttime <= DATETIME_ADD(ie.intime, INTERVAL '6' HOUR) THEN 0
46-
-- require the UO rate to be calculated over half the period
47-
-- i.e. for uo rate over 24 hours, require documentation at least 12 hr apart
48-
WHEN uo.uo_tm_24hr >= 11 AND uo.uo_rt_24hr < 0.3 THEN 3
49-
WHEN uo.uo_tm_12hr >= 5 AND uo.uo_rt_12hr = 0 THEN 3
50-
WHEN uo.uo_tm_12hr >= 5 AND uo.uo_rt_12hr < 0.5 THEN 2
51-
WHEN uo.uo_tm_6hr >= 2 AND uo.uo_rt_6hr < 0.5 THEN 1
46+
-- require the UO rate to be calculated over duration specified in KDIGO
47+
-- Stage 3: <0.3 ml/kg/h for >=24 hours
48+
WHEN uo.uo_tm_24hr >= 24 AND uo.uo_rt_24hr < 0.3 THEN 3
49+
-- *or* anuria for >= 12 hours
50+
WHEN uo.uo_tm_12hr >= 12 AND uo.uo_rt_12hr = 0 THEN 3
51+
-- Stage 2: <0.5 ml/kg/h for >= 12 hours
52+
WHEN uo.uo_tm_12hr >= 12 AND uo.uo_rt_12hr < 0.5 THEN 2
53+
-- Stage 1: <0.5 ml/kg/h for 6–12 hours
54+
WHEN uo.uo_tm_6hr >= 6 AND uo.uo_rt_6hr < 0.5 THEN 1
5255
ELSE 0 END AS aki_stage_uo
5356
FROM `physionet-data.mimiciv_derived.kdigo_uo` uo
5457
INNER JOIN `physionet-data.mimiciv_icu.icustays` ie

mimic-iv/concepts/organfailure/kdigo_uo.sql

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,24 +73,18 @@ select
7373
, ur.urineoutput_12hr
7474
, ur.urineoutput_24hr
7575

76-
-- calculate rates
77-
-- we would like to improve the sensitivity of this calculation by:
78-
-- (1) requiring UO documentation over at least N/2 hours
79-
-- (2) excluding a rate if it was calculated over >>N hours
80-
-- this is to remove cases where we have a very short measurement
81-
-- (e.g. one UO measurement made for 1 hour determining the 6 hour rate)
82-
-- and remove cases where we have very sparse measurements
83-
-- (e.g. two UO measurements 12 hours apart used for the 6 hour rate calculation)
76+
-- calculate rates while requiring UO documentation over at least N hours
77+
-- as specified in KDIGO guidelines 2012 pg19
8478
, CASE
85-
WHEN uo_tm_6hr > 3 AND uo_tm_6hr < 9
79+
WHEN uo_tm_6hr >= 6 AND uo_tm_6hr < 12
8680
THEN ROUND(CAST((ur.urineoutput_6hr/wd.weight/uo_tm_6hr) AS NUMERIC), 4)
8781
ELSE NULL END AS uo_rt_6hr
8882
, CASE
89-
WHEN uo_tm_12hr > 6 AND uo_tm_12hr < 18
83+
WHEN uo_tm_12hr >= 12
9084
THEN ROUND(CAST((ur.urineoutput_12hr/wd.weight/uo_tm_12hr) AS NUMERIC), 4)
9185
ELSE NULL END AS uo_rt_12hr
9286
, CASE
93-
WHEN uo_tm_24hr > 12 AND uo_tm_24hr < 36
87+
WHEN uo_tm_24hr >= 24
9488
THEN ROUND(CAST((ur.urineoutput_24hr/wd.weight/uo_tm_24hr) AS NUMERIC), 4)
9589
ELSE NULL END AS uo_rt_24hr
9690

0 commit comments

Comments
 (0)