Is there a way to display patient education information in a user's healthvault? RRS feed

  • Question

  • I'd like to display targetted health education content to people with specific conditions/lab test values/medications/etc. Is this possible by developing an app for HealthVault? I cannot seem to find any such API calls.
    Wednesday, May 1, 2013 6:41 PM


All replies

  • Mark, we don't have education content as part of the HV service --- but it would be really easy to mash together data in HV (to give you the list of relevant meds/conditions/labs/etc.) and MedlinePlus Connect (http://www.nlm.nih.gov/medlineplus/connect/overview.html) ... to create exactly the service you're talking about --- which would be pretty super awesome actually.

    Information on pulling out data from HV is all at http://msdn.com/healthvault ... depending on your platform the interface is slightly different; I recommend starting with the .NET SDK because it includes some good sample code that's easy to walk through.

    Hope that helps!


    Wednesday, May 1, 2013 7:53 PM
  • Thanks for the pretty quick response, Sean. Unfortunately I dont know .NET but I'm looking at PHP/Python/Ruby libraries for HV. 

    What I do want to make clear is that I want to include the data inside HV and lead my users to use HV and they will have access to the helpful information. I see I can push "Links" into their HV... is there a way to put rich text like HTML in some other sort of object?


    EDIT - I see there is a Message ItemType but as a newbie I'm having a hard time understanding where the contentId is...
    Wednesday, May 1, 2013 9:27 PM
  • Gotcha ... FYI, the folks at bio.logis released a nice updated PHP library here: http://mkalkbrenner.github.io/HVClientLibPHP/

    An easy option for content is the "File" type (http://developer.healthvault.com/pages/types/type.aspx?id=bd0403c5-4ae2-4b0e-a8db-1888678e4528) which holds arbitrary files ... the only trick to this is that HTML is not supported as a file type due to some security concerns about embedded script (we'd like to fix this but it is somewhat deep in the backlog) ... you can use most other types: rtf, doc, docx, txt, pdf, etc.... so if you can generate content in those formats it's a great option.

    As you saw, the "Link" type (http://developer.healthvault.com/pages/types/type.aspx?id=d4b48e6b-50fa-4ba8-ac73-7d64a68dc328) is another option when the content is external and you just want to keep a reference to it. As interesting history, this type was originally created when we had a "health search" product and the "Link" type was used to create scrapbooks of content ... not too dissimilar to what you're talking about.

    The "Message" type (http://developer.healthvault.com/pages/types/type.aspx?id=72dc49e1-1486-4634-b651-ef560ed051e5) you found is a good one too, but pretty complex to use. This is the type where we store secure messages that come in via the Direct protocol. I don't think I'd recommend this one, but if you look at the others and decide it's the right type let me know and I can send you some pointers.



    Thursday, May 2, 2013 4:56 AM
  • Thanks again!

    • Link seems pretty straight forward but not what I'm looking for
    • File looks interesting and potentially what I'm looking to do but I don't understand where the actual content gets stashed (http://developer.healthvault.com/pages/types/viewsamplexml.aspx?name=File&id=bd0403c5-4ae2-4b0e-a8db-1888678e4528 includes just name, size, and content type fields). Are any of the file types able to be shown in line?
    • Message is almost exactly what I want to do. I want the user to be able to opt in to receive important reminders (for example) via HV message or if they have a cell phone # in their demographics, I can send them a text message. I can't seem to create a message through developer.healthvault.com but can through the 3rd party xray tool but as I said I'm a bit confused about how to get actual content into the message (contentId is involved?). I'd love if you could provide some pointers about this.
    Thursday, May 2, 2013 2:46 PM
  • For both File and Message, the "content" is kept in HealthVault "blobs" --- associated binary streams that sit parallel to the XML. There can be multiple blobs, each with its own unique name ... including a "default" blob that has no name. For smaller items like you're talking about, these can be sent and received inline using the XML API; see here for some basics: http://blogs.msdn.com/b/ericgu/archive/2011/05/24/dealing-with-blob-data-in-healthvault-xml.aspx ... if you want to manage larger items, you'll need to use our streaming API which is much more powerful but also more complex; there is a bunch of detail in this whitepaper on medical images in HV (the blob parts of the document apply to any type, not just medical images): http://download.microsoft.com/download/7/4/E/74EA8944-199C-4F56-B3BB-8105869425BC/HealthVault%20and%20Medical%20Imaging.xps

    For the File type, things are quite simple --- the file contents are just held in the default blob, game over end of story.

    For the Message type, it's more complex, but not insane. The XML for the message has a number of fields that reference named blobs for various parts of the message. E.g., here is the XML for a test message that has html and text representations of the body, plus a couple of attachments: http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-01-96/5700.sample_2D00_message_2D00_thing.xml ... look in particular at the html-blob-name, text-blob-name, and attachment/blob-name elements.

    We have actually have plans to create a "wrapper" interface to create and read these Message items in a simpler way rather than having to go down to the metal the way it is now ... but that's a ways off.

    Hope that is helpful and not too much of a tsunami of pointers. ;) Sounds like a cool project and would love to keep connected as you keep digging in.


    Friday, May 3, 2013 6:06 AM