RIMBAA: Marc-HI Everest

From HL7Wiki
Jump to navigation Jump to search


See Everest April 2011 Tech Newsletter for an architectural overview of the toolkit.

From the RIMBAA 201001 Minutes:

  • RIMBAA Product presentation: Duane Bender (Mohawk College) presents an overview of the EVEREST Toolkit which is based on collapsed MIF models. The overview focuses on RIMBAA aspects of the toolkit: the architecture of the tool, MIF collapsing, code generation, and the manipulation of collapsed RIM objects in-memory. See http://vimeo.com/8831424 for a video which contains a presentation by Duane of the core architecture of the toolset. See http://www.ringholm.de/persist/20100118_RIMBAA_MARC-HI_Everest_Framework.ppt for his presentation.
    • Framework for building a higher level API. also used directly by application programmers. Provides a rich class experience, no need to deal with XML.
    • The current version is .net based, working on a (port to) an Eclipse (Java) version. Open source released late 2009 as part of OHT.
    • CO-CS cells (no persistence), RMIM oriented product. MIF v2 generated code.
    • Build-in message conformance testing: Classes are conformance aware, when serialization is done it is an conformant instance.
    • Didn't tie to one specific ITS or Datatypes release. Supports both R1 as well as R2.
    • Build-in message conformance testing: Classes are conformance aware, when serialization is done it is an conformant instance.
      • No support for Templates yet. Nor of OCL.
    • Datatypes MIF not really sufficient, need to add custom code. hand written. Called helper functions in the Framework.
    • Working with HTB as a persistence platform. Persistence (in general) not within current shipped product.
    • Lesson learned: Preserve all information in MIF into the framework, including documentation.
    • Lesson learned: tried to only use business names, but had to switch back to pure RIM semantics. People couldn't understand the business names, no consistent use. Mixture of RIM terms and business names doesn't work. have to do either/or. Ann confirms that UK had similar experience.
    • Raised productivity 10-100x, by just having the Framework available

From the minutes

Mohawk HI-Everest, a generic MIF-based code generator for .net

  1. Rene presents http://www.ringholm.de/persist/20100118_RIMBAA_MARC-HI_Everest_Framework.ppt, and video: http://www.vimeo.com/8831424. This is a presentation originally made by Duane Bender during the HL7 WGM in Phoenix (January 2010).
  2. Ewout: at Nijmegen hospital we tried to use the tool with a MIF file for a universal artifact. It didn't work because of MIF-version issues. They did however look at the toolset and the quality of the generated code (using a MIF shipped with the toolset): quality of generated code looked very good; the tool is very well integrated into Visual Studio. The HL7 v3 data types library (which is part of the toolset) looks to be very useful even as a standalone library.
  3. In general the attendees lamented the fact that all tools seem to support slightly different versions of MIF, and that conversions and manual tweaks are a necessity to get them to work. Stability of MIFs, or at least a collection of working transformations are urgently needed, this is effectively a hurdle to tool use and adoption.

From a mail Tue 2010-10-12 23:40

To summarize the major features that are part of the Jan 2011 release of the Everest framework, they are:

  1. Experimental support for universal MIFs (tested with NE2008), still needs to be hardened
  2. Support for MIF 2.0, 2.1 and 2.1.3/2.1.4 (via MIF preprocessor)
  3. Optimization of RMIM classes via combining and collapsing (supported by C# renderer and formatters)
  4. Experimental support for rendering of collapsed/combined XSDs with XSLTs to/from the collapsed structures
  5. XML ITS1 Formatter is now multi-threaded to provide better performance on "first render"