Philadelphia pharmacies loved OxyContin — until suddenly they didn’t

Category: Best visualization (small and large newsrooms)

Country/area: United States

Organisation: Philadelphia Inquirer

Organisation size: Big

Publication date: 12 Dec 2019

Credit: Nathaniel Lash

Project description:

This graphic shows how a single moment (August 2010, when Purdue Pharma altered OxyContin to make it harder to abuse) reveals how much of Purdue’s business in Philadelphia was directly fueling abuse and supplying illicit drug markets. It relies on newly unsealed federal data, th showing which pharmacies immediately abandoned OxyContin when it became harder to abuse (and instead quickly moved into other potent opioid pills, and how the much of the drug had been supplied by those few pharmacies. This graphic accompanied an article that focused on what we know about that moment and the consequences for the entire

Impact reached:

It’s hard to say what the full impact of this work is at this point. We are continuing to report on the pharmacies (one came under federal investigation shortly while reporting on this story) and litigation involving Purdue Pharma, the Sackler family, and other drugmakers is ongoing. We hope this reporting has provided some context for stakeholders, litigants and the general public.

Techniques/technologies used:

This project was built on analysis of a massive trove of federal data using a mix of UNIX commands and Python scripts (primarily the pandas and numpy libraries). I used both the raw data that was ordered released by the court and a filtered version that was published by the Washington Post.

This “ARCOS” data, weighing in at >100GB, was too large to deal with on a local machine in its raw form. So UNIX commands (mostly grep, really) were used to slice the larger dataset of drugs into categories by state, county and active ingredient. Those were fed to Python scripts that produced comparatively managable datasets of the monthly orders made by each pharmacy in the U.S. for the types of drugs I was interested in. That aggregated dataset formed the basis for much of the analysis in the story and graphic.

The graphic itself is a “scrollytale” built with d3.js. It leans heavily into maintaining discrete objects for the reader to hold onto as the story moves along. The main way this was accomplished was by making each “drug” the object that is manipulated, either by filtering data to certain pharmacies or between certain dates. One useful piece of technology that made that easier was Flubber, a javascript library that makes interpolation between SVG shapes much cleaner.

Further below, I checked “desktop” as the superior platform for viewing this project, but some may find the experience on mobile more compelling.

What was the hardest part of this project?

Setting out, we knew we were going to do a story on OxyContin’s role in the region, it quickly becoming clear that OxyContin made up a huge portion of Philadelphia’s opioid market, and at a rate that far exceeded most other areas. I sliced and diced maps, charts and metrics around those particular findings dozens of times, even drilling down to the pharmacies that ordered the most of the drug.

But the story seemed a little hollow, stating particular factoids about OxyContin that weren’t particularly interesting (to me, at least).

It took a few weeks of reporting to get a breakthrough around which I could build a coherent story. We knew and were interested in Purdue’s decision to “reformulate” OxyContin (as they put it) in 2010, but my analysis had been too coarse to see how it actually played out. As I learned more about the drug and spoke to experts in opioids, I decided to throw out a lot of previous work to zero in on that moment when the abuse-deterrent drug hit the market.

As soon as the data was in good enough shape, much more shocking findings came forward: pharmacies abandoned the most potent opioid on the market as soon as it became harder to crush. The effect was immediate and so startingly obvious (once we knew to look for it) that we were surprised to find many were still in operation.

What can others learn from this project?

To drive in the previous response: Look for inflection points — they can be moments in time, or boundaries between geographies where something changes. The edges represent something real, something that changes and begs explanation. Follow up with reporting to get to the bottom of it. What makes these discrete little moments so useful in data journalism is that instead of looking at broad periods or regions 

Another useful point: we had a perfect case study in Northeast Pharmacy, largely because it was caught up in a larger federal case years back. Many pharmacies had very similar histories of oxycodone orders. But Northeast’s pharmacist had pleaded guilty to directly supplying drug traffickers, and the ensuing trial provided sworn testimony that provided plenty of color and context for how these schemes were operated. Dig deep on entities that your analysis and algorithms surface, and find the one you can hang your hat on.

Project links: