Hsc 2008 Day 2


Published on

Microsoft HealthVault conference in June 2008. Source:


  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Hsc 2008 Day 2

  1. 1. Supporting Your Success in Health 1 Microsoft Corporation Confidential and Privileged
  2. 2. HealthVault Architecture Overview
  3. 3. 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. 4. 4 Microsoft Corporation Confidential and Privileged Why HealthVault? 4
  5. 5. HealthVault Platform - Empowering Developers 5
  6. 6. 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
  7. 7. 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. 8. 8 DevelopersDevelopers,, DevelopersDevelopers,, DevelopersDevelopers!! 99,,630630++ SDK DownloadsSDK Downloads
  9. 9. HealthVault Design Principles
  10. 10. Ecosystem Information Exchange Vectors Activity Health Information Supply Chain LifestyleLifestyle Knowledge Knowledge 10
  12. 12. 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
  13. 13. HealthVault Architecture
  14. 14. Devices Applications HealthVault Platform Architecture Partners 14
  15. 15. 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. 16. 16 Microsoft Corporation Confidential and Privileged HealthVault Data Model 16
  17. 17. 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>
  18. 18. 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
  19. 19. 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. 20. 20 Microsoft Corporation Confidential and Privileged HealthVault Accounts, Authentication and Authorization 20
  21. 21. 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’’ss PersonalPersonal TrainerTrainer Accounts: Records: MomMom JuniorJunior DadDad Self Self SpouseChild Child Spouse
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. Authorizing Application Access to HealthVault Data 25 E.g. Partner application offers to store the user’s data in HealthVault
  26. 26. 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
  27. 27. HealthVault Programming Interfaces
  28. 28. 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
  29. 29. 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
  30. 30. .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
  31. 31. 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
  32. 32. Microsoft Live Search Health
  33. 33. 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
  34. 34. 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. 35. 35 Microsoft Corporation Confidential and Privileged Platform Evolution 35
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 39. Future • We want to hear from you! 39
  40. 40. How do I plug into HealthVault?
  41. 41. 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
  42. 42. Need Help? These companies have built HealthVault-compatible applications or device drivers and are eager to help you: 42