hsc 2008 day 2
DESCRIPTION
Microsoft HealthVault conference in June 2008. Source:http://msdn.microsoft.com/en-us/healthvault/cc627280.aspxTRANSCRIPT
Supporting Your Success in Health 1
Microsoft Corporation Confidential and Privileged
HealthVault Architecture Overview
Session Topics • Developers: Why integrate with or build on HealthVault?
• HealthVault Design Principles
• Key HealthVault Concepts
o Data Model
o Authentication and Accounts
o APIs
o Search integration
• Choosing a HealthVault Application Architecture
o Guidance for selecting the application type that can provide the best experience for you
and your users.
• Intro to other sessions
o Data Interoperability and the HealthVault Platform - Information about the HealthVault
XML interfaces and Microsoft's Community Promise
o Connecting a Clinical System to HealthVault - Facilitating the voluntary exchange of
information between patients and healthcare providers
3
4 Microsoft Corporation Confidential and Privileged
Why HealthVault?
4
HealthVault Platform - Empowering Developers
5
Reasons to Integrate with HealthVault • Private and Secure Storage
• Make it easy for consumers to collect relevant personal health information from a wide variety of sources (avoiding manual data entry as much as possible), store it in a secure location and selectively share as needed.
• Authenticating Users, Manage People Relationships
• You can secure your pages with HealthVault authentication, which uses LiveID or OpenID.
• Manage records for Family Members (Children, Spouse, Elderly Parents) and ability to handle challenges like shared parenting, foster fare, pet care, custodian and guardian relationships, and data authority transfer scenarios (e.g. when children turn 18)
• Secure Sharing, Authorize Data Access
• HealthVault allows users to easily but securely share their health information with providers, family members and other caregivers.
• The consumer is always in control - no data can leave their HealthVault account without an explicit user-initiated action that provides consent. This is important, consumer trust will create loyalty towards your application.
6
Reasons to Integrate with HealthVault (2) • Application Interoperability
• Relevant personal health data generated or collected by other HealthVault apps can be made available to your application as well (and vice versa).
• As your user increases the number of applications he/she uses, their overall health data collection becomes more complete and the value added services you can offer increase dramatically.
• Device Connectivity - Capturing and Using Health Device Data • By integrating with HealthVault your application can easily request access to
information uploaded from a wide range of HealthVault-compatible devices.
• No need to worry about one-off device integration efforts, proprietary device protocols or interfaces. All major device categories are covered today.
• Application and Device Discovery
• The HealthVault Program Directory and HealthVault Search Action Modules allow you to attract more new, highly motivated users. Through the advantages described above customer loyalty and retention will increase.
• Developer Assistance
7
8
DevelopersDevelopers, , DevelopersDevelopers, , DevelopersDevelopers!!
99,,630630+ + SDK Downloads SDK Downloads
HealthVault Design Principles
Ecosystem Information Exchange Vectors Activity
Health Information Supply Chain
LifestyleLifestyle
Kn
ow
led
ge
Kn
ow
led
ge
10
Application Diversity, Platform Flexibility
APPLICATION
COMPLEXITY
NUMBER
OF USERS
Diet, Fitness, Wellness Diabetes, Asthma, Heart Hospitals, Group Practices, MDs
FACILITY-BASED HOME-BASED
USER
ENGAGEMENT
11
PRIMARY PREVENTION CHRONIC CARE OR
SECONDARY PREVENTION
ACUTE CARE
USE OF
HEALTH DEVICES
HealthVault Design Principles
Free for Users and Developers
Inclusive of Industry Standards
Privacy and Security Focused
HealthVault is unique because it puts the consumer in control of their
health information
• In control of their privacy
• In control of how they share information
• In control of which applications they use
HealthVault is an open platform, it is easy to participate
• Free Published SDK and APIs, Community Promise
• Easily Extensible Data Model
• Strong Developer Community:
• MSDN Documentation, Developer Forum and Blogs
• Codeplex Community (API Wrappers, connectors and
bridges to existing standards)
There are no fees or charges to use the platform
• Developers host their own application, create their
own business model
12
HealthVault Architecture
Devices
Applications
HealthVault Platform Architecture
Partners
14
It depends on how you want to use it…
• “Native” … HealthVault replaces traditional database and
authentication mechanisms
• “Copy” … HealthVault is an external repository, you can pull data
out of it or push data into it (import/export, merge, sync)
How does HealthVault “fit” into an application?
15
HealthVaultHealthVault
APIAPI
““NativeNative”” ApplicationApplication ““CopyCopy”” ApplicationApplication
ApplicatioApplicatio
nn
DatabaseDatabase
HealthVaultHealthVault
APIAPI
16 Microsoft Corporation Confidential and Privileged
HealthVault Data Model
16
Data Representation • Each “thing” in a record consists of:
• Per-type schematized XML
• Common metadata and
extensions
• Binary data (for some types)
• Extensible to meet partner and
consumer needs … growing fast!
17
Advance Directive Concern File Microbiology Lab
Test Result
Aerobic Exercise
Session Condition HbA1C
Password Protected
Package
Aerobic Profile Continuity of Care
Record Healthcare Proxy
Personal Contact
Information
Allergic Episode Contraindication Height
Measurement
Personal
Demographic
Information
Allergy Daily Dietary Intake HL7 Continuity of
Care Document Personal Image
Application-Specific
Information
Daily Medication
Usage Immunization Procedure
Appointment Device Insulin Injection Radiology Lab
Result
Asthma Inhaler Diabetic Profile Insulin Injection Use Respiratory Profile
Asthma Inhaler
Usage Discharge Summary Insurance Plan
Sleep Related
Activity
Base Thing Type Emergency or
Provider Contact Lab Test Result Sleep Session
Basic Demographic
Information Emotional State Life Goal
Spirometer
Measurement
Blood Glucose
Measurement Encounter Link Vital Signs
Blood Pressure
Measurement Family History Medical Annotation
Weekly Aerobic
Exercise Goal
Cardiac Profile Family History
Person Medical Problem Weight Goal
Cholesterol Profile
(Lipid Profile)
Family History
Condition Medication
Weight
Measurement
<blood-pressure> <when> <date> <y>2006</y> <m>12</m> <d>22</d> </date> </when> <systolic>123</systolic> <diastolic>68</diastolic> </blood-pressure>
Data Model Design Principles • Interoperable
o We do our best to make our data types transformable to and from industry standards in actual use
• Inclusive
o Strike a balance between fully structured data and unstructured information
o Types are designed to be as inclusive as possible – with the ability to capture structure when it is available, but still take in the data when structure is missing
o Encourage the use of standard vocabularies through API and JSON interfaces
• Just in Time
o Our data model is growing as we work with partners fluent in various domains
• Independent
o As much as possible, keep application development simple by eliminating relationships across data items
o Allow expression of connections but never rely on their existence for data integrity
18
Extensibility and Longevity
• Per-type, globalized transforms exposed by platform
o HTML
o Tabular Views
o Standards and Device Exchange
o Custom
• Transparent Versioning
• Full History and Audit Trail
19
20 Microsoft Corporation Confidential and Privileged
HealthVault Accounts, Authentication
and Authorization
20
Accounts and Records • A person using HealthVault applications has an account,
identified by a set of credentials
• A record contains information about an individual
• Accounts and records share a many-to-many relationship
• Think families – “switch record” or “pick record” is important!
21
MomMom DadDad DadDad’’s s
Personal Personal
TrainerTrainer
Accounts:
Records: MomMom JuniorJunior DadDad
Self
Se
lf
Spouse Child Child
Spouse
Granting Accounts access to Records
• Custodians are special – they have “grant privileges”
• At least one custodian for every record
• Custodianship can change over time
• “Private” items visible to custodians only
• Record access is “typed” – self, spouse, child, etc.
• Granular access controls
• Create, read, update, delete
• Specific data types
• Automatic expiration
22
Credentials and Authentication
• Accounts are associated with a Windows Live ID or, later this month, an Open ID from selected providers
• Expect more credentialing options over time
• Applications are shielded from credential type
• Applications redirect user’s browser to healthvault.com • “Online” mode - App receives an access token for
session-based access
• “Offline” mode - App receives rights to make requests for an account/record whenever needed
23
Granting Applications access to Records
• Applications are registered with HealthVault
• List of required and optional data access rules
• Public key for establishing strong application identity
• Providers are just applications to HealthVault
• On first use or change in rights/requirements, user must approve access at healthvault.com • Create, read, update, delete
• Specific data types
• Users can revoke access at any time
24
Authorizing Application Access to HealthVault Data
25
E.g. Partner application offers to store
the user’s data in HealthVault
Data Access Audit Trail
• Records retain a complete history of how, when, and by whom data has been used
• Custodians can see every time a user or an application has created, viewed, or deleted data in their health records
26
HealthVault Programming Interfaces
HealthVault XML Interfaces
• All access to HealthVault goes through the XML API
• Accessible from any modern programming environment
• Basic XML-over-HTTP interface, POST a request and receive a
response
• Cryptography requirements add complexity
• Why not SOAP?
• Retain more control over the envelope for performance,
cross-platform simplicity
• May create secondary interfaces over time
• Commitment to release HealthVault XML API under an
open license for reimplementation: on track for 2008
28
API Method Segmentation
29
Alias Methods
x-BaseMethods <Base Methods>
x-UserDataExtended GetThings + RemoveThings
x-OpenQuery SaveOpenQuery + DeleteOpenQuery + GetOpenQueryInfo
x-Messaging SendInsecureMessage + SendInsecureMessageFromApplication
x-AppProvisioning AddApplication + UpdateApplication
x-ConnectPackage CreateConnectPackage + DeletePendingConnectPackage
.NET SDK – Full-featured Object Model
• Encapsulates XML functionality in a strongly-typed, object-based
package for use in .NET and ASP.NET applications
• This is “motherhood” … we try to simship .NET SDK coverage and
developer samples for all features
• All Microsoft applications are built using the .NET SDK
• Commitment to release under the Microsoft Reference License
• We retain control over the code, but source is freely available to inform and be used in other implementations
• On track for early Summer 2008
30
Open Source Libraries
• Working with partners to develop a fully-open source set of
“wrapper” libraries for all relevant platforms.
• Java, PHP, Ruby projects exist today
• Integrated into community-appropriate repositories
(Codeplex, Sourceforge, Rubyforge, etc.)
• Generally work with the XML document model, encapsulate
session management and cryptography
31
Microsoft Live Search Health
HealthVault’s Sister Application
33
Live Search Health helps HealthVault apps in three ways:
Application discovery through relevant Services dashboard links and Action Modules
1
User experience by providing contextual education within the application interface
2
Incremental revenue through Live Search Health’s emerging affiliate model
3
Integrating Live Search Health
• Unique opportunity to help educate users at exactly the time
the information is needed
• Medication lists and Lab results
• Discharge summaries
• Device data trends
• Simple Javascript integration
• Search box and inline
“popup” widgets exist today
• More unique content and form factors to come
• Early-stage program – talk to your partner contact, or let us
know what kind of information would best help your application
34
<span onclick="myPopup.show(this)"
class="msHealthVaultContextualPopup">cancer</span> <script type="text/javascript"> var myPopup = new
Microsoft.HealthVault.ContextualPopup(null); </script>
35 Microsoft Corporation Confidential and Privileged
Platform Evolution
35
New Features since Launch • Data Signing - Optional data signing to ensure data integrity and
authenticity
• Direct to Clinical Connect - Integration of EMR applications
• Improved Account Sign-up Experience - Dramatically reduce the
number of steps/screens
• Improved Application Authorization - UI Improvements and
Optional Auth feature (make auth components optional rather
than all-or-nothing)
• Vocabulary User Experience - Makes it easier for partners to
expose user-friendly functionality (word wheels, type-ahead) in
their applications
• HealthVault Connection Center Updates
36
New Data Types since Launch • New Dictionaries
– LOINC vocabulary, FDA nutrition database, RxNorm drug codes
• 20 New Data Types Introduced
– Asthma Inhaler, Cholesterol Profile (Lipid Profile), Concern, contraindication,
Daily Medication Usage, Diabetes Insulin Injection Use, Encounter (old), Family
History Condition, Family History Person, File, Healthcare Proxy, HL7
Continuity of Care Document, Lab Test Result, Life Goal, Link, Microbiology
Lab Test Result, Radiology Lab Result, Respiratory Profile, Sleep Related
Activity, Weekly Aerobic Exercise Goal
• 12 New Data Types Pending
– Body Composition, Claims Data, Genomics, Group Membership, Health Risk
Assessment, Medication (update), Microbiology Lab Test Results (update),
Naming Consistency, Person, Pulse Oximetry, Radiology Lab Result, Strength
Training
37
June Release – Key Features • Open ID Support
– Users can choose to sign-in to a HealthVault account with Live ID or OpenID
– Users with OpenID can create HealthVault accounts using their OpenID
– Users with OpenID can associate an OpenID with an existing HealthVault account
• Thing Versioning
– Ability to support multiple versions of thing types to coexist in the system and interpreted
correctly when multiple versions of the thingtype xsd’s are used to get/put things
• Method Grouping
– Eliminate the need to update partner applications when a new method is released, method
grouping will automatically capture those new methods and enable them for applications
• Employer GroupID
– A new group membership type is used to identify individual’s records privileges in all other
Healthvault enabled apps. Contrary to HealthVault’s other types, group membership type
requires that the type is controlled by the application that is ‘granting’ the membership to the
HealthVault record as well as the HealthVault account that owns the record.
38
Future • We want to hear from you!
39
How do I plug into HealthVault?
Getting Started with HealthVault Development
• Attend today’s technical sessions
• Visit the HealthVault Developer Center on MSDN
• Download the SDK
• Create an account in the Developer Environment
• Play with the samples
• Review developer articles on the Learn tab
• Read the team blogs and FAQs
• Connect with other developers in the forum
41
Need Help? These companies have built HealthVault-compatible applications or device drivers and are eager to help you:
42