H1N1: Painting with the HSG Palette
People ask me a lot why I came back to Microsoft after being away for so long. The answer is pretty simple: I don't believe there is anybody in the world better positioned to make a real difference in the world of healthcare technology. And that's about more than just a dollar commitment. Microsoft has the right DNA, breadth, patience and audacity to create a portfolio of products that span the entire industry - so we can deliver real end-to-end solutions.
Once you've got that "palette" of tools to work with (and it's taken awhile for us to get to the point where the maturity is there to really leverage them), you can do amazing things really quickly. That's when things get truly awesome.
Recently we had the opportunity to demonstrate how this can work by playing a small but real part in the national effort to help deal with the H1N1 virus that seems poised to be a real challenge for our public health system.
Researchers at Emory University have been working for some time on an algorithm called SORT that is intended to help people self-triage when they are worried about flu symptoms. In creator Dr. Arthur Kellermann's words:
By providing an at-home tool that can help users evaluate whether they need to see a provider before they head to the hospital, we can encourage those who are severely ill or at risk for serious illness to contact their doctor, and reassure everyone else that it is safe and prudent to recover at home. This will reduce the number of people needlessly exposed to H1N1 influenza in crowded clinic and ER waiting rooms, and allow doctors and nurses to focus their attention on those who need them most.
Microsoft has partnered with Emory to make this self-assessment tool as widely-available as possible by launching the H1N1 Response Center. I'm not going to rewrite the press release on the Response Center here; instead I'm going to talk about all the pieces that came together to make it happen.
The Response Center has three parts to it; each serving a different purpose:
The Self-Assessment website. The anonymous survey is hosted on our cloud-based computing platform Azure. While the site itself is relatively simple, running it on Azure provides us virtually unmatched scalability - so the site will stay available even if it experiences heavy "burst" traffic due to specific news events or other spikes.
For individuals who decide to go to a provider for care, they can use our simple "prepare for visit" HealthVault application to ensure that they have all the information available to receive the care they need. Using this free application also helps populate a personal health record that can be used on a go-forward basis to help coordinate care using a wide variety of personal health tools and services.
On an opt-in and optional basis, we invite people to submit the results of their assessments for use in public health research and surveillance. This information is sent through an Azure Queue to a hosted instance of the Amalga 2009 Unified Intelligence System and the aggregate information is made available on a real-time basis to qualified organizations. That's worth saying twice - the information is made available on a real-time basis - and visualized in the Amalga UIS client application that allows rich analysis as well as integration with other tools. [Note: if you are a researcher who would benefit from access to this information, please contact me using the form on this blog or by sending email to email@example.com]
Here's a simple diagram of how it all fits together:
At first glance the assessment site is pretty simple. In addition to some educational content from the CDC, primarily it's a sequence of questions that walk the individual through the decision tree created by Emory, resulting in an assessment as to the best course of action based on current understanding. Beneath the covers, though, a few interesting things are at work.
Most important is the scalability that running on Azure delivers. Microsoft has created an enormous computing "fabric" on which applications can be deployed. Once in the fabric, capacity can be dynamically increased and decreased as needed to support traffic bursts or lulls. This is a huge advance in hosting technology, because it is of course exactly during burst events that the applications are most needed. Very few companies today are in a position to deliver this level of resiliency.
Because "best practices" for self-assessment are also evolving rapidly as researchers learn more about the virus, the assessment site has been engineered to allow changes in the algorithms to easily flow into the site with minimal recoding.
Finally, the site supports the presentation of locally-relevant guidance in addition to its topline assessment. This can be used, for example, to direct individuals to local hotlines or triage centers to receive care, or to facilities where wait times are lower. We are working with a number of organizations to begin populating and maintaining this content.
From within the assessment site, users have the option to "prepare for a visit" with a HealthVault application and/or contribute their survey data for public health research and surveillance. If they choose either of these options, their information is sent to an Azure Storage Queue where it will be picked up by the appropriate target. Azure Queues make it super-easy to move information between loosely-coupled systems like these in a reliable way --- I've been really impressed with the performance of this stuff.
HealthVault "Prepare for Visit" Application
I'm not going to burn a bunch of words talking about HealthVault in this post --- suffice to say that it's our uber-awesome personal health platform; you can get a quick overview by skimming through my Nickel Tour.
What is interesting about our "prepare for visit" application is that it demonstrates how it's not a single "PHR Application" that's important. What transforms personal health is the data platform underneath, enabling a ton of special-purpose applications that help people accomplish specific jobs. We were able to create a very simple application tuned to one purpose - create a printout to bring to a doctor for a flu visit - and stand on the shoulders of all the other applications out there than make it easy to enter or (even better) automatically import medications, allergies, immunizations and so on.
I am confident that this new targeted application will introduce a whole new set of individuals to HealthVault and the value it offers --- goodness not just now but for the future.
Amalga UIS for Research and Surveillance
UIS is the core of so much of what we do within the Health Solutions Group. Originally created as "Azyxxi" within the Medstar network of hospitals, it is a product that can be hard to describe in a few lines. Perhaps the easiest way to describe the product is a tool for "real time business intelligence" - but it's really that and a lot more.
This is the only part of the H1N1 project I can actually take personal credit for! Once in awhile they actually let me do real work around here, and I had a great time building the parsers and views to support public health research and surveillance based on the assessment data people have chosen to contribute.
After the Azure site drops assessment information into its Azure Queue, a simple Windows service running in our data center pulls the messages out and submits them to the Amalga parsing engine. Here, the messages are transformed into a number of useful forms - ranging from granular detail views to a number of different aggregations (based on date, region, etc.). This all happens in real-time --- no batch processes to be found here! --- and the information is made directly available to researchers through the UIS client.
What is most remarkable about Amalga in cases like this is its ability to evolve and adapt as new needs emerge. For example, over the weekend it became clear that to identify spikes in particular regions we were going to need some transformations that I had not anticipated. In most systems, this kind of rework is cumbersome at best - in Amalga I was able to simply add a new "parser" and tell it to re-run over the historical message queue; just five hours after identifying the need the new view was available for use - like going back and rewriting history.
I'm going to be writing a lot more about Amalga in the next few months; it is a part of the palette I haven't spent enough sharing with folks here on the blog.
Wow, this entry got really long.
At the end of the day -- the point is, we saw a need and had a ton of great "parts" at our disposal we could snap together to deliver a solution - from concept to launch in just twenty-eight days. THIS is why I'm back at Microsoft, and it is a pretty wicked place to be. So what's next?