<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>HealthVault Device blog</title><link>http://blogs.msdn.com/healthvault_devices/default.aspx</link><description>Useful information for the HealthVault device developer</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>The latest Microsoft HealthVault Device Logo Requirements (v1.20) are now available! </title><link>http://blogs.msdn.com/healthvault_devices/archive/2009/05/25/the-works-with-microsoft-healthvault-device-logo-requirements-v1-20-are-now-available.aspx</link><pubDate>Mon, 25 May 2009 23:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9640877</guid><dc:creator>hvdevice</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/9640877.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=9640877</wfw:commentRss><description>&lt;P&gt;The &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c5ae6daf-a071-4c8e-8cb5-fa6eb75cf4dd#tm" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c5ae6daf-a071-4c8e-8cb5-fa6eb75cf4dd#tm"&gt;Works with Microsoft HealthVault Device Logo Program v1.20&lt;/A&gt; requirements and test instructions are now available!&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;About the Logo Program:&lt;/STRONG&gt;&amp;nbsp;&lt;BR&gt;The Works with Microsoft HealthVault Device Logo Program is designed to build customer awareness around HealthVault, enable consumers to identify devices that are compatible with HealthVault, and ensure a positive user experience. Manufacturers that certify their devices can benefit by:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Leveraging the trusted Microsoft brand&lt;/LI&gt;
&lt;LI&gt;Minimizing their&amp;nbsp;support costs by passing tests specifically designed for HealthVault Connection Center compatibility &lt;/LI&gt;
&lt;LI&gt;Listing their devices and drivers&amp;nbsp;in&amp;nbsp;the &lt;A class="" href="http://healthvault.com/personal/devices.html?type=device" mce_href="http://healthvault.com/personal/devices.html?type=device"&gt;HealthVault Device Directory&lt;/A&gt; and the HealthVault Connection Center driver list&lt;/LI&gt;
&lt;LI&gt;Becoming eligible&amp;nbsp;for joint marketing opportunities&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Click &lt;A class="" href="http://msdn.microsoft.com/en-us/healthvault/cc678896.aspx" mce_href="http://msdn.microsoft.com/en-us/healthvault/cc678896.aspx"&gt;here&lt;/A&gt; for more information about how to obtain a logo.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What's New in V1.20&lt;BR&gt;&lt;/STRONG&gt;Here are some of the highlights.&amp;nbsp; For more details, please read the v1.20 requirements and test instructions.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;There have been several packaging requirements added so the user has proper guidance on how to create a HealthVault account, download HealthVault Connection Center, Install the driver, Setup the device, Take a measurement, and upload the data to HealthVault.&lt;/LI&gt;
&lt;LI&gt;If the device ships&amp;nbsp;with non-HealthVault software, it must not create a conflict with the HealthVault experience&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Compatibility with XP, Vista, Vista 64 bit, and Windows 7 (when released)&lt;/LI&gt;
&lt;LI&gt;The driver must populate a&amp;nbsp;display override field if it is required to ensure HealthVault.com displays the same units as the device&lt;/LI&gt;
&lt;LI&gt;Driver must send events if there is new data available while the device is connected so there is no need to unplug/plug the cable to upload the new data&lt;/LI&gt;
&lt;LI&gt;The driver package now needs to be code signed&lt;/LI&gt;
&lt;LI&gt;A self test check list has been added to help prepare for submission&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Timeline&lt;BR&gt;&lt;/STRONG&gt;Microsoft authorized test labs will test against the &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=72a65ed1-6ac2-4bd1-b5c7-833a314f9f34&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=72a65ed1-6ac2-4bd1-b5c7-833a314f9f34&amp;amp;DisplayLang=en"&gt;Works with&amp;nbsp;Microsoft HealthVault Device Logo Program v1.0&lt;/A&gt; requirements up until June 24, 2009.&amp;nbsp; All devices submitted to a test lab after June 24, 2009, will need to conform to the &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c5ae6daf-a071-4c8e-8cb5-fa6eb75cf4dd#tm" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c5ae6daf-a071-4c8e-8cb5-fa6eb75cf4dd#tm"&gt;Works with&amp;nbsp;Microsoft HealthVault Device Logo Program v1.20&lt;/A&gt; requirements. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9640877" width="1" height="1"&gt;</description></item><item><title>Windows 7 Release Candidate is now available!</title><link>http://blogs.msdn.com/healthvault_devices/archive/2009/05/08/windows-7-release-candidate-is-now-available.aspx</link><pubDate>Fri, 08 May 2009 05:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9595587</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/9595587.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=9595587</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #525051; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;We’re excited to announce the availability of &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;A class="" href="http://www.microsoft.com/windows/windows-7/" mce_href="http://www.microsoft.com/windows/windows-7/"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT color=#0000ff&gt;Windows 7 Release Candidate&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #525051; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt; (RC), a pre-release version of the next-generation operating system from Microsoft. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #525051; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;We encourage all partners who are building HealthVault compatible drivers to download the latest version of Windows 7 and try it out!&amp;nbsp; It won't be long before Windows 7 is officially released so you want to make sure that your drivers are compatible.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #525051; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9595587" width="1" height="1"&gt;</description></item><item><title>Passing Preformatted HealthVault data on a WPD device</title><link>http://blogs.msdn.com/healthvault_devices/archive/2009/04/28/passing-preformatted-healthvault-data-on-a-wpd-device.aspx</link><pubDate>Tue, 28 Apr 2009 22:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9574167</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/9574167.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=9574167</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;In the latest versions of HealthVault Connection Center, we have enabled a new&amp;nbsp;type&amp;nbsp;data interaction between device drivers and HealthVault Connection Center.&amp;nbsp;&amp;nbsp;Some devices may store data on the device as a native HealthVault XML file, as a&amp;nbsp;result&amp;nbsp;it&amp;nbsp;is not necessary to convert the&amp;nbsp;HealthVault XML into&amp;nbsp;WPD properties and back to HealthVault XML.&amp;nbsp;&amp;nbsp;So we have implemented&amp;nbsp;a "data taxi"&amp;nbsp;&amp;nbsp;feature in HealthVault Connection Center that enables drivers to directly expose the XML's to be uploaded into HealthVault.&amp;nbsp; This feature allows for customized data types, as well as non-WPD supported data types to be sent to the HealthVault platform.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;When this device is connected to the PC, its WPD driver allows Connection Center to find the items and identify them as preformatted HealthVault Data.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Next, Connection Center will transfer the data (bypassing the usual WPD to HealthVault transforms that are required for data not already in HealthVault format).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;From this point on, the data items are uploaded in the usual way for Connection Center.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Attached is a document that discusses how you would be able implement this in your drivers.&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9574167" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/healthvault_devices/attachment/9574167.ashx" length="333951" type="application/vnd.openxmlformats-officedocument.word" /><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/development+kit/default.aspx">development kit</category></item><item><title>DDK 1.5 released</title><link>http://blogs.msdn.com/healthvault_devices/archive/2009/04/03/ddk-1-5-released.aspx</link><pubDate>Fri, 03 Apr 2009 20:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9530810</guid><dc:creator>hvdevice</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/9530810.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=9530810</wfw:commentRss><description>&lt;P&gt;The latest &lt;A href="http://download.microsoft.com/download/0/0/7/0078a600-df11-4442-adb2-df24b368d4d0/hs_ddk.msi" mce_href="http://download.microsoft.com/download/0/0/7/0078a600-df11-4442-adb2-df24b368d4d0/hs_ddk.msi"&gt;HealthVault Device Development kit&lt;/A&gt; has been released.&amp;nbsp;It contains many improvements that&amp;nbsp;can be leveraged in building a higher quality&amp;nbsp;driver for your device to enable it to work with HealthVault.&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;nbsp;Updated WPD schema documentation &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;Compliance with HealthVault Logo &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;One click build of drivers from WPD source all the way to a MSI &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;One click build for multiple OS support (x86 and x64) &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;Common driver class that eliminates lots of redundant code across samples&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9530810" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/development+kit/default.aspx">development kit</category></item><item><title>HVCC V1 backwards compatibility with HVCC V2 XML files</title><link>http://blogs.msdn.com/healthvault_devices/archive/2008/10/22/hvcc-v1-backwards-compatibility-with-hvcc-v2-xml-files.aspx</link><pubDate>Thu, 23 Oct 2008 01:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9011829</guid><dc:creator>hvdevice</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/9011829.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=9011829</wfw:commentRss><description>&lt;P&gt;In HealthVault V2, we are allowing whitespaces and newlines.&amp;nbsp; However V1 of HealthVault Connection Center&amp;nbsp;will not be able to handle the whitespaces and newlines.&amp;nbsp;For example,&amp;nbsp;(e.g., &amp;lt;hello&amp;gt;This is my text&amp;lt;/hello&amp;gt; must be used instead of &lt;/P&gt;
&lt;P&gt;&amp;lt;hello&amp;gt;&lt;/P&gt;
&lt;P&gt;this is my text&lt;/P&gt;
&lt;P&gt;&amp;lt;/hello&amp;gt; &lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9011829" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/HVCC+Connection+Center+V1+XML+V2/default.aspx">HVCC Connection Center V1 XML V2</category></item><item><title>What happened to the WPD data in the thing type with HVCC V2?</title><link>http://blogs.msdn.com/healthvault_devices/archive/2008/10/17/what-happened-to-the-wpd-data-in-the-thing-type-with-hvcc-v2.aspx</link><pubDate>Fri, 17 Oct 2008 03:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002587</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/9002587.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=9002587</wfw:commentRss><description>&lt;SPAN&gt;In the latest version of HealthVault Connection center, we have optimized the size of the data being sent from the device to the HealthVault platform.&amp;nbsp; The WPD data is being stored in the "other-data" section.&amp;nbsp;This content is in a zipped-base64 package that can be acessed with some additional work. &amp;nbsp;Below is sample code that is able to access the WPD content.&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// &amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// The sample function demonstrating how to get WPD data from items uploaded to HealthVault&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// by v1.x (old behavior) and by v 2.x client (new behavior).&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// It accesses first self-record in the account associated with the AuthenticatedConnection object,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// retrieves all items of weight type and retrieves WPD data if exist&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// &amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// &amp;lt;param name="authenticatedConnection"&amp;gt;&amp;lt;/param&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void SampleWorkingWithWpdData(AuthenticatedConnection authenticatedConnection)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// getting a first self-record ID&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Guid recordId = authenticatedConnection.GetPersonInfo().GetSelfRecord().Id;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HealthRecordAccessor healthRecordAccessor = new HealthRecordAccessor(authenticatedConnection, recordId);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// retrieve all items of the weight type for this record&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HealthRecordItemCollection healthRecordItemCollection = healthRecordAccessor.GetItemsByType(Health.ItemTypes.Weight.TypeId, HealthRecordItemSections.Xml);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// loop through each healthRecordItem&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach (HealthRecordItem healthRecordItem in healthRecordItemCollection)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string itemXml = healthRecordItem.GetItemXml();&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (healthRecordItem.CommonData != null &amp;amp;&amp;amp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;healthRecordItem.CommonData.Extensions != null)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// create variable to contain WPD data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string dataWpd = string.Empty;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// going through each Extension in HealthRecordItem and proceed if it has WPD data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach (HealthRecordItemExtension healthRecordItemExtension in healthRecordItem.CommonData.Extensions)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (string.Compare(healthRecordItemExtension.Source, "WPD", true) == 0) // the item has WPD extension&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// old behavior:WPD data contained in healthRecordItemExtension.ExtensionData.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (healthRecordItemExtension.ExtensionData != null)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dataWpd = healthRecordItemExtension.ExtensionData.CreateNavigator().InnerXml;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Now if the healthRecordItemExtension.ExtensionData is missing, it's a new data model where&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//we retrieve WPD compressed data from OtherData:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HealthRecordItem healthRecordItemDataOther = healthRecordAccessor.GetItem(healthRecordItem.Key.Id, HealthRecordItemSections.OtherData);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (string.Compare(healthRecordItemDataOther.OtherData.ContentEncoding, "base64", true) == 0 ||&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string.Compare(healthRecordItemDataOther.OtherData.ContentEncoding, "base-64", true) == 0)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// converting base64 zipped items to string&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dataWpd = Base64GZipTextToString(healthRecordItemDataOther.OtherData.Data);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!string.IsNullOrEmpty(dataWpd))&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// do something with WPD data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// &amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// Decodes string from base 64 and decodes it using GZip decompression&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// &amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// &amp;lt;param name="source"&amp;gt;&amp;lt;/param&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// &amp;lt;returns&amp;gt;Decoded from base-64 and decompressed string&amp;lt;/returns&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private string Base64GZipTextToString(string source)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// verify argument&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (string.IsNullOrEmpty(source))&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new ArgumentNullException("source","Parameter cannot be null or empty");&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// convert the string to Unicode bytes&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byte[] srcBuffer = Convert.FromBase64String(source);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_compressedBufferSize = srcBuffer.Length;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using(MemoryStream memoryStream = new MemoryStream())&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// compress the buffer&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memoryStream.Write(&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;srcBuffer,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;srcBuffer.Length);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// reset the memory stream to read the decompressed data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memoryStream.Position = 0;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.IO.Compression.GZipStream decompression =&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new System.IO.Compression.GZipStream(&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memoryStream,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.IO.Compression.CompressionMode.Decompress);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byte[] decompressedBytes = ReadAllBytesFromStream(decompression);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_decompressedBufferSize = decompressedBytes.Length;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// reading compressed buffer back&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//decompression.Read(decompressedBytes, 0, decompressedBytes.Length);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;decompression.Close();&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return System.Text.Encoding.UTF8.GetString(decompressedBytes);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private const int buffer_size = 100;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static byte[] ReadAllBytesFromStream(System.IO.Compression.GZipStream stream)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Use this method is used to read all bytes from a stream.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int buffer_size = 100;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byte[] buffer = new byte[buffer_size];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using (MemoryStream memoryStream = new MemoryStream())&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (true)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int bytesRead = stream.Read(buffer, 0, buffer_size);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (bytesRead == 0)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memoryStream.Write(buffer, 0, bytesRead);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// reset the buffer to read the data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memoryStream.Position = 0;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byte[] newbuffer = new byte[memoryStream.Length];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memoryStream.Read(newbuffer,0,newbuffer.Length);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newbuffer;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style="WHITE-SPACE: normal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9002587" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/WPD+thing+type/default.aspx">WPD thing type</category></item><item><title>HealthVault Connection Center V2</title><link>http://blogs.msdn.com/healthvault_devices/archive/2008/10/17/healthvault-connection-center-v2.aspx</link><pubDate>Fri, 17 Oct 2008 03:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002572</guid><dc:creator>hvdevice</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/9002572.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=9002572</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;We are excited to announce that on Oct 6&lt;SUP&gt;th&lt;/SUP&gt; we officially launched &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://www.healthvault.com/personal/devices-overview.html"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#0000ff&gt;HealthVault Connection Center v2.0&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;.&amp;nbsp; This major upgrade takes HealthVault device connectivity to a whole new level.&amp;nbsp; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Some of the amazing new features include:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Brand new user experience with the same look and feel as the rest of the HealthVault family, and smooth transitions between client and web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Get started quickly, with help when you need it. First Run walks new users through the complexities of signing in for the first time and installing a new device.&amp;nbsp; Smart default settings allow users to upload as soon as they’re ready, and automate their entire workflow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Install drivers for additional devices using the same, familiar UI. Add a Device wizard guides users through driver installation for any device that connects with HealthVault. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Launch the HealthVault application of your choice as soon as you’ve uploaded your data.&amp;nbsp; Dynamic Application Detection automatically lists only the applications that use the data uploaded from the device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Upload from home and your office without fear of duplication.&amp;nbsp; Smart Synchronization skips duplicates even if you’re using the same device from a different computer and automatically updates items that have changed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Upload your data to your record from a shared device.&amp;nbsp; Smart Multi-User device support allows users who share multi-user devices to direct their data to the correct record.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d"&gt;&lt;FONT face=Calibri&gt;Save your device data even if you’re not connected to the Internet.&amp;nbsp; Auto Store-And-Forward saves your data locally and lets you resume your upload when you reconnect to the network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;For Developers working with Connection Center:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;You no longer need to set the registry keys to point the connection center to the pre production environment. When you are not logged in the connection center you will see a menu item mentioning “services”, choose this drop down to select the environment you want to target against. If you don’t “services” then please sign out using “Tools -&amp;gt; Sign Out” &amp;nbsp;to see this menu item.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9002572" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/HVCC+Connection+Center/default.aspx">HVCC Connection Center</category></item><item><title>HealthVault Device Logo program is now available</title><link>http://blogs.msdn.com/healthvault_devices/archive/2008/07/08/healthvault-device-logo-program-is-now-available.aspx</link><pubDate>Wed, 09 Jul 2008 00:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8709909</guid><dc:creator>hvdevice</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/8709909.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=8709909</wfw:commentRss><description>&lt;P&gt;The HealthVault logo program has been created to enable consumers to identify devices that work with HealthVault.&amp;nbsp; Find out more about the logo program at &lt;A href="http://www.healthvault.com/devicelogo/"&gt;http://www.healthvault.com/devicelogo/&lt;/A&gt;&amp;nbsp; The logo program contains a testing component that validates compatibility with HealthVault Connection Center.&amp;nbsp; We highly encourage you to use these tests to validate your driver and also highly encourage you to pursue the HealthVault logo to clearly identify that your device will work with HealthVault.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8709909" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/sign+driver+logo/default.aspx">sign driver logo</category><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/drivers/default.aspx">drivers</category><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/logo/default.aspx">logo</category><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/Testing/default.aspx">Testing</category></item><item><title>HealthVault Solutions Conference</title><link>http://blogs.msdn.com/healthvault_devices/archive/2008/04/03/healthvault-solutions-conference.aspx</link><pubDate>Fri, 04 Apr 2008 01:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8355187</guid><dc:creator>hvdevice</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/8355187.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=8355187</wfw:commentRss><description>&lt;TABLE class=MsoNormalTable style="BACKGROUND: #f8f8f8; WIDTH: 354pt; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" cellSpacing=0 cellPadding=0 width=472 border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 0in; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 6pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 0in 0in auto"&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Register now for the Microsoft HealthVault Solutions Conference 2008, June 9-10&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;The Microsoft HealthVault Solutions Conference 2008 is now open for registration!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Join us and fellow experts from across the industry to discover how you can build on the HealthVault platform and help transform healthcare. Share ideas and innovations with other solutions and device providers, and play a part in bringing healthcare into the Internet Age.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Space is limited to only two individuals per organization, so reserve your spot today at &lt;A title="The Microsoft HealthVault Solutions Conference 2008 registration site" href="http://www.ustechsregister.com/healthvaultsolutions"&gt;&lt;FONT color=#1a569d&gt;http://www.ustechsregister.com/healthvaultsolutions&lt;/FONT&gt;&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft HealthVault Solutions Conference 2008&lt;BR&gt;June 9-10&lt;BR&gt;Hyatt Regency, Bellevue, Washington&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Agenda Highlights:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #1b1b1b; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Find out about the latest upgrades to the HealthVault platform &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #1b1b1b; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Discover what applications have already been developed for HealthVault &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #1b1b1b; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Hear the finalists announced for the &lt;A href="http://www.healthvault.com/fund"&gt;&lt;FONT color=#1a569d&gt;HealthVault Be Well Fund&lt;/FONT&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #1b1b1b; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Learn from guest speakers and network with fellow industry experts &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Don’t miss out on one of the most informative health solutions conferences of the year!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Learn more about HealthVault at: &lt;A href="http://www.healthvault.com/hospitals"&gt;&lt;FONT color=#1a569d&gt;www.healthvault.com/hospitals&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 6pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 0in; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 8.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" vAlign=top width=11&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 6pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shape id=_x0000_i1027 style="WIDTH: 10.5pt; HEIGHT: 0.75pt" type="#_x0000_t75" alt=""&gt;&lt;v:imagedata o:href="cid:image003.png@01C894E5.96B1B770" src="file:///C:\Users\rockyl\AppData\Local\Temp\msohtmlclip1\01\clip_image003.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 0in; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 6pt; COLOR: #1b1b1b; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;v:shape id=_x0000_i1028 style="WIDTH: 33pt; HEIGHT: 33pt" type="#_x0000_t75" alt=""&gt;&lt;v:imagedata o:href="cid:image006.png@01C894E5.96B1B770" src="file:///C:\Users\rockyl\AppData\Local\Temp\msohtmlclip1\01\clip_image004.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8355187" width="1" height="1"&gt;</description></item><item><title>Getting your driver signed</title><link>http://blogs.msdn.com/healthvault_devices/archive/2008/01/31/getting-your-driver-signed.aspx</link><pubDate>Thu, 31 Jan 2008 04:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7337323</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/7337323.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=7337323</wfw:commentRss><description>&lt;P&gt;In order to get their drivers signed, first you must be installable via an INF file.&amp;nbsp; Once you have that, then you are eligble to be submit your driver through the Windows logo programs Unclassified program.&amp;nbsp; Devices and drivers are not eligble to use the Windows logo as this category only tests for driver reliability and stability, not for actual functionality.&amp;nbsp; Drivers that are submitted through this category are required to comply with all device fundamental requirements, including the requirement for x64 support.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;For first timers going though the logo program, you should read the following link:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://www.microsoft.com/whdc/getstart/testing.mspx"&gt;http://www.microsoft.com/whdc/getstart/testing.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;This will get you familiar with how to register with the online submission site (Winqual), give you direction on how to obtain the Windows Logo Kit (WLK) which contains the actual tests, and give you directions on how to receive assistance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;If you have any questions, feel free contact Logo Feedback at &lt;A href="mailto:logofb@microsoft.com"&gt;logofb@microsoft.com&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7337323" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/logo/default.aspx">logo</category></item><item><title>HealthVault Device Driver Development Kit available on MSDN</title><link>http://blogs.msdn.com/healthvault_devices/archive/2008/01/31/healthvault-device-driver-development-kit-available-on-msdn.aspx</link><pubDate>Thu, 31 Jan 2008 03:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7337189</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/7337189.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=7337189</wfw:commentRss><description>&lt;P&gt;The latest version of the HealthVault Device Driver Development kit is not posted on the &lt;A class="" href="http://msdn.microsoft.com/healthvault" mce_href="http://msdn.microsoft.com/healthvault"&gt;HealthVault MSDN site&lt;/A&gt;.&amp;nbsp; This kit contains documentation, sample code and sample installer code to build a driver for HealthVault.&amp;nbsp; The sample drivers that are included allow you to easily build drivers for the following devices with minimal effort.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Blood Pressure monitor&lt;/LI&gt;
&lt;LI&gt;Blood Glucose Monitor&lt;/LI&gt;
&lt;LI&gt;Weight scale &lt;/LI&gt;
&lt;LI&gt;Fitness Monitoring device (pedometers, heart rate monitoring, etc)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The package also includes a simple installer project to allow you to build a deployable package to send out to your consumers.&amp;nbsp; The DDDK will be removed from the connect site, but&amp;nbsp;continue to use the connect site to send bugs or ask us questions.&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7337189" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/development+kit/default.aspx">development kit</category></item><item><title>The Device Driver Development Kit is now available at Connect.microsoft.com</title><link>http://blogs.msdn.com/healthvault_devices/archive/2007/11/26/the-device-driver-development-kit-is-now-available-at-connect-microsoft-com.aspx</link><pubDate>Tue, 27 Nov 2007 02:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6536872</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/6536872.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=6536872</wfw:commentRss><description>&lt;P&gt;The Device Driver development kit is now available at &lt;A class="" href="http://connect.microsoft.com/" target=_blank mce_href="http://connect.microsoft.com"&gt;connect.microsoft.com&lt;/A&gt;.&amp;nbsp; You will need the following invitation code"hv-3P6H-R3DP" to obtain access to the HealthVault device connect site.&amp;nbsp; The Microsoft Connect&amp;nbsp;site is a central&amp;nbsp;source for varous pieces of information that you may find useful for building a HealthVault compatible device.&amp;nbsp; The connect will also allow for you to have a direct connection&amp;nbsp;into Microsoft&amp;nbsp;for bug support, support requests, and general information.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6536872" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/healthvault_devices/archive/tags/development+kit/default.aspx">development kit</category></item><item><title>"Code 10" errors with WPD drivers</title><link>http://blogs.msdn.com/healthvault_devices/archive/2007/11/01/code-10-errors-with-wpd-drivers.aspx</link><pubDate>Thu, 01 Nov 2007 23:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5820431</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/5820431.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=5820431</wfw:commentRss><description>&lt;P&gt;While building your drivers for HealthVault Conection Center you may come across&amp;nbsp;the "Code 10" error&amp;nbsp;and the device manager gives you a status of "This device cannot start. (Code 10)"&amp;nbsp; This is due to your driver not being able to start, or it may have crashed..&amp;nbsp; So below are some of the steps that you can take to help debug your driver.&lt;/P&gt;
&lt;P&gt;The first thing to check is whether the driver even loads correctly as a DLL.&amp;nbsp; A simple way to do this is to run the Depends.exe tool (comes with Visual Studio) on the PC that has the problem.&lt;/P&gt;
&lt;P&gt;If Depends.exe flags anything (e.g. can’t find the debug VC CRT, or some helper DLL) you should be able to identify and therefore fix the problem.&amp;nbsp; There are two common problems of this type:&lt;BR&gt;- Missing CRTs.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o&amp;nbsp;&amp;nbsp; Whether DEBUG or Retail, the correct version of the VC runtime redist needs to be installed on the machine.&amp;nbsp; NOTE: Connection Center will install VC runtime for VC 2005 SP1.&lt;BR&gt;- Missing I/O or device library file&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o&amp;nbsp;&amp;nbsp; Make sure the device INF copies the I/O library or device library file to the correct location.&amp;nbsp; If your driver does not explicitly load library from a known directory but instead relies on the system to find and load the DLL, remember that the EXE you’re running under (WUDFHOST.EXE) has a working directory of %WINDIR%\System32, not the subdirectory where your driver is (%windir%\System32\drivers\umdf\Hdi).&amp;nbsp; Therefore, your INF may need to specify a different target location in the CopyFiles section for that file.&lt;/P&gt;
&lt;P&gt;If Depends.exe loads the DLL fine, but you still have a code 10, then your driver is likely loading but failing to start.&amp;nbsp; The best thing to do there is to debug the driver when it is loaded/started.&amp;nbsp; Follow these steps to debug the driver start:&lt;/P&gt;
&lt;P&gt;- WUDF has a registry entry that helps with debugging.&amp;nbsp; This entry causes the WUDF service to wait while a debugger is attached for a specified amount of time.&lt;BR&gt;&amp;nbsp; (See &lt;A href="http://msdn2.microsoft.com/en-us/library/aa510985.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa510985.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa510985.aspx&lt;/A&gt;)&lt;BR&gt;- Set the registry value at &lt;BR&gt;&amp;nbsp; "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WUDF\Services\{193a1820-d9ac-4997-8c55-be817523f6aa}\HostProcessDbgBreakOnStart"&lt;BR&gt;&amp;nbsp; to 0x00030000.&lt;BR&gt;- Disable your WPD device in device manager&lt;BR&gt;- Open your driver project in Visual Studio 2005 and open the source file 'device.cpp'.&lt;BR&gt;- Set a break point in the function CDevice::OnPrepareHardware( ).&lt;BR&gt;- Enable your WPD driver from device manager.&lt;BR&gt;- In Visual Studio 2005 open the ‘Attach To Process’ dialog.&amp;nbsp; (Debug-&amp;gt;Attach to process…).&lt;BR&gt;- Check the boxes labeled ‘Show processes from all users’ and ‘Show processes in all sessions’.&lt;BR&gt;- The process to attach to is called 'WUDFHOST.EXE'. Your WPD Driver is hosted in this process.&amp;nbsp; (If there is more than one WUDFHOST.EXE listed, &lt;BR&gt;&amp;nbsp;&amp;nbsp; it means you have more than one WPD driver running.&amp;nbsp; Go to Device Manager and DIsable the other WPD devices.)&lt;BR&gt;- Hit F5 in Visual Studio 2005 and it will hit your Breakpoint in 'device.cpp'&lt;BR&gt;- Walk through your driver start-up code.&amp;nbsp; Note that you must not return an error from CDevice::OnPrepareHardware( ).&lt;BR&gt;&amp;nbsp; Returning an error tells PnP that your driver has a critical error and cannot load.&amp;nbsp; If your device is not available at load time,&lt;BR&gt;&amp;nbsp; that is fine - you should still return success (you will just not have any data yet).&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5820431" width="1" height="1"&gt;</description></item><item><title>How do I enable connection center to automatically detect my non-pnp health device </title><link>http://blogs.msdn.com/healthvault_devices/archive/2007/10/17/how-do-i-enable-connection-center-to-automatically-detect-my-non-pnp-health-device.aspx</link><pubDate>Thu, 18 Oct 2007 00:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5499695</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/5499695.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=5499695</wfw:commentRss><description>&lt;P&gt;There are two main options for how to work around issues with non-PnP buses (serial port, irDA, etc):&lt;/P&gt;
&lt;P&gt;1)·Have the driver poll&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;This polling thread is started when the driver loads and continues to poll until the driver is unloaded.&lt;/LI&gt;
&lt;LI&gt;It provides a PnP-like experience since the driver can send an event to Connection Center (and all listening apps) when the device arrives and when it leaves.&lt;/LI&gt;
&lt;LI&gt;This is the typical solution most vendors implement.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;2) Have the driver be request-driven (i.e. no polling)&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;When a request comes into the driver for data (e.g. an application is asking “How many Glucose Readings do you have?”) the driver attempts to talk to the device.&amp;nbsp; If the device responds, then the driver grabs the data and fulfills the request.&amp;nbsp; If the device does not respond, then the driver assumes the device is not currently plugged in and returns no items.&lt;/LI&gt;
&lt;LI&gt;This is safer than polling, but has two main drawbacks:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;The user experience is not as good because the user has to initiate the action (e.g. Browse the device in My Computer, or Click “Upload Data to HealthVault” in Connection Center etc.).&lt;/LI&gt;
&lt;LI&gt;The driver needs to implement some logic about when it “refreshes” data in its cache (i.e. since it’s not polling, it doesn’t know when the device leaves and comes back with new data.&amp;nbsp; Calling into the device on every request is usually not an option for performance reasons so some form of caching is usually employed).&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;Based on your needs, you may implement either solutions.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5499695" width="1" height="1"&gt;</description></item><item><title>What is a HealthVault Device?</title><link>http://blogs.msdn.com/healthvault_devices/archive/2007/10/17/what-is-a-healthvault-device.aspx</link><pubDate>Thu, 18 Oct 2007 00:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5499372</guid><dc:creator>hvdevice</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/healthvault_devices/comments/5499372.aspx</comments><wfw:commentRss>http://blogs.msdn.com/healthvault_devices/commentrss.aspx?PostID=5499372</wfw:commentRss><description>&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;The HealthVault Connection Center is built upon the Windows Portable Devices (WPD) technology that is used to connect cameras, media players, and cell phones to Windows.&amp;nbsp; With the release of HealthVault we’ve extended this architecture to support health and fitness devices.&amp;nbsp; The WPD technology is bus agnostic.&amp;nbsp; This means that it is completely independent of the connectivity mechanism used to connect the device to Windows.&amp;nbsp; As such it supports all connectivity mechanisms including USB 1.1, USB 2.0, Bluetooth, IR, Serial, etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;The WPD model requires the installation of a User Mode driver.&amp;nbsp; A user mode driver is considerably easier to build than a kernel driver. &amp;nbsp;A user mode driver would be responsible for establishing a connection to the device from the PC, then respond to requests from the HealthVault Connection Center for data recorded on the device.&amp;nbsp; The primary responsibility of the driver is to map the proprietary device data types into HealthVault data types.&amp;nbsp; With this simple driver the health device can connect with the HealthVault Connection Center without any modification to the device firmware.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Consolas size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;The following resources describe the WPD architecture in more detail.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;High-level video discussion of the WPD technology at &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=234357#234357"&gt;&lt;FONT face=Consolas color=#0000ff size=3&gt;http://channel9.msdn.com/ShowPost.aspx?PostID=234357#234357&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Consolas size=3&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;MSDN contains the latest SDK information on WPD.&amp;nbsp; This design and programming guide describes development using the WPD API.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://msdn2.microsoft.com/en-gb/library/ms740786.aspx"&gt;&lt;FONT face=Consolas size=3&gt;http://msdn2.microsoft.com/en-gb/library/ms740786.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Consolas size=3&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;Windows Driver Development Kit describes how to build a WPD user mode driver, complete with documentation and samples.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx"&gt;&lt;FONT face=Consolas size=3&gt;http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;To learn about the WPD extensions for Health and Fitness devices you should download the HealthVault SDK.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://msdn2.microsoft.com/en-us/healthvault/default.aspx"&gt;&lt;FONT face=Consolas size=3&gt;http://msdn2.microsoft.com/en-us/healthvault/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5499372" width="1" height="1"&gt;</description></item></channel></rss>