Skip to content

Commit b535bf4

Browse files
committed
add scripts to validate psql build using row counts
1 parent 85bbf1b commit b535bf4

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
-- Validate the MIMIC-IV tables built correctly by checking against known row counts.
2+
WITH expected AS
3+
(
4+
SELECT 'edstays' AS tbl, 447712 AS row_count UNION ALL
5+
SELECT 'diagnosis' AS tbl, 946692 AS row_count UNION ALL
6+
SELECT 'medrecon' AS tbl, 3143791 AS row_count UNION ALL
7+
SELECT 'pyxis' AS tbl, 1670590 AS row_count UNION ALL
8+
SELECT 'triage' AS tbl, 447712 AS row_count UNION ALL
9+
SELECT 'vitalsign' AS tbl, 1646976 AS row_count
10+
)
11+
, observed as
12+
(
13+
SELECT 'edstays' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.edstays UNION ALL
14+
SELECT 'diagnosis' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.diagnosis UNION ALL
15+
SELECT 'medrecon' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.medrecon UNION ALL
16+
SELECT 'pyxis' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.pyxis UNION ALL
17+
SELECT 'triage' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.triage UNION ALL
18+
SELECT 'vitalsign' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.vitalsign
19+
)
20+
SELECT
21+
exp.tbl
22+
, exp.row_count AS expected_count
23+
, obs.row_count AS observed_count
24+
, CASE
25+
WHEN exp.row_count = obs.row_count
26+
THEN 'PASSED'
27+
ELSE 'FAILED'
28+
END AS ROW_COUNT_CHECK
29+
FROM expected exp
30+
INNER JOIN observed obs
31+
ON exp.tbl = obs.tbl
32+
ORDER BY exp.tbl
33+
;
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-- Validate the MIMIC-IV-ED tables built correctly by checking against known row counts.
2+
-- This check uses the MIMIC-IV-ED Demo, which is a subset of MIMIC-IV-ED.
3+
WITH expected AS
4+
(
5+
SELECT 'edstays' AS tbl, 222 AS row_count UNION ALL
6+
SELECT 'diagnosis' AS tbl, 545 AS row_count UNION ALL
7+
SELECT 'medrecon' AS tbl, 2764 AS row_count UNION ALL
8+
SELECT 'pyxis' AS tbl, 1082 AS row_count UNION ALL
9+
SELECT 'triage' AS tbl, 222 AS row_count UNION ALL
10+
SELECT 'vitalsign' AS tbl, 1038 AS row_count
11+
)
12+
, observed as
13+
(
14+
SELECT 'edstays' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.edstays UNION ALL
15+
SELECT 'diagnosis' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.diagnosis UNION ALL
16+
SELECT 'medrecon' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.medrecon UNION ALL
17+
SELECT 'pyxis' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.pyxis UNION ALL
18+
SELECT 'triage' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.triage UNION ALL
19+
SELECT 'vitalsign' AS tbl, COUNT(*) AS row_count FROM mimiciv_ed.vitalsign
20+
)
21+
SELECT
22+
exp.tbl
23+
, exp.row_count AS expected_count
24+
, obs.row_count AS observed_count
25+
, CASE
26+
WHEN exp.row_count = obs.row_count
27+
THEN 'PASSED'
28+
ELSE 'FAILED'
29+
END AS ROW_COUNT_CHECK
30+
FROM expected exp
31+
INNER JOIN observed obs
32+
ON exp.tbl = obs.tbl
33+
ORDER BY exp.tbl
34+
;

0 commit comments

Comments
 (0)