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
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
This summary of "best practices" in creating annotations for RIM, Vocabulary and other content is drawn from recommendations of the HL7 Technical Editing Project.  These style rules have used to revise all annotations in the HL7 Reference Information Model.  
+
[[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.  
  
 
{| border="0" cellspacing="0" cellpadding="3"
 
{| border="0" cellspacing="0" cellpadding="3"
  
 
|-
 
|-
| align="center" colspan="4" style="background-color: #99CC99" | '''HL7 Technical Editing Project - Annotation Style Guide'''
+
| align="center" colspan="4" style="background-color: #AAAAFF" | '''HL7 Technical Editing Project - Annotation Style Guide'''
 
|-
 
|-
| align="center" style="background-color: #CCFF99" | Annotation Type
+
| align="center" style="background-color: #CCCCFF" |'''Annotation Type'''
| align="center" style="background-color: #CCFF99" | Description
+
| align="center" style="background-color: #CCCCFF" |'''Definition'''
| align="center" style="background-color: #CCFF99" | Used By
+
| align="center" style="background-color: #CCCCFF" |'''Used By'''
| align="center" style="background-color: #CCFF99" | Criteria
+
| align="center" style="background-color: #CCCCFF" |'''Criteria'''
  
 
|-
 
|-
| valign="top" |'''Definition'''
+
| 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" |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" |Internal, Designer, Consumer, Implementer, Academic
Line 18: Line 19:
  
 
|-
 
|-
| valign="top" style="background-color: #E7E7FF"|'''TypeName'''
+
| valign="middle" style="background-color: #E7E7FF"|'''Example'''
| valign="top"  style="background-color: #E7E7FF"|Description
+
| 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"|Users
+
| valign="top"  style="background-color: #E7E7FF"|Internal, Designer, Consumer, Implementer, Academic
| valign="top"  style="background-color: #E7E7FF"|Rules of structure
+
| 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="top"|'''TypeName'''
+
| valign="middle"|'''UsageNotes'''
| valign="top"|Description
+
| 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"|Users
+
| valign="top"|Internal, Designer, Academic
| valign="top"|Rules of structure
+
| 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="top" style="background-color: #E7E7FF"|'''TypeName'''
+
| valign="middle" style="background-color: #E7E7FF"|'''Rationale'''
| valign="top"  style="background-color: #E7E7FF"|Description
+
| 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"|Users
+
| valign="top"  style="background-color: #E7E7FF"|Internal, Designer, Academic
| valign="top"  style="background-color: #E7E7FF"|Rules of structure
+
| 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 rationale.  Explanations of how the feature is to be used SHALL NOT be included here: they are Usage Notes.
  
 
|-
 
|-
| valign="top"|'''TypeName'''
+
| valign="middle"|'''Requirements'''
| valign="top"|Description
+
| 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"|Users
+
| valign="top"|Internal, Designer, Academic
| valign="top"|Rules of structure
+
| valign="top"|
  
 
|-
 
|-
| valign="top" style="background-color: #E7E7FF"|'''TypeName'''
+
| valign="middle" style="background-color: #E7E7FF"|'''Constraint'''
| valign="top"  style="background-color: #E7E7FF"|Description
+
| 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"|Users
+
| valign="top"  style="background-color: #E7E7FF"|Internal, Designer, Consumer, Implementer, Academic
| valign="top"  style="background-color: #E7E7FF"|Rules of structure
+
| 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="top"|'''TypeName'''
+
| valign="middle"|'''OpenIssue'''
| valign="top"|Description
+
| valign="top"|Notes to designers, balloters and implementers about outstanding concerns that remain to be resolved.
| valign="top"|Users
+
| valign="top"|Internal, Designer, Academic
| valign="top"|Rules of structure
+
| 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="top" style="background-color: #E7E7FF"|'''TypeName'''
+
| valign="middle" style="background-color: #E7E7FF"|'''DesignComments'''
| valign="top"  style="background-color: #E7E7FF"|Description
+
| 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"|Users
+
| valign="top"  style="background-color: #E7E7FF"|Internal
| valign="top"  style="background-color: #E7E7FF"|Rules of structure
+
| valign="top"  style="background-color: #E7E7FF"|
  
 
|-
 
|-
| valign="top"|'''TypeName'''
+
| valign="middle"|'''DeprecationInfo'''
| valign="top"|Description
+
| 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"|Users
+
| valign="top"|Internal, Designer, Consumer, Implementer, Academic
| valign="top"|Rules of structure
+
| valign="top"|For deprecated features only
  
 
|-
 
|-
| valign="top" style="background-color: #E7E7FF"|'''TypeName'''
+
| valign="middle" style="background-color: #E7E7FF"|
| valign="top" style="background-color: #E7E7FF"|Description
+
| valign="top" style="background-color: #E7E7FF"|
| valign="top" style="background-color: #E7E7FF"|Users
+
| valign="top" style="background-color: #E7E7FF"|
| valign="top" style="background-color: #E7E7FF"|Rules of structure
+
| valign="top" style="background-color: #E7E7FF"|
  
 
|-
 
|-
| valign="top"|'''TypeName'''
+
| valign="middle"|
| valign="top"|Description
+
| valign="top"|
| valign="top"|Users
+
| valign="top"|
| valign="top"|Rules of structure
+
| 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