locked
Specific Questions regarding Choosing a HealthVault Application Architecture based on your development MSDN blogs RRS feed

  • Question

  • I am looking to perhaps develop with the HealthVault platform.  
    However, the conceptual situation that I am looking to integrate with the system is perhaps very different than what has been done up to this point.  And some of your verbiage seems to be a little confusing.  
    So, let me begin by telling you what I would like to do.  
    We are looking to build a system that is of three components.  
    1. EHR 
    2. PHR
    3. A portal system for provider and for bidirectional communication of the EHR <--> PHR -- that can also potentially interact with other 3rd party EHR's
    We want the EHR and or Portal system to have bidirectional communication with the PHR... We want the PHR to be powered by the HealthVault backbone.  
    A scenario would be the patient agrees and signs up for a PHR account... The patient permits access and bidirectional communication with their PHR account.  This access can be revoked at any time by the patient.  
    A data flow scenario would go like such... 
    Patient signs up for PHR account and fills out medical and personal information.  That information is synced from HV PHR to the EHR... This information can be updated by the patient and upon review can be updated to the EHR or could be allowed to automatically updated... The middle software in this scenario is the portal system which would act like the arbitrator for the push and pull regarding corresponding rules for data synchronization.  
    As well, the doctor would perform a HP and pull in lab results, make orders, and write prescriptions and soap notes for the patient's EHR.  Again, in a reverse fashion, information would by thus synced from EHR to PHR via the portal system gateway that would be a mixture of automatic and manually selected information upon request.  
    The above is what I would like to do.  
    Some questions I have in regards to your article Choosing a HealthVault Application Architecture http://msdn.microsoft.com/en-US/healthvault/dn800721
    are these bullet points. 

    Issues to consider:

    • Any correlation (that is, linking) between the data stored in HealthVault and the data stored in the application-specific data store must be implemented by the application. The linking information should be stored with the application data rather than in HealthVault to protect the security and privacy of the application data, since any data stored in HealthVault can be edited by the user.
    • The partner organization must support the storage of the information, and implement operational policies around data access, retention, privacy, etc.
    • The partner agreement with Microsoft must detail the privacy policy for the data stored on the application server.
    • Customers will not be able to use other applications to access the data stored outside of HealthVault, nor will the application be able to access similar data from other applications or devices that is stored in HealthVault.
    For the first bullet point we actually may want data that is linked to be updated by the user and perhaps checked on our middle software portal system that will allow for the information to be passed through.  See above for our scenario.  Is this possible and can you elaborate exactly on when and when this absolutely cannot be done per our scenario? 

    For the second bullet point can you provide much needed clarification.  "Customers will not be able to use other applications to access the data outside of HV" What does this mean exactly?  I am confused on this one.  Are you saying a person with a HV account won't be able to access data from, for example, our EHR -- Which our EHR would be data outside of HV... It makes sense that data would not be accessed from outside of HV but our application which will have dual and semi-synchronized data sets will have access to data that is not stored on HV... Or our you saying that our EHR would thus have to be data that is stored and accessed on HV?  Again, major clarification on this in regards to our above scenario would be greatly appreciated.  

    I don't mind developing an EHR on HV but we would still need to own the data that is shifted to our EHR for compliance purposes so having just a real time link between EHR PHR won't work if the patient decides to revoke access.  

    Your help and guidance will be greatly appreciated. 

    Christian CXM

    Tuesday, November 4, 2014 4:15 PM

Answers

  • You can sync to any data that is stored in the record. The only caveat here is that the thing type "ApplicationData" is only returned for the application that placed the data in the record.

    Example:

    Given: Application 1 and Application 2 have been authorized to access a HealthVault record. 

    Application 1 uses the ApplicationData thing type to store a user id value for the application.

    Application 2 uses the ApplicationData thing type to store last login data for the application.

    Both of these ApplicationData entries will be associated with the given record, but when Application 1 makes a GetThings request for the applicationdata thing type, it will not see entries for the Application 2 data, it will only be returned data that has been added by Application 1.

    Now, if Application 1 and Application 2 both update the Thing type for Bloodpressure, then the information from Application 1 will be visible to Application 2 and vice-versa.

    -Sean

    Thursday, November 13, 2014 8:18 PM

