EHR with R - Practice Fusion Open Challenge 2nd place Visualizations

First time Kaggler Yasmin Lucero aka Yolio took home 2nd place in the Practice Fusion Open Challenge by combining Electronic Health Records with general population data. Also, lots of good tips on using R for visualizations ( Go ggplot2! )

What was your background prior to entering this competition?

I earned my PhD doing mathematical biology and statistics in the field of marine fisheries science. I have done analytical work on a variety of problems in environmental science, mostly working for NOAA (National Oceanographic and Atmospheric Administration).

What made you decide to enter?

It was a chance for me to build my portfolio. I recently decided that I want to move into doing data analytics work for a tech company in the health and wellness sphere. I need opportunities to demonstrate how my skills transfer to this new area and how I add value. This project was perfect for that.

What preprocessing methods did you use to study the data?

I work primarily in R. I used a package called RSQLite to access the SQL database. I did this partly because I thought I would be doing a lot of joins, but I found that practice fusion had already provided tables with almost everything I wanted (the data was in great shape). I did eventually write a few SQLite queries of my own: I wanted the number of doctor visits, medications and diagnoses for each patient. You can sort of do this in R with the aggregate function, but the database was large enough for it to be quite slow. SQL is really good at doing that sort of thing fast.

Once the data was in R, I did exploratory analysis using the functions str and table. Then, I made many histograms and other plots. I spent lots of time studying the metadata/schema that was provided in a pdf file. I did a bit of recoding. I recoded dmIndicator to a logical variate (TRUE/FALSE). I recoded the NIST smoking codes. That was tricky; I had to dig around the internet quite a bit to make sense of the metadata that was provided. I eventually was able to recode the NIST codes into a binary logical variate called Smoker. I also came across some obvious measurement error: there were several weight measurements for greater than a 1000 pounds and height measurements for people greater than 9 feet tall. I ended up cutting out lots of unrealistic weight/height measures. I converted Year of Birth to age. I ended up removing all of the data for Puerto Rico, since I couldn't get comparative general population data.

How did you decide what aspects of the data to use?

I wanted to find out how representative this medical population was of the general U.S. population. So, I was interested in any data that I could get both for the EHR and the general population, via the census or other surveys. I searched the internet for general population data for anything that was also in this data. This boiled down: obesity rates, smoking status, diabetes status, state of residence, age and gender.

Were you surprised by any of your insights or any key features?

Yes, I thought that the spatial distribution of the patient population would drive the overall population characteristics, but this didn't happen. It seemed that the EHR population represented a specific demographic slice that was the same regardless of which state they were in.

Which tools did you use?

The graphics are all made with the ggplot2 package in R. I made a lot of use of the reshape2 package as well, to prepare the data for plotting. And I used RSQLite to get the data into R, and to implement a few queries. And I used the knitr package to generate the markdown report.

What have you taken away from this analysis?

I think that my favorite result was the age/bmi distribution for diabetics vs non-diabetics. Most diabetics are older, but young diabetics are much more prone to be very overweight. Older diabetics have a weight distribution that isn't that different from older non-diabetics. I also thought it was interesting that while there is a strong relationship between diabetes and BMI, most overweight people are not diabetic. Even at extremely high BMI, 2/3 of people are not diabetic.