This wiki has undergone a migration to Confluence found Here


From HL7Wiki
Revision as of 15:53, 25 April 2012 by Rhausam (talk | contribs) (Created page with "<div class="subSubSubSection"> <div class="header"> 2.2.11 </div> <div class="body"> The HL7 RIM defines Observation.interpretationCode as: A qualitative interpretation ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The HL7 RIM defines Observation.interpretationCode as:

A qualitative interpretation of the observation.
Examples: Normal, abnormal, below normal, change up, resistant.
Usage Notes: These interpretation codes are sometimes called "abnormal flags," however, the judgment of normalcy is just one of the interpretations, and is often not relevant. For example, the susceptibility interpretations are not about "normalcy," and for any observation of a pathologic condition, it does not make sense to state the normalcy, since pathologic conditions are never considered "normal."

The value of including an observation interpretation is to be able to say:

(a) “The hemoglobin measurement is 18g/dl and this is abnormally high (when compared with the reference range).”
(b) “This Streptococcus pneumoniae isolate has been tested for susceptibility to Penicillin G and has been found to be resistant.”

There are multiple scenarios that may result in overlap, particularly with data recorded in Observation.code or Observation.value.

  1. Within HL7 v3
    • From a modeling perspective, the “interpretation” of a value (i.e. laboratory test result, etc.) is an additional “higher level” observation that is made on the results (raw data) from a particular investigation. This additional observation can, and likely in some cases does, carry the full semantics of an “observation” (including author, author time, etc.), and thus may be represented by an additional instance of an Observation class. Alternatively, and more commonly, the result of this additional observation is represented using the interpretationCode attribute within the original Observation class (which is essentially a lightweight or “shortcut” method for representing this data). There is the potential for conflict and/or ambiguity between these two approaches.
    • In some situations, current practice in V3 laboratory messaging (parallel to the common usage in V2) has been to use the Observation.interpretationCode in place of, rather than in conjunction with Observation.value. This typically occurs in laboratory antimicrobial susceptibility messaging (see the Streptococcus susceptibility to Penicillin G example above).
  2. Between HL7 v3 and SNOMED CT
    • The SNOMED-CT concept model for Clinical Findings provides the [ 363714003 | Interprets ] and [ 363713009 | Has interpretation ] attributes. The latter represents similar notions to those intended for use by the HL7 Observation.interpretationCode attribute. An example of the use of these attributes is:

[ 165558001 | Platelet count abnormal ]

Includes, in its reference definition:

363714003 | Interprets |=61928009 | Platelet count |,
363713009 | Has interpretation |=263654008 | Abnormal |

    • Whether primitively represented or defined according to the above scheme, SNOMED CT contains many pre-coordinated ‘Finding’ concepts, that include notions similar to those expressed as ‘interpretations’, for example:

[ 110368006 | Decreased estrogen level]
[ 102659003 | Normal glucose level ]

It is therefore possible to represent, using a SNOMED CT ‘Finding’ in Observation.value, notions such as ‘normality’, ‘abnormality’, ‘resistance’.

Given the complexities described in ‘discussion and rationale’, it is not currently possible to provide normative guidance on the use of Observation.interpretationCode. In particular, it is not possible to provide guidance on the prohibition of Observation.interpretationCode where SNOMED CT is the only permitted code system for the Act.code.

However, the following guidance (with caveats) can be provided:

  • In a constrained information model or template that permits or requires the use of SNOMED CT to represent the nature of an Observation class clone, or in which SNOMED CT is one of the permitted code systems for the Observation.value attribute, Observation.interpretationCode SHALL be optional.
  • In any Observation class instance in which the Act.code or Observation.value attribute is expressed using SNOMED CT, and Observation.interpreationCode is present, it shall take its value from the following ranges in SNOMED CT:

((<<281296001 | result comments |) OR (<<260245000 | findings values |))

  • Unless explicitly specified by model designers or communicating parties, SNOMED CT findings that represent ‘interpretation’ notions are not prohibited from use. It is possible, therefore, that receiving systems and analytic queries that wish to detect ‘interpretation’ notions may also need to test the SNOMED CT concept carried as Observation.value.

Relevant to this topic, an HL7 Observation will currently support the representation of three notions:

  • The thing being observed (in Observation.code)
  • The result of the observation (in Observation.value)
  • The interpretation of the result of the observation (in Observation.interpretationCode)

Either primitively represented or modeled using the ‘has interpretation’ attribute, SNOMED CT will support the representation of the following notions:

  • The thing being observed (in Observation.code)
  • The thing being observed and interpretation of the result of the observation (in Observation.value)

There is therefore incomplete overlap in ‘interpretation’ representation, and incomplete expressivity of SNOMED CT to support all aspects of representation (a SNOMED CT Expression cannot exhaustively communicate the result of an observation and its interpretation).

Evidence suggests that Observation.interpretationCode is currently used, and it is not possible currently to provide a SNOMED CT-only representation to allow its prohibition.

Neither is it possible, currently, to enhance normalization rules to support equivalence detection between ‘interpretations’ communicated in Observation.value or in Observation.interpretationCode.