Difference between revisions of "Tools for RIM based software development"
Rene spronk (talk | contribs) |
Rene spronk (talk | contribs) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[category:RIMBAA Issue]] | + | [[category:RIMBAA Issue]]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 [http://www.hl7.org/participate/toolsandresources.cfm 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. | 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. | ||
Line 9: | Line 11: | ||
#Offers support | #Offers support | ||
#*Up to date documentation | #*Up to date documentation | ||
+ | #*Availability of skilled resources and services | ||
#Continued development | #Continued development | ||
#*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) | ||
− | # | + | #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 | ||
+ | #*License should be unambiguous, clearly stated | ||
+ | #*For open products: use should not effectively require the purchase of non-open parts. No hidden "Widget-frosting", should be known ahead of time. | ||
#*Note: RIMBAA doesn't insist on an 'open' license, HL7 probably does. | #*Note: RIMBAA doesn't insist on an 'open' license, HL7 probably does. | ||
− | == | + | ==Tool Categories== |
Implementation tools that [[RIMBAA]] has identified include the ones below, sorted by the type of audience/task they support: | 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: | + | '''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) | *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 | **XML-Oriented: MIF based schema (e.g. v3Generator) and schematron generator | ||
*MIF to model transformations (e.g. UML); | *MIF to model transformations (e.g. UML); | ||
Line 32: | Line 39: | ||
**Subtype: ORM layer to abstract the data types (e.g. an enhanced Hibernate) | **Subtype: ORM layer to abstract the data types (e.g. an enhanced Hibernate) | ||
− | Tools that support software developers: | + | '''Tools that support software developers:''' |
*Set of testcases/examples, to test ones code. Or test framework such as IHE Gazelle. | *Set of testcases/examples, to test ones code. Or test framework such as IHE Gazelle. | ||
*Model Based Testing tools (e.g. Instance Editor, MDHT) | *Model Based Testing tools (e.g. Instance Editor, MDHT) | ||
*Code Documentation Generators | *Code Documentation Generators | ||
+ | *An example of a software implementation | ||
*(Not a tool: MIF documentation, currently lacking) | *(Not a tool: MIF documentation, currently lacking) | ||
+ | *MIF visualization tool, show condensed view | ||
− | Tools that are used by analysts/providers: | + | '''Tools that are used by analysts/providers:''' |
*Model (static/dynamic/UIs/..) Driven application generation tools (e.g. PHI Technology) | *Model (static/dynamic/UIs/..) Driven application generation tools (e.g. PHI Technology) | ||
*Model Driven documentation generators (e.g. PHI technology) | *Model Driven documentation generators (e.g. PHI technology) | ||
*MIF based UI designers | *MIF based UI designers | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 19:16, 16 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:
- 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 (at least 1, or x, sites)
- Open Architecture / reusability
- Developed for re-use as a component in a different "stack", not be tied into one particular solution stack
- No prohibitive licensing small-print
- License should be unambiguous, clearly stated
- For open products: use should not effectively require the purchase of non-open parts. No hidden "Widget-frosting", should be known ahead of time.
- Note: RIMBAA doesn't insist on an 'open' license, HL7 probably does.
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