<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Reviving The Health Revolution</title>
	<atom:link href="http://healthblog.vitraag.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://healthblog.vitraag.com</link>
	<description>A view from inside the HealthVault</description>
	<lastBuildDate>Tue, 27 Jul 2010 18:12:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OSCON&#8217;10 Notes</title>
		<link>http://healthblog.vitraag.com/2010/07/oscon10-notes/</link>
		<comments>http://healthblog.vitraag.com/2010/07/oscon10-notes/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 19:41:31 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[HealthVault]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=278</guid>
		<description><![CDATA[Over four days from July 20-23, I had great fun connecting 1:1 with a some of the influencers in Healthcare IT and learning about new technologies on the horizon (Asynchronous programming, Scala, Go, Android, ..) at the Open Source Conference in Portland. 
So how did my talk go?        [...]]]></description>
			<content:encoded><![CDATA[<p>Over four days from July 20-23, I had great fun connecting 1:1 with a some of the influencers in Healthcare IT and learning about new technologies on the horizon (Asynchronous programming, Scala, Go, Android, ..) at the Open Source Conference in Portland. </p>
<p><b><u>So how did my talk go?        <br /></u></b>My <a href="http://www.oscon.com/oscon2010/public/schedule/detail/15292">talk</a> went reasonably smooth, overall I was happy with what I could put together in limited time. According to the polls and some in person conversations people seemed to like the fact that I attempted to break it down with a technical deep dive, especially taking time to go deeper on on-the-wire protocols and standards.</p>
<p>The talk was recorded by Robert Wood Johnson foundation and I’ll post a link around when they make it available online.</p>
<p><strong><u>OSCON Healthcare Track        <br /></u></strong>I attended most of the talks at OSCON HealthCare <a href="http://www.oscon.com/oscon2010/public/schedule/topic/Health">track</a>. This was the first Healthcare track at the conference, in my opinion it turned out splendid! Andy Oram has a good summary of the <a href="http://radar.oreilly.com/2010/07/day-one-of-the-health-care-it.html">first</a>, <a href="http://radar.oreilly.com/2010/07/vista-scenarios-and-other-cont.html">second</a> &amp; <a href="http://radar.oreilly.com/2010/07/wrap-up-of-the-health-care-it.html">third</a> day, and Fred Totter has links to <a href="http://www.fredtrotter.com/2010/07/26/nhin-and-others-at-oscon/">interviews</a> of some of the presenters. Over the three days of Healthcare track I learnt a lot about various NHIN and VistA projects.</p>
<p><strong><u>Sessions        <br /></u></strong>In addition, I attended a few session and a couple of tutorials. I’ll summarize some of them below with key take-away or interesting links :</p>
<ul>
<li><b>Cloud computing&#160; – “Situation Normal, Everything Must change”:</b> If nothing else I would highly recommend watching <a href="http://www.youtube.com/watch?v=5Oyf4vvJyy4&amp;feature=PlayList&amp;p=12696FB0B040FA53&amp;playnext_from=PL&amp;index=39">this</a> key-note, no new content but the <a href="http://radar.oreilly.com/simon/">Simon Wardley</a> is very effective in communicating his point about Cloud computing and managing technology in general. </li>
<li><strong>Asynchronous Programming</strong> – I learnt a lot about nginx web-server and the principles behind <a href="http://nodejs.org/">node.js</a>. Ilya’s <a href="http://www.oscon.com/oscon2010/public/schedule/detail/13709">talk</a> was specific to Ruby but learnt a lot about the perf gain PostRank has gotten owing to Asychcrony. He was gracious to have lunch with me and one of interesting things he mention was use of <a href="http://www.amqp.org/confluence/download/attachments/720900/amqp0-8.pdf">AMQP</a>. AMQP is near real-time (low latency, high throughput) general purpose message standard used by most of the guys on Wall-street! An open source implementation of the same is RabbitMQ. </li>
<li><b><a href="http://www.oscon.com/oscon2010/public/schedule/detail/14760">Another Go at Language Design: </a></b>Since I’m a compiler wonk and systems’ programmer, it was great to see Rob Pike’s presentation on Go language and specially see the fast Go compilers, most optimizations are owing to managing the dependencies for linking. </li>
<li>jQuery – The presentation on <a href="http://assets.en.oreilly.com/1/event/45/Cooking%20with%20jQuery%20Presentation.pdf">jQuery</a> was very detailed even for a novice. I particularly liked the show-casing of selectors to write succinct iavascript code. </li>
<li>Graph Database – <a href="http://neo4j.org/">Neo4j</a> : At fore front in the NoSQL camp Neo4j offers up to 1000x performance gain over relational database for implementing applications like a social network. Key different from RDBMS is that the Graph itself is the main index! </li>
<li>Android: I learnt a quite a bit about Google Android and their development methodology. Android developers in general focus a lot on remove perceivable slowness from the application (called “Jank” in Google lingo).Anything which takes more than 200ms to process is considered bad. A good rule of thumb to prevent “Jank” is to never stall the event loop.&#160; To spur further Android excitement Google gave away the soon to be de-commissioned Nexus one devices in one of their workshops.&#160; </li>
<li><a href="http://openstack.org/"><strong>Open stack</strong></a>:Open source system for creating Amazon EC2-like clouds. In fact this project is open sourcing of the RackSpace cloud system.<b><u></u></b> </li>
<li>An interesting <a href="http://xmlvm.org/overview/">project</a> to cross-compile Android projects to iPhone. </li>
</ul>
<p><b><u>Birds of feather session on Healthcare Standards        <br /></u></b>I participated in the <a href="http://www.oscon.com/oscon2010/public/schedule/detail/15598">BOF</a> on Healthcare Standards. </p>
<p>The conversation started by highlighting the classic problem of how people who have been in the industry want semantic interoperability&#160; and how the new entrants in the area want simple systems. I contribute to this conversation by pointing out that if standards get developed with industrial strength open implementations they are more tend to be more sane (read NHIN-D).</p>
<p>The conversation then drifted towards terminologies. Everyone in the room was outraged with CPT and AMA’s greed J. David Riley (head of NHIN project) added to the conversation saying that ICD-10 procedures are designed to replace CPT. I contributed to the conversation detailing how it’s difficult to develop a coherent system with all the different vocabularies with different licensing requirement and incomplete&#160; mappings to each other. David was then gracious to detail a project done in the federal government where they attempted to come up with a common terminology service by inventing something akin to OIDs for each terminology. He is hoping that he can open source those terminologies sometime soon. Brian Bhelendorf then added to the conversation asking how can we enable or create open source terminologies. I was suggested that may be can do something like RxNorm to create a uniform mapping system which the terminology licensors can adopt. There was more discussion on this topic, no one felt that UMLS was adequate.</p>
<p>PS: I’ll update the this post with more links and thought-blocks as I remember <img src='http://healthblog.vitraag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/07/oscon10-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming HealthCare Silos &#8211; my OSCON&#8217;10 Talk</title>
		<link>http://healthblog.vitraag.com/2010/07/programming-healthcare-silos-my-oscon10-talk/</link>
		<comments>http://healthblog.vitraag.com/2010/07/programming-healthcare-silos-my-oscon10-talk/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 23:55:17 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/2010/07/programming-healthcare-silos-my-oscon10-talk/</guid>
		<description><![CDATA[I’ll be presenting a talk called “Programming HealthCare Silos” at Open Source Conference 2010 on July 23rd. I’m really excited about the talk, I feel honored to get an opportunity to present at OSCON. OSCON is a very prestigious venue, with a huge of mindshare in software community and who’s who on the attendee and [...]]]></description>
			<content:encoded><![CDATA[<p>I’ll be presenting a talk called “<a href="http://www.oscon.com/oscon2010/public/schedule/detail/15292">Programming HealthCare Silos</a>” at <a href="http://www.oscon.com">Open Source Conference 2010</a> on July 23rd. I’m really excited about the talk, I feel honored to get an opportunity to present at OSCON. OSCON is a very prestigious venue, with a huge of mindshare in software community and who’s who on the attendee and <a href="http://www.oscon.com/oscon2010/public/schedule/grid">speaker list</a>. </p>
<p>If you are planning to attend the conference do drop me a note, and perhaps some check-out my <a href="http://www.oscon.com/oscon2010/public/schedule/detail/15292">talk</a>. I’m also looking for audience for dry-runs of my talk..</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/07/programming-healthcare-silos-my-oscon10-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Body By Science</title>
		<link>http://healthblog.vitraag.com/2010/06/body-by-science/</link>
		<comments>http://healthblog.vitraag.com/2010/06/body-by-science/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 01:12:23 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/2010/06/body-by-science/</guid>
		<description><![CDATA[Thought this might be an interesting post from my personal blog.
]]></description>
			<content:encoded><![CDATA[<p>Thought <a href="http://ramblings.vitraag.com/2010/06/body-by-science/">this</a> might be an interesting post from my personal blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/06/body-by-science/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Calories, Bad Calories</title>
		<link>http://healthblog.vitraag.com/2010/04/good-calories-bad-calories/</link>
		<comments>http://healthblog.vitraag.com/2010/04/good-calories-bad-calories/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 01:25:56 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[HealthIT]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=262</guid>
		<description><![CDATA[Thought this might be an interesting post from my personal blog.
]]></description>
			<content:encoded><![CDATA[<p>Thought <a href="http://ramblings.vitraag.com/2010/04/good-calories-bad-calories/">this </a>might be an interesting post from my personal blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/04/good-calories-bad-calories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cool Things from Mix &#8216;10!</title>
		<link>http://healthblog.vitraag.com/2010/03/cool-things-from-mix/</link>
		<comments>http://healthblog.vitraag.com/2010/03/cool-things-from-mix/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 01:49:16 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/2010/03/cool-things-from-mix/</guid>
		<description><![CDATA[Even before I do my HIMSS post I felt compelled to talk about the shiny things from Mix 2010.

Windows Phone 7 Series Developer Studio – I love the free tools provided to develop for Windows Phone. Love the fact that Silverlight and XNA studio are very thoughtfully and seamlessly working with-in Visual Studio Express. The [...]]]></description>
			<content:encoded><![CDATA[<p>Even before I do my <a href="http://himssconference.org/">HIMSS</a> post I felt compelled to talk about the shiny things from <a href="http://www.visitmix.com">Mix</a> 2010.</p>
<ul>
<li><strong><u>Windows Phone 7 Series Developer Studio</u></strong> – I love the free tools provided to develop for Windows Phone. Love the fact that Silverlight and XNA studio are very thoughtfully and seamlessly working with-in Visual Studio Express. The developer studio is lean and performant, its great to see the tool tips for Pixel widths right in the design surface. I was able to write a simple Health app in about 10 mins, the Phones are not out yet but the </li>
</ul>
<p><a href="http://healthblog.vitraag.com/wp-content/uploads/2010/03/image.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://healthblog.vitraag.com/wp-content/uploads/2010/03/image_thumb.png" width="244" height="119" /></a></p>
<ul>
<li><strong>Open Data Protocol</strong> : Very interesting competition to GData <img src='http://healthblog.vitraag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . OData &#8211; <a title="http://www.odata.org/" href="http://www.odata.org/">http://www.odata.org/</a> is a combination of AtomPub with data-typing and querying conventions. OData is supported out of the box by Windows Azure services, and Netflix launch an API powered by OData &#8211; <a title="http://odata.netflix.com/Catalog/" href="http://odata.netflix.com/Catalog/">http://odata.netflix.com/Catalog/</a>. It will be great to learn more about batching and syncing aspects of this protocol (Interestingly Microsoft Sync Platform also launched an asymmetric syncing capability). </li>
<li><strong>Data Relay</strong> : MySpace which is the largest .NET site open sourced their middle-tier GU &#8211; <a title="http://datarelay.codeplex.com/" href="http://datarelay.codeplex.com/">http://datarelay.codeplex.com/</a>. DataRelay has a framework for message passing, transaction management on top of a performant caching system. Apparently it uses The CCR (<a href="http://msdn.microsoft.com/en-us/library/bb648752.aspx">Concurrency and Coordination Runtime</a>) from Microsoft Robotic Studio <img src='http://healthblog.vitraag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </li>
<li>A very interesting <a href="http://live.visitmix.com/MIX10/Sessions/EX15">presentation</a> of building your own <strong>MVVM framework</strong> – I love the use of Continuations and a programming model where the framework takes care of concurrency and events! The presenter is author of Caliburn &#8211; <a title="http://www.codeplex.com/caliburn" href="http://www.codeplex.com/caliburn">http://www.codeplex.com/caliburn</a>. </li>
<li><strong>Font</strong>-ing it out – For a font newbie like me, all i know about Fonts I learnt from Kevin Larsons presentation : <a title="http://live.visitmix.com/MIX10/Sessions/DS07" href="http://live.visitmix.com/MIX10/Sessions/DS07">http://live.visitmix.com/MIX10/Sessions/DS07</a>&#160; </li>
</ul>
<p>Twitter hashtag for mix is #mix10 and session recordings are available at <a href="http://live.visitmix.com">http://live.visitmix.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/03/cool-things-from-mix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HIMSS 10 Conference &#8211; Cover It Live!</title>
		<link>http://healthblog.vitraag.com/2010/02/himss-10-conference-cover-it-live/</link>
		<comments>http://healthblog.vitraag.com/2010/02/himss-10-conference-cover-it-live/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 21:27:45 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[HealthVault]]></category>
		<category><![CDATA[HIT]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=256</guid>
		<description><![CDATA[Cover It Live event for HIMSS Conference:
HIMSS 10 Conference
]]></description>
			<content:encoded><![CDATA[<p>Cover It Live event for HIMSS Conference:</p>
<p><iframe src="http://www.coveritlive.com/index2.php/option=com_altcaster/task=viewaltcast/altcast_code=82aceeb9ff/height=550/width=470" scrolling="no" height="550px" width="470px" frameBorder="0" allowTransparency="true" ><a href="http://www.coveritlive.com/mobile.php/option=com_mobile/task=viewaltcast/altcast_code=82aceeb9ff" >HIMSS 10 Conference</a></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/02/himss-10-conference-cover-it-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding Components of CCD</title>
		<link>http://healthblog.vitraag.com/2010/01/understanding-components-of-ccd/</link>
		<comments>http://healthblog.vitraag.com/2010/01/understanding-components-of-ccd/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 01:52:35 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[Vocabularies]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=250</guid>
		<description><![CDATA[Connectivity of Care Document (CCD) is a collaborative standard driven by HL7 &#38; ASTM for exchanging summary format clinical information.
For ease of understanding one can think of CCD standard comprising of several elements in an hierarchical fashion: 

HL7 V3 Data Types and Reference Information Model (RIM) : At the base of CCD standard are the [...]]]></description>
			<content:encoded><![CDATA[<p>Connectivity of Care Document (CCD) is a collaborative standard driven by HL7 &amp; ASTM for exchanging <strong>summary format </strong>clinical information.</p>
<p>For ease of understanding one can think of CCD standard comprising of several elements in an hierarchical fashion: </p>
<ol>
<li>HL7 V3 Data Types and Reference Information Model (RIM) : At the base of CCD standard are the HL7 <a href="http://www.hl7.org/v3ballot2009JAN/html/help/v3guide/v3guide.htm#v3gdt">Data types</a> and <a href="http://www.hl7.org/v3ballot2009JAN/html/infrastructure/rim/rim.htm#">Reference Information Model</a>.&#160; HL7 V3 data types define the structural format of the data carried. The HL7 RIM expresses the information content of work done by HL7 working committee to define data types, relationships between them, and a state transition model for some entities.</li>
<li>Clinical Document Architecture (CDA): The <a href="http://www.hl7.org/v3ballot2009JAN/html/infrastructure/cda/cda.htm#What_is_the_CDA">HL7 CDA</a> defines the specific structure and semantics for any clinical document for purposes of exchange. CDA document can be encoded in XML. A CDA document if encoded in XML must comply to the schema. NIST has a good CDA validation <a href="http://xreg2.nist.gov/cda-validation/validation.html">tool</a>.</li>
<li>CCD Implementation Guide: The CCD implementation guide describes the constraints on the HL7 Clinical Document Architecture R2 specification in accordance with requirements set forward by ASTM (the governing body behind CCR).</li>
</ol>
<p><a href="http://healthblog.vitraag.com/wp-content/uploads/2010/01/image.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://healthblog.vitraag.com/wp-content/uploads/2010/01/image_thumb.png" width="510" height="198" /></a> </p>
<p align="center">Fig 1. Components of CCD Standard</p>
</p>
<p>Related articles in this series :</p>
<ol>
<li><a href="http://healthblog.vitraag.com/2009/04/understanding-vocabularies-wait-what-did-you-say/">Understanding Vocabularies. Wait! What did you say?</a></li>
<li><a href="http://healthblog.vitraag.com/2009/07/understanding-vocabularies-2-healthvault-recommendations/">Understanding Vocabularies #2 – HealthVault Recommendations</a></li>
<li><a href="http://healthblog.vitraag.com/2009/10/understanding-snomed-ct/">Understanding SNOMED CT</a></li>
<li><a href="http://healthblog.vitraag.com/2009/10/understanding-ccr/">Understanding CCR</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/01/understanding-components-of-ccd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Best of 2009 !</title>
		<link>http://healthblog.vitraag.com/2010/01/best-of-2009-on-rhr/</link>
		<comments>http://healthblog.vitraag.com/2010/01/best-of-2009-on-rhr/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 01:13:30 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=238</guid>
		<description><![CDATA[Happy new year!! I’m summarizing the Best of 2009 on Reviving the Health Revolution blog -
Understanding Health IT Standards    In April I started a series which aims at helping a programmer understand Health IT standards. I aim to develop this series further in 2010 and I’m also working on a compilation of [...]]]></description>
			<content:encoded><![CDATA[<p>Happy new year!! I’m summarizing the Best of 2009 on Reviving the Health Revolution blog -</p>
<p><a href="http://healthblog.vitraag.com/topics/vocabularies/"><strong>Understanding Health IT Standards</strong></a>    <br />In April I started a series which aims at helping a programmer understand Health IT standards. I aim to develop this series further in 2010 and I’m also working on a compilation of essays on Health IT, you are encouraged to provide feedback <a href="http://spreadsheets.google.com/viewform?hl=en&amp;formkey=dEJOQUsyb0hvWndlNVBPNzdlcEwtU0E6MA ">here</a>. </p>
<p>The series so far talks about <a href="http://healthblog.vitraag.com/2009/04/understanding-vocabularies-wait-what-did-you-say/">Vocabularies</a>, <a href="http://healthblog.vitraag.com/2009/07/understanding-vocabularies-2-healthvault-recommendations/">HealthVault Data Types in context of various Health IT Standards</a>, <a href="http://healthblog.vitraag.com/2009/10/understanding-snomed-ct/">SNOMED-CT</a>, <a href="http://healthblog.vitraag.com/2009/10/understanding-ccr/">CCR</a>.</p>
<p><a href="http://apps.healthvault.com/walkme"><strong>WalkMe</strong></a><strong>      <br /></strong>I started the year with posting about <a href="http://healthblog.vitraag.com/2009/02/walkme-walk-with-your-friends/">WalkMe</a>, and followed in July with a <a href="http://healthblog.vitraag.com/2009/07/syncing-with-healthvault-the-walkme-way/">detailed post</a> about data syncing architecture of this application. This simple walking application is now tracking over 2 million steps! If you want to add a live pedometer signature to your outlook e-mail follow <a href="http://healthblog.vitraag.com/2009/07/sharing-your-walkme-pedometer-using-e-mail-signature/">this</a> post. Future features and development of this application is primarily driven by user <a href="http://walkme.uservoice.com/pages/11683-general">feedback</a>. </p>
<p><strong>HealthVault Applications using ASP.NET MVC and on Windows Azure     <br /></strong>In July I did a <a href="http://healthblog.vitraag.com/2009/07/talking-to-healthvault-via-aspnet-mvc-1/">post</a> showing how one use ASP.NET MVC framework for developing HealthVault applications. The HealthVault .NET SDK is primarily geared towards ASP.NET Webforms.</p>
<p>In October I <a href="http://healthblog.vitraag.com/2009/10/healthvault-apps-on-windows-azure/">wrote</a> about how one can deploy HealthVault applications on Windows Azure! This is has been a very popular article, check out some live samples running on Windows Azure <a href="http://hvsamples.cloudapp.net/">here</a>.</p>
<p><strong>Flu Management     <br /></strong>In April I post about Ushahidi’s Crisis management application for <a href="http://healthblog.vitraag.com/2009/04/swine-flu-crisis-management/">Swine Flu</a>. In October <a href="http://healthblog.vitraag.com/2009/10/guns-germs-and-steel/">I blogged</a> in detailed about Microsoft’s Flu Management center and my little Flu widget.</p>
<p><a href="http://healthblog.vitraag.com/2009/03/working-with-healthvault-xml-apis/"><strong>HealthVault XML APIs</strong></a><strong>      <br /></strong>The HealthVault .NET SDK serves majority of HealthVault partners but last year we saw increase in adoption of our XML APIs consuming it through the <a href="http://healthblog.vitraag.com/2009/12/enhanced-healthvault-java-library/">Java SDK</a>, Python SDK , Ruby Wrapper or the raw XML layers. The <a href="http://healthblog.vitraag.com/2009/03/working-with-healthvault-xml-apis/">series</a> on working with XML layer is a good starting point.</p>
<p><strong>Connected Health Conference</strong>    <br />For those of you who missed this conference in June, you can catch up <a href="http://healthblog.vitraag.com/2009/06/microsoft-connected-health-conference-cover-it-live/">here</a>.</p>
<p> <strong>Programming Techniques &amp; Data Analysis   <br /></strong><a href="http://healthblog.vitraag.com/2009/12/f-functional-approach/">Functional Programming</a>, <a href="http://healthblog.vitraag.com/2009/12/memoization/">Memoization</a> .. ring a bell? Well I plan on dwelling more on programming techniques and data analysis in 2010.
<p>Feel free to let me know you top post for 2009, in comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2010/01/best-of-2009-on-rhr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enhanced HealthVault Java Library!</title>
		<link>http://healthblog.vitraag.com/2009/12/enhanced-healthvault-java-library/</link>
		<comments>http://healthblog.vitraag.com/2009/12/enhanced-healthvault-java-library/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 03:54:23 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/2009/12/enhanced-healthvault-java-library/</guid>
		<description><![CDATA[The first release (R1.0) of HealthVault Java Library has been very successful and is being extensively used by HealthVault partners. This library provides basic capabilities to authenticate and exchange XML with HealthVault platform.
Over last few months, thanks to Rob, Siddhartha &#38; Ali we have gained some momentum in developing this library. The current beta release [...]]]></description>
			<content:encoded><![CDATA[<p>The first release (<a href="http://healthvaultjavalib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35488">R1.0</a>) of <a href="http://healthvaultjavalib.codeplex.com/">HealthVault Java Library</a> has been very successful and is being extensively used by HealthVault partners. This library provides basic capabilities to authenticate and exchange XML with HealthVault platform.</p>
<p>Over last few months, thanks to Rob, Siddhartha &amp; Ali we have gained some momentum in developing this library. The current beta release (<a href="http://healthvaultjavalib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35562">JAXB integration</a>) includes beginnings of an object model for HealthVault methods and types.&#160; Kudos to Rob for some great work here.</p>
<p>If you are already using the community supported HealthVault Java Library, I would encourage you to<strong> try</strong>&#160; the new <a href="http://healthvaultjavalib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35562">JAXB Integration release</a>. It will be great to get your feedback before we make this work as our core development codebase. If you are new to working with HealthVault from Java please follow the <a href="http://healthvaultjavalib.codeplex.com/wikipage?title=Getting%20Started&amp;referringTitle=Home">getting started guide</a>.</p>
<p><strong>Looking forward to comments, feedback and contributions!</strong></p>
<p><a href="http://healthvaultjavalib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35562"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://healthblog.vitraag.com/wp-content/uploads/2009/12/image1.png" width="199" height="96" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2009/12/enhanced-healthvault-java-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F# &#8211; Functional Approach</title>
		<link>http://healthblog.vitraag.com/2009/12/f-functional-approach/</link>
		<comments>http://healthblog.vitraag.com/2009/12/f-functional-approach/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 03:30:55 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=227</guid>
		<description><![CDATA[Functional programming is becoming more and more mainstream these days. C# 3.0, Python &#38; Ruby have embodied many of the functional approaches. Microsoft even is releasing F# as first class language in Visual Studio 2010. F# is complaint in syntax with OCaml. Back in the day (at UC Santa Cruz) I wrote a language translator [...]]]></description>
			<content:encoded><![CDATA[<p>Functional programming is becoming more and more mainstream these days. C# 3.0, Python &amp; Ruby have embodied many of the functional approaches. Microsoft even is releasing F# as first class language in <a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/vstudio/">Visual Studio</a> 2010. F# is complaint in syntax with <a class="zem_slink" title="Objective Caml" href="http://caml.inria.fr/" rel="homepage">OCaml</a>. Back in the day (at <a href="http://dvlab.cse.ucsc.edu/">UC Santa Cruz</a>) I wrote a <a href="http://dvlab.cse.ucsc.edu/Dvlab?action=AttachFile&amp;do=get&amp;target=blifmv-to-rm.tgz">language translator</a> using OCaml and loved the symbolic computation capability a functional language provides.</p>
<p>In this version of interesting programming concepts, I would like to highlight type system based pattern matching available in F#/OCAML, its very unique and extremely useful if you are parsing a structured list or working on a symbol table:</p>
<pre class="code"><font size="2"><span style="color: blue">type </span>Expr =
  | Num <span style="color: blue">of </span>int
  | Add <span style="color: blue">of </span>Expr * Expr
  | Mul <span style="color: blue">of </span>Expr * Expr
  | Var <span style="color: blue">of </span>string

<span style="color: blue">let rec </span>Evaluate (env:Map&lt;string,int&gt;) exp =
    <span style="color: blue">match </span>exp </font><font size="2"><span style="color: blue">with
    </span>| Num n <span style="color: blue">-&gt; </span>n
    | Add (x,y) <span style="color: blue">-&gt; </span>Evaluate env x + Evaluate env y
    | Mul (x,y) <span style="color: blue">-&gt; </span>Evaluate env x * Evaluate env y
    | Var id    <span style="color: blue">-&gt; </span>env.[id]</font></pre>
<p>In fact listed below is most of the code for code-generator main loop from <a href="http://dvlab.cse.ucsc.edu/Dvlab?action=AttachFile&amp;do=get&amp;target=blifmv-to-rm.tgz">my tool</a> translating Berkeley Logic Interchange format (<a href="http://vlsi.colorado.edu/~vis/doc/blifmv/blifmv/blifmv.html">BLIF</a>) to <a href="http://www.eecs.berkeley.edu/~tah/Publications/reactive_modules.html">Reactive Modules</a> :</p>
<pre class="code"><font size="2"><span style="color: blue">let </span>emit_atoms() =
  <span style="color: blue">let </span>vemit_atom a b = </font><font size="2"><span style="color: blue">begin
    match </span>b </font><font size="2"><span style="color: blue">with
      </span>Symb(Input,_,None) <span style="color: blue">-&gt; </span>()
    | Symb(_,_,None) <span style="color: blue">-&gt; </span>emit_unmarked_atom a
    | Symb(_,_,TableAtom
         (Controls(p),Awaits(q),Relations(r))) </font><font size="2"><span style="color: blue">-&gt;
           begin
         </span>emit_atom_start ();
         emit_table_io_stmts p q;
         emit_init_update ();
         emit_relations p q r;
         emit_atom_end ();
           </font><font size="2"><span style="color: blue">end
    </span>| Symb(_,_,ResetAtom
         (Controls(p),Awaits(q),Relations(r))) </font><font size="2"><span style="color: blue">-&gt;
           begin
         </span>emit_atom_start ();
         emit_reset_io_stmts p q;
         emit_init_update ();
         emit_relations p q r;
         emit_atom_end ();
           </font><font size="2"><span style="color: blue">end
</span>...
    | Symb(_,_,SameAs(t)) <span style="color: blue">-&gt; </span>()
    | _ <span style="color: blue">-&gt; </span>raise (Failure(<span style="color: maroon">&quot;Unknown Error&quot;</span>))
  </font><font size="2"><span style="color: blue">end
  in
  </span>Hashtbl.iter vemit_atom symTab;</font></pre>
<p>In closing, I would like to show how one can use C# <strong>select</strong> as an equivalent to <strong>map</strong> in functional languages.</p>
<pre class="code"><font size="2"><span style="color: green">// Get elements in the store where filenames are GUIDs
</span><span style="color: blue">public </span><span style="color: #2b91af">IEnumerable</span>&lt;<span style="color: #2b91af">Guid</span>&gt; GetKeys()
{
    <span style="color: blue">string</span>[] files = <span style="color: #2b91af">Directory</span>.GetFiles(_StorePath);
    </font><font size="2"><span style="color: green">// functional equivalent: return files.map(|t| new Guid(t))
    </span><span style="color: blue">return </span>(files.Select( p =&gt; <span style="color: blue">new </span><span style="color: #2b91af">Guid</span>(
            <span style="color: #2b91af">Path</span>.GetFileName(p))));
}</font></pre>
<p>Feel free to share your bits and pieces of functional goodness in the comments below!</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2009/12/f-functional-approach/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
