How K Delivers Free Personalized Healthcare Information
Updated: Feb 28, 2020
by Ran Shaul Co-founder & Chief Product Officer, K Health
A couple of years ago my wife had a headache that lasted three days. She’d never had a headache that lasted that long, so she was worried and in pain when she turned to the internet to research what might be the cause. One of the articles she read there suggested the pain might be caused by a brain tumor. My wife is not an anxious person, but the combination of this information with the fact that an uncle of hers had died of a brain tumor sent her rushing to a neurologist’s office to get checked out.
The doctor examining her noticed that her headache intensified when she leaned forward—a telltale sign of sinusitis. The doctor tried to reassure my wife, but her anxiety was not relieved. She decided she needed to get an MRI to be sure. Predictably, the MRI showed there was no tumor, and a course of antibiotics took care of the sinus headache in a few days. We were both frustrated that something so simple ended up being so painful, scary, time consuming, and expensive.
You probably have a similar story of worrying about a health issue that turned out to be much less serious than you feared. How is this still so common in the information age? We all have access to virtually anything we want to know through the internet, but perhaps the most precious of information—trustworthy insights into our personal health—is still a black box. The importance of addressing this frustrating reality grows every day. Even Google admits the lack of trustworthy health information online is a major problem, writing in a 2016 blog post, “Health content on the web can be difficult to navigate, and tends to lead people from mild symptoms to scary and unlikely conditions, which can cause unnecessary anxiety and stress.”
Meanwhile, the cost of healthcare is skyrocketing. In the U.S. alone, we now spend an incredible $3.6 trillion annually on healthcare, but our health outcomes are no better (and often worse) than comparable countries. Imagine what else that money could be spent on! Even if you’re one of the lucky few who can afford to connect with a doctor, they’re notoriously difficult to access in the moment you need care—new patients wait an average of 24 days for an appointment!
We’ve never needed easier access to personalized health information more than we do right now, and that’s why we built K.
By applying recent advances in natural language processing and machine learning to health data in new ways, K has finally made it possible for everyone to access personalized information about their health for free. But before I tell you more about how K works, let’s look a little deeper into why alternative sources of healthcare information come up short.
Doctors are difficult to access
Everyone knows a sure fire way to get good health information is to talk to a doctor. But unfortunately doctors usually aren’t easy to access in the moment you need care. Doctors are human like the rest of us and don’t work 24/7. Even when they are in their offices, it’s often extremely inconvenient to schedule an appointment, travel to an office, and wait to be seen. Even if you look past the inconvenience of it all, many of us can’t look past the rising costs. It’s simply much harder to get health advice from a doctor than it is to get pretty much any other service in society, resulting in many people simply avoiding the experience altogether.
Google & WebMD don’t know anything about your unique health situation
Before or instead of going to the doctor, we often turn to the web for information. In fact, according to the Pew Internet & American Life Project 2018, 80% of Americans have searched for a health-related topic online. But what we find there is often inaccurate, irrelevant, and unnecessarily scary. Everyone sees the same articles or videos despite the fact that everyone’s health is obviously unique. What’s missing on the web is a way to account for important factors like the details of your symptoms, medical history, age, and gender. Without those inputs, there’s no way to know which information is relevant to your situation. Static content on the web simply isn’t trustworthy or useful for something as important as your health.
What about symptom checkers?
So how do you put reliable health information into people’s hands at home? Most everyone thinking about this problem has come to the same conclusion: you build a symptom checker that uses a chat interface to ask questions and present results. But many symptom checkers are woefully inaccurate. Why?
Most symptom checkers rely on static protocols, or rules, developed by doctors. For example, symptoms A + B + C equals condition Z. This might be true some of the time, but what happens when one user is 56 years old while another is 22? Does that change things? What if a user has a chronic condition like diabetes or lupus? You can make rules to account for these critical nuances, but in the end, you need infinite rules and infinite combinations of rules to handle all the nuances of a single user’s symptoms, medical history, age, and gender. Unfortunately the accuracy of these rule-based symptom checkers starts to break down pretty quickly.
We need a new way to get health information that’s Personalized
Everyone deserves to be a more informed and active participant in the decisions that impact their health. But since doctors are difficult to access, online health information isn’t personalized, and symptom checkers aren’t flexible enough to give accurate results, we need to take a different approach.
This is the story of K.
Using real medical records to personalize health information
In 2016, my co-founders and I asked ourselves, what if instead of training a machine to follow a set of static rules, you trained it to learn from medical records like a real doctor? An intelligent system like that would get smarter over time on its own, instead of requiring a never-ending input of new rules, written by people. With enough data you’d be able to see all the common ways that conditions show up in real life—both the common and less common patterns of disease. If the machine could synthesize all this information it would understand the connections between symptoms and their ultimate diagnosis and treatment in a clinical setting. We could do this across all of primary care to start, with more medical specialties to follow.
So our approach started with data. But where could we find enough reliable data to train an intelligent machine (AI) to understand primary care?
While the U.S. has moved to digitize its health records over the past 10 years, most records are stored in siloed EMR systems that don’t interact. Your health record may be scattered across dozens of EMRs, and it’s often more billing information than medical. So we looked outside the U.S. and found the data we were looking for with one of the world’s leading health institutions— Maccabi Health Services in Israel. The physicians at Maccabi practice medicine on the level of the world’s top medical institutions and they’ve organized their patient data in a way that more easily facilitates research. We partnered with them to access the EMR data of over 2 million anonymized people from the past 20 years. That’s over 2 billion health events. This data provided the jump start we needed to build K.
Preparing the data to protect privacy
Our first task alongside our partners at Maccabi was to ensure that everything in the data set they made available to us was appropriately anonymized in order to protect the privacy of the patients whose information was being analyzed. Absolute patient privacy was then, and is now, a non-negotiable at K.
First, Maccabi used common practices to remove any personal identifying information from all of the data. They then gave us local access within a secure network, totally disconnected from the internet. In order for K to understand the millions of handwritten doctor notes it was analyzing without compromising privacy, we developed a protocol to obfuscate personal information such as ID numbers, phone numbers, addresses, profession, country of origin, and other fields to ensure the anonymity of all of the data.
Learning the language of primary care
As I mentioned earlier, one of the limitations of online content and basic symptom checkers is that they aren’t able to handle the nuances of specific symptoms and biological factors that are critical to understanding what’s going on with your body. For example, stomach pain that burns under your rib cage is much different from a stabbing pain in the lower right side of your abdomen. The first outcome is likely heartburn, requiring Tums, while the latter could be appendicitis that requires surgery!
To begin to understand all of these nuances, we fed K over 400 million doctors' visit notes and used natural language processing to pick up on relevant symptoms, along with their attributes and values like severity and duration. Using advanced modeling, the machine automatically learned to understand the connections between symptoms, attributes, values, and the patient’s age, gender, and other biological factors. It essentially learned the ontology, or language, of primary care from the way that doctors and their patients talk about their experiences.
Learning to classify conditions
Once the machine understood symptoms, their attributes and values, it began to understand how these presenting symptoms added up to the ultimate diagnosis. Using complex mathematical models, the machine developed an understanding of the likelihood of a particular condition based on the incidence of that diagnosis in the underlying patient data. It could then apply those likelihood ratios to new cases entered into the system.
So when you chat with K, it compares your case to cases like yours amongst people who share your age, gender, medical history, and specific symptoms. It shows you the condition that was diagnosed and all the ways doctors treated those conditions including medication, tests, and other treatments.
Training the machine to ask the right questions
The most sophisticated ontology and classifier would be nothing more than a heap of code if we didn’t also design an intuitive way for users to report their symptoms.
So next we built a conversation manager that asks questions in a pattern that mimics the conversation you’re used to having with your doctor during a visit. You start by telling K what’s wrong. This is called your “chief complaint.” From there, K asks about the details of that symptom and runs through all the symptoms that could be related to your chief complaint in order to expand its understanding of your situation, and narrow down the list of possible conditions. Every conversation with K is unique and the AI decides on the fly which questions to ask next based upon your answers to previous questions.
K then compares your case to the cluster of similar cases where real people shared your symptoms, medical history, and biomarkers. We call this group your ‘People Like Me’ cohort. It shows you how doctors diagnosed those people and all the ways they were treated. You might find out that people like you got immediate medical attention, or you may see that when they visited a primary care doctor, the doctor only recommended over the counter medication. Narrowing the universe of possibilities down to a handful of conditions and treatments doctors recommended to real people in your situation is a dramatic improvement over reading irrelevant and possibly inaccurate information online that doesn’t know nearly as much about you as K does.
Building a feedback loop that helps K get smarter automatically
K was now an intelligent machine, capable of having a unique dialogue with each user to understand more about their personal health context. It compared that information with millions of health records to give users visibility into how doctors diagnosed and treated people like them in real life. This was a huge step forward.
The next challenge was to build a process for K to get smarter automatically over time by learning from the cases that users share with it every day. If we could create a closed feedback loop that synthesized the new information that was always coming in with the existing dataset that K had been trained on, then the machine could deepen its basis of knowledge over time in much the same way a human doctor does (but much faster and at unlimited scale with people all over the world!).
K started following up with users to find out how their symptoms had evolved in the days following their complaint with K, and also tracked the clinical diagnoses users had received from their doctors. This ongoing conversation over time means that your results can change as your symptoms change, and the additional data gives K visibility into how more and more cases are ultimately resolved in a way that aggregates the wisdom of the entire medical community into one intelligent machine.
Why this matters
At the end of the day health technology doesn’t really matter to anyone unless it has the potential to improve our health and the health of those we love. We’re proud to have built a product that has the potential to do that by giving people free access to the information and quality healthcare they struggle to reach today.
Soon K’s abilities will expand beyond adult primary care to include pediatrics, orthopedics, chronic care management, and dozens of other medical specialities. The introduction of this intelligent system has enormous implications for doctors and people everywhere. In my family alone, it has already given us far more control of our health, while eliminating a number of unnecessary doctor visits along the way. We’re living healthier, smarter lives, and saving time, money, and anxiety in the process. I know it can have the same impact on your family that it’s had on mine.