iamjeshurun.com
LinkedIn Résumé
Campus health dashboard demo, labelled as synthetic: monthly columns of dots, one per synthetic appointment record, from 2019 to 2025.

03 · Data · Public health

SHS Campus Health Dashboard

Turns years of inconsistent clinic spreadsheet exports into privacy-safe reporting. The public version runs entirely on synthetic data.

Synthetic public demo. No real patient records are included or described.

01Problem

During my Stetson Health Services internship, clinic reporting depended on raw multi-year Excel exports. The years did not share a schema: dates, diagnosis fields and demographic headers all changed.

02What I built

I worked with clinic staff to define what privacy-conscious reporting should show. I then built a pandas pipeline that normalizes every export into one model, plus a self-contained dashboard. Clinic staff used it to review data that had only been available as raw spreadsheet exports. The public repository rebuilds the whole thing from deterministic synthetic inputs.

Campus health dashboard demo: heatmap of synthetic appointments by weekday and hour.
Campus health dashboard demo: completed, canceled and no-show shares of synthetic appointments by year.

03Data flow

  1. Excel exports (synthetic in public)
  2. Normalize, drop PII fields
  3. Aggregate, suppress counts under 5
  4. Privacy and schema checks
  5. Standalone HTML

04Decisions

One canonical model

The pipeline handles mixed date formats, diagnosis codes vs. free text, and “Gender Identity” vs. “Gender” headers explicitly, rather than assuming every year has the same columns.

Suppression you cannot reverse

Cells under five are published as zero, so a reader cannot tell a true zero from a suppressed small count. As a result, displayed subtotals may not add up to the overall total.

05Validation

  • Clinic staff used the internal dashboard to review data that previously existed only as raw exports.
  • Tests fail the build if the privacy threshold or output contract regresses.
  • CI rebuilds the synthetic data and dashboard and checks the published page is byte-for-byte reproducible. The Pages artifact contains only the generated page and its font license.

06Limits

The dashboard is descriptive. It does not establish prevalence, causes or staffing needs. Records include canceled and no-show bookings from 2023 onward. Earlier exports have no status field, so those years cannot be split into kept and missed appointments.

Clinic workBuilt on institution exports in a controlled local workspace. Nothing from it is public.
Public demoEvery number is generated by a seeded synthetic model of a generic academic calendar.

07Links

Next projectPortfolio Risk Analytics