Author: Vigneshwar Subramanian & Raoul R. Wadhwa
Date: 2020-05-20

# Introduction to cms

#### Vigneshwar Subramanian & Raoul R. Wadhwa

#### 20 May 2020

The cms package implements a set of tools to download and clean publically available Medicare data, published on https://www.cms.gov, for analysis in R. This vignette provides an overview of the key features of the package.

## Medicare Physician Fee Schedule (MPFS)

The `get_mpfs` function returns national payment files for the Medicare Physician Fee Schedule (MPFS). All revisions for a specified year between 2014 and 2020, inclusive (specified as 2-digit integer, 14 through 20) are downloaded from the CMS website to a user-specified path.

    # Example, code not run within vignette itself.
    # Result is hardcoded and displayed for illustrative purposes.

    library(cms)

    # download and view first few rows of 2020 MPFS database
    mpfs20 <- get_mpfs(20, storage_path = 'storage', keep_downloads = TRUE)
    head(mpfs20, 3)

    #>   Year Carrier Number Locality HCPCS Code Modifier PCTC Indicator Status Code
    #> 1 2020          01112       05      G0076     none              0           A
    #> 2 2020          01112       06      G0076     none              0           A
    #> 3 2020          01112       07      G0076     none              0           A
    #>   Multiple Surgery Indicator 50% Therapy Reduction Amount (non-institutional)
    #> 1                          0                                       0000000.00
    #> 2                          0                                       0000000.00
    #> 3                          0                                       0000000.00
    #>   50% Therapy Reduction Amount (institutional) OPPS Indicator Facility Fee
    #> 1                                   0000000.00              9        63.64
    #> 2                                   0000000.00              9        63.64
    #> 3                                   0000000.00              9        63.64
    #>   Non-Facility Fee OPPS Facility Fee OPPS Non-Facility Fee
    #> 1            63.64                 0                     0
    #> 2            63.64                 0                     0
    #> 3            63.64                 0                     0

By default, `get_mpfs` will store downloaded `.zip` files so that subsequent calls to `get_mpfs` with the same year and storage path will not require redownloading the raw data to import the database. `get_mpfs` will instead delete downloaded files by passing the argument `keep_downloads = FALSE`.

Optionally, users can specify a valid 7-digit locality code (5-digit carrier number + 2-digit locality, passed as a single string) to instruct `get_mpfs` to return only the data corresponding to that locality:

    # Example, code not run within vignette itself.
    # Result is hardcoded and displayed for illustrative purposes.

    mpfs20_ohio <- get_mpfs(20, storage_path = 'storage', locality = '1520200')
    head(mpfs20_ohio, 3)

    #>   Year Carrier Number Locality HCPCS Code Modifier PCTC Indicator Status Code
    #> 1 2020          15202       00      G0076     none              0           A
    #> 2 2020          15202       00      G0077     none              0           A
    #> 3 2020          15202       00      G0078     none              0           A
    #>   Multiple Surgery Indicator 50% Therapy Reduction Amount (non-institutional)
    #> 1                          0                                       0000000.00
    #> 2                          0                                       0000000.00
    #> 3                          0                                       0000000.00
    #>   50% Therapy Reduction Amount (institutional) OPPS Indicator Facility Fee
    #> 1                                   0000000.00              9        55.71
    #> 2                                   0000000.00              9        79.54
    #> 3                                   0000000.00              9       131.29
    #>   Non-Facility Fee OPPS Facility Fee OPPS Non-Facility Fee
    #> 1            55.71                 0                     0
    #> 2            79.54                 0                     0
    #> 3           131.29                 0                     0

## Medicare Locality Key

The `locality_dict` dataset contains the locality definitions used by the MPFS, updated for 2020.

    mpfs20_locality <- cms::locality_dict
    head(mpfs20_locality, 3)
    #>   Carrier Number Locality   State Fee Schedule Area     Counties
    #> 1          10102       00 ALABAMA         STATEWIDE ALL COUNTIES
    #> 2          02102       01  ALASKA         STATEWIDE ALL COUNTIES
    #> 3          03102       00 ARIZONA         STATEWIDE ALL COUNTIES