Libraries:

library(tidyverse)
## -- Attaching packages -------------------------------------------------------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.2.1     v purrr   0.3.3
## v tibble  2.1.3     v dplyr   0.8.3
## v tidyr   1.0.0     v stringr 1.4.0
## v readr   1.3.1     v forcats 0.4.0
## -- Conflicts ----------------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(ggplot2)
library(rattle)
## Warning: package 'rattle' was built under R version 3.6.3
## Rattle: A free graphical interface for data science with R.
## Version 5.3.0 Copyright (c) 2006-2018 Togaware Pty Ltd.
## Type 'rattle()' to shake, rattle, and roll your data.
library(magrittr)
## Warning: package 'magrittr' was built under R version 3.6.3
## 
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
## 
##     set_names
## The following object is masked from 'package:tidyr':
## 
##     extract

Tasks:

1.Study how the distributions and means of the number of services, distinct beneficiary per day services, average medicare submitted charged amounts, average medicare paid amount vary as a function of Gender, the Provider Type, and Place of Service, and type of service that is being provided.

2.Study the relationship between average submitted charge amount and average medicare payment amount and analyze how the relationship of these variables varies as a function of the number of services, distinct beneficiary per day services, and Provider Type.

load("/Users/jcsur/Downloads/providerspokane.RDA")
load("providerspokane.RDA")
names(providerspokane)
##  [1] "National.Provider.Identifier"                            
##  [2] "Last.Name.Organization.Name.of.the.Provider"             
##  [3] "First.Name.of.the.Provider"                              
##  [4] "Middle.Initial.of.the.Provider"                          
##  [5] "Credentials.of.the.Provider"                             
##  [6] "Gender.of.the.Provider"                                  
##  [7] "Entity.Type.of.the.Provider"                             
##  [8] "Street.Address.1.of.the.Provider"                        
##  [9] "Street.Address.2.of.the.Provider"                        
## [10] "City.of.the.Provider"                                    
## [11] "Zip.Code.of.the.Provider"                                
## [12] "State.Code.of.the.Provider"                              
## [13] "Country.Code.of.the.Provider"                            
## [14] "Provider.Type"                                           
## [15] "Medicare.Participation.Indicator"                        
## [16] "Place.of.Service"                                        
## [17] "HCPCS.Code"                                              
## [18] "HCPCS.Description"                                       
## [19] "HCPCS.Drug.Indicator"                                    
## [20] "Number.of.Services"                                      
## [21] "Number.of.Medicare.Beneficiaries"                        
## [22] "Number.of.Distinct.Medicare.Beneficiary.Per.Day.Services"
## [23] "Average.Medicare.Allowed.Amount"                         
## [24] "Average.Submitted.Charge.Amount"                         
## [25] "Average.Medicare.Payment.Amount"                         
## [26] "Average.Medicare.Standardized.Amount"

Task 1 Distribution and Means

