<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Scott Ogden on Medium]]></title>
        <description><![CDATA[Stories by Scott Ogden on Medium]]></description>
        <link>https://medium.com/@scottogden10?source=rss-6a22af242dde------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*ess7jcAvfaLqNE-5ch6D8A.jpeg</url>
            <title>Stories by Scott Ogden on Medium</title>
            <link>https://medium.com/@scottogden10?source=rss-6a22af242dde------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 15:45:54 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@scottogden10/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Our social determinants personas]]></title>
            <link>https://medium.com/data-science/our-social-determinants-personas-353399250ed4?source=rss-6a22af242dde------2</link>
            <guid isPermaLink="false">https://medium.com/p/353399250ed4</guid>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[datarobot]]></category>
            <category><![CDATA[readmission]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[social-determinants]]></category>
            <dc:creator><![CDATA[Scott Ogden]]></dc:creator>
            <pubDate>Wed, 20 Feb 2019 23:18:07 GMT</pubDate>
            <atom:updated>2019-02-22T18:30:30.072Z</atom:updated>
            <content:encoded><![CDATA[<h4><em>Or how we built an industry-beating readmissions model using social determinant risk groups and some fancy data science.</em></h4><p><em>DataScience@HF</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*T8Mu9-bQVhJknhQ93GGIHg.jpeg" /></figure><p><strong>Do social determinants scores matter?</strong></p><p><a href="https://towardsdatascience.com/predicting-the-social-determinants-of-health-6e1fade435cc">Last time </a>we wrote about the power of using machine learning to infer member’s social needs and the ways of validating our approach. Here, I wanted to talk about the analytic value the <a href="http://hiteqcenter.org/DesktopModules/EasyDNNNews/DocumentDownload.ashx?portalid=0&amp;moduleid=849&amp;articleid=1377&amp;documentid=206">nine</a> different risk scores we built. In healthcare, an approximation for how sick someone is is if a <a href="https://www.cms.gov/medicare/medicare-fee-for-service-payment/acuteinpatientpps/readmissions-reduction-program.html">patient goes back to the hospital</a> following a discharge.The importance of this from both the care and policy landscapes can’t be <a href="https://revcycleintelligence.com/news/3-strategies-to-reduce-hospital-readmission-rates-costs">overstated </a>. So a useful heuristic we developed when building model features across <em>analytics@hf</em> is “does X predict readmissions?” I’m glad you asked, dear reader. It actually creates a</p><p>LITERATURE-BEATING READMISSIONS MODEL</p><p>We built a <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4932323/">literature-beating </a>model with just our social determinants personas…and we did it in 20 minutes using <a href="https://medium.com/neobbe/datarobot-23286a2730d2">DataRobot</a>. Here it is — it’s a glm-ensemble of xgBoosted trees with early stopping, some anomaly detection, random forest with gini importance, Vowpal stagewise polynomial feature classifier (but that doesn’t really matter). We ran our analysis in 20 minutes courtesy of <a href="https://medium.com/neobbe/datarobot-23286a2730d2">DataRobot</a>!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/601/1*qXmRJyop9WesChPKWrmqIw.png" /><figcaption>Permutation importance for our model — economics and issues regarding the justice system matter a lot for readmissions</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/331/1*LHG2qdzTq9IBDIQzcQHHzw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/331/1*gCwoYDhG4-u398sI_cKQzA.png" /><figcaption>Pretty good differentiation</figcaption></figure><p>Pretty charts aside, the point is I don’t even need other features to create an awesome readmissions model. In fact, when I add in my 800ish column modeling asset (on which I should write a blog) the auc creeps up to 0.80, which is <em>definitely</em> worth the work but the effort vs reward should be kept in mind by the data science project manager.</p><p><strong>What do our 9 risk scores tell us?</strong></p><p>Probably two things. Let’s see the correlation matrix:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/599/1*K-hcMh-w6a_70wSwLKjibg.png" /><figcaption>We see a lot of the factors loading strongly on the first principal component..but clearly one isn’t enough</figcaption></figure><p>A trick to doing PCA by eye, and don’t tell your stats teachers, is to order your correlation matrix by the angle of the eigenvalues.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/592/1*0OdoqJBvUzin0MA55GgsYQ.png" /><figcaption>I see two clusters kind of, okay fine let’s look at the skree plot</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/583/1*skRW2mIkXgEdgbt77apOmA.png" /><figcaption>Looks like 2 it is</figcaption></figure><p>Using the standard orthogonal transform in R’s <a href="https://cran.r-project.org/web/packages/psych/psych.pdf">Psych </a>package’s PCA function we tried to figure out what latent factors underlie these 9 scores.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/815/1*nzFmJD2DTVbtKktmtQLLMA.png" /></figure><p>What do we find? Well we see two real drivers of variance (93% of the variance is explained by two factors). You could make a case that we should force 3 factors given housing circumstance loads equally on both, but we don’t get much more variance explained doing that. So we call the latent factors<strong> ‘</strong><a href="http://thenationshealth.aphapublications.org/content/46/7/1.3"><strong>Social Situation’</strong></a>and<strong> ‘</strong><a href="https://www.rwjf.org/en/library/research/2012/12/how-does-employment--or-unemployment--affect-health-.html"><strong>Work-Related.</strong></a><strong>’</strong> And they make logical sense. Going forward, we’ll use the component scores for parsimony.</p><p><strong>Can we create a persona view for social risk?</strong></p><p>Let’s finish this exploration with a customer-segmentation type analysis, only for the social scores. According to the <a href="https://stat.ethz.ch/R-manual/R-devel/library/cluster/html/clusGap.html">gap statistic</a> method we should expect 18 clusters in our data (of 9 columns and 1.4 million rows). So I ran k-means on the risk scores and wrote down names for the groups based on their risk scores aggregates. I also created a severity score so a business unit might know which cohort to prioritize, using the descriptions to connect to social services like <a href="https://www.fns.usda.gov/snap/supplemental-nutrition-assistance-program-snap">SNAP</a> , <a href="https://www.benefits.gov/benefit/728">PATH </a>or food pantries. We’re currently using these scores to help our care managers connect members with these types of resources via a social connection platform called <a href="http://: http://www.nowpow.com/">NowPow</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/915/1*sb5gRi3nBE4bPV0RSWjuhw.png" /><figcaption>Here’s a far too confusing view of our clusters, nonetheless, it’s the chart everyone shows :)</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/951/1*Tp3sjGtA8rJuw3z9uJGEcQ.png" /><figcaption>Here’s an easier to digest view of the clusters with some simplistic name scheme. I also developed a rank order severity based on the average risk score per group, for prioritization</figcaption></figure><p>This is the kind of thing we can share with decision makers and clinicians to help them prioritize which members need which type of social support. Most of our members are low risk on most of the scores. The ultimate goal is a clear view of risk levels, intervention scores and recommended programs to help members get connected with services that can help them be healthier, safer and more stable lives.</p><p><strong>Wrapping up</strong></p><p>So we learned two things You can get industry-leading prediction results by incorporating social risk scores into your health outcomes models. We have two or three latent factors in the description of social risk and we can use them to create personas for more targeted intervention.</p><p>One last thing to discuss…why doesn’t everyone<a href="https://medium.com/@steve_prewitt/building-an-advanced-analytics-capability-8f65b455ff6d"> just do this</a>? I’ll write more about this in a future post but to create all this, I used Python, R, Tableau, Excel, DataRobot and most importantly, the snipping tool. There’s no perfect package, there’s no one kind of beautiful soup, just get the job done as compellingly as possible as quickly as possible. Two variables (speed and completeness of story) to trade on some economist’s marginal curve; your value as analyst is where on the curve you lie.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=353399250ed4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/our-social-determinants-personas-353399250ed4">Our social determinants personas</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Predicting the social determinants of health]]></title>
            <link>https://medium.com/data-science/predicting-the-social-determinants-of-health-6e1fade435cc?source=rss-6a22af242dde------2</link>
            <guid isPermaLink="false">https://medium.com/p/6e1fade435cc</guid>
            <category><![CDATA[healthcare]]></category>
            <category><![CDATA[health-disparities]]></category>
            <category><![CDATA[innovation]]></category>
            <category><![CDATA[social-determinants]]></category>
            <category><![CDATA[data-science]]></category>
            <dc:creator><![CDATA[Scott Ogden]]></dc:creator>
            <pubDate>Tue, 05 Feb 2019 22:44:31 GMT</pubDate>
            <atom:updated>2019-02-08T17:44:33.586Z</atom:updated>
            <content:encoded><![CDATA[<p><em>DataScience@HF</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*OMPgZT1DsPqFDbP-" /></figure><p><a href="https://www.healthypeople.gov/2020/about/foundation-health-measures/Determinants-of-Health">Social determinants of health</a> — factors outside of a person’s direct health status such as employment, where they live, and education level — drive at least <a href="https://www.kff.org/disparities-policy/issue-brief/beyond-health-care-the-role-of-social-determinants-in-promoting-health-and-health-equity/">twenty percent</a> of health outcomes. At Healthfirst, members facing challenges related to these determinants go to the hospital 30% more, stay up to 2 days longer in the hospital when they go, and have 33% higher healthcare costs. The problem is we lack the data to systematically measure them. If this data were readily available, we’d enable new methods of connecting people to social and environmental services to help treat, prevent and cure medical conditions, improve quality of life and, reduce overall medical costs.</p><p>As an insurance provider with 1.4 million New Yorkers (1 in 8!), our data science and population health strategy revolve around analyzing clinical data and predicting health behavior and outcomes. Could it be that we were missing something so fundamental to understanding our members? Yes, definitely. In a city where <a href="http://furmancenter.org/thestoop/entry/focus-on-poverty">three in ten households</a> are below the federal poverty line (FPL), it seems superficially wrong that only one percent of our members’ medical claims contain an indicator of financial stress. This is why it’s good to have <a href="https://link.medium.com/9VWgFcznWT">priors</a> before you do anything analytically.</p><p>The good news is that machine learning can help. There has been plenty of unsupervised work done to classify neighborhoods and <a href="https://equityhealthj.biomedcentral.com/articles/10.1186/1475-9276-12-21">create risk indices</a>. But we have labeled data! True positive labels come from those 1% of claims with a so-called <a href="https://healthitanalytics.com/news/icd-10-allows-non-physician-documentation-of-social-determinants">Z-Code</a> and we are <em>reasonably</em> sure of our true zeros (probably 1–3 in ten will be mislabeled based on our priors). Statisticians will cringe, but <a href="https://arxiv.org/abs/1705.10694">deep learning is robust against label noise</a>. <a href="https://projecteuclid.org/download/pdfview_1/euclid.ejs/1474373835">One-sided label noise</a> is a little different because estimating the real class-conditional distributions require stricter theoretical assumptions (we will have an upcoming blog about this!). Using everything we know about a member (demographics, neighborhood, disease burden, utilization, medications) we can reasonably predict which members may be struggling with these same social factors as in the labeled set. We built 10 models (<a href="https://healthitanalytics.com/news/icd-10-allows-non-physician-documentation-of-social-determinants">one for each set of diagnosis codes</a>) and scored our entire membership with it. Armed with this new knowledge, our population health team, care managers and provider partners can more readily reach out to members who might be struggling with one or more social factor and connect them with helpful resources like <a href="http://www.coalitionforthehomeless.org/resources/prevention-assistance-and-temporary-housing-office-path/">PATH</a> for housing and <a href="https://www.fns.usda.gov/snap/supplemental-nutrition-assistance-program-snap">SNAP</a> for food insecurity.</p><p>These risk scores are valuable on their own and also provide a rich new feature-set for further analysis. The health insurance industry hasn’t figured out how to incorporate them into <a href="https://www.modernhealthcare.com/article/20180825/NEWS/180829956">a risk model</a> yet, but that doesn’t stop them for using them to impact clinical outcomes. The financial and housing stress risk score is the second most important variable in our <a href="https://www.ncqa.org/hedis/measures/plan-all-cause-readmissions/">Plan All Cause Readmissions</a> model, after “have you been readmitted in the past?” Indeed, the first principal component of all 10 scores acts as a decent readmissions model itself: AUC of 0.68 and Brier score of 0.19. Our goal is to use them as a standard descriptive feature in any analysis, much like you would age or ethnicity.</p><p><em>Here’s a density map of our members with known social determinant status</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/952/1*49cpwXTu05VrbxrgfMXkQg.png" /></figure><p><em>And here we have all members classified by our models, a factor of 10 more!</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/952/1*Gy92qfSKuDdD9nEk6PMdJg.png" /></figure><p><strong>VALIDATION AND IMPACT</strong></p><p>As a provider-sponsored health plan, we are lucky enough to have the ultimate validation set of data: something that was nowhere near the data scientists during model training. We have survey data from <a href="https://healthfirst.org/about/sponsor-hospitals/">sponsor hospitals</a> that tries to capture members struggling with social burdens. They built the survey not knowing we were modeling and we built the models not knowing they were going to survey. The results: a c-statistic of 0.71 and Brier Score of 0.16, which means we are <a href="https://medium.com/lessons-from-mckinsey/making-decisions-under-uncertainty-c1d1dfbb02b2">directionally correct</a> (You can practically hear the chorus of data scientists singing, “All models are wrong, some are useful”).</p><p>Our understanding of the social determinants needs to inform every clinical interaction we have with our members. If we notice members are struggling to afford food (or even if we have a good guess), we can connect them to important services they might not know about.</p><p>As we <a href="https://medium.com/@jrao128/data-driven-decision-making-in-health-care-41baef41cc18">progress</a> in our vision to better understand the needs of our membership, we will improve provider recognition of these conditions and partner with more sponsors; both of which gives us better labels which yield better models. Let’s definitely do that. But also, we can use the ideas developed here to immediately impact our members. That’s why I show up to work.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6e1fade435cc" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/predicting-the-social-determinants-of-health-6e1fade435cc">Predicting the social determinants of health</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>