All replies

  • Question:

    For the first bullet point we actually may want data that is linked to be updated by the user and perhaps checked on our middle software portal system that will allow for the information to be passed through.  See above for our scenario.  Is this possible and can you elaborate exactly on when and when this absolutely cannot be done per our scenario?

     

    Answer: You can store any application specific information in the HealthRecord, there is no hard restriction on this from the platform side. The caveat is present in the text to make sure that developers understand that any application data in a users’ HealthVault record belongs to the user, and may not be present or may have been modified. The de facto limitation here is that you can’t place application data in a HealthVault record that is considered un-mutable by the application.

     

    Question:

    For the second bullet point can you provide much needed clarification.  "Customers will not be able to use other applications to access the data outside of HV" What does this mean exactly?  I am confused on this one.  Are you saying a person with a HV account won't be able to access data from, for example, our EHR -- Which our EHR would be data outside of HV... It makes sense that data would not be accessed from outside of HV but our application which will have dual and semi-synchronized data sets will have access to data that is not stored on HV... Or our you saying that our EHR would thus have to be data that is stored and accessed on HV?  Again, major clarification on this in regards to our above scenario would be greatly appreciated.  

     

    Answer:

    Any HealthVault applications that a user has granted access to their HealthVault record will not be able to access data your application has stored outside of the users HealthVault record, nor will your application be able to access similar data from other HealthVault applications or devices that may be stored in the record. The implied but missing information here is that the HealthVault applications in this context are using the ApplicationData thing type to store the “Information” in HealthVault.


    -Sean
    Tuesday, November 4, 2014 7:58 PM
  • Any HealthVault applications that a user has granted access to their HealthVault record will not be able to access data your application has stored outside of the users HealthVault record, nor will your application be able to access similar data from other HealthVault applications or devices that may be stored in the record.


    -Sean

    Thanks for the reply Sean... 

    Can you clarify that with a scenario?  First, you say that other HV applications would not be able to access data that my application has stored outside of a users HV record.  Will other HV apps be able to access data that is stored inside of the users HV record?  

    For example if HV has data in the form of A-Q and my application places data in the form of r-s into the the users HV record will other apps be able to access that data in the form r-s (again the data r-s is stored via my app in the HV record)?  

    For the next part your statement seems to suggest my question is not possible regardelss... If that is the case shouldn't the answer read... 

    Any HealthVault applications that a user has granted access to their HealthVault record will not be able to access data your application has stored inside or outside of the users HealthVault record, nor will your application be able to access similar data from other HealthVault applications or devices that may be stored in the record or outside of the record.

    In general if I am trying to achieve my scenario of pushing and pulling information from HV to another synced app... am I able to do or no per the above scenario? 


    Christian CXM


    • Edited by Xtianus Wednesday, November 5, 2014 11:17 PM
    Wednesday, November 5, 2014 11:17 PM
  • You can sync to any data that is stored in the record. The only caveat here is that the thing type "ApplicationData" is only returned for the application that placed the data in the record.

    Example:

    Given: Application 1 and Application 2 have been authorized to access a HealthVault record. 

    Application 1 uses the ApplicationData thing type to store a user id value for the application.

    Application 2 uses the ApplicationData thing type to store last login data for the application.

    Both of these ApplicationData entries will be associated with the given record, but when Application 1 makes a GetThings request for the applicationdata thing type, it will not see entries for the Application 2 data, it will only be returned data that has been added by Application 1.

    Now, if Application 1 and Application 2 both update the Thing type for Bloodpressure, then the information from Application 1 will be visible to Application 2 and vice-versa.

    -Sean

    Thursday, November 13, 2014 8:18 PM