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

Difference between revisions of "Harmonization: add QuerySpec.responseTemplateId attribute"

From HL7Wiki
Jump to navigation Jump to search
Line 1: Line 1:
{{INM Workitem}}
 
 
Editing of harmonization 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.
 
Editing of harmonization 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.
  
Line 10: Line 9:
 
|| Approval date by committee: See [[Nature of ParameterItem]] .
 
|| Approval date by committee: See [[Nature of ParameterItem]] .
 
|-
 
|-
|| Revision (# and date): 20061010
+
|| Revision (# and date): 20061206
 
|| Date submitted:
 
|| Date submitted:
 
|-
 
|-
Line 35: Line 34:
  
 
== Issue ==
 
== Issue ==
INM has accepted a motion to state that "The ParameterItem class cannot be used to constrain scope by columns". This proposal seeks to introduce a new query class to convey information related to the selection of columns.
+
INM has accepted a motion to state that "The ParameterItem class cannot be used to constrain scope by columns". " (i.e. constrain the scope of the model in a query response interaction). To use an analogy: if a v3 query by parameter query is expressed as a "SELECT x,y FROM <server database> WHERE a=1 AND b=2", then the use of ParameterItem is limited to a and b.  
  
To use an analogy: if a v3 query by parameter query is expressed as a "SELECT x,y FROM <server database> WHERE a=1 AND b=2", then the use of ParamaterItem is limited to a and b. We need to introduce a new class for x and y ("the columns").
+
We need to introduce a new way to identify x and y ("the columns"). This proposal introduces a way to convey information related to the desired scoe of the response model (“the selection of columns”).  
  
 
== Recommendation(s) ==
 
== Recommendation(s) ==
  
 +
*Add a new responseTemplateId attribute to the existing QuerySpec RIM class, with the following description:
 +
** responseTemplateId:: SET<II> (0..*), with the definition:”The identification of a set of template-defined constraints the response SHOULD comply to. The value of this attribute provides a unique identifier for the templates in question.” Note: SHOULD, not SHALL. Compliance with the requested constraint in scope is considered to be optional in the UV standard, implementation guides (the Query Profile as published by a query server) could specify the realm- or implementation specific use of this attribute.
 +
Given the defrinition of QuerySpec (This class contains the specification of all HL7 Version 3 queries. Attributes common to all queries appear in this class specification.) it seems to be the correct place for this type of attribute. In a sense the new attribute is akin the (now deprecated, see harmonization proposal xxxx) QuerySpec.responseElementGroupId attribute. That attribute contained identifiers of Message Types, the proposed attribute contains Template IDs.
 +
 +
 +
'''Alternative solutions (considered, but not proposed):'''
 +
* Add a new “blue class” called “ScopeControl” to convey the responseTemplateIds. Associate the new class with the QueryByParameter class (0..1 for each QueryByParameter class).
 +
*instead of adding a responseTemplateId attribute (SET<II>), a scopeTypeCode attribute could be used, CWE CV.
 +
*somhow combine the functionality of the existing SortControl class with the functionality as required by the new use-case. Both identify requested behaviour of the query server application.
  
 
=== RIM Recommendation(s) ===
 
=== RIM Recommendation(s) ===
 +
*Add the new attribute to the QuerySpec class as described above.
  
 +
This proposal is known to have an impact on normative queries that are using ParameterItem to constrain the scope of the response model. Adoption of this proposal would mean that those query interactions have to be corrected.
  
 
=== Vocabulary Recommendation(s) ===
 
=== Vocabulary Recommendation(s) ===
 +
*None.
  
 
== Rationale ==
 
== Rationale ==
''Any additional information needed to understand, evaluate or implement the recommendation, such as model fragments or other context that demonstrates use of the requested change.  Include implications.''
+
The [[Receiver Responsibilities]] of an interaction indicate the response interaction and also the Message Type (the static model) contained in that response interaction. The static model (the scope thereof) contained in a response is uniquely determined by the initial interaction.  
  
*See the "[[Nature of ParameterItem]]" HL7 Wiki page for details of the discussion around the use of ParameterItem.
+
During the May2006 ballot cycle an issue related to the correct usage of the ParameterItem RIM class came up as part of the ballot reconciliation of a couple of committees. Can one use a ParameterItem to define a query that specifies the scope of the response? Example: a committee has defined a query with a 0..* ParameterItem class to identify the classes they’d like to see returned in the response model. This effectively allows a sender to indicate a subset of the response model to be returned.
 +
INM has adopted a motion not to allow the ParameterItem class to be used for this purpose, as it causes a conflict with the basic principle that the response model is uniquely determined by the response interaction.
 +
The requirement to return  a subset of an existing Message Type could be met by defining a new Message Type, and a new interaction that contains the new message type. In recognition of the use-case INM adopted a motion to support it by “introduc[ing] a new blue class, and for the receiver to make the best effort to comply with its values”.  (Note that ultimately a new attribute is proposed in the harmonization proposal instead of a new class). Compliance with the requested constraint in scope is considered to be optional in the UV standard, implementation guides could specify the realm- or implementation specific use of this class.
 +
 
 +
*See the "[[Nature of ParameterItem]]" HL7 Wiki page for details of the discussion within the INM committee about the use of ParameterItem.
  
 
== Recommended Action Items ==
 
== Recommended Action Items ==
Line 62: Line 77:
  
  
''NOTE: This template puts this proposal in the [[:Category:Harmonization Proposal|
 
"Harmonization Proposal"]] Wiki Category. Once the proposal has been discussed and the resolution has been aded, please update the Category statement to put the proposal in the [[:Category:Discussed Harmonization Proposal|
 
"Discussed Harmonization Proposal"]]. The "Harmonization Proposal" Wiki Category is for OPEN non-discussed proposals only.''
 
  
 
[[Category:Harmonization Proposal]]
 
[[Category:Harmonization Proposal]]
 +
{{INM Workitem}}

Revision as of 08:13, 6 December 2006

Editing of harmonization 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:
Sponsored by: INM Approval date by committee: See Nature of ParameterItem .
Revision (# and date): 20061206 Date submitted:
Editor/Author: Rene Spronk  
PROPOSALNAME: create new Scope related parameter class  

Stewards Position

TC RECOMMENDATION APPROVAL STATUS AFFECTED ENTITIES OF INTEREST TO TC
(responsibility level: S=Steward; I=Interested)
INM Reviewed S

Issue

INM has accepted a motion to state that "The ParameterItem class cannot be used to constrain scope by columns". " (i.e. constrain the scope of the model in a query response interaction). To use an analogy: if a v3 query by parameter query is expressed as a "SELECT x,y FROM <server database> WHERE a=1 AND b=2", then the use of ParameterItem is limited to a and b.

We need to introduce a new way to identify x and y ("the columns"). This proposal introduces a way to convey information related to the desired scoe of the response model (“the selection of columns”).

Recommendation(s)

  • Add a new responseTemplateId attribute to the existing QuerySpec RIM class, with the following description:
    • responseTemplateId:: SET<II> (0..*), with the definition:”The identification of a set of template-defined constraints the response SHOULD comply to. The value of this attribute provides a unique identifier for the templates in question.” Note: SHOULD, not SHALL. Compliance with the requested constraint in scope is considered to be optional in the UV standard, implementation guides (the Query Profile as published by a query server) could specify the realm- or implementation specific use of this attribute.

Given the defrinition of QuerySpec (This class contains the specification of all HL7 Version 3 queries. Attributes common to all queries appear in this class specification.) it seems to be the correct place for this type of attribute. In a sense the new attribute is akin the (now deprecated, see harmonization proposal xxxx) QuerySpec.responseElementGroupId attribute. That attribute contained identifiers of Message Types, the proposed attribute contains Template IDs.


Alternative solutions (considered, but not proposed):

  • Add a new “blue class” called “ScopeControl” to convey the responseTemplateIds. Associate the new class with the QueryByParameter class (0..1 for each QueryByParameter class).
  • instead of adding a responseTemplateId attribute (SET<II>), a scopeTypeCode attribute could be used, CWE CV.
  • somhow combine the functionality of the existing SortControl class with the functionality as required by the new use-case. Both identify requested behaviour of the query server application.

RIM Recommendation(s)

  • Add the new attribute to the QuerySpec class as described above.

This proposal is known to have an impact on normative queries that are using ParameterItem to constrain the scope of the response model. Adoption of this proposal would mean that those query interactions have to be corrected.

Vocabulary Recommendation(s)

  • None.

Rationale

The Receiver Responsibilities of an interaction indicate the response interaction and also the Message Type (the static model) contained in that response interaction. The static model (the scope thereof) contained in a response is uniquely determined by the initial interaction.

During the May2006 ballot cycle an issue related to the correct usage of the ParameterItem RIM class came up as part of the ballot reconciliation of a couple of committees. Can one use a ParameterItem to define a query that specifies the scope of the response? Example: a committee has defined a query with a 0..* ParameterItem class to identify the classes they’d like to see returned in the response model. This effectively allows a sender to indicate a subset of the response model to be returned. INM has adopted a motion not to allow the ParameterItem class to be used for this purpose, as it causes a conflict with the basic principle that the response model is uniquely determined by the response interaction. The requirement to return a subset of an existing Message Type could be met by defining a new Message Type, and a new interaction that contains the new message type. In recognition of the use-case INM adopted a motion to support it by “introduc[ing] a new blue class, and for the receiver to make the best effort to comply with its values”. (Note that ultimately a new attribute is proposed in the harmonization proposal instead of a new class). Compliance with the requested constraint in scope is considered to be optional in the UV standard, implementation guides could specify the realm- or implementation specific use of this class.

  • See the "Nature of ParameterItem" HL7 Wiki page for details of the discussion within the INM committee about the use of ParameterItem.

Recommended Action Items

  • Implement the proposed solution


Discussion

Resolution