Lloyd-Short-term-tasks

advertisement
Short term tasks
MIF freezing
1. Figure out which part(s) of the MIF we can reasonably declare stable. Some parts such
as templates are just placeholders and cannot be considered stable at this point. Other
parts, such as the dynamic model, are still subject to intensive debate, and would be risky
to consider 'stable'.
My recommendation: The list of 'stable' portions should be: Static models (flat and
serialized), datatypes and (if possible) vocabulary. This will include the 'common'
portions such as header information, annotations, markup, history and derivation.
2. Perform intensive review of those portions designated "ready for stabilization", perform
alignment with UML, and declare them final
Target date for freezing: June 30
Maintenance process
1. We need to define the process under which changes to 'frozen' portions of the MIF will
be accepted. The objective of the review process is to ensure no changes for at least the
next 18 months. However, a long term process for maintenance and approval of changes
needs to exist
My recommendation: The process should include a means of proposing changes and an
approval process. The approval process should include input by MnM,
Publications, Implementors and Tool-smiths. Each change should be
accompanied by a list of impacts, and a plan and timeline for rolling out the
change.
Target for initial process approval: June 30
Short-term MIF
1. With those parts of the MIF that have been designated as "stable", construct a "MIF
subset" that represents the capabilities of existing tooling and repositories.
2. Document what changes will need to be made to existing tools and repositories to support
this 'initial' subset. (It is likely that some elements that are 'required' by the MIF or which
are represented or handled differently will need to be added to the tools.)
3. Modify tools to be able to import and export MIF functionality
Target for tool development: August 30
Tooling Requirements and Architecture
1. Document the 'capabilities' that HL7 users will need to have in the short to intermediate
term.
My recommendation: Things I'd like to see included:

Support for full MIF within existing tools, including publications

Ability to generate a Visio diagram from MIF information

Ability to view a 'parent' model along side it's children to see derivation
restrictions

Ability to view a 'new' model along side it's original to view changes

Ability to display a MIF document
2. Determine the tooling environment(s) to be supported
3. Define an approach for an object model that can be shared amongst multiple tools,
preferably across all environments
My recommendation:

If possible, a model that works in both Java and COM.
4. Define the set of 'component' behaviors that would be useful to have.
My recommendation:

Sharable internal capabilities
i. Basic object model operations (construct, add items, remove items, update
items)
ii. Import model from MIF XML into object model
iii. Export model from object model into MIF XML
iv. Import model from database repository into object model
v. Export model from object model into database repository
vi. Import model from ebXML repository into object model
vii. Export model from object model into ebXML repository
viii. Convert MIF XML to XMI
ix. Convert XMI to MIF (raising errors on non-MIF-compliant XMI)
x. Perform internal validation on a model. (Only looking at the data within
the model)
xi. Perform external validation of a model against a repository (checking
external references)
xii. Given a source and target model, fill in the 'derivation' information
indicating whether one is a proper restriction/extension/etc. of the other
xiii. Given a source and target model, identify the changes between the two
models.
xiv. Given a model and a set of changes, apply those changes to the model.
(Should be capable of ignoring changes that are not relevant to the model.)
This would be used to propagate model changes
xv. Transform a flat static object model representation to serial representation
and vice-versa

Sharable interface capabilities
i. Allow display of marked-up text (simple or complex)
ii. Allow editing of marked-up text (simple or complex)
iii. Allow display and navigation of vocabulary (for a specified domain)
iv. Allow display of annotations
v. Allow editing of annotations
5. Identify which existing and proposed applications would make use of which components
6. Prioritize component development
7. Develop detailed requirements for each component
8. Determine development language for each component
My recommendation: Java for internal components, VB for external components
Target for component prioritization and requirements: August 30
Download