Skip to content

Commit f7b3ce9

Browse files
authored
Merge pull request #1336 from MIT-LCP/mimiciv_v2_update
Update derived concepts for mimic-iv
2 parents 3761d2f + 43a4245 commit f7b3ce9

File tree

122 files changed

+501
-514
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+501
-514
lines changed

mimic-iv/concepts/comorbidity/charlson.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ WITH diag AS
1919
hadm_id
2020
, CASE WHEN icd_version = 9 THEN icd_code ELSE NULL END AS icd9_code
2121
, CASE WHEN icd_version = 10 THEN icd_code ELSE NULL END AS icd10_code
22-
FROM `physionet-data.mimic_hosp.diagnoses_icd` diag
22+
FROM `physionet-data.mimiciv_hosp.diagnoses_icd` diag
2323
)
2424
, com AS
2525
(
@@ -253,7 +253,7 @@ WITH diag AS
253253
SUBSTR(icd10_code, 1, 3) IN ('B20','B21','B22','B24')
254254
THEN 1
255255
ELSE 0 END) AS aids
256-
FROM `physionet-data.mimic_core.admissions` ad
256+
FROM `physionet-data.mimiciv_hosp.admissions` ad
257257
LEFT JOIN diag
258258
ON ad.hadm_id = diag.hadm_id
259259
GROUP BY ad.hadm_id
@@ -268,7 +268,7 @@ WITH diag AS
268268
WHEN age <= 60 THEN 2
269269
WHEN age <= 70 THEN 3
270270
ELSE 4 END AS age_score
271-
FROM `physionet-data.mimic_derived.age`
271+
FROM `physionet-data.mimiciv_derived.age`
272272
)
273273
SELECT
274274
ad.subject_id
@@ -303,7 +303,7 @@ SELECT
303303
+ 2*paraplegia + 2*renal_disease
304304
+ 6*aids
305305
AS charlson_comorbidity_index
306-
FROM `physionet-data.mimic_core.admissions` ad
306+
FROM `physionet-data.mimiciv_hosp.admissions` ad
307307
LEFT JOIN com
308308
ON ad.hadm_id = com.hadm_id
309309
LEFT JOIN ag

mimic-iv/concepts/convert_bigquery_to_postgres.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
# This shell script converts BigQuery .sql files into PostgreSQL .sql files.
33

44
# String replacements are necessary for some queries.
5-
export REGEX_SCHEMA='s/`physionet-data.(mimic_core|mimic_icu|mimic_derived|mimic_hosp).(.+?)`/\1.\2/g'
5+
export REGEX_SCHEMA='s/`physionet-data.(mimiciv_hosp|mimiciv_icu|mimiciv_derived).([A-Za-z0-9_-]+)`/\1.\2/g'
66
# Note that these queries are very senstive to changes, e.g. adding whitespaces after comma can already change the behavior.
7-
export REGEX_DATETIME_DIFF="s/DATETIME_DIFF\((.+?),\s?(.+?),\s?(DAY|MINUTE|SECOND|HOUR|YEAR)\)/DATETIME_DIFF(\1,\2,'\3')/g"
8-
export REGEX_DATETIME_TRUNC="s/DATETIME_TRUNC\((.+?),\s?(DAY|MINUTE|SECOND|HOUR|YEAR)\)/DATE_TRUNC('\2', \1)/g"
7+
export REGEX_DATETIME_DIFF="s/DATETIME_DIFF\(([^,]+), ?([^,]+), ?(DAY|MINUTE|SECOND|HOUR|YEAR)\)/DATETIME_DIFF(\1, \2, '\3')/g"
8+
export REGEX_DATETIME_TRUNC="s/DATETIME_TRUNC\(([^,]+), ?(DAY|MINUTE|SECOND|HOUR|YEAR)\)/DATE_TRUNC('\2', \1)/g"
99
# Add necessary quotes to INTERVAL, e.g. "INTERVAL 5 hour" to "INTERVAL '5' hour"
10-
export REGEX_INTERVAL="s/interval\s([[:digit:]]+)\s(hour|day|month|year)/INTERVAL '\1' \2/gI"
10+
export REGEX_INTERVAL="s/interval ([[:digit:]]+) (hour|day|month|year)/INTERVAL '\1' \2/gI"
1111
# Add numeric cast to ROUND(), e.g. "ROUND(1.234, 2)" to "ROUND( CAST(1.234 as numeric), 2)".
1212
export PERL_REGEX_ROUND='s/ROUND\(((.|\n)*?)\, /ROUND\( CAST\( \1 as numeric\)\,/g'
1313
# Specific queries for some problems that arose with some files.
@@ -83,7 +83,7 @@ do
8383
# only run SQL queries
8484
if [[ "${fn: -4}" == ".sql" ]]; then
8585
# table name is file name minus extension
86-
tbl="${fn::-4}"
86+
tbl="${fn%????}"
8787

