Engine Works

Under the hood of Alteryx: tips, tricks and how-tos.
Nicole_L
8 - Asteroid

Each year, Medicare releases physician provider utilization and payment data that provides information on the services and procedures provided to Medicare beneficiaries in the United States. The data set includes a wealth of information about the physician, location of services, HCPCS codes to identify the type of services, utilization, average charges and average Medicare payment amounts. This rich data source has many usage possibilities for analytics and data visualization.

 

Developing a benchmark is a way to compare similar services performed by physicians in the same specialty to review coding practices for payment.

 

Here, we are creating benchmarks for clinical physician offices in the state of Pennsylvania. The benchmarks will allow a physician to compare their billing practice to those of their peers. The focus is on the following HCPCS code range:

 

  • 99201- 99205 New Office Visits
  • 99211-99215 Established Patients
  • 99221-99223 Initial Hospital Visits
  • 99231-99233 Subsequent Hospital Visits

 

These are the evaluation and management (EM) level visit codes that designate the acuity of the patient when seen in the physician clinic and/or seen during a hospital stay.

 

First step is to download the data directly from the CMS website.

 

Click on API DocsClick on API Docs

 

In Alteryx, drag a Text Input tool on the canvas and create three columns labeled CMS, StoreFile, and CMS URL. For the column labeled CMS, enter the path name of the file being downloaded. For this demonstration the path is https://data.cms.gov/api/views/fs4p-t5eq/rows.csv for the CMS 2017 Professional Fee data set.

 

CMS column in the Text Input toolCMS column in the Text Input tool

 

For the column labeled StoredFile, enter the location of where the downloaded file will be stored on your computer.  for the column labeled CMS URL, enter https://data.cms.gov/api/views/fs4p-t5eq/rows.csv?accessType=DOWNLOAD&api_foundry=true

 

The CMS URL column will be used to download the data, and the Store File path will tell Alteryx where to save the file.

 

CMS URL Path of the Text Input toolCMS URL Path of the Text Input tool

 

Next drag a Download tool onto the canvas and connect it to the Text Input tool. This tool will download the data directly from the CMS website. Configure the Basic tab with the URL field assigned as the CMS URL and the To a File filename from the field StoredFile.

 

Download Tool Set UpDownload Tool Set Up

 

Now, click run. This will download the data from the CMS website to the location you specified in the StoredFile location.

Text Input and Download ToolsText Input and Download Tools

Upon review of the data, it is determined the following fields are needed: state code of provider, provider type (specialty), HCPCS code, and line service count (number of services) to create a benchmark by specialty and type of service. All fields are V_string. Use a Select tool to change line service count (number of services) to the field type double. Note the field names may change depending on when you download the CMS data.

 

This data set encompasses the entire United States; therefore the data must be filtered on the state of Pennsylvania to meet the objective. Additionally, the data set contains all HCPCS code utilization and must also be filtered for the HCPCS codes under evaluation.

 

Figure 1. Filter HCPCS Codes and StateFigure 1. Filter HCPCS Codes and State

 

Lastly, I would like to assign HCPCS code groupings and levels to use later in a Tableau dashboard. To accomplish this, I need to add a Formula tool to the workflow with these new fields.

 

Figure 2. Formula for EM LevelsFigure 2. Formula for EM Levels

 

The detailed data contains a row for each provider and specialty in the state of Pennsylvania with the HCPCS codes under evaluation. It is not summarized yet for the benchmark calculations by specialty and EM Level.

 

Figure 3. Browse of the Detailed Data Prior to SummationFigure 3. Browse of the Detailed Data Prior to Summation

 

The next step is to summarize the data by EM Level, Provider Type, HCPCS Code, Level and Line Service Count. Place a Summarize tool after the Formula tool with these actions. Please note: the output fields have been renamed.

 

Figure 4. Configuration of the Summarize ToolFigure 4. Configuration of the Summarize Tool

 

The results should look like Figure 5. The data is summarized by each physician specialty, EM level, and HCPCS Code.

 

Figure 5. Results of the Summarize ToolFigure 5. Results of the Summarize Tool

 

We are almost ready to calculate the benchmark, however, first we must summarize the total by Specialty, EM Level and Line Service Count without the individual HCPCS codes. We will need this total to calculate the percentages. Place another Summarize tool after the Formula tool with these actions. Please note: the output fields have been renamed.

 

Figure 6. Configuration of the Summarize ToolFigure 6. Configuration of the Summarize Tool

 

 

At this point, the workflow set up looks like Figure 7.

Figure 7. WorkflowFigure 7. Workflow

 

The results of second summation will provide us with the total line count by specialty and EM level. We can join this data with the first summation to complete the benchmark calculation.

 

Figure 8. Results of the Second Summarize ToolFigure 8. Results of the Second Summarize Tool

 

Drag a Join tool on the canvas and connect the first Summarize tool to the Left anchor and the second Summarize tool to the Right anchor. Join the two data sets by EM Level and Specialty. The workflow should look like this:

 

Figure 9. WorkflowFigure 9. Workflow

 

 

Figure 10. Configuration of the JoinFigure 10. Configuration of the Join

 

Note in the Join configuration, uncheck the right specialty and EM level. On first run, they were checked to ensure the data joined correctly. These fields are not needed in the end results. The results of the Join should look like Figure 11. The field Spec EM Total is joined correctly to each specialty and EM Level. We will use this field as the denominator for the benchmark calculation.

 

Figure 11. Results of the Join ToolFigure 11. Results of the Join Tool

 

Finally, we are ready to calculate the benchmark. This benchmark will calculate the percentage utilization by specialty for each EM Level. Drag a Formula tool onto the canvas and place it after the Join. Create a new field called Benchmark %, setting the data type to double.

 

Use this formula: [Line Service Count]/[Spec EM Total]*100

 

Drag a Browse tool to the canvas and run the workflow. The results should be like Figure 12.

 

Figure 12. Results after adding the benchmark formulaFigure 12. Results after adding the benchmark formula

 

Now that we have the benchmarks for each specialty and EM Level, we can either merge this with our physician data set to use as a reference in our dashboards or share the information in another fashion.

 

Below are two examples of how the benchmarks can be utilized in Tableau for comparing a single physician to the benchmark physicians’ percentages. Both graph examples represent the percentage of Established Patient Visits. The blue bars denote a single physician’s percentage of units billed for each E&M Level Visit related to Established Patient Visits. Based on this distribution, it appears this single physician has fewer Level 3 visits (Blue Bar) than the benchmark physicians (Grey Bar).

 

Comparing the Physician to BenchmarksComparing the Physician to Benchmarks

 

 

Figure 14. Example 2 Comparing Physician to BenchmarksFigure 14. Example 2 Comparing Physician to Benchmarks

 

It is important to note with any benchmarking project, that consideration be given for how the compare group is developed. A few things I like to ensure is that the sample size is good, I’m comparing apples to apples and not apples to oranges, and the demographics of the population, just to name a few. With this CMS data set, I think it is important to compare physicians that practice in the same specialty. Lastly, the acuity of the patients may factor in the results so weighted benchmarks may be needed. This really depends on your data analysis and needs.

 

Note: All the data used for this article is publicly available on the CMS Medicare Website. The data set used was Medicare Provider Utilization and Payment Data: Physician and Other Supplier PUF CY2017. No personal healthcare data was utilized to demonstrate this technique.

 

Banner image credit to Engin Akyurt