summary(providerspokane)
##  National.Provider.Identifier
##  Min.   :1.003e+09           
##  1st Qu.:1.276e+09           
##  Median :1.509e+09           
##  Mean   :1.516e+09           
##  3rd Qu.:1.771e+09           
##  Max.   :1.993e+09           
##                              
##                         Last.Name.Organization.Name.of.the.Provider
##  PATHOLOGY ASSOCIATES MEDICAL LABORATORIES LLC:  491               
##  MUELLER                                      :  109               
##  KING                                         :  105               
##  JOHNSON                                      :  103               
##  JONES                                        :   99               
##  LEE                                          :   99               
##  (Other)                                      :17972               
##  First.Name.of.the.Provider Middle.Initial.of.the.Provider
##         :  964                     :3583                  
##  MICHAEL:  630              M      :1571                  
##  JOHN   :  469              J      :1569                  
##  DAVID  :  434              A      :1506                  
##  ROBERT :  410              L      :1299                  
##  WILLIAM:  324              D      :1273                  
##  (Other):15747              (Other):8177                  
##  Credentials.of.the.Provider Gender.of.the.Provider Entity.Type.of.the.Provider
##  MD     :7497                 :  964                I:18014                    
##  M.D.   :4871                F: 5558                O:  964                    
##         :1322                M:12456                                           
##  PA-C   : 904                                                                  
##  ARNP   : 873                                                                  
##  D.O.   : 313                                                                  
##  (Other):3198                                                                  
##  Street.Address.1.of.the.Provider Street.Address.2.of.the.Provider
##  801 S STEVENS ST: 1663                    :10058                 
##  122 W 7TH AVE   : 1194           SUITE 200:  538                 
##  400 E 5TH AVE   : 1176           SUITE 310:  421                 
##  910 W 5TH AVE   : 1038           SUITE 100:  345                 
##  101 W 8TH AVE   :  820           SUITE 700:  311                 
##  105 W 8TH AVE   :  802           SUITE 400:  306                 
##  (Other)         :12285           (Other)  : 6999                 
##  City.of.the.Provider Zip.Code.of.the.Provider State.Code.of.the.Provider
##  SPOKANE:18978        992042654: 1663          WA:18975                  
##                       992021334: 1176          WI:    2                  
##                       992042349: 1125          WY:    1                  
##                       992042966: 1062                                    
##                       992042307:  702                                    
##                       992042302:  607                                    
##                       (Other)  :12643                                    
##  Country.Code.of.the.Provider              Provider.Type  
##  US:18978                     Diagnostic Radiology: 2414  
##                               Internal Medicine   : 1809  
##                               Family Practice     : 1541  
##                               Physician Assistant : 1240  
##                               Nurse Practitioner  : 1214  
##                               Hematology/Oncology :  745  
##                               (Other)             :10015  
##  Medicare.Participation.Indicator Place.of.Service   HCPCS.Code   
##  N:    2                          F: 6157          99213  :  820  
##  Y:18976                          O:12821          99214  :  742  
##                                                    99204  :  316  
##                                                    99203  :  312  
##                                                    99232  :  286  
##                                                    99212  :  261  
##                                                    (Other):16241  
##                                                                   HCPCS.Description
##  Established patient office or other outpatient visit, typically 15 minutes:  820  
##  Established patient office or other outpatient, visit typically 25 minutes:  742  
##  New patient office or other outpatient visit, typically 45 minutes        :  316  
##  New patient office or other outpatient visit, typically 30 minutes        :  312  
##  Subsequent hospital inpatient care, typically 25 minutes per day          :  286  
##  Established patient office or other outpatient visit, typically 10 minutes:  261  
##  (Other)                                                                   :16241  
##  HCPCS.Drug.Indicator Number.of.Services Number.of.Medicare.Beneficiaries
##  N:17844              Min.   :    11.0   Min.   :   11.0                 
##  Y: 1134              1st Qu.:    20.0   1st Qu.:   17.0                 
##                       Median :    42.0   Median :   31.0                 
##                       Mean   :   291.2   Mean   :  101.8                 
##                       3rd Qu.:   115.0   3rd Qu.:   71.0                 
##                       Max.   :155972.0   Max.   :70013.0                 
##                                                                          
##  Number.of.Distinct.Medicare.Beneficiary.Per.Day.Services
##  Min.   :    11.0                                        
##  1st Qu.:    19.0                                        
##  Median :    39.0                                        
##  Mean   :   154.1                                        
##  3rd Qu.:   101.0                                        
##  Max.   :155971.0                                        
##                                                          
##  Average.Medicare.Allowed.Amount Average.Submitted.Charge.Amount
##  Min.   :    0.019               Min.   :    0.23               
##  1st Qu.:   19.003               1st Qu.:   48.00               
##  Median :   56.170               Median :  132.00               
##  Mean   :  104.731               Mean   :  295.21               
##  3rd Qu.:  107.572               3rd Qu.:  276.00               
##  Max.   :29872.890               Max.   :45998.00               
##                                                                 
##  Average.Medicare.Payment.Amount Average.Medicare.Standardized.Amount
##  Min.   :    0.011               Min.   :    0.011                   
##  1st Qu.:   15.498               1st Qu.:   15.990                   
##  Median :   40.720               Median :   43.613                   
##  Mean   :   80.178               Mean   :   83.320                   
##  3rd Qu.:   81.984               3rd Qu.:   85.360                   
##  Max.   :23420.340               Max.   :21855.610                   
## 
str(providerspokane$Place.of.Service)
##  Factor w/ 2 levels "F","O": 1 1 2 2 2 2 2 2 1 2 ...
levels(providerspokane$Place.of.Service)=c("Facility","Other")

Average number of services at facilities and other centers

place_average_service = providerspokane%>%
  group_by(Place.of.Service)%>%
  summarise(average_number_of_services = mean(Number.of.Services))

ggplot(place_average_service, mapping = aes(Place.of.Service,average_number_of_services, fill = Place.of.Service )) +geom_bar(stat = "identity")

Average number of beneficiary services at facilities and other centers

place_beneficiacry_service =  providerspokane%>%
  group_by(Place.of.Service)%>%
  summarise(average_number_of_beneficiary_services = mean(Number.of.Distinct.Medicare.Beneficiary.Per.Day.Services))

ggplot(place_beneficiacry_service, mapping = aes(Place.of.Service,average_number_of_beneficiary_services, fill = Place.of.Service )) +geom_bar(stat = "identity")

## Average number of services by provider type

library(rattle)
library(magrittr)
Provider_mean_services=providerspokane%>%
  group_by(Provider.Type)%>%
  summarise(mean_number_of_services=mean(Number.of.Services))
