+ All Categories
Home > Documents > UML ITS Tutorial

UML ITS Tutorial

Date post: 12-Jan-2016
Category:
Upload: devlin
View: 57 times
Download: 10 times
Share this document with a friend
Description:
UML ITS Tutorial. Grahame Grieve CfH / Jiva / HL7 Australia co-chair Infrastructure & Messaging Project Lead, Eclipse OHF. Agenda. Introductions / Background UML ITS Fundamentals A Model Unresolved Issues Where to now?. Why the UML ITS. UML based representation of HL7 Models - PowerPoint PPT Presentation
Popular Tags:
53
UML ITS Tutorial Grahame Grieve CfH / Jiva / HL7 Australia co-chair Infrastructure & Messaging Project Lead, Eclipse OHF
Transcript
Page 1: UML ITS Tutorial

UML ITS Tutorial

Grahame GrieveCfH / Jiva / HL7 Australia

co-chair Infrastructure & MessagingProject Lead, Eclipse OHF

Page 2: UML ITS Tutorial

Agenda

• Introductions / Background

• UML ITS Fundamentals

• A Model

• Unresolved Issues

• Where to now?

Page 3: UML ITS Tutorial

Why the UML ITS

• UML based representation of HL7 Models• A work in progress.

– RIM is “pure” UML– Datatypes are not– Models (RMIMs etc) are not

• “pure” UML means:– Standard o-o concepts– No stereotypes

Page 4: UML ITS Tutorial

CfH Implementation

• Message Simplification task force outcomes– Low Instance to other data ratio– Complex Structures– Unstable Wire Format– Unable to code generate productively

Page 5: UML ITS Tutorial

V3 Background

• 3 level modeling– RIM– Static Models– Templates

Page 6: UML ITS Tutorial

RIM

Page 7: UML ITS Tutorial

RIM: Interoperability

• The semantic requirements embedded in the RIM force models to be rigorous

• Modelers must carefully analyse their concepts and define them against the RIM classes and terminologies

• This provides a solid base for shared understanding

Page 8: UML ITS Tutorial

RIM Structural Codes

• A pattern over the top of the Class based RIM

• Each class carries key coded attributes that independently carry semantic meaning

• Can ignore type information (or not know it) and rebuild implicit meaning from the representation of the instances

Page 9: UML ITS Tutorial

Static Models

• A set of constraints on the RIM

• Presented as a Class Diagram

• Not proper UML– Clones– Choices– CMET mixins

Page 10: UML ITS Tutorial

Templates

• Express custom requirements on Models

• Differences between Static Models & Templates:– Templates are represented differently in the

instance– Templates are intended for implementation– Templates may be incomplete

Page 11: UML ITS Tutorial

Incompleteness

Page 12: UML ITS Tutorial

Types & Templates

• Template: A set of constraints on a type

• Type: A set of constraints on a type

• An artefact “conforms” to a template

• An artefact “is” of a type

• Type is a concept with exclusivity

Page 13: UML ITS Tutorial

Types & Templates

• So HL7 instances conform to many models at once

• One can be the type

• it’s derivation chain are super-types

• Others are templates

RIM

DIM

RMIM

MT

Template

Template

Template

Page 14: UML ITS Tutorial

V3 Processing Approaches

• V3 presents a rich plethora of options for processing instances– Structural code based– RIM Type based– Static Model based– Template based

• Many implementations combine these

Page 15: UML ITS Tutorial

V3 Processing Approaches

• Generic Processing– Process every instance without knowledge of

the static model upon which it is based– Uses structural codes to infer meaning

• Specific Processing– Processes instances based on the static model– Generally hand coded for the model

Page 16: UML ITS Tutorial

XML ITS issues

• Surprise attributes

• Representation transforms

• Datatypes complexity– Mixins– Clever data formats

• No final representation

Page 17: UML ITS Tutorial

UML ITS

• Goal: Give implementers what they expect

• What’s that?

Page 18: UML ITS Tutorial

UML ITS

Industry norms:

• Standard Object (o-o) Representation

• WYSIWYG – formally correct model of the wire representation

• Support for Model Driven Development

Page 19: UML ITS Tutorial

UML & XML

• UML is the preferred notation for modeling

• XML is the preferred format for interchange

• Need a tight relationship between UML and XML

UMLModel

XSDSchema

XMLWire

Fomat

Page 20: UML ITS Tutorial

XUM