8888
# skip first_day_sofa as it depends on other firstday queries, we'll generate it later
8989
# we also skipped tables generated in the "Dependencies" loop above.

mimic-iv/concepts/demographics/age.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ SELECT
2222
, pa.anchor_age
2323
, pa.anchor_year
2424
, DATETIME_DIFF(ad.admittime, DATETIME(pa.anchor_year, 1, 1, 0, 0, 0), YEAR) + pa.anchor_age AS age
25-
FROM `physionet-data.mimic_core.admissions` ad
26-
INNER JOIN `physionet-data.mimic_core.patients` pa
25+
FROM `physionet-data.mimiciv_hosp.admissions` ad
26+
INNER JOIN `physionet-data.mimiciv_hosp.patients` pa
2727
ON ad.subject_id = pa.subject_id
2828
;

mimic-iv/concepts/demographics/icustay_detail.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ SELECT ie.subject_id, ie.hadm_id, ie.stay_id
77
, adm.admittime, adm.dischtime
88
, DATETIME_DIFF(adm.dischtime, adm.admittime, DAY) as los_hospital
99
, DATETIME_DIFF(adm.admittime, DATETIME(pat.anchor_year, 1, 1, 0, 0, 0), YEAR) + pat.anchor_age as admission_age
10-
, adm.ethnicity
10+
, adm.race
1111
, adm.hospital_expire_flag
1212
, DENSE_RANK() OVER (PARTITION BY adm.subject_id ORDER BY adm.admittime) AS hospstay_seq
1313
, CASE
@@ -24,8 +24,8 @@ SELECT ie.subject_id, ie.hadm_id, ie.stay_id
2424
WHEN DENSE_RANK() OVER (PARTITION BY ie.hadm_id ORDER BY ie.intime) = 1 THEN True
2525
ELSE False END AS first_icu_stay
2626

27-
FROM `physionet-data.mimic_icu.icustays` ie
28-
INNER JOIN `physionet-data.mimic_core.admissions` adm
27+
FROM `physionet-data.mimiciv_icu.icustays` ie
28+
INNER JOIN `physionet-data.mimiciv_hosp.admissions` adm
2929
ON ie.hadm_id = adm.hadm_id
30-
INNER JOIN `physionet-data.mimic_core.patients` pat
30+
INNER JOIN `physionet-data.mimiciv_hosp.patients` pat
3131
ON ie.subject_id = pat.subject_id

mimic-iv/concepts/demographics/icustay_hourly.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ select
2727
-- we allow 24 hours before ICU admission (to grab labs before admit)
2828
, GENERATE_ARRAY(-24, CEIL(DATETIME_DIFF(it.outtime_hr, it.intime_hr, HOUR))) as hrs
2929

30-
from `physionet-data.mimic_derived.icustay_times` it
30+
from `physionet-data.mimiciv_derived.icustay_times` it
3131
)
3232
SELECT stay_id
3333
, CAST(hr AS INT64) as hr

mimic-iv/concepts/demographics/icustay_times.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ WITH t1 AS
66
select ce.stay_id
77
, min(charttime) as intime_hr
88
, max(charttime) as outtime_hr
9-
FROM `physionet-data.mimic_icu.chartevents` ce
9+
FROM `physionet-data.mimiciv_icu.chartevents` ce
1010
-- only look at heart rate
1111
where ce.itemid = 220045
1212
group by ce.stay_id
@@ -16,6 +16,6 @@ select
1616
ie.subject_id, ie.hadm_id, ie.stay_id
1717
, t1.intime_hr
1818
, t1.outtime_hr
19-
FROM `physionet-data.mimic_icu.icustays` ie
19+
FROM `physionet-data.mimiciv_icu.icustays` ie
2020
left join t1
2121
on ie.stay_id = t1.stay_id;

