← Back to work
Data & Analytics

Canadian Mental Health Data Analytics Platform

From raw StatCan and CIHI survey files to a live dashboard — population-level mental health trends across Canada, end to end

Team Samir

Project collaborators

Rebal

Data analyst

  • • Data quality & validation — contributed to cleaning and validating the CIHI children and youth mental-health data for downstream analysis
  • • Data workflow — helped structure and review the workflow from raw-data preparation through cleaned, analysis-ready datasets
  • • Analysis presentation — supported the presentation and communication of analytical findings, helping turn processed data into clear and understandable insights
Canadian Mental Health Data Analytics Platform screenshot

Business question

How are population-level mental health trends shifting across Canada, and where should public-health attention focus?

Executive summary

A team data-analytics project that turned three government mental-health datasets into a live, explorable dashboard with SQL analysis and a deployed prediction API.

Key findings

  • Provincial mental-health burden varies sharply across Canada

    Why it matters: Regional comparisons help focus public-health attention where indicators diverge most

  • Youth crisis indicators (ED visits and hospitalizations) show distinct trends from overall population measures

    Why it matters: Children's mental-health pressure may require different policy responses than adult trends

Impact

Potential

Supports faster exploration of public mental-health trends; formal measured outcomes depend on stakeholder adoption.

How this approach can help a business

Organizations reviewing public-health trends can explore provincial and demographic patterns without relying on static reports — with associational framing and clear caveats built in.

What I did: Cleaned StatCan and CIHI exports, built a 27-question SQL layer, shipped a Next.js dashboard, and deployed a FastAPI live prediction service.

Python · Pandas · SQL · scikit-learn · Next.js · TypeScript

Data sources

Source Provider Notes
Canadian Community Health Survey (CCHS) Statistics Canada Population-level survey data; associational only
Hospital and emergency-department records CIHI Administrative data coverage varies by region
MHACS public-use microdata Statistics Canada Requires survey weights and codebook handling

Limitations

  • Insights are associational, not causal, and framed at the population level
  • Suicide-related figures include Canada's 9-8-8 crisis helpline context
  • No individual risk-scoring — population-level analysis only

Overview

A team data-analytics project analyzing population-level mental health trends across Canada, built with project collaborator Rebal and from three real government sources: Statistics Canada's Canadian Community Health Survey (CCHS), CIHI hospital and emergency-department records, and StatCan's public-use microdata file (MHACS).

The goal was to go beyond a static report and ship something people could explore — a live dashboard, not just charts in a notebook.

Key features

  • Data pipeline — cleaned and profiled 8 raw StatCan and CIHI exports in Python
  • SQL analysis layer — 27 business questions against SQLite using CTEs and window functions
  • MHACS microdata track — worked directly with survey weights and government codebooks
  • Interactive dashboard — provincial choropleth map, demographic breakdowns, youth-crisis monitor, and executive insights view
  • Live Feed — FastAPI service on Railway pulling fresh values from StatCan's public API and running them through a trained trend-direction model (~76% held-out accuracy)
  • Responsible framing — associational (not causal) insights at the population level, with crisis helpline context where appropriate

Technical focus

End-to-end ownership across the pipeline: Python data cleaning and profiling, SQL analytics, Next.js/TypeScript frontend with Recharts and a hand-rolled choropleth map, and a separately deployed FastAPI microservice for live ML predictions. Deployed on Vercel (frontend) and Railway (model service).

Because the subject matter is sensitive, every insight is written to be associational rather than causal, framed at the population level (never individual risk-scoring), and any suicide-related figure is paired with Canada's 9-8-8 crisis helpline.

Status

Live and publicly accessible at data-analyst-mental-health-project.vercel.app.

Gallery

Canadian Mental Health Data Analytics Platform screenshot
Canadian Mental Health Data Analytics Platform screenshot
Canadian Mental Health Data Analytics Platform screenshot
Canadian Mental Health Data Analytics Platform screenshot
Canadian Mental Health Data Analytics Platform screenshot
Canadian Mental Health Data Analytics Platform screenshot