Analyze Hospital Readmission Penalties
Use SQL and Tableau to analyze real CMS hospital readmission penalty data.
Introduction
30 Second Summary
When a patient leaves a hospital and ends up back within 30 days, it signals something went wrong in their care. The U.S. government tracks this pattern and penalizes hospitals financially, cutting their Medicare payments by up to 3%.
In this project, you will step into the role of a healthcare business analyst investigating why hospitals are losing revenue to readmission penalties. Using real government data, SQL queries, and Tableau dashboards, you'll produce a portfolio-ready case study with data-backed recommendations.
What You'll Build
You will analyze real CMS Hospital Readmissions Reduction Program data using SQLite, visualize penalty patterns in Tableau, and document your findings in a structured BA case study.
By the end of this project, you'll have:
- A SQLite database with imported CMS readmission data and analytical queries identifying penalty patterns by condition and state.
- A published Tableau dashboard on your Tableau Public profile visualizing readmission performance across 3,000+ hospitals.
- A BA case study document with a problem statement, stakeholder map, KPIs, As-Is/To-Be process maps, and data-backed recommendations.
- Secret Mission: Enrich your analysis by joining hospital characteristics data to uncover patterns by ownership type.
Are there any prerequisites?
No prior experience with SQL, Tableau, or healthcare data is required. This guide includes setup instructions for all tools you'll need.
Set Up Your Tools and Data
To analyze real hospital readmission data, you need three things: a database tool to run SQL queries, a visualization tool to build dashboards, and the actual government dataset to work with.
In this step, you will install DB Browser for SQLite and Tableau Desktop Public Edition on your Mac, then download the CMS hospital readmissions dataset.
In this step, get ready to:
- Install DB Browser for SQLite using Homebrew.
- Install Tableau Desktop Public Edition.
- Download and extract the CMS hospital readmissions dataset.
Install DB Browser for SQLite
DB Browser for SQLite is a visual tool for creating and querying SQLite databases. You will install it using Homebrew, a package manager for macOS.
- Press Cmd+Space to open Spotlight.
- Type Terminal and press Enter to open it.
- Check if Homebrew is installed by running this command:
brew --version
✔️ I see a version number
Homebrew is ready to go. Move on to the next instruction below.
ⓧ Command not found
You need to install Homebrew first. It is a one-time setup that takes about a minute.
- Install Homebrew by running this command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
What does this command do?
This downloads and runs the official Homebrew installer script. It will show you exactly what it plans to do and ask you to confirm before making any changes.
- Press Enter when prompted to confirm the installation.
- Enter your Mac password if asked. You will not see characters appear as you type. This is normal.
- Wait for the installation to complete. This may take a few minutes.
Seeing an Xcode Command Line Tools prompt?
Homebrew requires Xcode Command Line Tools. If a pop-up appears asking to install them, click Install and wait for it to finish before continuing.
Help me troubleshoot my Homebrew installation
- After installation completes, run brew --version again to confirm Homebrew is working.
- Install DB Browser for SQLite by running this command:
brew install db-browser-for-sqlite
What does this command do?
This tells Homebrew to download and install the DB Browser for SQLite application. Homebrew handles all the dependencies and places the app where macOS can find it.
- Wait for the installation to finish. You will see progress output in Terminal.
- Open the app by pressing Cmd+Space, typing DB Browser, and pressing Enter.
You should see the DB Browser for SQLite window open with options to create or open a database.
DB Browser not appearing in Spotlight?
Homebrew may need a moment to register the app with macOS. Try typing the full name DB Browser for SQLite in Spotlight. If it still does not appear, open Finder, navigate to /Applications, and look for the app there.
Help me find DB Browser for SQLite on my Mac
Download and install Tableau Desktop Public Edition
Tableau Desktop Public Edition is a free data visualization tool that lets you build interactive dashboards and publish them to your Tableau Public profile.
- Open your web browser and go to https://public.tableau.com.
- Click DOWNLOAD THE APP on the page.
- Fill out the registration form with your name and email address.
- Click DOWNLOAD THE APP on the form to start the download.
- Once the download completes, open the .dmg file from your Downloads folder.
- Double-click the .pkg installer inside the disk image.
- Follow the installer prompts and click Continue through each screen until installation finishes.
Do I need to activate Tableau?
No. Tableau Desktop Public Edition does not require activation. It is genuinely free with no trial period or expiration. Once installed, it is ready to use immediately.
- Open Tableau by pressing Cmd+Space, typing Tableau, and pressing Enter.
You should see the Tableau start screen with options to connect to data sources.
Tableau installer blocked by macOS?
If macOS shows a security warning, open System Settings. Select Privacy & Security. Scroll down and click Open Anyway next to the Tableau message.
Help me fix my Tableau installation on macOS
Download the CMS hospital readmissions dataset
The CMS Hospital Readmissions Reduction Program publishes real performance data for over 3,000 hospitals. You will download this dataset to analyze in the next steps.
- In your web browser, go to https://data.cms.gov/provider-data/topics/hospitals.
- Click Download all datasets on the page. This downloads a ZIP file (approximately 14 MB).
- Open your Downloads folder in Finder.
- Double-click the downloaded ZIP file to extract it.
- Inside the extracted folder, locate the file named FY_2026_Hospital_Readmissions_Reduction_Program_Hospital.csv.
What is this file?
This CSV contains readmission data for every hospital measured under the CMS Hospital Readmissions Reduction Program. Each row represents one hospital's performance on one of six conditions (AMI, Heart Failure, COPD, Pneumonia, CABG, and THA/TKA).
The key column is Excess Readmission Ratio. A value above 1.0 means the hospital readmits more patients than expected compared to peer hospitals.
- Also confirm you can find Hospital_General_Information.csv in the same extracted folder. You will use this file later in the Secret Mission.
Can't find the CSV files?
The ZIP contains many CSV files. Use Finder's search bar (Cmd+F) within the extracted folder and search for Readmissions_Reduction to locate the HRRP file quickly.
Help me find the CMS readmissions CSV file
Your tools are installed and your data is ready. Next up, you will define the business problem that frames your entire analysis.
Define the Business Problem
Your tools are installed and your data is ready. Now it's time to think like a business analyst before touching any data.
A BA never starts with queries. They start by framing the problem, identifying who cares about the answer, and defining how success will be measured. In this step, you'll create your case study document and lay that analytical foundation.
In this step, get ready to:
- Create a BA case study document with a clear problem statement.
- Map stakeholders and define the primary KPI for measuring readmission performance.
- Set up placeholder sections for findings you'll complete after your data analysis.
Create your BA case study document
Every BA engagement starts with a structured document that captures the problem, the people affected, and the metrics that define success. You'll build this document section by section throughout the project.
- Open Google Docs in your browser (docs.google.com).
- Click Blank document to create a new document.
- Click on the title area at the top and type Hospital Readmission Penalty Analysis - BA Case Study as the document title.
Now write your problem statement. This is the opening section that explains what problem you've been hired to investigate.
- Type a heading called Problem Statement.
- Below the heading, write 2-3 sentences explaining the business problem. Include these key facts:
- The CMS Hospital Readmissions Reduction Program (HRRP) penalizes hospitals with excess 30-day unplanned readmissions.
- Hospitals face up to 3% Medicare payment reductions (a payment adjustment factor of 0.97).
- The program measures six conditions: AMI (heart attack), Heart Failure, COPD, Pneumonia, CABG (coronary artery bypass graft surgery), and THA/TKA (hip/knee replacement).
- The FY 2026 performance period covers discharges from July 1, 2021 to June 30, 2024.
What is the Hospital Readmissions Reduction Program?
The HRRP is a Medicare value-based program that started in FY 2013. It reduces payments to hospitals that have higher-than-expected readmission rates compared to peer hospitals.
A "readmission" means a patient returns to any hospital within 30 days of being discharged. The program compares each hospital's actual readmission rate against what would be expected given their patient population.
Map stakeholders and define your primary KPI
A stakeholder map identifies who is affected by the problem and how much influence they have over solutions. This tells you who to interview, who approves changes, and who implements them.
- Below your problem statement, type a heading called Stakeholder Map.
- Add the following five stakeholders, along with their interest and influence level:
- Chief Medical Officer (CMO) - High interest, high influence. Owns clinical quality outcomes and readmission reduction initiatives.
- Chief Financial Officer (CFO) - High interest, high influence. Directly impacted by the revenue loss from Medicare payment penalties.
- Director of Care Coordination - High interest, medium influence. Manages discharge planning and post-discharge follow-up processes.
- Nursing Leadership - Medium interest, medium influence. Frontline staff who execute discharge instructions and patient education.
- Quality Improvement Team - High interest, low influence. Tracks metrics and identifies improvement opportunities but does not control clinical decisions.
Why map interest and influence separately?
A stakeholder with high interest but low influence (like the Quality Improvement Team) needs to be kept informed. A stakeholder with high influence (like the CFO) needs to approve changes. Mapping both dimensions tells you how to engage each person differently.
Now define the KPI that your analysis will focus on.
- Below the stakeholder map, type a heading called Key Performance Indicator (KPI).
- Write that the primary metric is the Excess Readmission Ratio (ERR).
- Explain that ERR is the ratio of predicted-to-expected unplanned readmission rates. A value above 1.0 means the hospital readmits more patients than expected compared to peer hospitals.
- Note that any hospital with an ERR above 1.0 for any of the six measured conditions faces a payment penalty.
What does an ERR of 1.05 mean?
An ERR of 1.05 means the hospital's readmission rate is 5% higher than what CMS expects given the hospital's patient mix. An ERR of exactly 1.0 means the hospital performs as expected. Below 1.0 means better than expected.
This ratio is the single number that determines whether a hospital gets penalized. Your SQL analysis in the next step will explore ERR patterns across thousands of hospitals.
Add placeholder sections for your findings
You'll fill these sections with data-backed content after running your SQL analysis and building your dashboard. Adding them now gives your document a complete BA structure from the start.
- Below your KPI section, add three new headings:
- Type As-Is Process as the first heading.
- Type To-Be Process as the second heading.
- Type Recommendations as the third heading.
- Under each heading, type a short note like "To be completed after data analysis" so you remember these are intentional placeholders.
What are As-Is and To-Be process maps?
An As-Is process describes how things work today (the current discharge workflow). A To-Be process describes the improved workflow you're recommending. Placing them side by side lets stakeholders see exactly what changes and why.
Your document should now have five sections: Problem Statement, Stakeholder Map, KPI, As-Is Process, To-Be Process, and Recommendations. The last three are empty placeholders for now.
Document not saving?
Google Docs saves automatically. Look for "All changes saved in Drive" in the menu bar to confirm. If you see "Trying to connect," check your internet connection.
Help me check that my Google Doc is saving correctly.
Your case study document is structured and ready. Next up, you'll open DB Browser for SQLite and start querying real CMS data to uncover which conditions and states drive the highest readmission penalties.
Analyze Readmission Data with SQL
Your BA case study now has a solid framework with a problem statement, stakeholder map, and KPIs defined. Time to put those metrics to work with real data.
In this step, you will import the CMS readmission data into a SQLite database and run SQL queries to uncover which conditions and states drive the highest penalties. These findings become the evidence that backs your recommendations later.
In this step, get ready to:
- Create a SQLite database and import the CMS hospital readmission CSV.
- Write SQL queries analyzing readmission patterns across 3,000+ hospitals.
- Identify which conditions and states contribute most to penalties.
Create a database and import the CMS data
Before you can query the readmission data, you need to load it into a database. DB Browser for SQLite lets you create a database file and import CSV data through its graphical interface.
- Switch back to DB Browser for SQLite.
- Click File in the menu bar.
- Click New Database.
- Name the file hospital_readmissions.db and save it to your Desktop.
- If an Edit Table Definition dialog appears, click Cancel.
What is this database file?
A .db file is a self-contained SQLite database stored on your computer. Unlike cloud databases, it requires no server or network connection. You will query it directly from DB Browser.
- Now import the CSV by clicking File in the menu bar.
- Hover over Import, then click Table from CSV File.
- Navigate to and select FY_2026_Hospital_Readmissions_Reduction_Program_Hospital.csv.
- In the import dialog, change the Table name field to readmissions.
- Leave all other settings at their defaults and click OK.
You should see a confirmation message that the import completed successfully. The Database Structure tab now shows a readmissions table with columns like Facility Name, State, Measure Name, and Excess Readmission Ratio.
Don't see the readmissions table?
Make sure you selected the correct CSV file. The filename starts with FY_2026 and ends with _Hospital.csv. If the import dialog showed an error, confirm the file is not open in another application.
help me import a CSV file into DB Browser for SQLite
Run queries to analyze readmission patterns
With your data loaded, you can now write SQL queries to explore the readmission landscape. You will run each query in the Execute SQL tab of DB Browser.
- Click the Execute SQL tab in DB Browser (the fourth tab across the top).
Why do the queries use CAST and filter empty strings?
The Excess Readmission Ratio column imports as text because the CSV stores it as a character field. Some hospitals have empty values (too few cases to calculate a ratio).
Every query below uses CAST([Excess Readmission Ratio] AS REAL) to convert text to a number, and filters out empty strings with WHERE [Excess Readmission Ratio] != ''.
- Paste the following query into the SQL editor to count how many hospitals report data in each state:
-- Query 1: Count hospitals reporting data by state
SELECT [State], COUNT(DISTINCT [Facility ID]) AS hospital_count
FROM readmissions
WHERE [Excess Readmission Ratio] != ''
GROUP BY [State]
ORDER BY hospital_count DESC;
- Click the Execute SQL button in the toolbar (or press Cmd+Return on macOS).
What does this query do?
This query groups all hospital records by state and counts the distinct facility IDs. It gives you a quick sense of data coverage. States like Texas, California, and Florida typically appear at the top with the most hospitals.
You should see a table of states sorted by hospital count in the Results pane below the editor.
- Clear the editor and paste this next query to calculate the average Excess Readmission Ratio by condition:
-- Query 2: Average Excess Readmission Ratio by condition
SELECT [Measure Name],
ROUND(AVG(CAST([Excess Readmission Ratio] AS REAL)), 4) AS avg_err,
COUNT(*) AS num_hospitals
FROM readmissions
WHERE [Excess Readmission Ratio] != ''
GROUP BY [Measure Name]
ORDER BY avg_err DESC;
- Click Execute SQL to run the query.
What does this query do?
This calculates the national average Excess Readmission Ratio for each of the six conditions (AMI, COPD, CABG, Heart Failure, THA/TKA, Pneumonia). The condition with the highest average ERR is where hospitals struggle the most relative to their peers.
You should see six rows, one per condition, sorted from highest to lowest average ERR. Note which condition tops the list.
- Clear the editor and paste this query to find the top 10 hospitals with the worst Heart Failure readmission ratios:
-- Query 3: Top 10 hospitals with highest ERR for Heart Failure
SELECT [Facility Name], [State], [Excess Readmission Ratio], [Number of Discharges]
FROM readmissions
WHERE [Measure Name] LIKE '%heart failure%'
AND [Excess Readmission Ratio] != ''
ORDER BY CAST([Excess Readmission Ratio] AS REAL) DESC
LIMIT 10;
- Click Execute SQL to run the query.
What does this query do?
This drills into a single condition to identify specific hospitals with the highest penalty exposure. The LIKE '%heart failure%' filter matches the Heart Failure measure name in the dataset. The Number of Discharges column shows patient volume, giving context to the ratio.
You should see 10 hospitals listed with their ERR values above 1.0. These hospitals readmit significantly more patients than expected compared to their peers.
- Clear the editor and paste this query to identify which states have the most hospitals exceeding the penalty threshold:
-- Query 4: States with the most hospitals exceeding the penalty threshold (ERR > 1.0)
SELECT [State], COUNT(DISTINCT [Facility ID]) AS penalized_hospitals
FROM readmissions
WHERE CAST([Excess Readmission Ratio] AS REAL) > 1.0
GROUP BY [State]
ORDER BY penalized_hospitals DESC
LIMIT 15;
- Click Execute SQL to run the query.
What does this query do?
An ERR above 1.0 means the hospital readmits more patients than expected. This query counts how many distinct hospitals in each state cross that threshold for any condition. It reveals geographic concentrations of penalty risk.
You should see 15 states listed with the number of penalized hospitals. States with large hospital systems tend to appear at the top.
Seeing zero results or an error?
Check that column names are wrapped in square brackets (e.g., [Excess Readmission Ratio]). SQLite requires brackets around column names that contain spaces.
Also verify your table is named readmissions exactly. You can check by looking at the Database Structure tab.
help me fix my SQL query in DB Browser for SQLite
Calculate penalty percentages and record findings
Your final query will calculate what percentage of hospitals are penalized for each condition. This is the key metric that will anchor your recommendations.
- Clear the editor and paste this query:
-- Query 5: Percentage of hospitals penalized per condition
SELECT [Measure Name],
COUNT(*) AS total_hospitals,
SUM(CASE WHEN CAST([Excess Readmission Ratio] AS REAL) > 1.0 THEN 1 ELSE 0 END) AS penalized,
ROUND(100.0 * SUM(CASE WHEN CAST([Excess Readmission Ratio] AS REAL) > 1.0 THEN 1 ELSE 0 END) / COUNT(*), 1) AS pct_penalized
FROM readmissions
WHERE [Excess Readmission Ratio] != ''
GROUP BY [Measure Name]
ORDER BY pct_penalized DESC;
- Click Execute SQL to run the query.
What does this query do?
The CASE WHEN expression counts hospitals with ERR above 1.0 as penalized. Dividing by the total gives you a percentage for each condition.
This tells you which condition triggers penalties for the highest proportion of hospitals nationally. A condition where 60% of hospitals are penalized is a systemic issue, not an outlier problem.
You should see six rows showing the percentage of hospitals penalized per condition. The condition at the top is where the healthcare system struggles most broadly.
- Record your key findings by noting the following from your query results:
- Which condition has the highest average ERR (from Query 2).
- Which condition has the highest percentage of hospitals penalized (from Query 5).
- Which states have the most penalized hospitals (from Query 4).
- The approximate ERR values for the worst-performing hospitals (from Query 3).
Keep your numbers handy
Write these findings in a note or at the bottom of your Google Doc. You will reference specific numbers from these queries when writing your recommendations in Step 5.
✔️ Awesome, I've got everything!
Great. Make sure you have noted the key findings from your queries before moving on.
ⓧ I'd like to double check the full code
Here are all five queries together. You can paste these into the Execute SQL tab to re-run them all at once.
-- Query 1: Count hospitals reporting data by state
SELECT [State], COUNT(DISTINCT [Facility ID]) AS hospital_count
FROM readmissions
WHERE [Excess Readmission Ratio] != ''
GROUP BY [State]
ORDER BY hospital_count DESC;
-- Query 2: Average Excess Readmission Ratio by condition
SELECT [Measure Name],
ROUND(AVG(CAST([Excess Readmission Ratio] AS REAL)), 4) AS avg_err,
COUNT(*) AS num_hospitals
FROM readmissions
WHERE [Excess Readmission Ratio] != ''
GROUP BY [Measure Name]
ORDER BY avg_err DESC;
-- Query 3: Top 10 hospitals with highest ERR for Heart Failure
SELECT [Facility Name], [State], [Excess Readmission Ratio], [Number of Discharges]
FROM readmissions
WHERE [Measure Name] LIKE '%heart failure%'
AND [Excess Readmission Ratio] != ''
ORDER BY CAST([Excess Readmission Ratio] AS REAL) DESC
LIMIT 10;
-- Query 4: States with the most hospitals exceeding the penalty threshold (ERR > 1.0)
SELECT [State], COUNT(DISTINCT [Facility ID]) AS penalized_hospitals
FROM readmissions
WHERE CAST([Excess Readmission Ratio] AS REAL) > 1.0
GROUP BY [State]
ORDER BY penalized_hospitals DESC
LIMIT 15;
-- Query 5: Percentage of hospitals penalized per condition
SELECT [Measure Name],
COUNT(*) AS total_hospitals,
SUM(CASE WHEN CAST([Excess Readmission Ratio] AS REAL) > 1.0 THEN 1 ELSE 0 END) AS penalized,
ROUND(100.0 * SUM(CASE WHEN CAST([Excess Readmission Ratio] AS REAL) > 1.0 THEN 1 ELSE 0 END) / COUNT(*), 1) AS pct_penalized
FROM readmissions
WHERE [Excess Readmission Ratio] != ''
GROUP BY [Measure Name]
ORDER BY pct_penalized DESC;
You now have concrete data behind your case study. Next up, you will turn these numbers into a visual dashboard in Tableau that makes the patterns obvious at a glance.
Build a Tableau Dashboard
Your SQL queries identified which conditions and states carry the highest readmission penalties. Numbers in a query result are useful, but stakeholders need to spot patterns at a glance.
In this step, you'll turn your SQL findings into a published Tableau dashboard. A live dashboard on your Tableau Public profile gives hiring managers a clickable link they can explore themselves.
In this step, get ready to:
- Connect Tableau to your SQLite database.
- Create a bar chart comparing readmission ratios across conditions.
- Build a map visualization and publish your dashboard to Tableau Public.
Connect Tableau to your SQLite database
Tableau needs a data source before you can build any charts. You'll point it at the SQLite database you already created.
- Press Cmd+Space to open your search bar.
- Type Tableau and press Enter to open Tableau Desktop Public Edition.
- On the start page, look at the Connect pane on the left side.
- Click More... to see the full list of connectors.
- Select SQLite from the list.
- Navigate to your hospital_readmissions.db file and click Open.
- In the data source page, drag the readmissions table from the left pane into the data canvas (the large area in the center that says "Drag tables here").
You should see a preview of your data at the bottom of the screen, with column headers like Facility Name, State, Measure Name, and Excess Readmission Ratio.
What is the data canvas?
The data canvas is where you define which tables Tableau should use. By dragging the readmissions table onto it, you're telling Tableau to load all the CMS readmission data for your visualizations.
Don't see SQLite in the connector list?
If SQLite does not appear under More..., you may need to connect via the CSV file directly instead. Click Text file under Connect, then select FY_2026_Hospital_Readmissions_Reduction_Program_Hospital.csv. This gives you the same data.
Help me connect to my SQLite database in Tableau
Create a bar chart of average ERR by condition
Your first visualization will show which medical conditions drive the highest Excess Readmission Ratios. This chart answers the question: where should a hospital focus its readmission-reduction efforts?
- Click Sheet 1 at the bottom of the screen to open a new worksheet.
- In the left Data pane, find Measure Name and drag it to the Rows shelf.
- Find Excess Readmission Ratio and drag it to the Columns shelf.
- Set the aggregation to average: right-click the green Excess Readmission Ratio pill on the Columns shelf.
- Hover over Measure and select Average.
- Add color coding: drag Measure Name to the Color button on the Marks card.
- Add a reference line at the penalty threshold: right-click anywhere on the horizontal axis (the numbers along the bottom).
- Select Add Reference Line.
- In the dialog that appears, change the Value dropdown to Constant and type 1.0 in the value field.
- Click OK.
You should now see a horizontal bar chart with one bar per condition (AMI, CABG, COPD, Heart Failure, Pneumonia, THA/TKA) and a vertical line at 1.0 marking the penalty threshold.
What does the reference line show?
An Excess Readmission Ratio of 1.0 means a hospital readmits exactly as many patients as expected compared to its peers. Bars extending past the 1.0 line indicate conditions where hospitals nationally are performing worse than their benchmark.
This single visual makes it immediately clear which conditions carry the most penalty risk across the country.
Seeing text instead of numbers on the axis?
The Excess Readmission Ratio field may have imported as a text (string) type. Right-click the field in the Data pane and select Change Data Type. Then select Number (decimal). Drag the field to Columns again.
Help me fix text fields showing instead of numbers
Create a map and publish your dashboard
Your second visualization shows geographic patterns. Some states have far more penalized hospitals than others. A map makes regional hotspots immediately visible.
- Create a new worksheet by clicking the New Worksheet tab (the icon with a small "+" at the bottom of the screen, next to Sheet 1).
- In the Data pane, double-click State. Tableau automatically creates a map with one point per state.
- Drag Excess Readmission Ratio to the Color button on the Marks card.
- Set the aggregation to average: right-click the Excess Readmission Ratio pill on the Marks card.
- Hover over Measure and select Average.
Your map now shows states colored by their average Excess Readmission Ratio. Darker colors indicate higher ratios.
Why a map for this data?
Geographic patterns in healthcare outcomes often correlate with regional factors like rural access, insurance coverage, and provider density. A map lets stakeholders instantly ask "Why is this region worse?" and drive deeper investigation.
Now combine both sheets into a single dashboard.
- Click the New Dashboard tab at the bottom of the screen (the icon with a grid and a small "+").
- From the Sheets list on the left, drag Sheet 1 (your bar chart) onto the dashboard canvas.
- Drag Sheet 2 (your map) below or beside the bar chart on the canvas.
- Double-click the dashboard title at the top to edit it.
- Replace the default text with Hospital Readmission Penalty Analysis - FY2026 and click OK.
Your dashboard now shows both visualizations side by side with a clear title.
What is Tableau Public?
Tableau Public is a free cloud platform where you host interactive dashboards on a public profile. Anyone with the link can view and interact with your visualizations. This makes it ideal for portfolio pieces that hiring managers can click and explore.
Workbooks published to Tableau Public are visible to everyone. Do not publish sensitive or private data.
- Publish your dashboard by clicking Server in the top menu bar.
- Select Tableau Public from the dropdown.
- Click Save to Tableau Public.
- Sign in with your Tableau Public account credentials (the ones you created during registration in Step 1).
- Enter Hospital Readmission Penalty Analysis - FY2026 as the workbook name.
- Click Save.
After publishing, Tableau opens your browser to your Tableau Public profile page showing the live dashboard. Copy the URL from your browser. You will need this link in the next step.
Publish option greyed out?
The Save to Tableau Public option only appears if your dashboard contains at least one field. Make sure your dashboard tab is active (not the Data Source tab) before clicking Server.
If you see a sign-in error, confirm you are using the same email and password you registered with at https://public.tableau.com.
Help me publish my dashboard to Tableau Public
Your dashboard is live and shareable. Next up, you'll use these data-backed findings to complete your BA case study with concrete recommendations.
Complete Your BA Recommendations
Your data tells a story. You have SQL queries revealing which conditions and states drive the worst readmission penalties, and a published Tableau dashboard visualizing those patterns.
Now it is time to translate those findings into the business analyst deliverable that ties everything together. In this step, you will complete the As-Is/To-Be process maps and write data-backed recommendations in your Google Doc.
In this step, get ready to:
- Document the current (As-Is) discharge process and its gaps.
- Design an improved (To-Be) workflow with proactive interventions.
- Write data-backed recommendations referencing your SQL findings and Tableau dashboard.
Fill in the As-Is Process section
The As-Is process describes how hospitals currently handle discharges. This is the workflow that leads to excess readmissions and penalties.
- Switch back to your Google Doc titled "Hospital Readmission Penalty Analysis - BA Case Study."
- Scroll down to the As-Is Process placeholder section.
- Replace the placeholder with a description of the current discharge workflow. Include these four points as a numbered or bulleted list:
- Patient is discharged with standard instructions only.
- No structured follow-up within 7 days of discharge.
- Limited care coordination with outpatient providers.
- Readmission is detected only after it occurs (reactive, not preventive).
Why document the As-Is process?
In business analysis, you always document the current state before proposing changes. This gives stakeholders a shared understanding of what is broken and creates a clear "before" to measure your improvements against.
The As-Is process also makes it clear that the problem is systemic (a workflow gap), not caused by individual clinicians.
Fill in the To-Be Process section
The To-Be process is your proposed future state. Each improvement directly addresses a gap you identified in the As-Is workflow.
- Scroll down to the To-Be Process placeholder section in your Google Doc.
- Replace the placeholder with a description of the improved discharge workflow. Include these four interventions:
- Risk-stratified discharge planning (patients flagged as high-risk receive enhanced protocols).
- Mandatory follow-up appointment scheduled before the patient leaves the hospital.
- Care transition nurse contacts the patient within 48 hours of discharge.
- Early warning dashboard flags high-risk patients for proactive outreach before a readmission happens.
What is As-Is/To-Be process mapping?
As-Is/To-Be mapping is a core business analysis technique. You document the current state (As-Is), identify gaps, then design an improved future state (To-Be). The gap between the two becomes your implementation roadmap.
Notice how each To-Be improvement maps directly to an As-Is gap. "No structured follow-up" becomes "mandatory follow-up scheduled before discharge." This one-to-one mapping makes your recommendations easy for stakeholders to follow.
Write data-backed recommendations
This is where your SQL analysis pays off. Strong BA recommendations always reference specific data, not vague claims.
- Scroll down to the Recommendations placeholder section.
- Write an opening paragraph that references your SQL findings. Use the results from Query 2 (average ERR by condition) and Query 5 (percentage penalized per condition) to identify which condition is the highest priority.
Reference your actual numbers
Switch back to DB Browser for SQLite and re-run Query 2 if you need to look up exact figures. Your recommendation should say something like "Heart Failure has the highest average ERR at X.XX, affecting Y hospitals nationally" using the real numbers from your query results.
- Add a paragraph quantifying the financial impact. Write that if a hospital reduces its Excess Readmission Ratio from 1.05 to 1.00, it avoids the maximum 3% Medicare payment penalty under the CMS Hospital Readmissions Reduction Program.
- List 3-4 specific recommendations tied to your To-Be process improvements. For example: "Implement a 48-hour post-discharge nurse call program, prioritizing Heart Failure patients where ERR is highest."
- Add a final line linking to your published Tableau dashboard as supporting evidence. Copy the URL from your Tableau Public profile and paste it into the document.
Why link your Tableau dashboard?
Linking your interactive dashboard lets stakeholders explore the data themselves. It also demonstrates that your recommendations are grounded in verifiable analysis, not assumptions.
When this document sits on your resume, interviewers can click the link and see your actual visualization work. That is what makes this a portfolio piece, not just a class assignment.
What makes a strong BA recommendation?
Strong recommendations follow a pattern: specific finding from data, then a concrete action, then a quantified expected outcome. "Heart Failure has the highest ERR (finding). Implement post-discharge nurse calls for HF patients (action). This could reduce ERR below 1.0, avoiding the 3% penalty (outcome)."
Not sure what numbers to use?
If you did not record your SQL results earlier, switch back to DB Browser for SQLite. Your database is still open. Click the Execute SQL tab and re-run Query 2 and Query 5 to get the exact ERR values and percentages you need.
Remember: the Excess Readmission Ratio threshold is 1.0. Anything above means the hospital readmits more patients than expected compared to peer hospitals.
Can't find your Tableau dashboard URL?
Secret mission
Enrich Your Analysis with Hospital Characteristics
Your base analysis reveals which conditions and states drive the highest readmission penalties. But what about the hospitals themselves? In this secret mission, you'll join a second dataset to uncover whether hospital ownership type correlates with penalty risk.
Clean Up Your Resources
Clean Up Your Resources
This project runs entirely on your local machine with free tools and free cloud services. There are no ongoing costs to worry about.
Decide whether to keep your resources running, pause them to come back later, or delete them entirely.
Resources you used:
- hospital_readmissions.db (local SQLite database with imported CMS data).
- Downloaded CMS dataset files (ZIP and extracted CSVs including FY_2026_Hospital_Readmissions_Reduction_Program_Hospital.csv and Hospital_General_Information.csv).
- DB Browser for SQLite (installed via Homebrew).
- Tableau Desktop Public Edition (installed application).
- Tableau Public dashboard published to your online profile.
- Google Doc: "Hospital Readmission Penalty Analysis - BA Case Study."
Keep everything running
No action needed. Choose this if you plan to continue refining your analysis, updating your dashboard, or using this case study as a portfolio piece.
- Your Tableau Public dashboard remains live and shareable at its published URL.
- Your Google Doc stays in Google Drive, ready to link on your resume.
- DB Browser for SQLite and Tableau Desktop Public Edition remain installed on your Mac for future projects.
Pause - I'll come back to this later
Free up disk space while keeping your work accessible. Since all tools and services are free, there is nothing to "pause" from a billing perspective.
- Keep your Tableau Public dashboard published (it costs nothing and serves as a portfolio piece).
- Keep your Google Doc in Google Drive.
- Optionally delete the downloaded CMS CSV files and ZIP to free up disk space. You can re-download them from the CMS website later.
Delete - I don't want to use this again
Remove all project resources and start fresh. Follow each step below to fully clean up.
Delete your local database and data files by running these commands in Terminal:
- Delete the SQLite database file by running:
rm ~/Desktop/hospital_readmissions.db
- Delete the downloaded CMS dataset files. Navigate to wherever you extracted the ZIP and remove the folder. For example:
rm -rf ~/Downloads/hospitals_*
Uninstall DB Browser for SQLite:
- Uninstall DB Browser for SQLite using Homebrew by running:
brew uninstall db-browser-for-sqlite
Uninstall Tableau Desktop Public Edition:
- Open Finder and go to your Applications folder. Delete the Tableau application by dragging it to the Trash.
- Open Finder, press Cmd+Shift+G, and type ~/Documents. Delete the My Tableau Repository folder.
- Press Cmd+Shift+G again and type ~/Library/Preferences. Delete all files whose names begin with com.tableau.
- Press Cmd+Shift+G again and type ~/Library/Saved Application State. Delete all folders whose names begin with com.tableau.
- Empty your Trash.
Delete your Tableau Public dashboard:
- Go to your Tableau Public profile page.
- Click the More Actions icon on the dashboard you published.
- Select Delete This Viz.
Delete your Tableau Public account (optional):
- Sign in to Tableau Public.
- Click your profile icon and select Settings.
- Scroll to the Delete Tableau Public Profile section and select Delete My Tableau Public Profile.
- Enter your email address and select Delete.
Delete your Google Doc:
- Open Google Drive and locate "Hospital Readmission Penalty Analysis - BA Case Study."
- Right-click the document and select Move to trash.
Nice Work!
Nice Work!
You just completed a full healthcare business analyst case study using real federal data from the CMS Hospital Readmissions Reduction Program.
You've learned how to:
- Write and execute SQL queries analyzing real CMS readmission penalty data across 3,000+ hospitals by condition and state.
- Build and publish a Tableau dashboard visualizing readmission performance patterns on your Tableau Public profile.
- Produce a complete BA case study document with stakeholder mapping, KPIs, As-Is/To-Be process maps, and data-backed recommendations.
- Secret Mission: Enriched the analysis by joining hospital characteristics data to uncover patterns by ownership type.
Ready to quiz yourself?