mimic-iv/concepts/demographics/weight_durations.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ WITH wt_stg as
99
else 'daily' end as weight_type
1010
-- TODO: eliminate obvious outliers if there is a reasonable weight
1111
, c.valuenum as weight
12-
FROM `physionet-data.mimic_icu.chartevents` c
12+
FROM `physionet-data.mimiciv_icu.chartevents` c
1313
WHERE c.valuenum IS NOT NULL
1414
AND c.itemid in
1515
(
@@ -42,7 +42,7 @@ WITH wt_stg as
4242
else wt_stg1.charttime end as starttime
4343
, wt_stg1.weight
4444
from wt_stg1
45-
INNER JOIN `physionet-data.mimic_icu.icustays` ie
45+
INNER JOIN `physionet-data.mimiciv_icu.icustays` ie
4646
on ie.stay_id = wt_stg1.stay_id
4747
)
4848
, wt_stg3 as
@@ -87,7 +87,7 @@ WITH wt_stg as
8787
, wt.starttime as endtime
8888
, wt.weight
8989
, wt.weight_type
90-
from `physionet-data.mimic_icu.icustays` ie
90+
from `physionet-data.mimiciv_icu.icustays` ie
9191
inner join
9292
-- the below subquery returns one row for each unique stay_id
9393
-- the row contains: the first starttime and the corresponding weight

mimic-iv/concepts/firstday/first_day_bg.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ select
2323
, MIN(glucose) AS glucose_min, MAX(glucose) AS glucose_max
2424
, MIN(potassium) AS potassium_min, MAX(potassium) AS potassium_max
2525
, MIN(sodium) AS sodium_min, MAX(sodium) AS sodium_max
26-
FROM `physionet-data.mimic_icu.icustays` ie
27-
LEFT JOIN `physionet-data.mimic_derived.bg` bg
26+
FROM `physionet-data.mimiciv_icu.icustays` ie
27+
LEFT JOIN `physionet-data.mimiciv_derived.bg` bg
2828
ON ie.subject_id = bg.subject_id
2929
AND bg.charttime >= DATETIME_SUB(ie.intime, INTERVAL '6' HOUR)
3030
AND bg.charttime <= DATETIME_ADD(ie.intime, INTERVAL '1' DAY)

mimic-iv/concepts/firstday/first_day_bg_art.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ select
2323
, MIN(glucose) AS glucose_min, MAX(glucose) AS glucose_max
2424
, MIN(potassium) AS potassium_min, MAX(potassium) AS potassium_max
2525
, MIN(sodium) AS sodium_min, MAX(sodium) AS sodium_max
26-
FROM `physionet-data.mimic_icu.icustays` ie
27-
LEFT JOIN `physionet-data.mimic_derived.bg` bg
26+
FROM `physionet-data.mimiciv_icu.icustays` ie
27+
LEFT JOIN `physionet-data.mimiciv_derived.bg` bg
2828
ON ie.subject_id = bg.subject_id
2929
AND bg.specimen = 'ART.'
3030
AND bg.charttime >= DATETIME_SUB(ie.intime, INTERVAL '6' HOUR)

mimic-iv/concepts/firstday/first_day_gcs.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ WITH gcs_final AS
2121
PARTITION BY gcs.stay_id
2222
ORDER BY gcs.GCS
2323
) as gcs_seq
24-
FROM `physionet-data.mimic_derived.gcs` gcs
24+
FROM `physionet-data.mimiciv_derived.gcs` gcs
2525
)
2626
SELECT
2727
ie.subject_id
@@ -33,7 +33,7 @@ SELECT
3333
, gcs_verbal
3434
, gcs_eyes
3535
, gcs_unable
36-
FROM `physionet-data.mimic_icu.icustays` ie
36+
FROM `physionet-data.mimiciv_icu.icustays` ie
3737
LEFT JOIN gcs_final gs
3838
ON ie.stay_id = gs.stay_id
3939
AND gs.gcs_seq = 1

0 commit comments

Comments
 (0)