A Model Driven Approach to using Mural/MDM

Some Background

In the context of my work for the OeHF an interesting idea came up from the foundation partners. OeHF is about building an open source framework for Healthcare applications. The core of such a framework is a lot of patient related data from diverse sources like e.g. patient demographics, visit data, medical records.
All of these sources apply their own local patient identifier and patient specific data  - somehow all these bits of data need to be matched and merged. The framework therefore requires to have some kind of Single Patient View tieing together all of this information. Sounds like Mural is a very good fit for these requirements.

So we were discussing how we could integrate Mural/MDM into the architecture and the question came up if it is possible to drive Mural from UML diagrams. Since we don't want to pass MDM objects all around our application the idea is to model the business objects and then derive a mural application from the classes.
As a consequence there's a requirement for a  Single Patient View adapter implementing a domain object centric interface and mapping the domain objects into the mural data model.

That potentially means a lot of Java mappings on quite similar and possibly complex data structures (in the case of OeHF the data structures will be aligned to the HL7 data model). So avoiding to code and maintain these mappings manually became another motivating factor for looking into how model driven development could be applied to Mural/MDM.

The Road Ahead

In a nutshell we'll need to come up with a way of generating Java code and XML configuration files from a NetBeans UML model. Ideally the resulting artefacts should be propagated into the appropriate projects and integrating the build cycles of these projects would be another nice to have.

Here's what we'd need to find out and do in order to make this happen:

  • Understand the UML code generation mechanism
  • Understand the MDM configuration files and which of these can be generated from the model
  • Develop a sample UML model and define required conventions for additional MDM related information required by the configuration files
  • Implement templates for the configuration files
  • Design and implement a solution to also generate the Java mappings from object model to MDM and vice versa
  • Possibly integrate generated component into build processes of the relevant projects
I'll tackle all the points above in subsequent posts to the blog in some form of step by step guide. So please bear with me.


Comments:

Interesting, we are developing a research/clinical services platform with OpenESB based HL7 RIM. Worked many years in healthcare projects implementing Hl7 RIM, really a great object model.

Looking into Mural's EMPI functionality for patient management services with research and clinical care.

Really like WebSynergy for our Web presentation platform.

Also, tried to get information on Open eHealth, but discovered it's not so "open"!

Here, we're pretty much a SUN open source shop by now, let me know when Open eHealth decides to be open?

Posted by George de la Torre on July 02, 2008 at 08:05 AM BST #

Yes I know - Open eHF is still very much early days. It will take some time to get from "open" to open. I just added the OeHF reference as background information to explain why I am doing this UML to MDM thing.

How are you getting on with your Mural evaluation? The MDM part is actually what used to be the commercial eView product donated to open source. And it is very much geared towards (but not exclusively) the health care market.
I'll follow up with another entry on Mural MDM basics and resources soon so depending at what stage of the evaluation you are right now that might be helpful for you.

Posted by Swen on July 02, 2008 at 08:25 AM BST #

Post a Comment:
Comments are closed for this entry.
About

Swen, resident alien in the UK based part of a team at SUN called FAST

Search

Top Tags
Categories
Archives
« April 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today