Introduction

Medicare. It's a term synonymous with retirement. While this national umbrella of 
health insurance and social security aid may seem like a straight-forward 
government implementation for our elderly, it doesn't take much work to figure 
out that it is not straightforward at all. Deductibles, coverage gaps, third-party 
copays, and part A through D separation are just some of the terminology that 
our senior citizens have to navigate to ensure that their insurance plan, or 
plans, are functioning optimally. There is however, an overlooked truth that 
plays a key role in Medicare's prescription coverage: Medicare spending reflects 
real-world events. As the title states, this analysis is an effort to 
conceptualize how real-world events impact Medicare's spending on prescription 
drugs. In this analysis, we are going to look a particular medication, whose 
"mainstream" (more specifically conservative mainstream) coverage affected Medicare prescription spending: 
Ivermectin. More specifically, we'll be looking at the 
total dollar amount spend by Medicare Part D on Ivermectin from 2017 to 2021, 
as well as the total amount of prescriptions written and submitted through a 
patient's Medicare Part D (referred to as a "claim").

Loading the Dataset

# In this chunk of code, we are selecting the columns that are pertinent to our investigation: Total Medicare Spending, and Total Claims from Years 2017 and 2021. We are also calling any package from our library which we will be using for our visualization.

library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.4.1     ✔ purrr   1.0.1
## ✔ tibble  3.1.8     ✔ dplyr   1.1.0
## ✔ tidyr   1.3.0     ✔ stringr 1.5.0
## ✔ readr   2.1.3     ✔ forcats 1.0.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(scales)
## 
## Attaching package: 'scales'
## 
## The following object is masked from 'package:purrr':
## 
##     discard
## 
## The following object is masked from 'package:readr':
## 
##     col_factor
library(ggplot2)
MPartD <- read_csv("MedicarePartDSpending.csv")
## Rows: 13751 Columns: 46
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (3): Brnd_Name, Gnrc_Name, Mftr_Name
## dbl (43): Tot_Mftr, Tot_Spndng_2017, Tot_Dsg_Unts_2017, Tot_Clms_2017, Tot_B...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
MPartD <- MPartD %>% select(c(Brnd_Name, Gnrc_Name, Mftr_Name, Tot_Spndng_2017, Tot_Spndng_2018, Tot_Spndng_2019, Tot_Spndng_2020, Tot_Spndng_2021, Tot_Clms_2017, Tot_Clms_2018, Tot_Clms_2019, Tot_Clms_2020, Tot_Clms_2021))
glimpse(MPartD)
## Rows: 13,751
## Columns: 13
## $ Brnd_Name       <chr> "1st Tier Unifine Pentips", "1st Tier Unifine Pentips"…
## $ Gnrc_Name       <chr> "Pen Needle, Diabetic", "Pen Needle, Diabetic", "Pen N…
## $ Mftr_Name       <chr> "Overall", "Owen Mumford Us", "Overall", "Owen Mumford…
## $ Tot_Spndng_2017 <dbl> 217938.04, 217938.04, 402124.68, 402124.68, 13386250.0…
## $ Tot_Spndng_2018 <dbl> 167193.78, 167193.78, 369402.85, 369402.85, 10685287.6…
## $ Tot_Spndng_2019 <dbl> 139201.68, 139201.68, 343031.42, 343031.42, 10126697.3…
## $ Tot_Spndng_2020 <dbl> 118923.24, 118923.24, 210217.15, 210217.15, 9202476.64…
## $ Tot_Spndng_2021 <dbl> 102280.76, 102280.76, 131927.33, 131927.33, 7038593.83…
## $ Tot_Clms_2017   <dbl> 8595, 8595, 15403, 15403, 48283, NA, 55, 2017, 5744, 2…
## $ Tot_Clms_2018   <dbl> 6538, 6538, 14931, 14931, 40513, 832, 82, 125, 5307, 1…
## $ Tot_Clms_2019   <dbl> 5392, 5392, 14581, 14581, 42694, 3311, 44, 21, 7984, 1…
## $ Tot_Clms_2020   <dbl> 4457, 4457, 8408, 8408, 37136, 3347, 17, 17, 6225, 109…
## $ Tot_Clms_2021   <dbl> 3708, 3708, 4564, 4564, 30540, 3276, 39, 13, 4154, 966…

Ivermectin

knitr:: include_graphics("/Users/ibrahim/Desktop/ivercollage.jpeg")
This is a collage of various news outlets and Medicinal Journals that have analyzed or performed studies on Ivermectin and its effects as a Sars-Covid-19 prophylactic (a drug intended to prevent disease).

This is a collage of various news outlets and Medicinal Journals that have analyzed or performed studies on Ivermectin and its effects as a Sars-Covid-19 prophylactic (a drug intended to prevent disease).

What is Ivermectin, and what exactly is the problem?

