<?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>Sun, 28 Feb 2010 21:27:45 +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>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>
		<item>
		<title>Memoization</title>
		<link>http://healthblog.vitraag.com/2009/12/memoization/</link>
		<comments>http://healthblog.vitraag.com/2009/12/memoization/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 03:30:21 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/2009/12/memoization/</guid>
		<description><![CDATA[I have been meaning to write short posts about interesting programming concepts and alternative programming movements (like alt.net). Topic of this post is an interesting programming concept called Memoization and its implementation in C# as a method attribute. 
Memoization is an optimization technique which speeds up a program by remembering the values returned by function [...]]]></description>
			<content:encoded><![CDATA[<p>I have been meaning to write short posts about interesting programming concepts and alternative programming movements (like <a href="http://altdotnet.org/">alt.net</a>). Topic of this post is an interesting programming concept called Memoization and its implementation in C# as a method attribute. </p>
<p><a href="http://en.wikipedia.org/wiki/Memoization">Memoization</a> is an optimization technique which speeds up a program by remembering the values returned by function calls for specific input values, its also known as tabling.</p>
<p>Many of the new languages (Ruby, Python, C#) provide a very neat way to implement Memoization and many functional languages (Lisp, OCaml) have it as a first class construct for the runtime. Here is a my cheap implementation showing how one can use an integer based <strong>Memo </strong>attribute in C#</p>
<pre class="code"><span style="color: blue"><font size="2">class </font></span><font size="2"><span style="color: #2b91af">Test
</span>{&#160;&#160; [<span style="color: #2b91af">Memo</span>]
    <span style="color: blue">public int </span>DoSomething(<span style="color: blue">int </span>i)
    {
        <span style="color: blue">for </span>(<span style="color: blue">int </span>k = 0; k &lt; 10000; k++)
        {
            <span style="color: blue">int </span>j = 0;
            j = j + 500;
        }
        <span style="color: #2b91af">Console</span>.WriteLine(<span style="color: #a31515">&quot;DoSomething &quot; </span>+ i);
        <span style="color: blue">return </span>i + 5;
    }
}</font></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Here is a simple driver which implements the Memoization :</p>
<pre style="width: 551px; height: 746px" class="code"><font size="2"><span style="color: blue">static void </span>Main(<span style="color: blue">string</span>[] args)
 {
     <span style="color: #2b91af">Debug</span>.WriteLine(<span style="color: #a31515">&quot;Invoking Memoizable Code&quot;</span>);

     <span style="color: #2b91af">Type </span>t = <span style="color: blue">typeof</span>(<span style="color: #2b91af">Test</span>);
     <span style="color: #2b91af">Test </span>objT = <span style="color: blue">new </span><span style="color: #2b91af">Test</span>();

     </font><font size="2"><span style="color: green">// Implement Memoization
     </span><span style="color: #2b91af">Dictionary</span>&lt;<span style="color: blue">int</span>, <span style="color: blue">int</span>&gt; <a class="zem_slink" title="Memoization" href="http://en.wikipedia.org/wiki/Memoization" rel="wikipedia">memoize</a> = <span style="color: blue">new </span><span style="color: #2b91af">Dictionary</span>&lt;<span style="color: blue">int</span>, <span style="color: blue">int</span>&gt;();
     <span style="color: #2b91af">MethodInfo</span>[] mi = t.GetMethods();
     <span style="color: blue">foreach </span>(<span style="color: #2b91af">MethodInfo </span>m <span style="color: blue">in </span>mi)
     {
         <span style="color: blue">foreach </span>(<span style="color: #2b91af">Attribute </span>a <span style="color: blue">in </span>m.GetCustomAttributes(<span style="color: blue">false</span>))
         {
             <span style="color: blue">if </span>(a <span style="color: blue">is </span><span style="color: #2b91af">MemoAttribute</span>)
             {
                 <span style="color: blue">for </span>(<span style="color: blue">int </span>i = 0; i &lt; 2; i++)
                 {
                     <span style="color: blue">int </span>j;
                     <span style="color: blue">if </span>(memoize.TryGetValue(i, <span style="color: blue">out </span>j))
                     {
                         <span style="color: #2b91af">Debug</span>.WriteLine(<span style="color: #a31515">&quot;Remembered &quot; </span>+ i);
                         <span style="color: blue">continue</span>;
                     }
                     </font><font size="2"><span style="color: blue">else
                     </span>{
                         j = (<span style="color: blue">int</span>) m.Invoke(objT, <span style="color: blue">new object</span>[]{i});
                         memoize[i] = j;
                         <span style="color: #2b91af">Debug</span>.WriteLine(<span style="color: #a31515">&quot;Memorized &quot; </span>+ i);
                     }
                 }
             }
         }
     }
     <span style="color: #2b91af">Console</span>.ReadLine();
 }</font></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>May be in comments you can suggest ways to implement a more generic Memo attribute (similar to Python’s @memo).</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2009/12/memoization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding CCR</title>
		<link>http://healthblog.vitraag.com/2009/10/understanding-ccr/</link>
		<comments>http://healthblog.vitraag.com/2009/10/understanding-ccr/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 22:27:50 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[HealthVault]]></category>
		<category><![CDATA[Vocabularies]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=204</guid>
		<description><![CDATA[Update: Fixed typos, added links to related tools and articles, updated the example.
CCR or Continuity of Care Record is a standard meant to ease the exchange of clinical information with a relatively easy to read and practical data-format and schema. There is ton of great information about CCR on its resource site. CCR document format [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update:</strong> Fixed typos, added links to related tools and articles, updated the example.</p>
<p>CCR or Continuity of Care Record is a standard meant to ease the exchange of clinical information with a relatively easy to read and practical data-format and schema. There is ton of great information about CCR on its <a href="http://www.ccrstandard.com/">resource site</a>. CCR document format is supported by majority of personal Health clouds, both &#8211; Microsoft HealthVault &amp; Google Health.</p>
<p>The CCR specification comprises an implementation guide, XML schema definition and a guidance spreadsheet for each data element that makes up the standard. These resources can be <a href="http://www.astm.org/Standards/E2369.htm">bought</a> from ASTM. </p>
<p>The document format of CCR is very straight forward, consisting of a header, body and a footer with the following top-level elements:</p>
<table border="0" cellspacing="0" cellpadding="1" width="602">
<tbody>
<tr>
<td valign="top" width="200"><strong>Header</strong></td>
<td valign="top" width="178"><strong>Body</strong></td>
<td valign="top" width="155"><strong>Body</strong></td>
<td valign="top" width="67"><strong>Footer</strong></td>
</tr>
<tr>
<td valign="top" width="200">
<li>CCR Document ID </li>
<li>Language </li>
<li>Version </li>
<li>Creation Date </li>
<li>Patient </li>
<li>From </li>
<li>To </li>
<li>Purpose </li>
</td>
<td valign="top" width="178">
<li>Payers </li>
<li>Advance Directives </li>
<li>Support </li>
<li>Functional Status </li>
<li>Problems </li>
<li>Family History </li>
<li>Social History </li>
<li>Alerts </li>
<li>Medications </li>
</td>
<td valign="top" width="155">
<li>Medical Equipment </li>
<li>Immunizations </li>
<li>Vital Signs </li>
<li>Results </li>
<li>Procedures </li>
<li>Encounters </li>
<li>Plan Of Care </li>
<li>HealthCareProviders </li>
</td>
<td valign="top" width="67">
<li>Actors </li>
<li>Signatures </li>
<li>References </li>
<li>Comments <strong></strong></li>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Google Health supports only a <a href="http://code.google.com/apis/health/ccrg_imagemap.gif">limited set of entities</a> from the above, while HealthVault supports the entire standard and also allows transformation of some of these entities in to native HealthVault types. You can read more about working with <a href="http://msdn.microsoft.com/en-us/dd797577.aspx">CCR in HealthVault</a> and various <a href="http://msdn.microsoft.com/en-us/ee663895.aspx">input</a> <a href="http://msdn.microsoft.com/en-us/ee663894.aspx">mappings</a>, <a href="http://msdn.microsoft.com/en-us/ee663897.aspx">output</a> <a href="http://msdn.microsoft.com/en-us/ee663896.aspx">mappings</a>, and <a href="http://msdn.microsoft.com/en-us/ee663898.aspx">CCR vocabularies</a>.</p>
<p>Here are some illustrative CCR figures from Dr. Waldren’s presentation (see end of article).</p>
<p><a href="http://healthblog.vitraag.com/wp-content/uploads/2009/10/image7.png"><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/10/image_thumb4.png" width="368" height="256" /></a> <a href="http://healthblog.vitraag.com/wp-content/uploads/2009/10/image8.png"><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/10/image_thumb5.png" width="308" height="284" /></a></p>
<p>Using the SNOMED-CT concepts one can write the Systolic Blood pressure reading in CCR as the following (<strong>UPDATE</strong>: Well-formatted the CCR to include source, object-id and actors, thanks to Matt Wagner):</p>
<p> <a href="http://11011.net/software/vspaste"></a>
<pre style="width: 581px; height: 1832px" class="code"><font size="2"><span style="color: blue">&lt;?</span><span style="color: #a31515">xml </span><span style="color: red">version</span><span style="color: blue">=</span>&quot;<span style="color: blue">1.0</span>&quot; <span style="color: red">encoding</span><span style="color: blue">=</span>&quot;<span style="color: blue">utf-8</span>&quot;</font><font size="2"><span style="color: blue">?&gt;
&lt;</span><span style="color: #a31515">ContinuityOfCareRecord </span><span style="color: red">xmlns</span><span style="color: blue">=</span>'<span style="color: blue">urn:astm-org:CCR</span>'</font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">CCRDocumentObjectID</span><span style="color: blue">&gt;</span>Doc<span style="color: blue">&lt;/</span><span style="color: #a31515">CCRDocumentObjectID</span></font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">Language</span></font><font size="2"><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>English<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
  &lt;/</span><span style="color: #a31515">Language</span></font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">Version</span><span style="color: blue">&gt;</span>V1.0<span style="color: blue">&lt;/</span><span style="color: #a31515">Version</span></font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">DateTime</span></font><font size="2"><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">ExactDateTime</span><span style="color: blue">&gt;</span>2008<span style="color: blue">&lt;/</span><span style="color: #a31515">ExactDateTime</span></font><font size="2"><span style="color: blue">&gt;
  &lt;/</span><span style="color: #a31515">DateTime</span></font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">Patient</span></font><font size="2"><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">ActorID</span><span style="color: blue">&gt;</span>Patient<span style="color: blue">&lt;/</span><span style="color: #a31515">ActorID</span></font><font size="2"><span style="color: blue">&gt;
  &lt;/</span><span style="color: #a31515">Patient</span></font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">Body</span></font><font size="2"><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">VitalSigns</span></font><font size="2"><span style="color: blue">&gt;
      &lt;</span><span style="color: #a31515">Result</span></font><font size="2"><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">CCRDataObjectID</span><span style="color: blue">&gt;</span>0001<span style="color: blue">&lt;/</span><span style="color: #a31515">CCRDataObjectID</span></font><font size="2"><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>Blood Pressure<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>Unknown<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">Test</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">CCRDataObjectID</span><span style="color: blue">&gt;</span>0002<span style="color: blue">&lt;/</span><span style="color: #a31515">CCRDataObjectID</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>Systolic<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Code</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">Value</span><span style="color: blue">&gt;</span>163030003<span style="color: blue">&lt;/</span><span style="color: #a31515">Value</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">CodingSystem</span><span style="color: blue">&gt;</span>SNOMEDCT<span style="color: blue">&lt;/</span><span style="color: #a31515">CodingSystem</span></font><font size="2"><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">Code</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>Unknown<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">TestResult</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Value</span><span style="color: blue">&gt;</span>120<span style="color: blue">&lt;/</span><span style="color: #a31515">Value</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Units</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">Unit</span><span style="color: blue">&gt;</span>mmHg<span style="color: blue">&lt;/</span><span style="color: #a31515">Unit</span></font><font size="2"><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">Units</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">TestResult</span></font><font size="2"><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">Test</span></font><font size="2"><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">Test</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">CCRDataObjectID</span><span style="color: blue">&gt;</span>0003<span style="color: blue">&lt;/</span><span style="color: #a31515">CCRDataObjectID</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>Diastolic<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Code</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">Value</span><span style="color: blue">&gt;</span>163031004<span style="color: blue">&lt;/</span><span style="color: #a31515">Value</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">CodingSystem</span><span style="color: blue">&gt;</span>SNOMEDCT<span style="color: blue">&lt;/</span><span style="color: #a31515">CodingSystem</span></font><font size="2"><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">Code</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>Unknown<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">TestResult</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Value</span><span style="color: blue">&gt;</span>75<span style="color: blue">&lt;/</span><span style="color: #a31515">Value</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Units</span></font><font size="2"><span style="color: blue">&gt;
              &lt;</span><span style="color: #a31515">Unit</span><span style="color: blue">&gt;</span>mmHg<span style="color: blue">&lt;/</span><span style="color: #a31515">Unit</span></font><font size="2"><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">Units</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">TestResult</span></font><font size="2"><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">Test</span></font><font size="2"><span style="color: blue">&gt;
      &lt;/</span><span style="color: #a31515">Result</span></font><font size="2"><span style="color: blue">&gt;
    &lt;/</span><span style="color: #a31515">VitalSigns</span></font><font size="2"><span style="color: blue">&gt;
  &lt;/</span><span style="color: #a31515">Body</span></font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">Actors</span></font><font size="2"><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">Actor</span></font><font size="2"><span style="color: blue">&gt;
      &lt;</span><span style="color: #a31515">ActorObjectID</span><span style="color: blue">&gt;</span>Patient<span style="color: blue">&lt;/</span><span style="color: #a31515">ActorObjectID</span></font><font size="2"><span style="color: blue">&gt;
      &lt;</span><span style="color: #a31515">Person</span></font><font size="2"><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">Name</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">CurrentName</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Given</span><span style="color: blue">&gt;</span>John<span style="color: blue">&lt;/</span><span style="color: #a31515">Given</span></font><font size="2"><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">Family</span><span style="color: blue">&gt;</span>Doe<span style="color: blue">&lt;/</span><span style="color: #a31515">Family</span></font><font size="2"><span style="color: blue">&gt;
          &lt;/</span><span style="color: #a31515">CurrentName</span></font><font size="2"><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">Name</span></font><font size="2"><span style="color: blue">&gt;
      &lt;/</span><span style="color: #a31515">Person</span></font><font size="2"><span style="color: blue">&gt;
      &lt;</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
          &lt;</span><span style="color: #a31515">Text</span><span style="color: blue">&gt;</span>Unknown<span style="color: blue">&lt;/</span><span style="color: #a31515">Text</span></font><font size="2"><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">Description</span></font><font size="2"><span style="color: blue">&gt;
      &lt;/</span><span style="color: #a31515">Source</span></font><font size="2"><span style="color: blue">&gt;
    &lt;/</span><span style="color: #a31515">Actor</span></font><font size="2"><span style="color: blue">&gt;
  &lt;/</span><span style="color: #a31515">Actors</span></font><font size="2"><span style="color: blue">&gt;
&lt;/</span><span style="color: #a31515">ContinuityOfCareRecord</span></font><span style="color: blue"><font size="2">&gt;</font>
</span></pre>
<p>Note <strong>CodingSystem</strong> element. It allows CCR to interpret various medical vocabularies.</p>
<p><strong>Relevant Tools</strong>:</p>
<p>(Thanks to Kathleen Connor)</p>
<ul>
<li>The <a href="http://chit.dyndns.org/CCRValidation">CCR Validator</a>, is an important resource to test/validate a CCR instance, is a now available&#160; Not only does it validate the CCR against the XSD but also the constraints of the implementation guide. </li>
<li>An Open Source <a href="http://sourceforge.net/projects/ccr-resources/">StyleSheet</a> to view CCR files.</li>
<li><a href="http://wiki.hl7.org/index.php?title=Mappings_and_Translations">CCR to CCD &amp; HL7 Mappers</a> – tools which Map CCR to CCD and HL7 V2 &amp; V3. You can access them directly <a href="http://gforge.hl7.org/gf/project/v2v3-mapping/frs/">here</a>.</li>
<li><a href="http://rubyforge.org/projects/ccredit/">Application</a> to embed CCR in PDF-HealthCare.</li>
</ul>
<p><strong>Related Article(s):</strong></p>
<ul>
<li>To get familiar with CCR I would highly recommended <a href="http://www.veoh.com/collection/astmccr/watch/v14141513WQRzgjzc">this</a> 13 minute video by Dr. Steve Waldren. </li>
<li>Adam Bosworth <a href="http://adambosworth.net/2009/10/29/talking-to-dc/">posted</a> an interesting read on standards, his take (simple, human readable, focus on known structured data, etc.) favors CCR.</li>
</ul>
<p><strong>In this series:</strong></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>
<div style="margin-top: 10px; height: 15px" class="zemanta-pixie">Special thanks to Kathy Osborne for proof reading this post.</div>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2009/10/understanding-ccr/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Running HealthVault Apps On Windows Azure</title>
		<link>http://healthblog.vitraag.com/2009/10/healthvault-apps-on-windows-azure/</link>
		<comments>http://healthblog.vitraag.com/2009/10/healthvault-apps-on-windows-azure/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 10:21:00 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[HealthVault]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=184</guid>
		<description><![CDATA[HealthVault SDK 1.0 introduces an interesting capability by which an HealthVault application can read their application certificate from a file. Eric has some details about this on his blog.
I’m going to describe how this capability of reading an application’s certificates from the file store could be used to run HealthVault application on Windows Azure. Here [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/healthvault/archive/2009/08/27/healthvault-0908-release-notes.aspx">HealthVault SDK 1.0</a> introduces an interesting capability by which an HealthVault application can read their application certificate from a file. Eric has some details about this on his <a href="http://blogs.msdn.com/ericgu/archive/2009/10/16/healthvault-0908-sdk-highlights.aspx">blog</a>.</p>
<p>I’m going to describe how this capability of reading an application’s certificates from the file store could be used to run HealthVault application on Windows Azure. Here are the steps to get a simple HealthVault application (which I call HelloHV) running on Windows Azure:</p>
<ol>
<li>Install the <a href="http://www.microsoft.com/windowsazure/windowsazure/">Azure SDK</a> and <a href="http://msdn.microsoft.com/HealthVault">HealthVault SDK</a>. Create your HealthVault application as a Web Role. </li>
<li>Configure and create an HealthVault application using the application manager utility in HealthVault SDK. <strong>Make sure</strong> you set the <strong>Action-Url</strong> to http://&lt;yourapp&gt;.cloudapp.net/Redirect.aspx&#160; using the Application Configuration Center. </li>
<li>Copy the Redirect.aspx &amp; Redirect.cs from HealthVault samples (HelloWorld in HealthVault SDK) in to your application and add reference to HealthVault assemblies (you can find them in C:\Program Files\Microsoft HealthVault\SDK\DotNet\Assemblies) </li>
<li>Add the HealthVault related config settings to your WebRole’s Web.Config, the easiest way to do this would be copy the relevant key(s) from a sample in HealthVault SDK. Here is an illustration :
<pre style="width: 748px; height: 306px" class="code"><font size="2"><span style="color: blue">&lt;</span><span style="color: #a31515">appSettings</span></font><font size="2"><span style="color: blue">&gt;
  &lt;</span><span style="color: #a31515">add </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">ApplicationId</span>&quot; <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue">01e21bd1-cb13-40d6-8f01-596286827d6d</span>&quot;</font><font size="2"><span style="color: blue">/&gt;
  &lt;</span><span style="color: #a31515">add </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">ShellUrl</span>&quot; <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue">https://account.healthvault-ppe.com/</span>&quot;</font><font size="2"><span style="color: blue">/&gt;
  &lt;</span><span style="color: #a31515">add </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">HealthServiceUrl</span>&quot; <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue">https://platform.healthvault-ppe.com/platform/</span>&quot;</font><span style="color: blue"><font size="2">/&gt;
  &lt;!-- </font></span><span style="color: green"><font size="2">when we call the SignOut() method on HealthServicePage,
       it redirects us to the page below </font></span><font size="2"><span style="color: blue">--&gt;
  &lt;!--</span><span style="color: green">&lt;add key=&quot;NonProductionActionUrlRedirectOverride&quot; value=&quot;Redirect.aspx&quot; /&gt;</span></font><span style="color: blue"><font size="2">--&gt;
  &lt;!-- </font></span><span style="color: green"><font size="2">The redirect page (specified above) uses these keys below to redirect to different
       pages based on the response from the shell </font></span><font size="2"><span style="color: blue">--&gt;
  &lt;</span><span style="color: #a31515">add </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">WCPage_ActionHome</span>&quot; <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue">default.aspx</span>&quot;</font><font size="2"><span style="color: blue">/&gt;
  &lt;</span><span style="color: #a31515">add </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">WCPage_ActionAppAuthSuccess</span>&quot; <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue">HelloHV.aspx</span>&quot;</font><font size="2"><span style="color: blue">/&gt;
  &lt;</span><span style="color: #a31515">add </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">ApplicationCertificateFileName</span>&quot;
       <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue">~\cert\WildcatApp-01e21bd1-cb13-40d6-8f01-596286827d6d.pfx</span>&quot;</font><font size="2"><span style="color: blue">/&gt;
&lt;/</span><span style="color: #a31515">appSettings</span><span style="color: blue">&gt;</span></font></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
</li>
<li>While testing on your local machine uncomment the following line in the Web.Config, this will allow HealthVault to communicate with your local machine. However make sure that this is commented when you publish the application.&#160; Alternatively the following key can also be stored in UserApplicationConfigs.xml, if you maintain one for your development.
<pre style="width: 750px; height: 35px" class="code"><font size="2"><span style="color: blue">&lt;!--</span><span style="color: green">&lt;add key=&quot;NonProductionActionUrlRedirectOverride&quot; value=&quot;Redirect.aspx&quot; /&gt;</span></font><span style="color: blue"><font size="1"><font size="2">—-&gt;</font></font></span></pre>
<p><strong>Gotacha1:</strong> Windows Azure changes the port numbers for your application so its hard to make it work without using the action-url configured for your application in Application Configuration Center.</p>
</li>
<li>In your Default HealthVault Page Make sure you read the certificate for your application from a local file (you can also use Azure Storage).
<p><strong>Gotacha2: </strong>HealthVault SDK expects the <strong>ApplicationCertificateFileName</strong> to be absolute filename, this is impossible to determine for a cloud system like Azure. However we can get the absolute path by changing the value of the key at run-time.</p>
<pre style="width: 750px; height: 254px" class="code">

<font size="2"><span style="color: blue">public partial class </span><span style="color: #2b91af">HelloHV </span>: </font><font size="2"><span style="color: #2b91af">HealthServicePage
</span>{
    <span style="color: blue">protected void </span>Page_PreInit(<span style="color: blue">object </span>sender, <span style="color: #2b91af">EventArgs </span>e)
    {
        <span style="color: #2b91af">ConfigurationSettings</span>.AppSettings[<span style="color: #a31515">&quot;ApplicationCertificateFileName&quot;</span>] =
            MapPath(<span style="color: #a31515">@&quot;~\cert\WildcatApp-01e21bd1-cb13-40d6-8f01-596286827d6d.pfx&quot;</span>);
    }

    <span style="color: blue">protected void </span>Page_Load(<span style="color: blue">object </span>sender, <span style="color: #2b91af">EventArgs </span>e)
    {</font>

<font size="2">..</font>
</pre>
</li>
<li>Hit Run and see your Hello HealthVault&#160; application in action!! </li>
</ol>
<p><strong><u><font color="#ff0000">Now the show time:</font></u></strong></p>
<p>Check out a simple (HelloHV application) running on Windows Azure <a href="http://hvsamples.cloudapp.net/HelloHV.aspx">here</a>.</p>
<p><a href="http://healthblog.vitraag.com/wp-content/uploads/2009/10/image4.png"><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/10/image_thumb1.png" width="509" height="226" /></a></p>
<p>The associated code for this application is shared <a href="http://code.msdn.microsoft.com/healthvaultazure">here</a>.</p>
<p>Remember to switch to SSL and secure your application certificate (using password or Azure Storage) before you consider taking an application running on Windows Azure live as a production HealthVault application.</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2009/10/healthvault-apps-on-windows-azure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Understanding SNOMED CT</title>
		<link>http://healthblog.vitraag.com/2009/10/understanding-snomed-ct/</link>
		<comments>http://healthblog.vitraag.com/2009/10/understanding-snomed-ct/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 22:11:00 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[HealthVault]]></category>
		<category><![CDATA[Vocabularies]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=153</guid>
		<description><![CDATA[I have previously posted about Understanding Health Ontologies and Standards. In this post I’ll focus on SNOMED-CT (Systematized Nomenclature of Medicine Clinical Terms). SNOMED-CT is the most comprehensive vocabulary to express clinical terms &#8211; it spans languages, specialties and geographic borders.
SNOMED-CT includes:

Terms or synonyms relating to a clinical concept 
Links between different concepts 

To give [...]]]></description>
			<content:encoded><![CDATA[<p>I have <a href="http://healthblog.vitraag.com/2009/07/understanding-vocabularies-2-healthvault-recommendations/">previously posted</a> about Understanding Health Ontologies and Standards. In this post I’ll focus on SNOMED-CT (<a class="zem_slink" title="SNOMED CT" href="http://en.wikipedia.org/wiki/SNOMED_CT" rel="wikipedia">Systematized Nomenclature of Medicine Clinical Terms</a>). SNOMED-CT is the most comprehensive vocabulary to express clinical terms &#8211; it spans languages, specialties and geographic borders.</p>
<p>SNOMED-CT includes:</p>
<ul>
<li>Terms or synonyms relating to a clinical concept </li>
<li>Links between different concepts </li>
</ul>
<p>To give you a taste here is an example of Blood pressure reading represented using SNOMED-CT from the <a href="http://delivery.acm.org/10.1145/1280000/1273668/p69-ryan.pdf?key1=1273668&amp;key2=3916594521&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=56633091&amp;CFTOKEN=23055582">linked</a> paper (<em>“Towards semantic interoperability in healthcare: ontology mapping from SNOMED-CT to <a class="zem_slink" title="Health Level 7" href="http://en.wikipedia.org/wiki/Health_Level_7" rel="wikipedia">HL7</a> version 3”</em>, Amanda Ryan):</p>
<p><a href="http://healthblog.vitraag.com/wp-content/uploads/2009/10/Ontology_Mapping.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Ontology_Mapping" border="0" alt="Ontology_Mapping" src="http://healthblog.vitraag.com/wp-content/uploads/2009/10/Ontology_Mapping_thumb.png" width="821" height="590" /></a></p>
<p>In addition to having a model to represent concepts and linkages the biggest draw of SNOMED CT is a staggering number of coded qualifiers (which belong to one concept or other). According to <a href="http://www.ihtsdo.org/snomed-ct/snomed-ct0/">IHTSO</a> there are about 311,000 actively used SNOMED CT concepts.</p>
<p>You can register for SNOMED CT <a href="http://wwwcf.nlm.nih.gov/umlslicense/snomed/license.cfm">here</a>. Its free for companies and individuals in United States, however your registration is processed by NLM and it might take over 3 days to receive a confirmation and access.</p>
<p>Once you are through with registration and have an account, start by downloading the core subset of SNOMED CT concepts <a href="http://download.nlm.nih.gov/umls/kss/SNOMEDCT_CORE_SUBSET/SNOMEDCT_CORE_SUBSET_200907.zip">here</a>, this list consists of about 5000 most frequently used terms by institutions across US. Its a good set to get familiar with, it consists of the following concept area:</p>
<ul>
<li>Clinical finding&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 4,550 codes in total </li>
<li>Procedure&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :&#160;&#160; 414 codes in total </li>
<li>Situation with explicit context&#160;&#160;&#160; :&#160;&#160; 132 codes in total </li>
<li>Event&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :&#160;&#160;&#160; 38 codes in total </li>
<li>Body structure&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :&#160;&#160;&#160; 46 codes in total </li>
<li>Social context&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :&#160;&#160;&#160;&#160; 2 codes in total</li>
</ul>
<p><a href="http://healthblog.vitraag.com/wp-content/uploads/2009/10/Snomed_Subset.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Snomed_Subset" border="0" alt="Snomed_Subset" src="http://healthblog.vitraag.com/wp-content/uploads/2009/10/Snomed_Subset_thumb.png" width="652" height="250" /></a></p>
<p>We can use <a href="http://msdn.microsoft.com/en-us/library/ms162802.aspx" jquery1255120021662="18672">BCP</a> to copy the files from SNOMED CT Core in to our local database, and do more interesting queries &amp; data analysis like find distribution on these terms, co-relate problems vs. findings and of course work on the larger SNOMED CT database to find synonyms etc.; but I’ll keep that for another day. Here very quickly I’ll show how one can use a web-based browser, Snowflake, <a title="http://snomed.dataline.co.uk/" href="http://snomed.dataline.co.uk/">http://snomed.dataline.co.uk/</a> (requires registration) to lookup a SNOMED code and see what else it relates to. We can see that in line 3 above SNOMED CT concept 10085004 is marked as Metatarsalgia (finding), however using the Snowflake browser we can see in that in addition to being a finding this concept is a problem as well.</p>
<p><a href="http://healthblog.vitraag.com/wp-content/uploads/2009/10/Snomed_Snowflake.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Snomed_Snowflake" border="0" alt="Snomed_Snowflake" src="http://healthblog.vitraag.com/wp-content/uploads/2009/10/Snomed_Snowflake_thumb.png" width="338" height="221" /></a></p>
<p>This was just tip of the ice-berg, please leave comments for future posts / areas to consider in the Ontology domain.</p>
<p>Further reading / relevant links:</p>
<ul>
<li>LexGrid: <a href="https://cabig-kc.nci.nih.gov/Vocab/KC/index.php?title=LexGrid_Resources&amp;amp;diff=5039&amp;amp;oldid=prev">Wiki</a></li>
</ul>
<p>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>
</ol>
<div style="margin-top: 10px; height: 15px" class="zemanta-pixie"></div>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2009/10/understanding-snomed-ct/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Health 2.0</title>
		<link>http://healthblog.vitraag.com/2009/10/health-2-0/</link>
		<comments>http://healthblog.vitraag.com/2009/10/health-2-0/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 00:07:40 +0000</pubDate>
		<dc:creator>vaibhavb</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://healthblog.vitraag.com/?p=167</guid>
		<description><![CDATA[I overviewed the Health 2.0 2009 conference largely through twitter. Here are my key takeaways:

HealthCare needs to become more consumer: All innovation will be driven through this domain, PatientsLikeMe &#38; CureTogether are prime examples. 
Keas launched as a platform for Care plans – I took it for a spin love the way you can create [...]]]></description>
			<content:encoded><![CDATA[<p>I overviewed the <a href="http://www.health2con.com/">Health 2.0 2009 conference</a> largely through <a href="http://search.twitter.com/search?q=%23health2con">twitter</a>. Here are my key takeaways:</p>
<ul>
<li>HealthCare needs to become more consumer: All innovation will be driven through this domain, <a href="http://www.patientslikeme.com/">PatientsLikeMe</a> &amp; <a href="http://www.curetogether.com/">CureTogether</a> are prime examples. </li>
<li><a href="http://www.keas.com">Keas</a> launched as a platform for Care plans – I took it for a spin love the way you can create action items! Not as intuitive as Mint but not really a good analogy either. </li>
<li><a href="http://www.health2con.com/">Health 2.0 Accelerator</a> – A lot of media towards this effort of trying a create a platform (yet again) to add for value for the end consumer using the better together model. Here is a <a href="http://vimeo.com/6970242">Demo Video</a>.</li>
<li>Public Health Media: <a href="http://apps.healthvault.com/app5">Microsoft’s H1N1 Center</a>, <a href="http://www.google.org/flutrends/">Google Flu Trends</a></li>
<li>Mobile: WebMD <a href="http://www.webmd.com/mobile">iPhone App</a> </li>
<li>Physician’s Office: <a href="http://www.npdigest.com">NPDigest.com</a> – open source groupware for a clinic. </li>
</ul>
<p>Please add your thought about the conference through the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://healthblog.vitraag.com/2009/10/health-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
