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

Difference between revisions of "Tools for RIM based software development"

From HL7Wiki
Jump to navigation Jump to search
Line 12: Line 12:
 
#*Follow developments within HL7 (with a reasonable time lag)  
 
#*Follow developments within HL7 (with a reasonable time lag)  
 
#Proven usage (at least 1, or x, sites)  
 
#Proven usage (at least 1, or x, sites)  
#Openness
+
#Open Architecture / reusability
 
#*Developed for re-use as a component in a different "stack", not be tied into one particular solution stack  
 
#*Developed for re-use as a component in a different "stack", not be tied into one particular solution stack  
 
#No prohibitive licensing small-print  
 
#No prohibitive licensing small-print  

Revision as of 17:44, 16 January 2012

Implementation Tools are software toolkits that can be used by software developers to support/implement HL7's standards.

Note: most tools within HL7 cater to 'standards creators', i.e. tools that support the standards development process. See e.g. HL7 Tooling FAQs and HL7.org toolkit page.

The list below contains HL7-sponsored or HL7-developed tools, as well as open source, public domain, or commercial tools. By default all listed tools are open source and public domain. Commercial tools are (and: SHALL be) explicitely identified as such.

Tool Selection Criteria

If there are multiple options for a certain type of tool, the following list should aid HL7/RIMBAA in selecting/endorsing the most appropriate tool:

  1. Offers support
    • Up to date documentation
  2. Continued development
    • Follow developments within HL7 (with a reasonable time lag)
  3. Proven usage (at least 1, or x, sites)
  4. Open Architecture / reusability
    • Developed for re-use as a component in a different "stack", not be tied into one particular solution stack
  5. No prohibitive licensing small-print
    • Note: RIMBAA doesn't insist on an 'open' license, HL7 probably does.

HL7 version 3

Implementation tools that RIMBAA has identified include the ones below, sorted by the type of audience/task they support:

Tools that directly suport the software development process:

  • MIF based class/code generators (e.g. MDHT, Everest, JavaSIG)
    • XML-Oriented: MIF based schema (e.g. v3Generator) and schematron generator
  • MIF to model transformations (e.g. UML);
  • MIF based database schema generator (e.g. MGRIDcommercial?))
  • MIF based UI generators
  • ISO Datatypes library
  • CTS products (e.g. Apelon, LexGRID, Healthlanguagecommercial)
  • Mapping tools (e.g. Open Mapping Software)
  • RIM Based Persistence Layer (inclusive of OO-API, as a base platform for application development) (e.g. JavaSIG, MGRIDcommercial, Oracle HTBcommercial)
    • Subtype: ORM layer to abstract the data types (e.g. an enhanced Hibernate)

Tools that support software developers:

  • Set of testcases/examples, to test ones code. Or test framework such as IHE Gazelle.
  • Model Based Testing tools (e.g. Instance Editor, MDHT)
  • Code Documentation Generators
  • (Not a tool: MIF documentation, currently lacking)

Tools that are used by analysts/providers:

  • Model (static/dynamic/UIs/..) Driven application generation tools (e.g. PHI Technology)
  • Model Driven documentation generators (e.g. PHI technology)
  • MIF based UI designers

HL7 version 2

Implementation tools/toolkits:

  • HAPI, nHAPI

Tools that support implementation

  • Message Workbench (MWB)