MedBiquitous XML Design Patterns
description
Transcript of MedBiquitous XML Design Patterns
MedBiquitous XML Design Patterns
Rachel Ellaway1, Valerie Smothers2,Joel Farrell3, Daniel Rehak1Northern Ontario School of Medicine, 2MedBiquitous, 3IBM
MedBiquitous 2012
Conflict of interest
We have no involvement with industry that creates a conflict of interest to disclose with respect to this workshop
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 …
Design Patterns
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
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
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
Design patterns in interop
Four main layers:
• Vocabularies
• XML
• Schema design
• Architectures
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
XML Design Patterns
• XML is itself a pattern• Tree - nodes• Attributes• Vocabularies• Namespaces• Special handling - PCDATA
XML Design Patterns
<Properties> <Counters> <Counter id="608" isVisible="true"> <CounterLabel>time</CounterLabel> <CounterInitVal>0</CounterInitVal> </Counter> </Counters></Properties>
attributes vocabularies
entities
tree
Schema Design Patterns
• Single tree – healthcare LOM– Contiguous, equivalent concepts
• Multiple trees – MVP– Non-contiguous, non-equivalent concepts
Single tree schema: MedBiquitous’ Healthcare LOM
From IEEE
MedBiquitous Extension
Multiple tree schemas: MedBiquitous’ Virtual Patient
Virtual Patient Data
Media Resources
Data Availability Model
Activity Model
SCORM package
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
Architecture Design Patterns
person resource
competency
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
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?
Design Patterns
MedBiquitous XML Design Patterns
Rachel Ellaway1, Valerie Smothers2,Joel Farrell3, Daniel Rehak1Northern Ontario School of Medicine, 2MedBiquitous, 3IBM
MedBiquitous 2012