Difference between revisions of "Tools for RIM based software development"
Rene spronk (talk | contribs) |
Rene spronk (talk | contribs) |
||
Line 9: | Line 9: | ||
==Tool Selection Criteria== | ==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: | 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: | ||
− | #Offers support | + | |
− | + | {| border="1" cellpadding="2" cellspacing="0" | |
− | + | |- | |
− | + | !width=”25%” bgcolor="#aaaaff" align=center|Criterium | |
− | + | !width="75%" bgcolor="#aaaaff" align=center|Description | |
− | + | |- | |
− | + | |Offers support||Up to date documentation, Availability of skilled resources and services | |
− | + | |- | |
− | + | |Continued development||Follow developments within HL7 (with a reasonable time lag) | |
− | + | |- | |
− | + | |Proven usage||Used at least 1, or x, sites | |
− | + | |- | |
+ | |Reusability||open architecture, developed for re-use as a component in a different "stack", not be tied into one particular solution stack | ||
+ | |- | ||
+ | |Unambiguous license||No prohibitive licensing small-print, For open products: use should not effectively require the purchase of non-open parts. No hidden "Widget-frosting", should be known ahead of time. | ||
+ | |- | ||
+ | |Cost||Low cost preferred over high cost | ||
+ | |- | ||
+ | |} | ||
==Tool Categories== | ==Tool Categories== |
Revision as of 17:50, 17 January 2012
Tools for RIM based software development are software toolkits that can be used by software developers to support/implement HL7's RIM-based standards.
Notes:
- 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 term "implementation" is commonly/historically used in HL7 to identify "the process of creating implementation guides", whereas software developers would understand "implementation" to mean "software implementation / software development". For that reason this page avoids the term altogether.
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:
Criterium | Description |
---|---|
Offers support | Up to date documentation, Availability of skilled resources and services |
Continued development | Follow developments within HL7 (with a reasonable time lag) |
Proven usage | Used at least 1, or x, sites |
Reusability | open architecture, developed for re-use as a component in a different "stack", not be tied into one particular solution stack |
Unambiguous license | No prohibitive licensing small-print, For open products: use should not effectively require the purchase of non-open parts. No hidden "Widget-frosting", should be known ahead of time. |
Cost | Low cost preferred over high cost |
Tool Categories
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 consumption, API to use MIF, MIF parser
- MIF based class/code generators (e.g. MDHT, Everest, JavaSIG)
- Includes serialization (which is independent of ITS)
- 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
- An example of a software implementation
- (Not a tool: MIF documentation, currently lacking)
- MIF visualization tool, show condensed view
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