Upload
mohammad-al-ubaydli
View
552
Download
1
Embed Size (px)
DESCRIPTION
Microsoft HealthVault conference in June 2008. Source:http://msdn.microsoft.com/en-us/healthvault/cc627280.aspx
Citation preview
Supporting Your Success in Health 1
HealthVault The Taxonomy and Evolution of the HealthVault Data Model
Supporting Your Success in Health
Session Topics
Understanding the data model • Data Types • Vocabularies • Transforms • Versioning
Working with the data model • Approaches • Tools & Resources • Discovery & investigation • Mapping
– Extending data types – Creating custom data types – Request updates
4
The HealthVault Data Model
Supporting Your Success in Health
Supporting Your Success in Health
Data Type Design Principles
• Consumer-centric
– Data that is useful for customers
• Small atomic types
– Easier to create and update
• Interoperable
– Interoperate with industry standards in actual use • Inclusive
– Support fully structured data and unstructured information • Just in Time
– Create types as we work with partners fluent in specific domains • Independent
– Allow expression of connections but never rely on their existence
6
Supporting Your Success in Health
Exploring a data type • Understanding family-history-person
– Describes a relative • Inlaws and outlaws (mom, dad, sister, brother, aunt
uncle) – Stores the following information
• Relative name • Relationship of relative • Date of birth • Date of death
– Used in conjunction with family-history-condition • Stores information about relative’s conditions
Supporting Your Success in Health
family-health-person Schema
<element name="relative-name" type="t:person">
<annotation>
<documentation>
<summary>
The name and other information about the relative.
</summary>
</documentation>
</annotation>
</element>
t:person
t:codable-value
d:approx-date
d:approx-date
Supporting Your Success in Health
t:person • Base data types are intended to be
used across multiple thing types • Examples
– Person – Dates – Measurements – Etc.
Supporting Your Success in Health
.NET Wrappers
t:person
t:codable-
value
d:approx-date
d:approx-date
class FamilyHistoryPerson
PersonItem RelativeName
CodableValue Relationship
ApproximateDate DateOfBirth
ApproximateDate DateOfDeath
Supporting Your Success in Health
.NET Wrapper Classes • Each schema type has an analogous .net class
– Thing types are derived from HealthRecordItem – Base types are derived from HealthRecordItemData
• Some types predate our naming convention
– t:person base type wrapper is PersonItem – t:approxDate wrapper is ApproximateDate
• We are considering some wrapper class renaming to fix a few issues in
this area, and will be asking for your feedback
Supporting Your Success in Health
Codable Value
t:person
t:codable-
value
d:approx-date
d:approx-date
class FamilyHistoryPerson
PersonItem RelativeName
CodableValue Relationship
ApproximateDate DateOfBirth
ApproximateDate DateOfDeath
Supporting Your Success in Health
Codable Value
• Many fields have two uses • A user-entered string • An application-understandable code
• Often tied to a specific vocabulary • Example
• Medication codes • Aerobic exercise types
• CodableValue combines both uses
Supporting Your Success in Health
Codable Value
Grandmother
Code Vocabulary
GMt personal-relationship
Text:
Key Display Text
Bro Brother
GMt Grandmother
Csn Cousin
Mth Mother
personal-relationship vocabulary
Family History Person Relationship
Code
GMt
GMt-M
Supporting Your Success in Health
Data Transforms • Platform-implemented transforms from thing xml to a
different format • mtt – summarize instance values • stt – important columns from the instance • These transforms are used by the
HealthRecordItemDataGrid
Supporting Your Success in Health
Form transform • Html version of the data • Not supported for all types – changes coming in the future
Supporting Your Success in Health
.NET SDK V1
Health Record Updating data types…
Encounter
V1 Encounter
V1
Instance
Application
.NET SDK V2
Encounter
V2
(new fields)
Encounter
V2
Instance Application
Missing
require
d fields
New
fields
Supporting Your Success in Health
.NET SDK V1
Health Record With Versioning…
Encounter
V1 Encounter
V1
Instance
Application
.NET SDK V2
Encounter
V2
(new fields)
Encounter
V2
Instance Application
Transfor
m
Encounter
V1
XML
Transfor
m
Encounter
V2
XML
Supporting Your Success in Health
Versioning details • Limitations
– Can’t perform updates across versions – Only works instance to instance
• Can’t transform to multiple instances
• Will be released in PB6 – Some recent types hand-versioned
• Encounter / EncounterOld • These will become one type after versioning is
deployed
Supporting Your Success in Health
Big types vs multiple small types • Big types:
– More likely to require modifications – Modifications require versioning – Harder to understand
• Multiple small types – Less likely to require versioning – Modify through adding new types
• Multiple smaller types are better – How do you relate them together?
Supporting Your Success in Health
Related Items
Weight
Key = <X>
Related Items
Aerobic Session
Key = <Y> <Y>
Blood Pressure
Key = <Z> <Z>
• Applications must follow the links themselves • Referential integrity is not enforced
– Applications must deal with links to items that don’t exist
• Links are one-way
Questions
Working with the HealthVault data model
Supporting Your Success in Health
Where to start?
Wouldn’t it be best to start with building a list of all related data?
Wait, now what was that base thing type again?
Item Types, I thought they were things?
MTT seems like an easy way to start… I’m already using industry standards, should I start there?
Should I start by understanding everything about HealthVault?
Easy, the answer must be to start with the XML…
I know, I’ll start by validating my data against the
XSD…
Maybe I’ll wait to start after the next version of the data…
You mentioned transforms, is there already one for my
data?
We already have a database so can we just give you our structure?
Can’t we just store everything as a CCD
Where should I go to see all the HealthVault vocabularies?
Could I just insert an
STT and be done?
I already do CCR output, can
HealthVault do the rest?
Here’s our suggested approach…
Supporting Your Success in Health
Start with a Data Inventory
Integrating an existing application? Make a list of what you have now
Creating a new application? Make a list of what you plan to have
Is it appropriate to store in HealthVault?
As a general rule, if it provides value to the consumer’s health record, it’s appropriate to store in HealthVault. It becomes even more valuable when it can be reused across systems.
Blood Pressure Readings
Medications
Patient Information
Bank Account Info
Extended Health Info
Super-Secret Company Info
Supporting Your Success in Health
Discover the HealthVault Data Types
Now that you have your data inventory… Time to learn about the HealthVault data types
Tools to make this easier: MSDN
� Online Library � Data Type Reference � Blogs � Community Forum � Utilities
.NET SDK
Supporting Your Success in Health
Demographics Personal Demographic Information Basic Demographic Information
Discover where data type matches exist
You’ve done your data inventory and reviewed the He althVault data type. Now it’s time to map your data between the systems Start by identifying the set of matching data types
Condition Condition Body Composition Medication Medication
Supporting Your Success in Health
Map fields across data types
You have the set of matched data types. Next step is to see how each field compares between the systems Example 1 - the 100% match
Supporting Your Success in Health
What to do when there isn’t a 100% match to a singl e data type Look across other similar data types Example 2 - the 100% match across multiple data typ es
Mapping fields across multiple data types
Supporting Your Success in Health
What to do when there isn’t a 100% match to a singl e data type Look across other similar data types Example 2 - the 100% match across multiple data typ es
Mapping fields across multiple data types
Supporting Your Success in Health
Some fields may not map to any fields in HealthVaul t Determine if they should be part of HealthVault or if they are proprietary Example 3 - the partial match with some new and pro prietary fields
What to do when there are missing fields
What about these?
Supporting Your Success in Health
Some fields may not map to any fields in HealthVaul t Determine if they should be part of HealthVault or if they are proprietary Example 3 - the partial match with some new and pro prietary fields
What to do when there are missing fields
These are calculated values or measurements and are excellent candidates for HealthVault additions
These two provide value to the consumer’s health record but may not be easily shared across applications.
Supporting Your Success in Health
HealthVault Data Type Updates
Supporting Your Success in Health
HealthVault Data Type Updates
Requesting an update Please include:
�What you’re trying to accomplish �Consumer and system use of the data �Samples of existing data
What we do:
–Review the request –Post a Request for Interest to the blog
What we ask of you:
�Unblock your development
–Use a data type extension –Use a custom data type
Requesting an update Please include:
�What you’re trying to accomplish �Consumer and system use of the data �Samples of existing data
What we do:
–Review the request –Post a Request for Interest to the blog
What we ask of you:
�Unblock your development
–Use a data type extension –Use a custom data type
Supporting Your Success in Health
HealthVault Data Type Updates
Research & Design What we do:
�Review all collected materials –Is it right for HealthVault –Are there other types that would satisfy? –Should this be a new data type? –Ask a lot of questions
�Pull in domain experts as needed
�Find similarities across existing data types
�Document standards and vocabularies
�Create the draft design
Research & Design What we do:
�Review all collected materials –Is it right for HealthVault –Are there other types that would satisfy? –Should this be a new data type? –Ask a lot of questions
�Pull in domain experts as needed
�Find similarities across existing data types
�Document standards and vocabularies
�Create the draft design
Supporting Your Success in Health
HealthVault Data Type Updates
Reviewing the draft design What we do:
�Post a Request for Review on the blog –Design write-up –May include a graphical representation
�Hold internal reviews
What we ask of you:
�Review the design
�Provide comments
Reviewing the draft design What we do:
�Post a Request for Review on the blog –Design write-up –May include a graphical representation
�Hold internal reviews
What we ask of you:
�Review the design
�Provide comments
Supporting Your Success in Health
HealthVault Data Type Updates
Releasing the update What we do:
�Review and incorporate all feedback
�Create appropriate transforms
�Create .NET SDK
�Deploy to platform and MSDN
What we ask of you:
�Download new SDK
�Update applications to use new data types
Releasing the update What we do:
�Review and incorporate all feedback
�Create appropriate transforms
�Create .NET SDK
�Deploy to platform and MSDN
What we ask of you:
�Download new SDK
�Update applications to use new data types
Supporting Your Success in Health
HealthVault Developer Center on MSDN
http://msdn.microsoft.com/healthvault – Getting Started Guide – Online Libraries
– Go-Live Guide – HealthVault SDK & DDK – Blogs & Forum
HealthVault Data Types blog http://blogs.msdn.com/healthvaultdatatypes/default.aspx – Latest data type information available
Learn More About The HealthVault Data Model
Supporting Your Success in Health
Need Help? These companies have built HealthVault-compatible applications or device drivers and are eager to help you:
Questions