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

Difference between revisions of "Annotations Best Practices"

From HL7Wiki
Jump to navigation Jump to search
(New page: This is a place-holder until such time as the Vocabulary committee provides a formal set of recommendations * Definitions should be expressed in one sentence, two at most * Definitions sh...)
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is a place-holder until such time as the Vocabulary committee provides a formal set of recommendations
+
[[Category:BestPractices]][[Category:StyleGuides]]
 +
This summary of "best practices" in creating annotations for RIM, Vocabulary and other content is drawn from recommendations of the HL7 Technical Editing Project made to M&M in May, 2008.  These style rules have been used to revise all annotations in the HL7 Reference Information Model.
  
* Definitions should be expressed in one sentence, two at most
+
{| border="0" cellspacing="0" cellpadding="3"
* Definitions should focus on what something is, not what it is not(Usage notes may provide clarification by identifying exclusions and relationships to other concepts)
+
 
* Definitions should not be tautological (i.e. do not use a term to define itself)
+
|-
* Definitions should be full sentences
+
| align="center" colspan="4" style="background-color: #AAAAFF" | '''HL7 Technical Editing Project - Annotation Style Guide'''
 +
|-
 +
| align="center" style="background-color: #CCCCFF" |'''Annotation Type'''
 +
| align="center" style="background-color: #CCCCFF" |'''Definition'''
 +
| align="center" style="background-color: #CCCCFF" |'''Used By'''
 +
| align="center" style="background-color: #CCCCFF" |'''Criteria'''
 +
 
 +
|-
 +
| valign="middle" |'''Definition'''
 +
| valign="top" |An explanation of the meaning of the element.  Intended to explain the semantics of the element.  Should be sufficient to differentiate the semantics of the element from other sibling elements.
 +
| valign="top" |Internal, Designer, Consumer, Implementer, Academic
 +
| valign="top" |A definition is a noun phrase.  It SHALL NOT include examples or explanations of usage.  It MAY include clarifying sentences.  A definition addresses the semantic space of the feature: it SHALL NOT constrain data types (e.g., "a code indicating . . .").
 +
 
 +
|-
 +
| valign="middle" style="background-color: #E7E7FF"|'''Example'''
 +
| valign="top"  style="background-color: #E7E7FF"|A free-text example of content that might be used in or for the element.  Used to help better understand the usage and scope of the element.
 +
| valign="top"  style="background-color: #E7E7FF"|Internal, Designer, Consumer, Implementer, Academic
 +
| valign="top"  style="background-color: #E7E7FF"|Examples SHALL include three separate values that illustrate the semantic domain.  Scenarios MAY help put the examples in context, but the scenario without the value is a usage note, not an example.
 +
 
 +
|-
 +
| valign="middle"|'''UsageNotes'''
 +
| valign="top"|Advice to designers and/or implementers on how to make use of an element and/or how '''not''' to make use of an element.
 +
| valign="top"|Internal, Designer, Academic
 +
| valign="top"|Usage Notes illustrate how a reader might implement a feature.  They SHALL NOT repeat vocabulary specifications: repetition introduces maintenance and synchronization issues. They are prospective: they SHALL NOT repeat rationale.
 +
|-
 +
| align="right"|''Comment:''
 +
| valign="top" colspan="3" |''Vocabulary is sometimes critical to explanation of usage, but it should be presented as exemplary, not as a full specification.''
 +
 
 +
|-
 +
| valign="middle" style="background-color: #E7E7FF"|'''Rationale'''
 +
| valign="top"  style="background-color: #E7E7FF"|An explanation of why the element is necessary or potentially useful within this context.  May also explain why the element is expressed and constrained in the way it is.
 +
| valign="top"  style="background-color: #E7E7FF"|Internal, Designer, Academic
 +
| valign="top"  style="background-color: #E7E7FF"|Rationale explains why a particular feature is designed the way it is.  It is retrospective: it SHOULD NOT be necessary for an implementer to understand a rationaleExplanations of how the feature is to be used SHALL NOT be included here: they are Usage Notes.
 +
 
 +
|-
 +
| valign="middle"|'''Requirements'''
 +
| valign="top"|Documents the requirements that drove the specification of the artifact.  May include references to other standards or literature describing the appropriate data elements and constraints.
 +
| valign="top"|Internal, Designer, Academic
 +
| valign="top"|
 +
 
 +
|-
 +
| valign="middle" style="background-color: #E7E7FF"|'''Constraint'''
 +
| valign="top"  style="background-color: #E7E7FF"|A formal, testable limitation on the use, representation or value associated with the current element.
 +
| valign="top"  style="background-color: #E7E7FF"|Internal, Designer, Consumer, Implementer, Academic
 +
| valign="top"  style="background-color: #E7E7FF"|Constraints document objective constraints that can be modeled in OCL.  They SHALL NOT repeat information that can be inferred from attributes (e.g., “mandatory,” “CNE”).  Semantic constraints that cannot be formalized SHALL be documented in usage notes.
 +
|-
 +
| align="right" style="background-color: #E7E7FF"|''Comment:''
 +
| valign="top" colspan="3" style="background-color: #E7E7FF" |''If non-formalizable constraints are not allowed, and normative content excludes usage notes, then those constraints won’t be normative.  Recommendation: allow non-formalizable constraints here''
 +
 
 +
|-
 +
| valign="middle"|'''OpenIssue'''
 +
| valign="top"|Notes to designers, balloters and implementers about outstanding concerns that remain to be resolved.
 +
| valign="top"|Internal, Designer, Academic
 +
| valign="top"|
 +
|-
 +
| align="right"|''Comment:''
 +
| valign="top" colspan="3"|''Open issues might identify to issues identified for committee or Harmonization review, or they may identify standing issues for publication. These may or may not be a single category.''
 +
 
 +
|-
 +
| valign="middle" style="background-color: #E7E7FF"|'''DesignComments'''
 +
| valign="top"  style="background-color: #E7E7FF"|Internal development notes about why particular design decisions were made, outstanding issues and remaining work.  Not intended for external publication.
 +
| valign="top"  style="background-color: #E7E7FF"|Internal
 +
| valign="top"  style="background-color: #E7E7FF"|
 +
 
 +
|-
 +
| valign="middle"|'''DeprecationInfo'''
 +
| valign="top"|Information relating to the deprecation of the element, including instructions on why the element is no longer required and/or how the same information should now be handled.
 +
| valign="top"|Internal, Designer, Consumer, Implementer, Academic
 +
| valign="top"|For deprecated features only
 +
 
 +
|-
 +
| valign="middle" style="background-color: #E7E7FF"|
 +
| valign="top" style="background-color: #E7E7FF"|
 +
| valign="top" style="background-color: #E7E7FF"|
 +
| valign="top" style="background-color: #E7E7FF"|
 +
 
 +
|-
 +
| valign="middle"|
 +
| valign="top"|
 +
| valign="top"|
 +
| valign="top"|
 +
 
 +
|}

