Skip to content

Commit f4fe248

Browse files
committed
add verification scripts for build
1 parent b24cb8e commit f4fe248

2 files changed

Lines changed: 160 additions & 0 deletions

File tree

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
-- Validate the MIMIC-IV tables built correctly by checking against known row counts.
2+
WITH expected AS
3+
(
4+
SELECT 'admissions' AS tbl, 454324 AS row_count UNION ALL
5+
SELECT 'd_hcpcs' AS tbl, 89200 AS row_count UNION ALL
6+
SELECT 'd_icd_diagnoses' AS tbl, 109775 AS row_count UNION ALL
7+
SELECT 'd_icd_procedures' AS tbl, 85257 AS row_count UNION ALL
8+
SELECT 'd_labitems' AS tbl, 1623 AS row_count UNION ALL
9+
SELECT 'diagnoses_icd' AS tbl, 5006884 AS row_count UNION ALL
10+
SELECT 'drgcodes' AS tbl, 636157 AS row_count UNION ALL
11+
SELECT 'emar' AS tbl, 28189413 AS row_count UNION ALL
12+
SELECT 'emar_detail' AS tbl, 57469291 AS row_count UNION ALL
13+
SELECT 'hcpcsevents' AS tbl, 159156 AS row_count UNION ALL
14+
SELECT 'labevents' AS tbl, 124342638 AS row_count UNION ALL
15+
SELECT 'microbiologyevents' AS tbl, 3395229 AS row_count UNION ALL
16+
SELECT 'omr' AS tbl, 6770301 AS row_count UNION ALL
17+
SELECT 'patients' AS tbl, 315460 AS row_count UNION ALL
18+
SELECT 'pharmacy' AS tbl, 14291703 AS row_count UNION ALL
19+
SELECT 'poe' AS tbl, 41427803 AS row_count UNION ALL
20+
SELECT 'poe_detail' AS tbl, 3174971 AS row_count UNION ALL
21+
SELECT 'prescriptions' AS tbl, 16219412 AS row_count UNION ALL
22+
SELECT 'procedures_icd' AS tbl, 704124 AS row_count UNION ALL
23+
SELECT 'services' AS tbl, 492967 AS row_count UNION ALL
24+
SELECT 'transfers' AS tbl, 1991704 AS row_count UNION ALL
25+
-- icu data
26+
SELECT 'icustays' AS tbl, 76943 AS row_count UNION ALL
27+
SELECT 'd_items' AS tbl, 4014 AS row_count UNION ALL
28+
SELECT 'chartevents' AS tbl, 329822285 AS row_count UNION ALL
29+
SELECT 'datetimeevents' AS tbl, 7477876 AS row_count UNION ALL
30+
SELECT 'inputevents' AS tbl, 9442345 AS row_count UNION ALL
31+
SELECT 'outputevents' AS tbl, 4450049 AS row_count UNION ALL
32+
SELECT 'procedureevents' AS tbl, 731788 AS row_count
33+
)
34+
, observed as
35+
(
36+
SELECT 'admissions' AS tbl, count(*) AS row_count FROM mimiciv_hosp.admissions UNION ALL
37+
SELECT 'd_hcpcs' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_hcpcs UNION ALL
38+
SELECT 'd_icd_diagnoses' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_icd_diagnoses UNION ALL
39+
SELECT 'd_icd_procedures' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_icd_procedures UNION ALL
40+
SELECT 'd_labitems' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_labitems UNION ALL
41+
SELECT 'diagnoses_icd' AS tbl, count(*) AS row_count FROM mimiciv_hosp.diagnoses_icd UNION ALL
42+
SELECT 'drgcodes' AS tbl, count(*) AS row_count FROM mimiciv_hosp.drgcodes UNION ALL
43+
SELECT 'emar' AS tbl, count(*) AS row_count FROM mimiciv_hosp.emar UNION ALL
44+
SELECT 'emar_detail' AS tbl, count(*) AS row_count FROM mimiciv_hosp.emar_detail UNION ALL
45+
SELECT 'hcpcsevents' AS tbl, count(*) AS row_count FROM mimiciv_hosp.hcpcsevents UNION ALL
46+
SELECT 'labevents' AS tbl, count(*) AS row_count FROM mimiciv_hosp.labevents UNION ALL
47+
SELECT 'microbiologyevents' AS tbl, count(*) AS row_count FROM mimiciv_hosp.microbiologyevents UNION ALL
48+
SELECT 'omr' AS tbl, count(*) AS row_count FROM mimiciv_hosp.omr UNION ALL
49+
SELECT 'patients' AS tbl, count(*) AS row_count FROM mimiciv_hosp.patients UNION ALL
50+
SELECT 'pharmacy' AS tbl, count(*) AS row_count FROM mimiciv_hosp.pharmacy UNION ALL
51+
SELECT 'poe' AS tbl, count(*) AS row_count FROM mimiciv_hosp.poe UNION ALL
52+
SELECT 'poe_detail' AS tbl, count(*) AS row_count FROM mimiciv_hosp.poe_detail UNION ALL
53+
SELECT 'prescriptions' AS tbl, count(*) AS row_count FROM mimiciv_hosp.prescriptions UNION ALL
54+
SELECT 'procedures_icd' AS tbl, count(*) AS row_count FROM mimiciv_hosp.procedures_icd UNION ALL
55+
SELECT 'services' AS tbl, count(*) AS row_count FROM mimiciv_hosp.services UNION ALL
56+
SELECT 'transfers' AS tbl, count(*) AS row_count FROM mimiciv_hosp.transfers UNION ALL
57+
-- icu data
58+
SELECT 'icustays' AS tbl, count(*) AS row_count FROM mimiciv_icu.icustays UNION ALL
59+
SELECT 'chartevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.chartevents UNION ALL
60+
SELECT 'd_items' AS tbl, count(*) AS row_count FROM mimiciv_icu.d_items UNION ALL
61+
SELECT 'datetimeevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.datetimeevents UNION ALL
62+
SELECT 'inputevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.inputevents UNION ALL
63+
SELECT 'outputevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.outputevents UNION ALL
64+
SELECT 'procedureevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.procedureevents
65+
)
66+
SELECT
67+
exp.tbl
68+
, exp.row_count AS expected_count
69+
, obs.row_count AS observed_count
70+
, CASE
71+
WHEN exp.row_count = obs.row_count
72+
THEN 'PASSED'
73+
ELSE 'FAILED'
74+
END AS ROW_COUNT_CHECK
75+
FROM expected exp
76+
INNER JOIN observed obs
77+
ON exp.tbl = obs.tbl
78+
ORDER BY exp.tbl
79+
;
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
-- Validate the MIMIC-IV tables built correctly by checking against known row counts.
2+
-- This script checks using the number of rows in the MIMIC-IV demo, a 100 patient subset
3+
-- of MIMIC-IV.
4+
WITH expected AS
5+
(
6+
SELECT 'admissions' AS tbl, 275 AS row_count UNION ALL
7+
SELECT 'd_hcpcs' AS tbl, 89200 AS row_count UNION ALL
8+
SELECT 'd_icd_diagnoses' AS tbl, 109775 AS row_count UNION ALL
9+
SELECT 'd_icd_procedures' AS tbl, 85257 AS row_count UNION ALL
10+
SELECT 'd_labitems' AS tbl, 1623 AS row_count UNION ALL
11+
SELECT 'diagnoses_icd' AS tbl, 4506 AS row_count UNION ALL
12+
SELECT 'drgcodes' AS tbl, 454 AS row_count UNION ALL
13+
SELECT 'emar' AS tbl, 35835 AS row_count UNION ALL
14+
SELECT 'emar_detail' AS tbl, 72018 AS row_count UNION ALL
15+
SELECT 'hcpcsevents' AS tbl, 61 AS row_count UNION ALL
16+
SELECT 'labevents' AS tbl, 107727 AS row_count UNION ALL
17+
SELECT 'microbiologyevents' AS tbl, 2899 AS row_count UNION ALL
18+
SELECT 'omr' AS tbl, 2964 AS row_count UNION ALL
19+
SELECT 'patients' AS tbl, 100 AS row_count UNION ALL
20+
SELECT 'pharmacy' AS tbl, 15306 AS row_count UNION ALL
21+
SELECT 'poe' AS tbl, 45154 AS row_count UNION ALL
22+
SELECT 'poe_detail' AS tbl, 3053 AS row_count UNION ALL
23+
SELECT 'prescriptions' AS tbl, 18087 AS row_count UNION ALL
24+
SELECT 'procedures_icd' AS tbl, 722 AS row_count UNION ALL
25+
SELECT 'services' AS tbl, 319 AS row_count UNION ALL
26+
SELECT 'transfers' AS tbl, 1190 AS row_count UNION ALL
27+
-- icu data
28+
SELECT 'icustays' AS tbl, 140 AS row_count UNION ALL
29+
SELECT 'd_items' AS tbl, 4014 AS row_count UNION ALL
30+
SELECT 'chartevents' AS tbl, 668862 AS row_count UNION ALL
31+
SELECT 'datetimeevents' AS tbl, 15280 AS row_count UNION ALL
32+
SELECT 'inputevents' AS tbl, 20404 AS row_count UNION ALL
33+
SELECT 'outputevents' AS tbl, 9362 AS row_count UNION ALL
34+
SELECT 'procedureevents' AS tbl, 1468 AS row_count
35+
)
36+
, observed as
37+
(
38+
SELECT 'admissions' AS tbl, count(*) AS row_count FROM mimiciv_hosp.admissions UNION ALL
39+
SELECT 'd_hcpcs' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_hcpcs UNION ALL
40+
SELECT 'd_icd_diagnoses' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_icd_diagnoses UNION ALL
41+
SELECT 'd_icd_procedures' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_icd_procedures UNION ALL
42+
SELECT 'd_labitems' AS tbl, count(*) AS row_count FROM mimiciv_hosp.d_labitems UNION ALL
43+
SELECT 'diagnoses_icd' AS tbl, count(*) AS row_count FROM mimiciv_hosp.diagnoses_icd UNION ALL
44+
SELECT 'drgcodes' AS tbl, count(*) AS row_count FROM mimiciv_hosp.drgcodes UNION ALL
45+
SELECT 'emar' AS tbl, count(*) AS row_count FROM mimiciv_hosp.emar UNION ALL
46+
SELECT 'emar_detail' AS tbl, count(*) AS row_count FROM mimiciv_hosp.emar_detail UNION ALL
47+
SELECT 'hcpcsevents' AS tbl, count(*) AS row_count FROM mimiciv_hosp.hcpcsevents UNION ALL
48+
SELECT 'labevents' AS tbl, count(*) AS row_count FROM mimiciv_hosp.labevents UNION ALL
49+
SELECT 'microbiologyevents' AS tbl, count(*) AS row_count FROM mimiciv_hosp.microbiologyevents UNION ALL
50+
SELECT 'omr' AS tbl, count(*) AS row_count FROM mimiciv_hosp.omr UNION ALL
51+
SELECT 'patients' AS tbl, count(*) AS row_count FROM mimiciv_hosp.patients UNION ALL
52+
SELECT 'pharmacy' AS tbl, count(*) AS row_count FROM mimiciv_hosp.pharmacy UNION ALL
53+
SELECT 'poe' AS tbl, count(*) AS row_count FROM mimiciv_hosp.poe UNION ALL
54+
SELECT 'poe_detail' AS tbl, count(*) AS row_count FROM mimiciv_hosp.poe_detail UNION ALL
55+
SELECT 'prescriptions' AS tbl, count(*) AS row_count FROM mimiciv_hosp.prescriptions UNION ALL
56+
SELECT 'procedures_icd' AS tbl, count(*) AS row_count FROM mimiciv_hosp.procedures_icd UNION ALL
57+
SELECT 'services' AS tbl, count(*) AS row_count FROM mimiciv_hosp.services UNION ALL
58+
SELECT 'transfers' AS tbl, count(*) AS row_count FROM mimiciv_hosp.transfers UNION ALL
59+
-- icu data
60+
SELECT 'icustays' AS tbl, count(*) AS row_count FROM mimiciv_icu.icustays UNION ALL
61+
SELECT 'chartevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.chartevents UNION ALL
62+
SELECT 'd_items' AS tbl, count(*) AS row_count FROM mimiciv_icu.d_items UNION ALL
63+
SELECT 'datetimeevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.datetimeevents UNION ALL
64+
SELECT 'inputevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.inputevents UNION ALL
65+
SELECT 'outputevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.outputevents UNION ALL
66+
SELECT 'procedureevents' AS tbl, count(*) AS row_count FROM mimiciv_icu.procedureevents
67+
)
68+
SELECT
69+
exp.tbl
70+
, exp.row_count AS expected_count
71+
, obs.row_count AS observed_count
72+
, CASE
73+
WHEN exp.row_count = obs.row_count
74+
THEN 'PASSED'
75+
ELSE 'FAILED'
76+
END AS ROW_COUNT_CHECK
77+
FROM expected exp
78+
INNER JOIN observed obs
79+
ON exp.tbl = obs.tbl
80+
ORDER BY exp.tbl
81+
;

0 commit comments

Comments
 (0)