hl7 v3 model driven software development rené spronk (ringholm bv, hl7 international rimbaa...

21
HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International Technical Steering Committee Chair)

Upload: darnell-fink

Post on 14-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

HL7 V3 Model Driven Software Development

René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair)

Charlie McCay (Ramsey Systems Ltd, HL7 International Technical Steering Committee Chair)

Page 2: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Traditional Software Development

Image credits: Johan den Haan, Mendix.nl

Gather requirements

Build

Page 3: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Model Driven Software Development

• MDD, a.k.a. MDA, MDSE ..

Image credits: Johan den Haan, Mendix.nl

Model Generate

Page 4: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

MDD for ImplementersRIMBAA

Rene [email protected]

Page 5: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

5

RIM - Abstract Data Model

Page 6: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

RIMBAA

Use of V3 artefacts - RIMBAA

Page 7: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

MIFMIF

Information Models for MDD

XML SchemasXML Schemas

MIFMIFMIFMIF

XSLTXSLT

Software application

Software application

Software application

Software application

Page 8: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Code Generators• Code (class) generation

– MIF - the code generator has to be aware of the structure of the MIF

• Purpose-build code generator, e.g. Marc HI Everest toolkit for .net

– UML/EMF (derived from the MIF) - the code generator has to know UML/EMF, including the v3 specific extensions

• Standard cross-industry tools, with extension: OHT Eclipse tools (Java), MDHT tool for CDA (Java)

– XML Schema• Standard cross-industry tools: e.g. JAXB

Page 9: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

MDD - Application Generation

MIFMIF

Software application

Software application

e.g. UML/XMIe.g. UML/XMI

Generic Software Components-Terminology-Data types

Generic Software Components-Terminology-Data types

Persistence

RIMcoreMIF

RIMcoreMIF

Page 10: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

MDD for Application Developers

• The RIM and RIM-based models have a value within an application, not just in a message or document

• HL7 v3 offers “information object models” created by domain experts

• Code generation tools, driven by HL7 v3 and other models, can be used to create software applications

Page 11: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

MDD for Specification DevelopersDomain Specific Languages

for Healthcare

Charlie [email protected]

Page 12: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Technology Outreach Report

How does HL7 fit into mainstream tools?How do we simplify our specifications?Why do we have so much HL7 specific technical

terms?

Defining Languages is what HL7 does

Page 13: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Example Literal Instance

Page 14: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Example Logical Instance

Page 15: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Statement Flavors

Page 16: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Specification Mapping

Page 17: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Usable specifications

• Must be easy for the specification users– Examples– Be short– Have testing tools– Be unambiguous– Use terms that are familiar– Work with current toolset– Covered by books from Waterstones / Amazon– Affordable

Page 18: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Specification UsersUser Interface Designer

Profile Author

Semantic Coherence

Wire Format

Report writers

Interface EngineerUser

Community

Page 19: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Does it all need to be so complex?

We are dealing with a difficult problemBUT

– Tried to meet all specification users needs with one language

– Major emphasis on Semantic Coherence– Too many acronyms and new terms

INSTEAD– Plain English wherever possible– Give specification users what they want and need– Semantic Coherence will be reached in steps– Specification Compliance testing tools

Page 20: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Examples of DSLs• Configuration files• In-house import scripting languages • Middleware mapping languages• Healthcare data

– CDA defines a language for clinical documents– RIM defines a language for Healthcare Information– Pharmacy DMIM defines a language– XML ITS defines one possible syntax for an HL7 language

• HL7 Specifications– Visio, Schema, Table views are different forms of the

language used by HL7 to define healthcare langauges

Page 21: HL7 V3 Model Driven Software Development René Spronk (Ringholm bv, HL7 International RIMBAA Committee Chair) Charlie McCay (Ramsey Systems Ltd, HL7 International

Conclusions & References

• MDD is a new buzzword, HL7 v3 has effectively always been MDD in nature, and always defined Domain Specific Languages

• RIMBAA/MDD– http://wiki.hl7.org/index.php?title=RIMBAA

• DSL– http://wiki.hl7.org/index.php?title=ITS