This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

MIF based code generation

From HL7Wiki
Revision as of 14:46, 18 January 2009 by Rene spronk (talk | contribs)
Jump to navigation Jump to search

Summary

When it comes to code generation the best (most complete) code should be generated from the MIF. An alternative is Schema based code generation.

Analysis

The primary source for the code generation is likely to be one of the options shown below:

  1. MIF - the code generator has to be aware of the structure of the MIF
  2. UML (derived from the MIF) - the code generator has to know UML, including a few extensions that are v3 specific

UML

Anyone concerned that we cannot represent HL7 concepts in UML ignores the fact that UML can be extended using something called a "UML profile". When RIM.coremif is imported all the HL7-specific extensions are imported into stereotype properties. Nothing is lost. We are using two profiles:

  1. HDF profile based on the profile authored by Abdul Malik, if you recall, some time ago
  2. RIM profile that allows us to track clones to the RIM and to store the class/type and moodCode which would a look redundant to an audience outside HL7.

To install and use these profiles (along with the vocabulary and abstract datatypes) you need update Eclise-based UML 2 tool and install the HL7 plugin as specified in: RSM Quickstart.doc. IBM is providing free RSM licenses for those who need UML tools for HL7 standard development (DAM, DIM, etc.).

If you wish to learn more about the UML extensions and how they are represented as UML stereotypes, please take a look at: UML BOF Wiki.

The HL7 plugin will be maintained and improved by the Open Health Tools' Modeling Tools for Healthcare project.

We have imported RIM.coremif into UML and checked into SVN at: this directory (RIM.emx).

Discussion