DME — Electronic Medical Record & Decision Dashboard
- Data Science
- Completed
Built an electronic medical record app with a BI dashboard that tracks consultations, emergencies and doctor activity, with filters, custom widgets and PNG/PDF export.
Overview
Electronic medical record (EMR) application with a Business Intelligence dashboard dedicated to consultation analysis.
The interface tracks key indicators — consultation volume, emergencies and average duration — and explores their breakdown by type, their trend over time and each doctor’s activity. Data can be filtered by period and consultation category.
The dashboard also offers predefined views, customisable widget layouts and report export to PNG or PDF. Behind it, a star-schema data warehouse fed by an ETL process structures the medical data for analysis.
Key figures
- source tables
- 22
- source tables
- dimensions
- 9
- dimensions
- fact tables
- 4
- fact tables
- ETL transformations
- 8
- ETL transformations
Technologies
Problem
Electronic medical record data (consultations, prescriptions, lab tests, hospital stays) sits in an operational database that is not designed for analysis, so clinical activity is hard to monitor.
Solution
An Angular 16 dashboard (Bootstrap, Chart.js, Gridster) connected to REST API endpoints displays KPIs and interactive charts; upstream, an OLTP source database feeds a star-schema data warehouse through an ETL process, also used by Power BI dashboards.
My contribution
Built the interactive dashboard: KPIs and Chart.js charts, period and category filters, customisable widgets and predefined views, PNG/PDF export, and the connection of the Angular interface to the REST API endpoints.
Features
- Key indicators: consultation volume, emergencies and average consultation duration
- Charts by consultation type, over time and per doctor
- Filters by period and consultation category
- Predefined views and customisable widget layout (drag & drop with Gridster)
- Report export to PNG or PDF
- Star-schema data warehouse (9 dimensions, 4 fact tables) fed by an 8-step ETL process