• XUM – XML UML Model• A XUM is a model that describes, as both a UML

class diagram and an XML schema, an implementable form of a V3 instance based upon an Static Model. The XUM describes a particular wire format, and is also useful in terms of commercial tools use and ease of implementer understanding. The UML and XML forms of the XUM should be as isomorphic as possible.

Page 21: UML ITS Tutorial

XUM

• A definitions of classes with attributes and associations

• Associated implementation constraints and enumerations

• Artefacts and Constraints describe a static model as completely as possible

• Presented as a UML Model and an XML Schema (W3C)

Page 22: UML ITS Tutorial

UML Diagram Rules

• Classes with Attributes• Parameterized classes with one class parameter. All

parameterized classes are collections • Constraints using OCL in notations attached to the class. • Generalization associations • Named composition associations (represented as by value

in XML) • Named associations (represented as by reference in XML) • The stereotype <<enumeration>> for enumerations • The stereotype <<io>> for marking entry points. • The inbuilt types from the OCL 2 kernel, or any types

found in other XUMs which must be explicity accessed as UML packages

Page 23: UML ITS Tutorial

XSD Schema Rules

• Complex Types• Element and attribute definitions• Global elements for entry points• Simple Types for enumerations• Sequences & Choices• Schematron rules for constraints• The inbuilt types from the schema standard, or any

types found in other XUMs which must be explicity imported as schemas

• Comments in AppInfo annotations

Page 24: UML ITS Tutorial

XUMs are normative

• Current XML ITS schemas are not normative – they are wrong

• Accept that the wire format needs to be formally & correctly documented

• Make the wire format driven by the XUM model

Page 25: UML ITS Tutorial

Examples

• PdsAllocateNhsNumberRequest (PRPA_MT100101UK12)

• CareEventReport (REPC_MT150007UK05)

Page 26: UML ITS Tutorial

XUM Reference Package

• Enumerations• Data types

– ANY

– BL

– ED

– CD

– EN

– SET

– IVL

Page 27: UML ITS Tutorial

XUM Summary

• XUM – representation of what goes on the wire

• Suitable for– Documentation– Automatic processing– Model Driven Development

• Allow implementers to get started quickly

Page 28: UML ITS Tutorial

Unresolved Issues

• What transformations are performed when preparing the XUM?

• How well do we solve the problems?– Low Instance to other data ratio– Complex Structures– Unstable Wire Format– Unable to code generate productively

Page 29: UML ITS Tutorial

Are definitions required?

• The most significant question of all is:“Do you need the definitions to read the instance?”

Page 30: UML ITS Tutorial

Definitions Required

If definitions are required:• Instances define themselves in terms of reference

to the definition – Names need not be RIM or Static model names– Definition must map the names to RIM concepts

• Instances can omit anything found in the definition

• Instances are smaller• You must read or “know” the definition to author

or understand the instance

Page 31: UML ITS Tutorial

Definitions Not Required

• If definitions are not required

• The instance must carry everything that defines it (by reference to the RIM)

• Instances will be larger (fixed values)

• Names must be RIM Centric

• Applications can understand the instance without consulting the definitions

Page 32: UML ITS Tutorial

Definitions Required?

• XML ITS is in the middle– Implicitly to allow reading with definitions– But omits fixed and default values, so definitions are

required – unless you have PSVI• JavaSIG – uses the definition to construct a RIM

graph, then ignores it• Eclipse – will allow either• Most implementers already have an architecture

based around XML tools, which don’t provide services like this

Page 33: UML ITS Tutorial

Definitions Required

• NHS project focused on moving as much as possible into the definitions

• “Interoperability is just a definition away”

Page 34: UML ITS Tutorial

UML ITS R2: Concepts

ImplementableUML Model

AutomatedTransforms

ConformanceProfile

Schemas (XML ITS)

AutomatedTransform

Msg

Msg

AutomatedTransform

HL7 Model

AnalysisModel

ManualMapping

*

Page 35: UML ITS Tutorial

Example

Page 36: UML ITS Tutorial

Example

Page 37: UML ITS Tutorial

ExampleAnalysis Model RMIM

NHS number subject.patientRole.id Sensitivity Indicator subject.patientRole.confidentialityCode Death Status subject.patientRole.subjectOf2.DeathNotification.value Date Of Death subject.patientRole.patientPerson.deceasedTime Gender subject.patientRole.

