medbiquitous xml design patterns rachel ellaway 1, valerie smothers 2, joel farrell 3, daniel rehak...

22
MedBiquitous XML Design Patterns Rachel Ellaway 1 , Valerie Smothers 2 , Joel Farrell 3 , Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous, 3 IBM MedBiquitous 2012

Upload: joy-sparks

Post on 18-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

MedBiquitous XML Design Patterns

Rachel Ellaway1, Valerie Smothers2,

Joel Farrell3, Daniel Rehak1Northern Ontario School of Medicine, 2MedBiquitous, 3IBM

MedBiquitous 2012

Page 2: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Conflict of interest

We have no involvement with industry that creates a conflict of interest to disclose with respect to this workshop

Page 3: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Overview

• MedBiquitous develops “information technology standards for healthcare education and competence assessment … based on XML and Web services standards”

• We translate real world needs to technical models and frameworks

• How can we improve MedBiquitous’ community in doing this work

• Try seeing the world in terms of design patterns …

Page 4: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Design Patterns

Page 5: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Design patterns

• From architecture – Andrew’s ‘pattern language’

• A “pattern describes a problem that occurs over and over again … and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice”

• Vocabulary = named, described solutions to problems … called "design patterns”

• Also syntax (context) and grammar (method)

A Pattern Language, Christopher Alexander, with Sara Ishikawa, Murray Silverstein, Max Jacobson, Ingrid Fiksdahl-King, and Schlmo Angel, Oxford University Press 1977

Page 6: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Design patterns in s/w

• OO – reusability, efficiency, understandability

• creational patterns – how entities are defined

– Properties, vocabularies, classes

• structural patterns – how entities are grouped and related

– Trees, taxonomies, objects, libraries

• behavioral patterns – what entities can do

– Rules, state, interpret

Page 7: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Design patterns in interop

• creational patterns – how entities are defined

– properties, vocabularies, classes

• structural patterns – how entities are grouped and related

– trees, taxonomies, objects, libraries

• behavioral patterns – what entities can do

– rules, state, interpret

Page 8: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Design patterns in interop

Four main layers:

• Vocabularies

• XML

• Schema design

• Architectures

Page 9: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Vocabulary Design Patterns

• Defined descriptors• Required (unchanging)• Recommended

– may change– may be ignored– may be augmented

• Global – MeSH, UMLS• Specific• Language issues, translation, syntax etc

Page 10: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,
Page 11: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

XML Design Patterns

• XML is itself a pattern• Tree - nodes• Attributes• Vocabularies• Namespaces• Special handling - PCDATA

Page 12: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

XML Design Patterns

<Properties> <Counters> <Counter id="608" isVisible="true"> <CounterLabel>time</CounterLabel> <CounterInitVal>0</CounterInitVal> </Counter> </Counters></Properties>

attributes vocabularies

entities

tree

Page 13: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Schema Design Patterns

• Single tree – healthcare LOM– Contiguous, equivalent concepts

• Multiple trees – MVP– Non-contiguous, non-equivalent concepts

Page 14: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Single tree schema: MedBiquitous’ Healthcare LOM

From IEEE

MedBiquitous Extension

Page 15: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Multiple tree schemas: MedBiquitous’ Virtual Patient

Virtual Patient Data

Media Resources

Data Availability Model

Activity Model

SCORM package

Page 16: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Architecture Design Patterns

• Common XML data structures• Reuse vocabularies – MeSH, UMLS• Referencing other standards:

– Reuse MedBiquitous S&S, whole or part– External S&S can often be reused (check

license) e.g. content packaging, LOM etc

• xx

Page 17: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Architecture Design Patterns

person resource

competency

Page 18: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Why is this important?

• MedBiquitous’ work is a community effort

• Some standards development processes hindered by limited familiarity with DPs

• Interop DP literacy can help to streamline and accelerate standards development

Page 19: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Design patterns in interop

Many layers:

• Vocabularies

• XML

• Schema design

• Architectures

Look for them, see them, understand them, use them

One from this list?

Is this a tree?

Apples and architraves?

What classes, functions and architectures can we reuse?

Page 20: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Design Patterns

Page 21: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

Thank you!

Rachel [email protected]

Valerie [email protected]

DP: given:familyuser@domain

Page 22: MedBiquitous XML Design Patterns Rachel Ellaway 1, Valerie Smothers 2, Joel Farrell 3, Daniel Rehak 1 Northern Ontario School of Medicine, 2 MedBiquitous,

MedBiquitous XML Design Patterns

Rachel Ellaway1, Valerie Smothers2,

Joel Farrell3, Daniel Rehak1Northern Ontario School of Medicine, 2MedBiquitous, 3IBM

MedBiquitous 2012