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

Difference between revisions of "Negation Principles"

From HL7Wiki
Jump to navigation Jump to search
Line 8: Line 8:
 
## When addressing design examples, be sure to address the clinical requirement independently of the implementation syntax.
 
## When addressing design examples, be sure to address the clinical requirement independently of the implementation syntax.
 
# Avoid double negatives.
 
# Avoid double negatives.
## Where double negation is unavoidable, its interpretation should be specified explicitly.
+
## Where double negation is unavoidable, its meaning should be specified clearly and explicitly.
 
## Where double negation is unavoidable, the approach should be "idempotent": any number of negations is equivalent to one negation. A subsequent negative does not nullify a prior one.
 
## Where double negation is unavoidable, the approach should be "idempotent": any number of negations is equivalent to one negation. A subsequent negative does not nullify a prior one.
 
# Avoid excessive abstraction.
 
# Avoid excessive abstraction.
 
## Test solutions to ensure that abstraction does not result in ambiguity. Supporting explicit requirements is a good way to do this.
 
## Test solutions to ensure that abstraction does not result in ambiguity. Supporting explicit requirements is a good way to do this.
 +
## The use of Boolean data types in information modeling is almost always excessively abstract and should be avoided.
 +
### When it is not avoidable (e.g., in V3 patterns), its meaning should be specified clearly and explicitly.
 
# Support requirements with minimal transformation.
 
# Support requirements with minimal transformation.
 
## Transformation introduces risk and cost, and should be avoided, all else being equal.
 
## Transformation introduces risk and cost, and should be avoided, all else being equal.

Revision as of 15:01, 7 June 2016

Return to Negation_Requirements

  1. Absence of evidence is not evidence of absence.
    1. Impact: no requirement is needed to deal with inferred negation because negation cannot be inferred.
    2. CQMs may present an exception, where further information cannot be determined and there is financial impact but no safety risk. There is an incentive to record (justifiable) negations, but no clinical requirement.
  2. Use requirements from real use cases, not inferred cases designed to illustrate potential design issues.
  3. Separate requirements & design models.
    1. When addressing design examples, be sure to address the clinical requirement independently of the implementation syntax.
  4. Avoid double negatives.
    1. Where double negation is unavoidable, its meaning should be specified clearly and explicitly.
    2. Where double negation is unavoidable, the approach should be "idempotent": any number of negations is equivalent to one negation. A subsequent negative does not nullify a prior one.
  5. Avoid excessive abstraction.
    1. Test solutions to ensure that abstraction does not result in ambiguity. Supporting explicit requirements is a good way to do this.
    2. The use of Boolean data types in information modeling is almost always excessively abstract and should be avoided.
      1. When it is not avoidable (e.g., in V3 patterns), its meaning should be specified clearly and explicitly.
  6. Support requirements with minimal transformation.
    1. Transformation introduces risk and cost, and should be avoided, all else being equal.
  7. Negation should be handled as consistently as possible without violating semantics of the respective requirements.
    1. Following Einstein's rule: Make everything as simple as possible, and no simpler.
  8. Support automated use of semantics to extent possible.
    1. Viz., use semantic codes rather than text where feasible.