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 18: Line 18:
 
# Negation should be handled as consistently as possible without violating semantics of the respective requirements.
 
# Negation should be handled as consistently as possible without violating semantics of the respective requirements.
 
## Following Einstein's rule: Make everything as simple as possible, and no simpler.
 
## Following Einstein's rule: Make everything as simple as possible, and no simpler.
 +
## The difficulty is in defining when things are similar.
 
# Support automated use of semantics to extent possible.
 
# Support automated use of semantics to extent possible.
 
## Viz., use semantic codes rather than text where feasible.
 
## Viz., use semantic codes rather than text where feasible.

Revision as of 15:02, 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.
    2. The difficulty is in defining when things are similar.
  8. Support automated use of semantics to extent possible.
    1. Viz., use semantic codes rather than text where feasible.