Power BI page: Executive Overview ·
Data view: vw_admission_overview ·
Verified against data/databricks_output/exports/vw_admission_overview.csv
The Hospital Overview page is the executive entry point to the MIMIC Analytics dashboard. It provides a hospital-wide snapshot of patient admissions, length of stay, readmissions, mortality, and demographic breakdowns — all from a single Gold-layer SQL view connected via Databricks SQL Warehouse.
Five headline metrics across the top of the page. All values recomputed from the CSV export — exact match with the live dashboard.
| Card | Value | Verified | DAX |
|---|---|---|---|
| Total Patients | 100 | 100 | DISTINCTCOUNT(patient_id) |
| Total Admissions | 275 | 275 | DISTINCTCOUNT(admission_id) |
| Average LOS | 6.88 days | 6.88 | AVERAGE(length_of_stay_days) |
| Readmission Rate | 19.3% | 53 / 275 | DIVIDE([30-Day Readmissions], [Total Admissions], 0) |
| In-Hospital Deaths | 15 | 15 | CALCULATE(..., died_in_hospital = TRUE()) |
Derived: 2.75 admissions per patient (median 1, max 20 for one patient). Top 5 patients account for 65 admissions (23.6%).
Three slicers on the left panel cross-filter all KPI cards and charts:
| Slicer | Values |
|---|---|
age_group | 18-34 · 35-49 · 50-64 · 65-79 · 80+ |
admission_type | AMBULATORY OBSERVATION · DIRECT EMER. · DIRECT OBSERVATION · ELECTIVE · EU OBSERVATION · EW EMER. · OBSERVATION ADMIT · SURGICAL SAME DAY ADMISSION · URGENT |
gender | F · M |
| Admission Type | Admissions | Share |
|---|---|---|
| EW EMER. | 104 | 37.8% |
| OBSERVATION ADMIT | 45 | 16.4% |
| URGENT | 38 | 13.8% |
| EU OBSERVATION | 30 | 10.9% |
| SURGICAL SAME DAY ADMISSION | 18 | 6.5% |
| DIRECT EMER. | 15 | 5.5% |
| ELECTIVE | 13 | 4.7% |
| DIRECT OBSERVATION | 7 | 2.5% |
| AMBULATORY OBSERVATION | 5 | 1.8% |
| Age Group | Patients | Share |
|---|---|---|
| 50–64 | 34 | 34% |
| 65–79 | 28 | 28% |
| 80+ | 16 | 16% |
| 35–49 | 15 | 15% |
| 18–34 | 7 | 7% |
| Year | Admissions | Note |
|---|---|---|
| 2148 | 13 | Peak year |
| 2147 | 12 | Second highest |
| 2137 / 2136 | 9 each | |
| 2117 | 8 |
| Insurance | Admissions | Share |
|---|---|---|
| OTHER | 149 | 54.18% |
| MEDICARE | 104 | 37.82% |
| MEDICAID | 22 | 8.00% |
| Admission Type | Avg LOS |
|---|---|
| URGENT | 9.9 days |
| DIRECT EMER. | 9.4 days |
| ELECTIVE / OBSERVATION ADMIT | 8.2 days |
| EW EMER. | 7.3 days |
| SURGICAL SAME DAY ADMISSION | 5.7 days |
| DIRECT OBSERVATION | 1.4 days |
| AMBULATORY OBSERVATION | 1.0 day |
| EU OBSERVATION | 0.9 days |
| Admission Type | Readmissions | Type Rate |
|---|---|---|
| EW EMER. | 25 | 24.0% |
| OBSERVATION ADMIT | 9 | 20.0% |
| URGENT | 6 | 15.8% |
| DIRECT EMER. | 5 | 33.3% |
| AMBULATORY OBSERVATION | 0 | 0.0% |
| Admission Type | Deaths |
|---|---|
| EW EMER. | 6 |
| URGENT | 5 |
| OBSERVATION ADMIT | 3 |
| DIRECT EMER. | 1 |
| Location | Admissions | Share |
|---|---|---|
| HOME HEALTH CARE | 76 | 27.6% |
| HOME | 72 | 26.2% |
| SKILLED NURSING FACILITY | 36 | 13.1% |
| DIED | 15 | 5.5% |
| REHAB | 13 | 4.7% |
| HOSPICE | 5 | 1.8% |
| Patient ID | Admissions |
|---|---|
| 10014354 | 20 |
| 10015860 | 13 |
| 10002930 | 12 |
| 10040025 / 10039708 | 10 each |
Top 5 patients = 65 admissions (23.6%) of all volume.
Six measures on this page. Full reference: powerbi/mimic_powerbi_dax_measures.md
Total Patients = DISTINCTCOUNT(vw_admission_overview[patient_id])
Total Admissions = DISTINCTCOUNT(vw_admission_overview[admission_id])
Average LOS = AVERAGE(vw_admission_overview[length_of_stay_days])
In-Hospital Deaths =
CALCULATE(DISTINCTCOUNT(vw_admission_overview[admission_id]),
vw_admission_overview[died_in_hospital] = TRUE())
30-Day Readmissions =
CALCULATE(DISTINCTCOUNT(vw_admission_overview[admission_id]),
vw_admission_overview[is_30_day_readmission] = TRUE())
Readmission Rate = DIVIDE([30-Day Readmissions], [Total Admissions], 0)
import pandas as pd
df = pd.read_csv("data/databricks_output/exports/vw_admission_overview.csv")
assert df["patient_id"].nunique() == 100
assert df["admission_id"].nunique() == 275
assert round(df["length_of_stay_days"].mean(), 2) == 6.88
assert df.loc[df["died_in_hospital"], "admission_id"].nunique() == 15
assert df.loc[df["is_30_day_readmission"], "admission_id"].nunique() == 53
Output: data/databricks_output/exports/admission_analysis.json