HealthVault 1003 Release

HealthVault 1003 release is now available in the  HealthVault pre-production environment. This release will be available in the production environment next week.

The associated version of .NET SDK is available here. Please note the Assembly version of .NET SDK for this release is 1.1.2193.4712 and File Version is 1.3.2311.5115. This is a functional release and doesn’t break the previous release.

Following are some of the features and improvements done in this release :

Redesigned HealthVault Shell Controls

Redesigned Medication and Immunization controls to provide a positive end-to-end experience to the consumer through HealthVault shell. We have added contextual help, user-friendly label names, example text and restructured fields according to real world artifacts.


Fig 1. Redesigned Medication Form

In addition, we have improved the print view of these controls, rebuilt the vocabularies for these controls and improved the accuracy of the auto-complete feature using the enhancements to the SearchVocabulary API.

The redesigned editors also introduce a feature to select provider information from the existing contact list or automatically add the new contact to a contact list in case the user adds a new contact in the Medication or Immunization form.

Redesigned Sharing Page In HealthVault Shell

The old sharing page has been the cause of confusion and one of the top reasons for our customer support calls. The redesign to this sharing page will help with consistency and improves the clarity around the sharing feature.


Fig 2. Redesigned Sharing Page.


Enhancements to SearchVocabulary API

We have added a new faster search mechanism via the FullText mode for our SearchVocabulary API. This mode is the recommended way to search HealthVault vocabularies. It is used by the redesigned Shell controls to provided sub-second, accurate and relevant search results on huge medical vocabularies.

Here is a snippet demonstrating how a developer can use this to search “lipi” in the RxNorm Active Medicines vocabulary:

    new VocabularyKey("RxNorm Active Medicines", "rxnorm"),

Just to illustrate the point the above search through HealthVault Shell’s Medication control search over 150,000 RxNorm Active Medicines list to return the top matches in sub-second duration:


Fig 3. SearchVocabulary at work in HealthVault Shell Medication Control


Trash Can interface for Deleted items in HealthVault Shell

Prior to this release, when an item was deleted from a record it would continue to exist in the record history as a “deleted item”.  The record history is only accessible to custodians of the record using the HealthVault Shell application.

In this release, HealthVault has introduced a ‘trash can’ concept for deleted items.  Deleted items are now visible in the trash can user interface in the HealthVault Shell.  The same item visibility restrictions apply – only custodians using the HealthVault Shell can view these items.  Items in the trash can be permanently deleted or restored.  Permanently deleted items are completed removed from the record including the audit history for that item.  As the name of the action implies, this is a permanent action.  Permanently deleted items are not recoverable – even by customer support.  The restore action restores the item and it is again visible in the record.  These actions are only available through the trash can interface in the HealthVault Shell.

We feel this is a great addition to the product which enable users increased control over what data is stored in HealthVault, and affords additional protection against unintentional or mistaken deletion of critical health data in the record.


Fig 4. Viewing an item in Trash can


Multiple Application Authorization

We are introducing a way for a user to authorize multiple applications in one workflow.

HealthVault Shell redirect targets now accept multiple application IDs as an input parameter. It allows users to authorize multiple applications in one redirect flow. Appid query string parameter is to specify application ID(s) for authentication and authorization related targets. It is either a single application ID or multiple IDs with comma separator (e.g. appid=GUID1,GUID2,GUID3 for 3 application IDs). When the appid parameter has multiple application IDs it will impact auth targets:

  • App auth page displays all data types required by the multiple applications.
  • App auth page displays multiple application information and links.
  • All other pages (sign-in/sign-up, select record) display only the first application logo as co-branding.
  • Application redirect (return URL) is based on first application.


Fig 5. Multiple Application Authorization Workflow Screen


Support for TimeZones in HealthVault Shell:

There are features in HealthVault Shell to display date and time such as change history of records. In many cases, Shell uses the GMT time or time zone where HealthVault servers are located. In this release, Shell automatically converts date/time to users' time zones. Users’ preferred time zone is initially set by HealthVault account country and ZIP code. Then, users can change it from the edit profile page in Shell.


Fig 6. Preference page  to select support for a TimeZone.


CCR Interoperability

Added CCR import and export support for Discharge Summary and Appointment HealthVault data types.

New Data Types

We are introducing two new data types in this release:

Explanation of Benefits (EOB)

This data type is intended to store the summary and detail you, the plan member, might find on a typical paper-based statement. You will likely notice that this schema doesn’t include all the data for eligibility and remittance that you might find in 270/271 or 835/837. This is intentional as our focus is to provide the consumer relevant information.

Positive Airway Pressure (PAP) Session

This data type can be used for storing session data recorded by PAP devices.  These devices are commonly used in the treatment of sleep apnea.  The data is intended to assist users and physicians with tracking the progress and effectiveness of the treatment.


Enhancements to Vocabulary Class in HealthVault .NET SDK

In previous releases, it was not possible to create instances of the Vocabulary class through the SDK – they could only be created when fetched from platform. This prevented client applications from using the vocabulary class to store their own vocabularies locally, and made it harder to cache large HealthVault vocabularies.

In this release, we have made two changes to address this issue.

First, we’ve added public constructors to the Vocabulary and VocabularyItem classes so that they can be created by clients.

Second, we have added XML serialization support so that vocabularies can easily be serialized and de-serialized. The following sample code demonstrates this:

 void SaveVocabulary(Vocabulary vocabulary)
    XmlSerializer serializer = new XmlSerializer(typeof(Vocabulary));

    using (StreamWriter writer = new StreamWriter(vocabulary.Name + ".xml"))
        serializer.Serialize(writer, vocabulary);

Vocabulary LoadVocabulary(string vocabularyName)
    XmlSerializer serializer = new XmlSerializer(typeof(Vocabulary));

    Vocabulary vocabulary = null;
    using (StreamReader reader = new StreamReader(vocabularyName + ".xml"))
        vocabulary = (Vocabulary)serializer.Deserialize(reader);

    return vocabulary;

Enhancements to Application Configuration Center

We have added the ability for you to view the entire configuration of your application through Application Configuration Center in our production environment.


Enhancements to HealthVault Labs

We have seen quite a few requests to enhance the utilities in our reference page. We collectively call these utilities HealthVault Labs. Shortly in this release we will be deploying an updated version  of these utilities which will allow developers to view data-type schemas in tabular form and view samples for some of the data-types which developers could use to test their applications.

We highly recommend HealthVault developers to use Get Real’s X-Ray tool as a compliment to the above utilities.


Detailed Information On HealthVault .NET SDK Versions

We have significantly enhanced the help file for HealthVault .NET SDK. The conceptual documentation in HealthVault .NET SDK now contains detailed information on HealthVault .NET SDK Version history. The MSDN Version of this chm file will be updated shortly. After installing the 1003 HealthVault .NET SDK a developer can access this file from Start >  All Programs > Microsoft HealthVault > SDK > Microsoft.Health.chm.


Fig 7. Detailed Version History in HealthVault .NET SDK Help File


As usual please leave suggestions / feedback in the comments below. Enjoy the goodies!!