Thunderclap, the Newsletter of Rolling
Volume 9, Number 4, Summer 2008
In this issue:
Blatant Self Promotion: David Platt's Public Training Classes
Programming Microsoft .NET at Harvard University Extension School and ONLINE, starts Sep 15
Composite Application Library and Composite Application Guidance, ONLINE Oct 1-3
Microsoft Insurance Value Chain for ACORD in NYC Sep 16-19
Microsoft HealthVault in Boston Jan 6-9, 2009
Feature Article: What's All This I Hear About Microsoft HealthVault ?
Book from David Platt: Why Software Sucks (and What You can Do About It)
Annabelle and Lucy's Latest
Health care has changed drastically in the last decade or so. Today’s health care professionals spend far more of their time managing chronic disease, such as diabetes, high blood pressure, and multiple sclerosis; even cancer is now more often regarded as a chronic disease than an acute one. A friend of my wife’s recently passed away from breast cancer, but only after, in her husband’s words: “8 years, through 17 different chemotherapies, multiple radiation treatments, numerous surgeries, frequent hospitalizations, and many brushes with death, she fought.”
These conditions and their treatments generate a lot of data. And managing that data, tracking what works and what doesn’t so you can do more of the former and less of the latter, is often the difference between a good outcome and a bad one, or at the very least, a better one and a worse one.
That data management is what Microsoft HealthVault is about. My friend Clifford Goldsmith MD (now back with Microsoft), brought it to my attention last spring. And the more I looked at it, the more interesting it got. I decided I'd write this newsletter to explain to the world just what it is, how you find out more about it, and most of all, what's in it for you.
Q: What the heck is Microsoft HealthVault anyway?
A: Microsoft HealthVault (www.healthvault.com) is a web-based service that holds electronic medical records for individual patients. It is conceptually similar to a three-ring binder in which you store all of the paper information that you get from health care providers, except that it lives in the cloud on a Microsoft server, and you access it electronically.
In addition to giving you a paper report of a lab test (which you would then put into your binder), your doctor’s lab computer will store the result directly into your HealthVault account. Then instead of having to bring the binder to any other doctor that you want to see the results, or sending him a photocopy, the other doctor’s computer will, with your permission, read it directly from your HealthVault account. This makes it a lot easier to get the right data to and from the right people at the right times.
Q: What kinds of information can a HealthVault account store?
A: Instead of trying to model every single data item that anyone might ever want to use in the health care universe, as does the HL7 standard, Microsoft decided to add support for data items as application developers requested them. At the time of this writing, the HealthVault database schema contains about 60 different data items. Some of them are simple, such as Weight, which contains only the data field Value (how much did the guy weigh, in kilograms). Other items are more complex, such as Immunization. This item contains properties such as Administrator (who administered the vaccine to the patient); AnatomicSurface (on what part of the patient did the administrator give the vaccine); Manufacturer, Lot, and Expiration Date which describe the particular dose of the vaccine, and others.
Developers whose applications require additional data item types can work with Microsoft to design the type correctly and then add it to the HealthVault schema. HealthVault also contains facilities for private data extensions, which are fairly easy to do. But since the main benefit of HealthVault is easy sharing, it’s a good idea if you possibly can to either a) work with existing types or b) extend the model for everyone’s benefit.
Q: Who is allowed to see what information in my HealthVault account?
A: All data in a Health Vault account is owned solely by the owner of that account, and can only be accessed (read, added to, edited) with the permission of that owner. These permissions can be changed at any time by the owner. That’s why clinical applications can’t use HealthVault as their sole data storage mechanism, because the user might revoke access permission at any time.
Any application wanting to access the HealthVault database needs to be registered with Microsoft. As part of the registration process, the developers tell Microsoft what items of information their application needs to have in order to do its work, using the Application Configuration center at https://config.healthvault-ppe.com/Default.aspx . When the user first logs in from an application, he is shown a screen stating what information the app needs and asking for approval, as shown in the following screen shot:
This screen comes from HealthVault, not the application. In this case, the sample application is requesting access to the Height items stored in the owner’s HealthVault account. If the owner grants permission, the application can see that information. If he doesn’t, then it can’t. If the app attempts to fetch any other type of information, HealthVault won’t grant access to it. The owner can change an application’s permission at any time by using the HealthVault web site.
Q: What sort of applications and users can benefit from HealthVault?
A: Consider the daughter of a friend of mine, recently diagnosed in with juvenile diabetes at age 10. Studies have proven that controlling a juvenile diabetic’s blood sugar very tightly, keeping it exactly where it needs to be instead of allowing it to swing within a wider range previously considered acceptable, greatly improves the health of the patients into adulthood and beyond. Her parents need to measure her blood sugar from a finger stick very carefully, 9-15 times during the day and twice at overnight, every single day. They have to track its movements and its relations to her food intake so that they know how much insulin to give her and when. And they have to transfer this information to her doctor on frequent visits, so that he can plan her care, especially as she heads into adolescence. The precision with which they accomplish these tasks greatly affects her health, and the effort that these tasks consume greatly affects the whole family’s quality of life.
Diabetics track their blood sugar readings with automatic meters, and often administer their insulin with automatic pumps. The simplest meters just show a number, which the patient writes down in a paper book and tries not to lose. Once in a while the patient looks at a column of numbers and tries to make sense of them. Transcription errors are common and the data is hard to analyze. More sophisticated meters store up multiple readings and upload them to a PC on which the patient can track them and graph them. But even here, the patient is limited to using the data in an individual application. To get the data to the doctor, for example, the patient sometimes has to print it out and someone in the doctor’s office has to type it all in, although some proprietary web applications are starting to automate this process. Again, it costs time, effort and money, and is prone to error (which sometimes kills people when it happens in a health care application, as opposed to merely losing your high score in FreeCell.)
“Each of these meters seems to be incompatible with the others in data format and communication,” says the patient’s father. “The Insulin pump talks wirelessly to one specific meter which is kind of large and not as user-friendly as many of the others. The other (and more recent) meters from the same company do not talk to the pump so she has to enter the number from the BG check into the pump each time. Here’s a maddening fact: The data that is stored in the pump CAN talk wirelessly to that other meter so that we can upload to the PC and the Medtronic web site. We can also make that data available to the Dr. in that way as well. It looks like this: BG check on Meter A, manual entry into Pump for insulin adjustment, every so often wirelessly transmit from Pump to meter B. Upload from meter B to PC/Web.”
Now consider adding add HealthVault to the meter’s controlling application. Such meters already exist, see http://www.healthvault.com/Lifescan-bloodglucose.htm. The meter can now automatically upload readings to the patient's HealthVault account, where any permitted application can access them. The doctor's clinical system, in which he tracks all of the sugar readings of all of his patients, can download it even when the patient isn’t visiting (because the patient has granted him permission to do so, which can be revoked at any time). Case managers can monitor the patient’s self-management of the disease, which has been shown to improve outcomes and save money.
All kinds of good things can happen when the data is easily accessible, when the friction of the process is lowered. Microsoft will probably tout lots of complex, sophisticated scenarios that no one cares about except hyper-geeks (tracking your blood sugar readings on your cell phone, along with the famous sports scores and stock updates – note to MS: your user is not you, the failure to recognize which is the primary cause of software sucking today. I wrote a whole book about that, remember?). But to my mind, the biggest benefit is making simple things simplER than they are, for which HealthVault has great potential. Here’s the ultimate example:
“When [my daughter] goes to college,” writes her father, “I’d like to have access to her numbers without having to bug her directly so that I can see trends and know whether or not to worry. Access over the web site would give her daily freedom without her being alone with the responsibility. We could be guardian angels in the background. If it’s something that happens automatically rather than something additional she has to do it will work.”
Q: How do I go about developing a HealthVault application?
A: The HealthVault developer’s site is http://msdn.microsoft.com/en-us/healthvault/default.aspx. The first thing you do is to download the SDK from that location. You can then install and run the sample programs. I’d suggest trying the Sleep Journal one first. I found it easier to understand than the Hello World app that you usually look for.
HealthVault’s way of organizing data means that you have to change your programming mindset in new ways. For example, HealthVault records by definition live in the cloud, so accessing the data is more costly than if it were stored locally. You have to think carefully about the pieces that you want and minimize network round trips. For another example, you do not have control over that database organization – you can’t change tables, or things like that. In fact, you don’t have direct access to the database at all, so you have to give up your traditional SQL skills and use the HealthVault API. “The HealthVault data model is based on ‘sets of individual atomic things’ rather than ‘relational tables’,” says one white paper. The sooner you stop fighting against it and start enjoying the freedom of your chains, the happier you’ll be with it.
Q: Where do I go to learn more about programming HealthVault?
A: The best way to learn HV is to take a class. And as always, I’m right there with one. I have a public class running at the Microsoft Technology Center in Boston on Jan 6-9, 2009. You can also have me teach a class in-house at your company. Information is online at www.learnhealthvault.com . I hope to see you there.
Until next time, as Red Green would say, "Keep your stick on the ice."
New Book from David S Platt
Why Software Sucks (and What You Can Do About It)
Sample Chapter Online at www.whysoftwaresucks.com
It's finally out! Anyone whose spoken with me in the last couple of years probably got an earful about the latest bee in my bonnet, the book entitled Why Software Sucks. I’m sure that I’ve inflicted sample chapters on just about everyone I know.
It's gotten a storm of publicity, primarily from a Reuters wire service article that ran during the first week of the new year. It was picked up in the electronic editions of such publications as the such as the New York Times (http://www.nytimes.com/reuters/technology/tech-software-platt.html) , Fox News, (http://www.foxnews.com/story/0,2933,241578,00.html), and PC Magazine (http://www.pcmag.com/article2/0,1759,2078820,00.asp).
I've started a new blog based on it, at www.suckbusters.com . It's dedicated to the notion that software shouldn't suck. Instead, software should Just Work.
The title was originally my idea, but I also love the subtitle, suggested by my editor at A-W. I’ve always thought that the right subtitle can really make a book. Like the 60’s bestseller Everything You Always Wanted to Know About Sex (But Were Afraid to Ask). Or Werner von Braun’s autobiography, entitled I Aim for the Stars. Humorist Mort Sahl suggested that its subtitle ought to be, But Sometimes I Hit London. (If you don’t get that last one, go look up von Braun online. As Tom Lehrer famously sang about him in the sixties: “ … A man whose allegiance is ruled by expedience … ‘Once the rockets are up, who cares where they come down? That’s not my department,’ says Werner von Braun.”)
This is my first book aimed at end users, not programmers. Early returns from this market are highly positive. My barber, the librarian at my local public (dead tree edition) library, and the contractor who built my house, all report that early chapters are informative, entertaining, and easy to read.
I’m still working on the “what you can do about it,” piece. If you have any thought as to how ordinary users can make their voices heard, I’d like to hear them. Use the contact info link of this web site, if you don’t already have my email. Thanx.
Annabelle And Lucy's Latest
And now, the moment for which I know you've all been waiting -- the pictures of my two girls. Lucy is 5 3/4, and Annabelle has turned 8. Whose idea was that, I ask you? Certainly not mine.
Annabelle insisted that I teach her to play chess, which I did. She hasn't beaten me yet, though she probably will soon. After a visit to the Madame Alexander doll factory in New York City, she announced that she wants to go to college at the Fashion Institute of Technology and become a doll designer. Lucy has been watching the Olympics on TV, especially (you guessed it) the gymnastics. She's been playing Olympic gymnast with her American Girl doll, using the kitchen stool as an uneven parallel bar set.
They both passed a great milestone this past week, jumping into the deep end of the swimming pool off the diving board. Lucy went first, then Annabelle. They've both become great swimmers. And, talk about small world, their swim teacher informs me that her husband is a computer geek and a dedicated reader of this newsletter. If you read this, send your copies of my books in with your wife the next time she teaches my daughters, and I'll be happy to autograph them for you. Or if you'd rather keep them undamaged, no problem there either.
Thunderclap is free, and is distributed via e-mail only. We never rent, sell or give away our mailing list, though occasionally we use it for our own promotions. To subscribe, jump to the Rolling Thunder Web site and fill in the subscription form.
Thunderclap does not accept advertising; nor do we sell, rent, or give away our subscriber list. We will make every effort to keep the names of subscribers private; however, if served with a court order, we will sing like a whole flock of canaries. If this bothers you, don't subscribe.
Source code and binaries supplied via this newsletter are provided "as-is", with no warranty of functionality, reliability or suitability for any purpose.
This newsletter is Copyright © 2005 by Rolling Thunder Computing, Inc., Ipswich MA. It may be freely redistributed provided that it is redistributed in its entirety, and that absolutely no changes are made in any way, including the removal of these legal notices.
Thunderclap is a registered trademark ® of Rolling Thunder Computing, Inc., Ipswich MA. All other trademarks are owned by their respective companies.