40
Supporting Your Success in Health 1

Hsc 2008 Day 2

Embed Size (px)

DESCRIPTION

Microsoft HealthVault conference in June 2008. Source:http://msdn.microsoft.com/en-us/healthvault/cc627280.aspx

Citation preview

Page 1: Hsc 2008   Day 2

Supporting Your Success in Health 1

Page 2: Hsc 2008   Day 2

HealthVault The Taxonomy and Evolution of the HealthVault Data Model

Page 3: Hsc 2008   Day 2

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

Page 4: Hsc 2008   Day 2

4

The HealthVault Data Model

Page 5: Hsc 2008   Day 2

Supporting Your Success in Health

Page 6: Hsc 2008   Day 2

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

Page 7: Hsc 2008   Day 2

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

Page 8: Hsc 2008   Day 2

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

Page 9: Hsc 2008   Day 2

Supporting Your Success in Health

t:person • Base data types are intended to be

used across multiple thing types • Examples

– Person – Dates – Measurements – Etc.

Page 10: Hsc 2008   Day 2

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

Page 11: Hsc 2008   Day 2

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

Page 12: Hsc 2008   Day 2

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

Page 13: Hsc 2008   Day 2

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

Page 14: Hsc 2008   Day 2

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

Page 15: Hsc 2008   Day 2

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

Page 16: Hsc 2008   Day 2

Supporting Your Success in Health

Form transform • Html version of the data • Not supported for all types – changes coming in the future

Page 17: Hsc 2008   Day 2

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

Page 18: Hsc 2008   Day 2

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

Page 19: Hsc 2008   Day 2

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

Page 20: Hsc 2008   Day 2

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?

Page 21: Hsc 2008   Day 2

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

Page 22: Hsc 2008   Day 2

Questions

Page 23: Hsc 2008   Day 2

Working with the HealthVault data model

Page 24: Hsc 2008   Day 2

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…

Page 25: Hsc 2008   Day 2

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

Page 26: Hsc 2008   Day 2

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

Page 27: Hsc 2008   Day 2

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

Page 28: Hsc 2008   Day 2

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

Page 29: Hsc 2008   Day 2

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

Page 30: Hsc 2008   Day 2

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

Page 31: Hsc 2008   Day 2

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?

Page 32: Hsc 2008   Day 2

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.

Page 33: Hsc 2008   Day 2

Supporting Your Success in Health

HealthVault Data Type Updates

Page 34: Hsc 2008   Day 2

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

Page 35: Hsc 2008   Day 2

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

Page 36: Hsc 2008   Day 2

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

Page 37: Hsc 2008   Day 2

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

Page 38: Hsc 2008   Day 2

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

Page 39: Hsc 2008   Day 2

Supporting Your Success in Health

Need Help? These companies have built HealthVault-compatible applications or device drivers and are eager to help you:

Page 40: Hsc 2008   Day 2

Questions