Thunderclap, the Newsletter of Rolling
Thunder Computing
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)
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."
Why Software Sucks (and What You Can Do About It)
ISBN 0-321-46675-6
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.
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.
Legal Notices
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.