This document summarizes how to develop a HealthVault application. HealthVault allows users to store health records and grant access to applications. Applications can access specific data types to read, write, and update user health information. The document outlines authentication and authorization processes, data models for common data types like measurements and codable values, relationships between data items, and options for storing additional application data. Resources for HealthVault developers include the online developer center, blogs, and forums.
2. Talk notes…
• This talk has a few slides but is mostly
composed of writing code in Visual Studio. We
have retained the slides that are likely to be
useful, and have removed those that are only
related to the demo
• The full content of this talk will show up in the
near future in a better format – a recorded
video format and/or a tutorial
3. HealthVault Users and Records
My login Dad’s login
Dad grants
me access
My record Son’s record Dad’s record
• A record stores health information about a
specific person
• Users may have access to multiple records
4. Application access to data
Diabetes Management
Fitness Application
Application
AerobicSession Weight
Create Create
Read Read
Update
Spirometer
Delete
WeightGoal
DiabeticProfile Read
BloodGlucose
BloodPressure InsulinInjection
CardiacProfile
Health Record
6. Application Data Models
• Online access
– User authenticate before the application can
access data
• Offline access
– User authorizes application once, then the
application can access the user’s HealthVault
record at any time
• This talk is focused on online access
7. Measurement Types
• Problem
• Reference units are required for applications
to understand measurements (ie “kilograms”)
• Conversions can be problematic
• “You weigh 135.00000001 pounds”
• Measurement types solve this
• DisplayValue for the user-entered data
• Base value for the data in reference units
8. Codable Value
• There are two uses of many fields
• A user-entered string
• An application-understandable code
• Often tied to a specific vocabulary
• Example
• Medication codes
• Aerobic exercise types
• CodableValue combines both uses into one type
9. Codable Value
Aerobic session activity type
Text: Race walking
Code Vocabulary
walk aerobic-activities aerobic-activities vocabulary
racewalk
Key Display Text
bike Bicycling
walk Walking
run Running
10. Related Items
Weight Aerobic Session
Key = <X> Key = <Y>
Related Items Blood Pressure
Key = <Z>
<Z>
• Applications must follow the links themselves
• Referential integrity is not enforced
– Applications must deal with links to items that
don’t exist
• Links are one-way
11. Storing additional data
• Options
– If data is of general interest, ask Microsoft to
extend a data type or add a new data type
– Use CommonData.Note to store a short string
– Use CommonData.Tags to store tags
– Use CommonData.Extensions to store your
information in a HealthRecordItemExtension
– Create a custom data type
12. Resources
• HealthVault Developer Center
– http://msdn.microsoft.com/healthvault
• Blogs
– Listed on the developer center
• Forum
– Listed on the developer center
• Me:
– EricGu@microsoft.com