mean_services_sort <- arrange(Provider_mean_services, desc(mean_number_of_services))

ggplot(data = mean_services_sort, mapping = aes(reorder(Provider.Type, mean_number_of_services), mean_number_of_services)) + geom_bar(stat = 'identity') + ggtitle('Average of Number of Services by Provider Type') + labs(y = 'Average of Number of Services', x = 'Provider Type') + theme(axis.text.y = element_text(size = 5)) + coord_flip()

## Average number of beneficiary services by provider type

Provider_mean_bservices=providerspokane%>%
  group_by(Provider.Type)%>%
  summarise(mean_distinct_beneficiaries=mean(Number.of.Distinct.Medicare.Beneficiary.Per.Day.Services))
mean_bservices_sort <- arrange(Provider_mean_bservices, desc(mean_distinct_beneficiaries))

ggplot(data = mean_bservices_sort, mapping = aes(reorder(Provider.Type, mean_distinct_beneficiaries), mean_distinct_beneficiaries)) + geom_bar(stat = 'identity') + ggtitle('Average of Number of Distinct Beneficiary Services by Provider') + labs(y = 'Average of Number of Distinct Beneficiary per Day Services', x = 'Provider Type') + theme(axis.text.y = element_text(size = 5)) + coord_flip()

## Average number beneficiary services by gender

providerspokane%>%group_by(Gender.of.the.Provider)%>%summarise(Mean_Number.of.Distinct.Medicare.Beneficiary.Per.Day.Services=mean(Number.of.Distinct.Medicare.Beneficiary.Per.Day.Services))%>%filter(Gender.of.the.Provider!="")%>%ggplot(.,aes(Gender.of.the.Provider,Mean_Number.of.Distinct.Medicare.Beneficiary.Per.Day.Services))+geom_bar(stat="identity")

Average Medicare submitted charge amounts by gender

providerspokane%>%group_by(Gender.of.the.Provider)%>%summarise(Mean_submitted_charge_amount=mean(Average.Submitted.Charge.Amount))%>%filter(Gender.of.the.Provider!="")%>%ggplot(.,aes(Gender.of.the.Provider,Mean_submitted_charge_amount))+geom_bar(stat="identity")

Average Medicare submitted charge amount by place

Place_charge = providerspokane%>%
  group_by(Place.of.Service)%>%
  summarise(mean_submitted_charge_amount = mean(Average.Submitted.Charge.Amount))

ggplot(Place_charge, mapping = aes(Place.of.Service, mean_submitted_charge_amount, fill = Place.of.Service)) +geom_bar(stat = "identity")

## Average medicare subimtted charge by provider type

Provider_charge=providerspokane%>%
  group_by(Provider.Type)%>%
  summarise(mean_submitted_charge_amount=mean(Average.Submitted.Charge.Amount))
charge_sort <- arrange(Provider_charge, desc(mean_submitted_charge_amount))

ggplot(data = charge_sort, mapping = aes(reorder(Provider.Type, mean_submitted_charge_amount), mean_submitted_charge_amount)) + geom_bar(stat = 'identity') + ggtitle('Average of the Submitted Charge Amount by Provider Type') + labs(y = 'Average of the Submitted Charge Amount ($)', x = 'Provider Type') + theme(axis.text.y = element_text(size = 5)) + coord_flip()

## Average Medicare paid amount by Gender

providerspokane%>%group_by(Gender.of.the.Provider)%>%summarise(Mean_Average.Medicare.Payment.Amount=mean(Average.Medicare.Payment.Amount))%>%filter(Gender.of.the.Provider!="")%>%ggplot(.,aes(Gender.of.the.Provider,Mean_Average.Medicare.Payment.Amount))+geom_bar(stat="identity")

Average Medicare parment at facilities and other centers

Place_payment = providerspokane%>%
  group_by(Place.of.Service)%>%
  summarise(mean_medicare_paid = mean(Average.Medicare.Payment.Amount))

ggplot(Place_payment, mapping = aes(Place.of.Service, mean_medicare_paid, fill = Place.of.Service)) +geom_bar(stat = "identity")

## Average medicaer paid by provider type

Provider_payment=providerspokane%>%
  group_by(Provider.Type)%>%
  summarise(mean_medicare_paid=mean(Average.Medicare.Payment.Amount))
payment_sort <- arrange(Provider_payment, desc(mean_medicare_paid))

ggplot(data = payment_sort, mapping = aes(reorder(Provider.Type, mean_medicare_paid), mean_medicare_paid)) + geom_bar(stat = 'identity') + ggtitle('Average of Amount Medicare Paid by Provider Type') + labs(y = 'Average of the Amount Medicare Paid ($)', x = 'Provider Type') + theme(axis.text.y = element_text(size = 5)) + coord_flip()