Ivermectin in tablet form is a medication intended to be used as an anti-parasite. 
The FDA today only recognizes Ivermectin (in tablet form) for the treatment of Strongyloidiasis, and Onchocerciasis, both of which are infections caused by 
parasitic worms. In June 2020, a group of Australian researchers published a 
paper claiming that large doses of Ivermectin could essentially, stop the 
coronavirus from replicating in cell cultures. This quickly spread like wildfire,
more specifically, among the skeptics and anti-vaccination community. In early 2021, 
doctors began prescribing Ivermectin to anyone who asked. The problem was,
that at a dose necessary to (potentially) stop the virus, it's bound to do more 
harm than good. I myself, working at Walgreens as a pharmacy technician at the 
time, saw an overwhelming amount of Ivermectin prescriptions come to the pharmacy,
most of which, were denied by insurance. There were however, plenty of Medicare 
claims that were processed, which brings us to the bigger picture. 
# Here we are filtering to observe only Ivermectin spending, and condensing the names of the columns to its appropriate year of spending for 3 of the manufacturers that received the largest payouts from Medicare Part D for Ivermectin.

Iver <- MPartD %>% select(!c(Brnd_Name)) %>% filter(Gnrc_Name == "IVermectin") %>% slice(c(2, 6, 10))
IverSpend <- Iver %>% select(c(Mftr_Name, Tot_Spndng_2017, Tot_Spndng_2018, Tot_Spndng_2019, Tot_Spndng_2020, Tot_Spndng_2021)) %>% rename("2017" = "Tot_Spndng_2017", "2018" = "Tot_Spndng_2018", "2019" = "Tot_Spndng_2019", "2020" = "Tot_Spndng_2020", "2021" = "Tot_Spndng_2021")
# Here we are reformatting the data, and creating our visualization

IverSpndLong <- tidyr::gather(IverSpend, key = "Date", value = "Count", -Mftr_Name) %>% filter(!is.na(Count)) %>% arrange(Mftr_Name)

IverSpendGraph <-ggplot(IverSpndLong, aes(x = Date, y = Count, fill = Mftr_Name)) +
  geom_col(position = "dodge") +
  geom_text(data = subset(IverSpndLong, Mftr_Name == "Merck Sharp & D"), 
            aes(label = Count), position = position_dodge(width = 0.9), size = 2.5) +
  ggtitle("Medicare Part D Spending on Ivermectin by Manufacturer") +
  theme_minimal() + 
  xlab("Year") +
  ylab("Dollars Spent") +
  labs(caption = "* Values provided are for Merck Sharp & D, which are relatively small *", fill = "Manufacturer Name") + 
  scale_y_continuous(breaks = seq(0, 20000000, by = 1000000), 
                     labels = scales::comma)
  
  
IverSpendGraph

# Here we are doing the same as with the Ivermectin spending report, but with the total quantities of prescriptions submitted through Medicare Part D

IverClaims <- MPartD %>% select(!c(Brnd_Name)) %>% filter(Gnrc_Name == "IVermectin") %>% select(c(Mftr_Name, Tot_Clms_2017, Tot_Clms_2018, Tot_Clms_2019, Tot_Clms_2020, Tot_Clms_2021)) %>% rename("2017" = "Tot_Clms_2017", "2018" = "Tot_Clms_2018", "2019" = "Tot_Clms_2019", "2020" = "Tot_Clms_2020", "2021" = "Tot_Clms_2021") %>% slice(c(2, 6, 10))
IverClaimsLong <- tidyr::gather(IverClaims, key = "Date", value = "Count", -Mftr_Name) %>% filter(!is.na(Count)) %>% arrange(Mftr_Name)
view(IverClaimsLong)
# Here we are visualizing total claims

IverClmsGraph <- ggplot(IverClaimsLong, aes(x = Date, y = Count, fill  = Mftr_Name)) +
  geom_col(position = "dodge") +
  labs(title = "Total Amount of Ivermectin Claims by Manufacturer",
       x = "Year",
       y = "Number of Claims",
       fill = "Manufacturer Name") +
  scale_y_continuous(breaks = seq(0, 250000, by = 10000),
                     labels = scales::comma) +
  geom_text(aes(label = scales::comma(Count)), 
            position = position_dodge(width = 0.9),
            size = 2, 
            vjust = -1)

IverClmsGraph

Interpreting the Results

The results, while astounding, still have a lot of grey area. We can see enormous jumps 
going into the years of 2020 and 2021 by the three manufacturers that had the largest 
claims, and Medicare Part D payouts. What this means is that not only did Medicare 
patients jump into the Ivermectin wave, but also that Medicare was paying for these prescriptions. More than just a discovery, it's an opportunity. An opportunity to open 
up the conversation about our geriatric comminunity and Medicare practices. Clearly 
these claims were processed, submitted, dispensed, and payed out. Was it a jump to a 
commercialized pharmaceutical industry? Or rather, was it something more sinister?

The world of phamracy, and pharmaceuticals has never been, and will never be 
straightforward. As I stated, there are plenty of loopholes that our capitalist, 
for-profit nation has found that affect the accuracy of investigations like these.
I'll provide an example: There were many insurances that were cracking down on the 
"Ivermectin Craze", Medicare Part D included. These insurances were denying
prescription coverage on Ivermectin claims that appeared to have been 
inappropriately written for the non-FDA approved treamtent of Covid-19. When 
this happens, patients have two options: Ask their provider to petition for the 
medication to be covered by calling the insurance company, or simply pay out of 
pocket (cash price) for the medication with no insurance. If the patients did this, 
it's as if there was no prescription under Medicare Part D to begin with, 
affecting accuracy on multiple levels. So we have many, possibly thousands of 
prescriptions that flew under the radar. We are however, able to work with 
what we have.