Download presentation
Presentation is loading. Please wait.
Published byDarnell Fink Modified over 9 years ago
1
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)
2
Traditional Software Development Image credits: Johan den Haan, Mendix.nl Gather requirements Build
3
Model Driven Software Development MDD, a.k.a. MDA, MDSE.. Image credits: Johan den Haan, Mendix.nl Model Generate
4
MDD for Implementers RIMBAA Rene Spronk Rene.Spronk@ringholm.com
5
5 RIM - Abstract Data Model
6
RIMBAA Use of V3 artefacts - RIMBAA
7
MIF Information Models for MDD XML Schemas MIF XSLT Software application Software application Software application Software application
8
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
9
MDD - Application Generation MIF Software application Software application e.g. UML/XMI Generic Software Components -Terminology -Data types Generic Software Components -Terminology -Data types Persistence RIM coreMIF RIM coreMIF
10
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
11
MDD for Specification Developers Domain Specific Languages for Healthcare Charlie McCay charlie@ramseysystems.co.uk
12
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
13
Example Literal Instance
14
Example Logical Instance
15
Statement Flavors
16
Specification Mapping
17
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
18
Specification Users User Interface Designer Profile Author Semantic Coherence Wire Format Report writers Interface Engineer User Community
19
Does it all need to be so complex? We are dealing with a difficult problem BUT – 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
20
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
21
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 http://wiki.hl7.org/index.php?title=RIMBAA DSL – http://wiki.hl7.org/index.php?title=ITS http://wiki.hl7.org/index.php?title=ITS
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.