Entries Tagged 'HealthVault' ↓

Interesting Health Data Mashups from Hacking 4 Health

I had a great time interacting with folks at Hacking 4 Health. The response for the event was amazing, it was very heartening to see 18 presentations from just a day of hacking. Folks worked on all sorts of interesting data mash-up ideas (1,2), but the one I would like to highlight are –

  • OskiHealth — Using data from CHDI and information on fast food restaurants in each county to show a color coded map of health of counties.
  • Healthy Commute — Using data from Factual, some engineers built a way to discover healthier commuting routes!

Ron has a good summary of the event as well. Check out the pictures of the event at — http://www.flickr.com/photos/healthtap/. Thanks to the good folks from Healthtap and Health2.0 for spearheading the event!

You can find links to my talk and other data resources at – http://www.vitraag.com/hacking4health.

Hacking for Health

The Health 2.0 conference is the annual conference which show cases “new” internet technologies (aka Web 2.0) in Healthcare. This year with sponsorship and support from HHS (Health and Human Services) department, the conference is running Health 2.0 Developer Challenge.

Health2.0 Developer Challenge hopes to spur developer creativity around newly about data on Healthcare. To help developers prepare and collaborate for this challenge Health2.0 and other along with Healthtap are running a developer Hackathon — Hacking for Health on Sep 11 in Palo Alto, CA. I’m planning to speak and present about some of our work on these datasets and help developers get started with HealthVault and other Microsoft offerings.

So mark the date, and if you are planning to be there drop be a note. I’m really excited to enable collaborative and creativity on these valuable datasets. If you are interested in knowing more about the datasets and collaborators, check out the Hacking for Health data, tools and references.

OSCON’10 Notes

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?
My talk 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.

UPDATE: The talk was recorded by Robert Wood Johnson foundation and you can view it online — http://bit.ly/silos-talk-video.

OSCON Healthcare Track
I attended most of the talks at OSCON HealthCare track. This was the first Healthcare track at the conference, in my opinion it turned out splendid! Andy Oram has a good summary of the first, second & third day, and Fred Totter has links to interviews of some of the presenters. Over the three days of Healthcare track I learnt a lot about various NHIN and VistA projects.

Sessions
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 :

  • Cloud computing  – “Situation Normal, Everything Must change”: If nothing else I would highly recommend watching this key-note, no new content but the Simon Wardley is very effective in communicating his point about Cloud computing and managing technology in general.
  • Asynchronous Programming – I learnt a lot about nginx web-server and the principles behind node.js. Ilya’s talk 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 AMQP. 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.
  • Another Go at Language Design: 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.
  • jQuery – The presentation on jQuery was very detailed even for a novice. I particularly liked the show-casing of selectors to write succinct iavascript code.
  • Graph Database – Neo4j : 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!
  • 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.  To spur further Android excitement Google gave away the soon to be de-commissioned Nexus one devices in one of their workshops. 
  • Open stack:Open source system for creating Amazon EC2-like clouds. In fact this project is open sourcing of the RackSpace cloud system.
  • An interesting project to cross-compile Android projects to iPhone.

Birds of feather session on Healthcare Standards
I participated in the BOF on Healthcare Standards.

The conversation started by highlighting the classic problem of how people who have been in the industry want semantic interoperability  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).

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  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.

PS: I’ll update the this post with more links and thought-blocks as I remember :) .

HIMSS 10 Conference – Cover It Live!

Cover It Live event for HIMSS Conference:

Understanding CCR

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 is supported by majority of personal Health clouds, both – Microsoft HealthVault & Google Health.

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 bought from ASTM.

The document format of CCR is very straight forward, consisting of a header, body and a footer with the following top-level elements:

