{"id":54,"date":"2026-09-30T07:06:47","date_gmt":"2026-09-30T07:06:47","guid":{"rendered":"https:\/\/www.datascientist.ca\/blog\/?p=54"},"modified":"2026-10-01T03:22:27","modified_gmt":"2026-10-01T03:22:27","slug":"power-bi-tutorial-canadian-healthcare-priority-procedure-wait-times-dashboard","status":"publish","type":"post","link":"https:\/\/www.datascientist.ca\/blog\/power-bi-tutorial-canadian-healthcare-priority-procedure-wait-times-dashboard\/","title":{"rendered":"Power BI Tutorial: Canadian Healthcare Priority Procedure Wait Times Dashboard"},"content":{"rendered":"\n<iframe loading=\"lazy\" title=\"Tutorial Canadian Health Care Waittimes2\" width=\"600\" height=\"373.5\" src=\"https:\/\/app.powerbi.com\/view?r=eyJrIjoiMjdhNGM1OTktOWE0MC00NTBjLWJlZDAtODk4YTQ0YjMyOTQ1IiwidCI6IjRhNjk1YWI3LWViNzktNDViZS05NTg2LWQ4NTA4ODUwYTY1NSJ9\" frameborder=\"0\" allowFullScreen=\"true\"><\/iframe>\n\n\n\n<p class=\"wp-block-paragraph\">Case Study: Canadian Healthcare Priority Procedure Wait Times Dashboard<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Power BI Tutorial: Canadian Healthcare Priority Procedure Wait Times Dashboard\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/jV__acnLqSc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Case study overview: why wait times matter<br>This Power BI healthcare dashboard turns Canadian priority procedure wait time data from CIHI (the Canadian Institute for Health Information) into one interactive view that shows where patients wait longest, and where care meets national benchmarks.<br><strong>The business problem.<\/strong> CIHI publishes wait time data as large, multi-year tables spread across procedures, provinces and health regions. Analysts, hospital planners and policy teams cannot easily see from raw tables whether wait times are improving, which provinces fall behind, or how the longest waits compare with the typical patient experience.<br><strong>The solution.<\/strong> A single Power BI report that answers four questions:<br>Are provinces meeting the national benchmark for each procedure?<br>How have median and 90th percentile waits changed since 2008?<br>Which provinces and regions perform best and worst?<br>How do procedure volumes relate to wait times?<br><strong>Who it is for.<\/strong> Healthcare analysts, hospital and health authority managers, policy researchers, journalists, and anyone learning Power BI who wants a real healthcare analytics project for a portfolio.<br>The data: CIHI priority procedure wait times<br>The dataset comes from <a href=\"https:\/\/www.cihi.ca\/en\/explore-wait-times-for-priority-procedures-across-canada\" target=\"_blank\" rel=\"noopener\">CIHI&#8217;s wait times for priority procedures<\/a>, which tracks procedures in the five priority areas set by Canada&#8217;s first ministers: joint replacement, sight restoration, cancer treatment, cardiac care and diagnostic imaging. The downloadable data tables cover national, provincial and regional results from 2008 onward, using the April 1 to September 30 reporting period.<br><strong>Metrics in the model<\/strong><br>Median (50th percentile) wait: half of patients waited this many days or fewer<br>90th percentile wait: one in ten patients waited this long or longer<br>Procedure volume<br>Percentage of patients treated within the benchmark<br><strong>Procedures and benchmarks<\/strong><br><br><br><br>Procedure<br>Benchmark<br>Regional data<br>Hip replacement<br>182 days (26 weeks)<br>Yes<br>Knee replacement<br>182 days (26 weeks)<br>Yes<br>Cataract surgery<br>112 days (16 weeks)<br>No<br>Radiation therapy<br>28 days<br>No<br>Hip fracture repair<br>48 hours<br>No<br>Provinces report their own data, so definitions differ slightly. CIHI documents these differences in an exceptions table, and the dashboard notes them so comparisons stay fair. Sources: <a href=\"https:\/\/www.cihi.ca\/en\/wait-time-metadata\" target=\"_blank\" rel=\"noopener\">CIHI wait time metadata<\/a>, <a href=\"https:\/\/www.cihi.ca\/en\/indicators\/wait-times-for-cataract-surgery-percentiles\" target=\"_blank\" rel=\"noopener\">cataract percentile indicator<\/a> and <a href=\"https:\/\/www.cihi.ca\/en\/indicators\/joint-replacement-wait-times\" target=\"_blank\" rel=\"noopener\">joint replacement indicator<\/a>.<br>Approach: the Power BI workflow<br>The project follows the same path a consulting engagement would, from raw files to a published report.<br><strong>Import.<\/strong> Load the CIHI data tables into Power BI Desktop with Power Query.<br><strong>Clean and transform.<\/strong> Unpivot period columns, standardize province and procedure names, convert wait times to numeric days, and remove footnote rows and suppressed values.<br><strong>Model.<\/strong> Build a star schema: one fact table of wait time results, plus dimension tables for Procedure, Province, Health Region and Year. A small benchmark table stores each procedure&#8217;s target in days.<br><strong>Measure.<\/strong> Write DAX measures for median, 90th percentile, percent within benchmark, year-over-year change and rankings.<br><strong>Design.<\/strong> Create report pages with slicers for procedure, province and year, then apply a consistent healthcare theme.<br><strong>Publish and embed.<\/strong> Publish to the Power BI service and embed the report in the web page with its publish-to-web link or an authorized embed, depending on the sensitivity of your data.<br>CIHI data is public and aggregated, so no patient-level information is involved.<br>Dashboard walkthrough<br>Each page answers one question, so viewers can move from the national picture to a single region.<br><br><br><br>Page<br>Question answered<br>Main visuals<br>Benchmark analysis<br>Who meets the national target?<br>KPI cards, % within benchmark by province, benchmark gap bars<br>Percentile trends<br>Are waits getting shorter or longer?<br>Median and 90th percentile lines, 2008 to latest year<br>Provincial comparison<br>Which provinces lead and lag?<br>Ranked bars, matrix with conditional formatting, filled map<br>Regional insights<br>Where inside a province are waits longest?<br>Health region table and map for hip and knee replacement<br><strong>Design choices that help readers<\/strong><br>Median and 90th percentile sit side by side, because the typical patient and the longest-waiting patients can tell different stories.<br>Colour signals the benchmark: one colour for results within target, another for results above it.<br>Slicers are synced across pages so a selected procedure and province carry through.<br>Tooltips add volume and year-over-year change without cluttering the page.<br>Key DAX measures<br>Three measures do most of the work. Table and column names below are examples, so match them to your own model.<br><strong>Percent within benchmark<\/strong><br><code>% Within Benchmark = DIVIDE( SUM ( WaitTimes[Patients Within Benchmark] ), SUM ( WaitTimes[Total Procedures] ) )<\/code><br><strong>Year-over-year change in median wait (days)<\/strong><br><code>Median Wait YoY = VAR CurrentWait = [Median Wait Days] VAR PriorWait = CALCULATE ( [Median Wait Days], DATEADD ( 'Year'[Date], -1, YEAR ) ) RETURN CurrentWait - PriorWait<\/code><br><strong>Benchmark gap for the 90th percentile<\/strong><br><code>90th Pct Gap to Benchmark = VAR Target = MAX ( Benchmarks[Benchmark Days] ) RETURN [P90 Wait Days] - Target<\/code><br>A positive gap means the longest-waiting 10% of patients wait beyond the benchmark. CIHI publishes percentiles directly, so the model reads them as values rather than recalculating them from patient-level records. For national totals, weight provincial results by volume instead of averaging them.<br>Key findings<br>Urgent procedures recover faster than elective ones. In its <a href=\"https:\/\/www.cihi.ca\/en\/wait-times-in-canada-2026\" target=\"_blank\" rel=\"noopener\">June 2026 release<\/a>, CIHI reported that joint replacement waits are approaching pre-pandemic levels, while cataract surgery and urgent treatments such as hip fracture repair and radiation therapy have largely returned to pre-pandemic levels. CIHI&#8217;s <a href=\"https:\/\/www.cihi.ca\/en\/indicators\/joint-replacement-wait-times\" target=\"_blank\" rel=\"noopener\">joint replacement indicator<\/a> shows 65% of hip and knee replacements done within the 6-month target in 2025, which means roughly one in three patients waited longer.<br><strong>What the dashboard lets viewers see for themselves<\/strong><br><strong>Benchmark performance varies by procedure.<\/strong> Radiation therapy and hip fracture repair typically perform far better against their targets than hip and knee replacement or cataract surgery. <em>[Add your dashboard&#8217;s national % within benchmark for each procedure.]<\/em><br><strong>The 90th percentile tells a harsher story than the median.<\/strong> A province can have a reasonable median while its longest waits stay well above the benchmark. <em>[Add one example province and its median versus 90th percentile.]<\/em><br><strong>Provincial gaps are large.<\/strong> <em>[Name the best and worst province for knee replacement and the difference in percentage points.]<\/em><br><strong>Regional variation hides inside provincial averages.<\/strong> <em>[Name one health region that sits far from its province&#8217;s average for hip or knee replacement.]<\/em><br><strong>Pandemic effects are visible in the trend lines.<\/strong> <em>[Describe the change in the latest year versus 2019 for your selected procedure.]<\/em><br>Replace each bracketed prompt with the figure shown in your embedded dashboard before publishing.<br>Business value and lessons learned<br><strong>Value for healthcare teams<\/strong><br>Replaces manual spreadsheet comparisons with one self-service view.<br>Helps planners decide where to focus capacity, by showing the procedures and provinces furthest from benchmark.<br>Gives journalists and researchers a defensible, sourced view of wait times.<br><strong>Lessons for Power BI builders<\/strong><br>Spend the most time on data preparation. Inconsistent labels and suppressed values cause more problems than visuals do.<br>Store benchmarks in their own table so targets can change without editing measures.<br>Show percentiles and medians together, since either alone can mislead.<br>Document provincial reporting differences on the page, so viewers do not over-read small gaps.<br><strong>Limitations.<\/strong> CIHI data is aggregated and reflects provincial reporting rules, so it cannot explain why a wait is long. It also does not capture patients who chose to wait for a specific surgeon.<br>Frequently asked questions<br><strong>What is a priority procedure in Canadian healthcare?<\/strong> A priority procedure is a service in one of five areas first ministers agreed to monitor: joint replacement, sight restoration, cancer treatment, cardiac care and diagnostic imaging.<br><strong>What is the 90th percentile wait time?<\/strong> It is the number of days that one in ten patients waited or longer. It shows how long the longest waits are, which the median hides.<br><strong>What are the wait time benchmarks for hip and knee replacement?<\/strong> The benchmark is 182 days (26 weeks). Cataract surgery uses 112 days (16 weeks).<br><strong>Where can I get the CIHI wait time data?<\/strong> Download the historical tables from CIHI&#8217;s wait times tool, or use the project files linked below.<br><strong>Can I build this dashboard in Power BI Desktop for free?<\/strong> Yes. Power BI Desktop is free to build and test reports. Publishing and sharing through the Power BI service depends on your licence.<br>Try it yourself<br>Explore the embedded dashboard above, then follow the full video tutorial to build it step by step. Download the <a href=\"https:\/\/drive.google.com\/drive\/folders\/12RK03-txqfudyeAJ3w7y_CUYhRWiUKSy?usp=sharing\" target=\"_blank\" rel=\"noopener\">data and project file<\/a> to practise with the same CIHI dataset. Need a healthcare dashboard for your organization? Contact datascientist.ca.<br>Sources<br><a href=\"https:\/\/www.cihi.ca\/en\/wait-times-in-canada-2026\" target=\"_blank\" rel=\"noopener\">Wait times in Canada, 2026 (CIHI)<\/a><br><a href=\"https:\/\/www.cihi.ca\/en\/explore-wait-times-for-priority-procedures-across-canada\" target=\"_blank\" rel=\"noopener\">Explore wait times for priority procedures across Canada (CIHI)<\/a><br><a href=\"https:\/\/www.cihi.ca\/en\/wait-time-metadata\" target=\"_blank\" rel=\"noopener\">Wait time metadata (CIHI)<\/a><br><a href=\"https:\/\/www.cihi.ca\/en\/indicators\/wait-times-for-cataract-surgery-percentiles\" target=\"_blank\" rel=\"noopener\">Wait times for cataract surgery, percentiles (CIHI)<\/a><br><a href=\"https:\/\/www.cihi.ca\/en\/indicators\/joint-replacement-wait-times\" target=\"_blank\" rel=\"noopener\">Joint replacement wait times (CIHI)<\/a><br>Benchmark figures reflect CIHI publications retrieved September 30, 202<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Sep 30, 2026 \u00b7 @kale Video Link<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Case Study: Canadian Healthcare Priority Procedure Wait Times Dashboard Case study overview: why wait times matterThis Power BI healthcare dashboard [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[10,8,5,9],"class_list":["post-54","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-canadian-healthcare","tag-dashboard-tutorial","tag-healthcare-analytics","tag-power-bi"],"_links":{"self":[{"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/posts\/54","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/comments?post=54"}],"version-history":[{"count":3,"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/posts\/54\/revisions"}],"predecessor-version":[{"id":60,"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/posts\/54\/revisions\/60"}],"wp:attachment":[{"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/media?parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/categories?post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.datascientist.ca\/blog\/wp-json\/wp\/v2\/tags?post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}