patientPerson.adminstrativeGenderCode Date of Birth subject.patientRole. patientPerson.birthTime Serial Change Number pertinentInformation.patientSerialChangeNumber.value Name.* [outstanding issue: we believe that names and Addr.* addresses are a special case that needs special handling.] Care Provider.Type ...patientCareProvision.code Care Provider.Provider Code

...patientCareProvision.healthcareProvider.id

Care Provider.Business Effective Dates

...patientCareProvision.effectiveTime

Comment.Value [missing – demonstrates the value of the process] Comment.Type …subjectOf1.value [based on narrative not shown here] Comment.Change Date …subjectOf1.effectiveTime Comment.Comments …subjectOf1.pertinentSupplementaryComments.value

Page 38: UML ITS Tutorial

Example

Page 39: UML ITS Tutorial

Example

Page 40: UML ITS Tutorial

Problems

• Real Analysis Models turned out to be unsuitable– Often have significant transforms between

Analysis and Communication– Do not address implementation issues

• NHS Implementers do generic processing, and can not easily consult the definitions

• Clinical Content was less malleable

Page 41: UML ITS Tutorial

Choice

Domain Project

Generate Implementable

Model

Level of AbstractionRMIM/RealmRMIMDomain / Realm

Generate Implementable

Model

Generate Implementable

Model

Generate Implementable

Model

Generate Implementable

Model

More Less

Level of AbstractionAbstractMore Interoperable

SpecificLess Interoperable

Page 42: UML ITS Tutorial

RMIM Reshaper

• Robert Worden has developed an RMIM reshaper

• It has been illuminated by the UML ITS analysis

• We expect that it will become more aligned with the UML ITS work

• May be part of the basis for exploring the pros and cons of reshaping

Page 43: UML ITS Tutorial

Choice

• Administrative – use reshaping techniques

• Clinical – leave as RIM

• No clear boundary

• Real price is in clinical content

• ? Still undecided how to progress

Page 44: UML ITS Tutorial

Unstable Wire Format

• Existing format is unstable because:– Constraints are represented in the instance– Constraints change between models and

versions because the concepts are described differently

– The concepts themselves change much less, and more slowly

Page 45: UML ITS Tutorial

Wire formats & SOA

Control the operation of your SOA with BPEL

Page 46: UML ITS Tutorial

Wire formats & SOA

Control the operation of your SOA with BPEL

What’s this?

Standardisation of data models & formats enables the SOA

Flocks of servers share the same document format

Page 47: UML ITS Tutorial

Wire formats & SOA

• HL7 has domain harmonised models• They are locked up within the V3

messaging context• Wider project with HL7: unlock the

concepts for services– HL7 Services Project (SOA)– UML ITS– MnM revisiting the dynamic model

Page 48: UML ITS Tutorial

Wire Format Stability

• HL7 instances conform to many models at once

• One can be the type – “the basis for serialisation”

• Higher up = more stable & more abstract

• Higher up = more work up front

• We lean towards DIM level

RIM

DIM

RMIM

MT

Template

Template

Template

Page 49: UML ITS Tutorial

Choices?

• The current HL7 V3 serialisation approach is a middle of the road approach

• There appears to be grounds for either more abstract or more specific formats

• More specific formats should be as specific as possible

Page 50: UML ITS Tutorial

CEN 13606

CEN 13606 Concept HL7 V3

EHR Philosophy Messaging

Reference model + Data Types

Reference Model RIM +

Data Types

ADL Constraint Formalism

Models

One wire format

Many wire formats

Wire format 1 wire format

Many wire formats

Page 51: UML ITS Tutorial

CEN 13606

• There is several movements towards harmonisation

• There is significant differences in the reference models

• There is real convergence in progress at the engineering level.

• CEN 13606 and HL7 V3 pose similar challenges to implementers

Page 52: UML ITS Tutorial

Where to now?

• Implementation Trial commencing with CfH suppliers

• XUMs are available for MIM 4.1.04

• We can experiment with messaging reshaping

• But not with Domain Model serialisation

Page 53: UML ITS Tutorial

Acknowledgements

• Charlie McCay• Lloyd Mackenzie• Gunther Schadow• Thomas Beale• Rene Spronk• Galen Mulrooney• Dave Carlson

• Laura Sato• Ken Lunn• Rik Smithies• David Markwell• Tim Benson• Joe Waller• Ann Wrightson

Many people have contributed to this work


Recommended