Latest revision as of 15:26, 9 June 2010

This summary of "best practices" in creating annotations for RIM, Vocabulary and other content is drawn from recommendations of the HL7 Technical Editing Project made to M&M in May, 2008. These style rules have been used to revise all annotations in the HL7 Reference Information Model.

HL7 Technical Editing Project - Annotation Style Guide
Annotation Type Definition Used By Criteria
Definition An explanation of the meaning of the element. Intended to explain the semantics of the element. Should be sufficient to differentiate the semantics of the element from other sibling elements. Internal, Designer, Consumer, Implementer, Academic A definition is a noun phrase. It SHALL NOT include examples or explanations of usage. It MAY include clarifying sentences. A definition addresses the semantic space of the feature: it SHALL NOT constrain data types (e.g., "a code indicating . . .").
Example A free-text example of content that might be used in or for the element. Used to help better understand the usage and scope of the element. Internal, Designer, Consumer, Implementer, Academic Examples SHALL include three separate values that illustrate the semantic domain. Scenarios MAY help put the examples in context, but the scenario without the value is a usage note, not an example.
UsageNotes Advice to designers and/or implementers on how to make use of an element and/or how not to make use of an element. Internal, Designer, Academic Usage Notes illustrate how a reader might implement a feature. They SHALL NOT repeat vocabulary specifications: repetition introduces maintenance and synchronization issues. They are prospective: they SHALL NOT repeat rationale.
Comment: Vocabulary is sometimes critical to explanation of usage, but it should be presented as exemplary, not as a full specification.
Rationale An explanation of why the element is necessary or potentially useful within this context. May also explain why the element is expressed and constrained in the way it is. Internal, Designer, Academic Rationale explains why a particular feature is designed the way it is. It is retrospective: it SHOULD NOT be necessary for an implementer to understand a rationale. Explanations of how the feature is to be used SHALL NOT be included here: they are Usage Notes.
Requirements Documents the requirements that drove the specification of the artifact. May include references to other standards or literature describing the appropriate data elements and constraints. Internal, Designer, Academic
Constraint A formal, testable limitation on the use, representation or value associated with the current element. Internal, Designer, Consumer, Implementer, Academic Constraints document objective constraints that can be modeled in OCL. They SHALL NOT repeat information that can be inferred from attributes (e.g., “mandatory,” “CNE”). Semantic constraints that cannot be formalized SHALL be documented in usage notes.
Comment: If non-formalizable constraints are not allowed, and normative content excludes usage notes, then those constraints won’t be normative. Recommendation: allow non-formalizable constraints here
OpenIssue Notes to designers, balloters and implementers about outstanding concerns that remain to be resolved. Internal, Designer, Academic
Comment: Open issues might identify to issues identified for committee or Harmonization review, or they may identify standing issues for publication. These may or may not be a single category.
DesignComments Internal development notes about why particular design decisions were made, outstanding issues and remaining work. Not intended for external publication. Internal
DeprecationInfo Information relating to the deprecation of the element, including instructions on why the element is no longer required and/or how the same information should now be handled. Internal, Designer, Consumer, Implementer, Academic For deprecated features only