Harmonization: turn ParameterItem.semanticsText into a mandatory attribute
Editing of harmonisation proposals prior to a harmonization meeting is restricted to the proposal submitter and the co-chairs of the steward comittee. Other changes will be undone. Please add comments to the "discussion" page associated with this proposal.
Recommendation for HL7 RIM Change | RECOMMENDATION ID: |
Submitted by: INM | Revision (# and date): 20060416 |
Date submitted: | Committee status: neither Discussed nor Approved |
Submitted by: Rene Spronk | |
NAME: turn ParameterItem.semanticsText into a mandatory attribute |
Contents
Stewards Position
REQUIRED - This table should contain one row for each Steward Committee affected by the recommendation.
TC | RECOMMENDATION APPROVAL STATUS | AFFECTED ENTITIES OF INTEREST TO TC (responsibility level: S=Steward; I=Interested) |
INM | Under review | S |
Issue
The parameterItem RIM class is defined to be a key/value pair. The v3 design principle states that when it comes to the interpretation of RIM-derived models one should be able to derive the full semantics of the model without having to look at the names of cloned classes.
- Queries as defined by committees quite often contain parameterItem clones without a semanticsText attribute. This way a value is conveyed without an underlying key.
Recommendation(s)
- Change parameterItem.semanticsText into a mandatory attribute.
- Enforce with the aid of tooling (upon model validation) that a fixed value is assigned to this attribute.
Backwards compatibility: there are no backwards compatibility issues. Those able to process the old (erroneous) queries [there are some that have already gone normative] will certainly be able to process the new queries (with semanticsText).
Rationale
All paremeterItem derived classes have to have the semanticsText attribute with a predefined (default) value. The only circumstance where a parameterItem-clone would not have to have semanticsText is a query that has only 1 parameterItem.
The RIM states that parameterItem is a name-value pair. SemanticsText contains the "name" part of the name-value pair. See the "Link between parameterItem and RIM attributes" section of the Query Parameters Wiki page for a discussion on how to define the semantics associated with a parameter.
Note that although widely used by implementers of XML v3 Interactions, the name of the class-clone does not carry any semantic meaning and therefore can't be used (in abstract models, like R-MIMs) to distinguish between one parameterItem clone and another one. Using the className is XML ITS specific.
Recommended Action Items
- Implement the proposed solution