Header Body Body Footer
  • CCR Document ID
  • Language
  • Version
  • Creation Date
  • Patient
  • From
  • To
  • Purpose
  • Payers
  • Advance Directives
  • Support
  • Functional Status
  • Problems
  • Family History
  • Social History
  • Alerts
  • Medications
  • Medical Equipment
  • Immunizations
  • Vital Signs
  • Results
  • Procedures
  • Encounters
  • Plan Of Care
  • HealthCareProviders
  • Actors
  • Signatures
  • References
  • Comments
  •  

    Google Health supports only a limited set of entities 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 CCR in HealthVault and various input mappings, output mappings, and CCR vocabularies.

    Here are some illustrative CCR figures from Dr. Waldren’s presentation (see end of article).

    image image

    Using the SNOMED-CT concepts one can write the Systolic Blood pressure reading in CCR as the following (UPDATE: Well-formatted the CCR to include source, object-id and actors, thanks to Matt Wagner):

    <?xml version="1.0" encoding="utf-8"?>
    <ContinuityOfCareRecord xmlns='urn:astm-org:CCR'>
      <CCRDocumentObjectID>Doc</CCRDocumentObjectID>
      <Language>
        <Text>English</Text>
      </Language>
      <Version>V1.0</Version>
      <DateTime>
        <ExactDateTime>2008</ExactDateTime>
      </DateTime>
      <Patient>
        <ActorID>Patient</ActorID>
      </Patient>
      <Body>
        <VitalSigns>
          <Result>
            <CCRDataObjectID>0001</CCRDataObjectID>
            <Description>
              <Text>Blood Pressure</Text>
            </Description>
            <Source>
              <Description>
                <Text>Unknown</Text>
              </Description>
            </Source>
            <Test>
              <CCRDataObjectID>0002</CCRDataObjectID>
              <Description>
                <Text>Systolic</Text>
                <Code>
                  <Value>163030003</Value>
                  <CodingSystem>SNOMEDCT</CodingSystem>
                </Code>
              </Description>
              <Source>
                <Description>
                  <Text>Unknown</Text>
                </Description>
              </Source>
              <TestResult>
                <Value>120</Value>
                <Units>
                  <Unit>mmHg</Unit>
                </Units>
              </TestResult>
            </Test>
            <Test>
              <CCRDataObjectID>0003</CCRDataObjectID>
              <Description>
                <Text>Diastolic</Text>
                <Code>
                  <Value>163031004</Value>
                  <CodingSystem>SNOMEDCT</CodingSystem>
                </Code>
              </Description>
              <Source>
                <Description>
                  <Text>Unknown</Text>
                </Description>
              </Source>
              <TestResult>
                <Value>75</Value>
                <Units>
                  <Unit>mmHg</Unit>
                </Units>
              </TestResult>
            </Test>
          </Result>
        </VitalSigns>
      </Body>
      <Actors>
        <Actor>
          <ActorObjectID>Patient</ActorObjectID>
          <Person>
            <Name>
              <CurrentName>
                <Given>John</Given>
                <Family>Doe</Family>
              </CurrentName>
            </Name>
          </Person>
          <Source>
            <Description>
              <Text>Unknown</Text>
            </Description>
          </Source>
        </Actor>
      </Actors>
    </ContinuityOfCareRecord>
    

    Note CodingSystem element. It allows CCR to interpret various medical vocabularies.

    Relevant Tools:

    (Thanks to Kathleen Connor)

    • The CCR Validator, is an important resource to test/validate a CCR instance, is a now available  Not only does it validate the CCR against the XSD but also the constraints of the implementation guide.
    • An Open Source StyleSheet to view CCR files.
    • CCR to CCD & HL7 Mappers – tools which Map CCR to CCD and HL7 V2 & V3. You can access them directly here.
    • Application to embed CCR in PDF-HealthCare.

    Related Article(s):

    • To get familiar with CCR I would highly recommended this 13 minute video by Dr. Steve Waldren.
    • Adam Bosworth posted an interesting read on standards, his take (simple, human readable, focus on known structured data, etc.) favors CCR.

    In this series:

    1. Understanding Vocabularies. Wait! What did you say?
    2. Understanding Vocabularies #2 – HealthVault Recommendations
    3. Understanding SNOMED CT
    4. Understanding CCR
    Special thanks to Kathy Osborne for proof reading this post.