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

Difference between revisions of "Action-based vs. result-based properties of Observations"

From HL7Wiki
Jump to navigation Jump to search
(Woven Tom and my last interchange into the Wiki text. Some bold editing.)
(First cut at a radical thought.)
Line 50: Line 50:
  
 
The special case of Severity may actually call for a specific attribute on the Observation itself. Several proposals to that effect had been floated in the past (including the original 1999 USAMP proposing this to be part of interpretationCode.) Usually the sentiment was to keep this in a separate observation. However, the clear distinction between real patient-observations and such dependent qualifier-observations was never clearly expressed. Nor was the relationship type between the two (most HL7 practitioners would just make the feverity Observation a ''component'' of the finding Observation, when, in fact, it should be a ''subject''-relationship from Severity to Finding.)
 
The special case of Severity may actually call for a specific attribute on the Observation itself. Several proposals to that effect had been floated in the past (including the original 1999 USAMP proposing this to be part of interpretationCode.) Usually the sentiment was to keep this in a separate observation. However, the clear distinction between real patient-observations and such dependent qualifier-observations was never clearly expressed. Nor was the relationship type between the two (most HL7 practitioners would just make the feverity Observation a ''component'' of the finding Observation, when, in fact, it should be a ''subject''-relationship from Severity to Finding.)
 +
 +
== Back to Square-One? ==
 +
 +
Our critics from the realist camp seem to challenge no other RIM data structure more than the "observation". Since Clem McDonald had invented the old O segment of ASTM E1238, OBX in HL7 v2, which lives on in Observation of HL7 v3, we have grown so accustomed to this tool that there is no one segment in v2 and no one class in v3 that enjoys more versatile use. It is like a golden hammer. However, this ubiquitously applicable tool has been seriously challenged.
 +
 +
The realist camp challenges that HL7 seems to have no way to speak about a disease or a pathophysiological state in any more direct way than as the value of an Observation. It is easy to ridicule such a thing, as if a patient had no disease if it was not being observed by someone. Because there is probably wisdom in our traditional HL7 approach, we should have no problem trying out a completely different point of view for a moment. Is there a life beyond the OBX? Can HL7 survive without the Observation class as we know it?
 +
 +
What motivates me (GS) to consider this question is my interest to use the HL7 RIM for modeling molecular entities and processes, chemicals and reactions using the HL7 RIM. Of course it works beautifully, since the Act allows me to express chemical reactions, and participations allow me to connect reactants, catalysts, etc. An Act at this point seems suitable beyond it's increasingly disputed origin as "intentional action". If, for example, we can model the Hexokinase reaction as an Act, then we should be able to model all other physiologic processes as Acts as well. This would, of course, include higher level processes, physiological and pathophysiological. In that case, normal carbohydrate metabolism is an Act, and diabetes mellitus would then be an Act as well. An Act representing a physiological process in a aberrant state, or an aberrant specialization of a general physiological process. In short, what if we thought of a disease or any process-fining as an Act, just an Act, not an observation. As an act, we'd still have the duality between action and statement of course:
 +
 +
# meta-language "I certify that ..."
 +
# object-language "the diabetes mellitus process is happening in this patient".
 +
 +
All of the RIM Act structures still make sense. But we are back to the necessary 2 sides object vs. meta and avoid the other 2 layers of predication and finding that the Observation brings. This is not the first time that such a thought has been thought. Others have been discussing the "code-value split" as a problem, have established the convention to use a generic Observation.code called "assertion" only and move all the medical content into the code. Here, however, I put on the table the thought of the opposite move: why not consider disease processes as Acts directly, no Observation, no value is needed.
 +
 +
Indeed, the Observation aspect, this predication of the existence of the process, is already given in the first meta-language moment of every Act: "I certify that the disease process is happening", just as "I certify that the appendectomy is happening right now."<ref name="author"> Still we may hear the challenge that now a disease process has an author and that that is not making any sense. But this challenge is as unfounded as the appendectomy having an author: author is meta-language about the statement, and simply necessary when communicating information between autonomous systems.</ref>

Revision as of 03:38, 16 May 2008

Introduction

During the disambiguation of negationInd we dealt with the duality between action and statement about the action that is inherent in every HL7v3 Act. It was then noted that the Observation class has not only action (object-level) and statement (meta-level) properties, but also properties describing the action (question, investigation method) and its result (answer). It became clear that for some attributes (most notably negationInd again), but also for associations with other classes, it is necessary to clarify whether it relates to the action itself or to the result.

Background

In HL7 v2 and early versions of the v3 RIM (v0084 of 1998) today's Observation class was split over PatientServiceEvent and ClinicalObservation. Then, ClinicalObservation was not a Service (Act) but just that, an Observation. This distinction roots in HL7 v2's distinction of the observation request/report segment (OBR) and the observation result segment (OBX). Beginning 1999, Observation was understood as a kind of service action, explicitly carrying the notions of an activity (to observe) performed by someone at some time and place, and the result value or information product of this observation.

The motivation for discussing these basic concepts is an MnM discussion in 2008, where a proposal was made for a new attribute of Observation, value_negationInd, that would specifically negate the result of the Observation, and not the Observation as a whole (i.e., it wouldn't say that the Observation didn't take place, but that it's result was NOT X).

Similar discussions around Act.negationInd had motivated a review of Inert vs. descriptive properties of Acts, which discusses that a communicated action carries both moments of action per se (propositional content, object language) and statement about the action (carrying illocutionary properties, or meta language, e.g., mood). Now with Observations, there appear to be 4 moments. For example, take the observation: "I certify that I have determined that this patient has diabetes mellitus."

  1. observation-act as action (object-language): "I certify that ..."
  2. statement about the observation-act (meta-language): "... I have determined ..."
  3. statement about the subject which the observation makes (predication) "... this patient has ..."
  4. phenomenon whose presence is being predicated (especially finding observations) "... diabetes mellitus"

When a "negationInd" attribute appears on an Observation class combining all these 4 moments, we need to be sure to know what is being negated. Which is it: (1) "I do not certify that ..." , (2) "... I have not determined ...", (3) "... this patient does not have ...", or (4) "... something other than diabetes mellitus"? Given that the negationInd is defined to be a descriptive or object-language property, we know that it is not the first option. But since all of the other (2), (3), and (4) are all object-language related part of the observation action, it seemed appropriate to propose this second attribute named "value_negationInd" such that the Act.negationInd would negate (2) and the value negation indicator would negate (3) or (4).

We have the same issue with some associated dependent statements, most notably Severity, that is commonly modeled as an Observation of sorts, an observation about the primary observation [1] The severity is not a statement about the observation action (I haven't "severely observed"), but about what the observation predicates ("severe headache").

Discussion

The observation action and the predication that it yields (result) are inextricably linked. But we will have to talk about the different ways that observation is used and abused. Once that is cleared up (realistically clearing this up is as nice to have as it is impossible), we might say that there are two stages in an Observation:

  • an action to find an answer
  • the answer found through the action.

The action defines what you can find. If you read a meter you find numbers. If you ask a yes-no-question you find yes or no. If you ask an open question you find free text. If you look at this text finding features you find features in the answer. If you look for shapes under a microscope you find shapes.

There is no statement of a result that can stand without also saying what was done to get that result. Do heights not exist without people measuring them? They may or may not, we don't need the scholastic dispute, but what matters is that if you speak about height, you have to say what height and at least roughly how it was measured. You cannot even think of an abstract height without considering how you would measure it. Metrology tells us that measured properties are to be defined in an operational manner (operational is just a synonym for actionable, i.e., no property without the possibility of a measurement act.)

Alternative solutions

  1. Write into the definition of every property and every dependent Observation.code whether it is dependent and on which of the multiple levels of its subject Observation it focuses.
  2. Write into the definition of every ActRelationship type whether it refers to the action itself or to the result of the Observation.
  3. Specialize type codes that can may be used ambiguously in different contexts, to be able to choose the one that matches it purpose more precisely.
  4. Add an extra attribute to ActRelationship that can be set to specify the distinction.

Once might say that option 4 is no different from something like context conduction, which is also usually clear from context, but has a specific attribute to allow (or even enforce) setting it explicitly. However, the two cases are very different.

  • While any of the values from the contextConduction attributes make sense to be chosen independent of anything else;
  • conversely, the value of the proposed attribute would be predetermined by the dependent Observation.code, e.g., "severity" and it makes no sense ever to change.
  • While the value of contextCondution attributes are often fixed per R-MIM but can be different bewteen R-MIMs;
  • conversely, that proposed attribute makes no sense ever to change. It always depends on the dependent Observation.code like "severity".

The special case of Severity may actually call for a specific attribute on the Observation itself. Several proposals to that effect had been floated in the past (including the original 1999 USAMP proposing this to be part of interpretationCode.) Usually the sentiment was to keep this in a separate observation. However, the clear distinction between real patient-observations and such dependent qualifier-observations was never clearly expressed. Nor was the relationship type between the two (most HL7 practitioners would just make the feverity Observation a component of the finding Observation, when, in fact, it should be a subject-relationship from Severity to Finding.)

Back to Square-One?

Our critics from the realist camp seem to challenge no other RIM data structure more than the "observation". Since Clem McDonald had invented the old O segment of ASTM E1238, OBX in HL7 v2, which lives on in Observation of HL7 v3, we have grown so accustomed to this tool that there is no one segment in v2 and no one class in v3 that enjoys more versatile use. It is like a golden hammer. However, this ubiquitously applicable tool has been seriously challenged.

The realist camp challenges that HL7 seems to have no way to speak about a disease or a pathophysiological state in any more direct way than as the value of an Observation. It is easy to ridicule such a thing, as if a patient had no disease if it was not being observed by someone. Because there is probably wisdom in our traditional HL7 approach, we should have no problem trying out a completely different point of view for a moment. Is there a life beyond the OBX? Can HL7 survive without the Observation class as we know it?

What motivates me (GS) to consider this question is my interest to use the HL7 RIM for modeling molecular entities and processes, chemicals and reactions using the HL7 RIM. Of course it works beautifully, since the Act allows me to express chemical reactions, and participations allow me to connect reactants, catalysts, etc. An Act at this point seems suitable beyond it's increasingly disputed origin as "intentional action". If, for example, we can model the Hexokinase reaction as an Act, then we should be able to model all other physiologic processes as Acts as well. This would, of course, include higher level processes, physiological and pathophysiological. In that case, normal carbohydrate metabolism is an Act, and diabetes mellitus would then be an Act as well. An Act representing a physiological process in a aberrant state, or an aberrant specialization of a general physiological process. In short, what if we thought of a disease or any process-fining as an Act, just an Act, not an observation. As an act, we'd still have the duality between action and statement of course:

  1. meta-language "I certify that ..."
  2. object-language "the diabetes mellitus process is happening in this patient".

All of the RIM Act structures still make sense. But we are back to the necessary 2 sides object vs. meta and avoid the other 2 layers of predication and finding that the Observation brings. This is not the first time that such a thought has been thought. Others have been discussing the "code-value split" as a problem, have established the convention to use a generic Observation.code called "assertion" only and move all the medical content into the code. Here, however, I put on the table the thought of the opposite move: why not consider disease processes as Acts directly, no Observation, no value is needed.

Indeed, the Observation aspect, this predication of the existence of the process, is already given in the first meta-language moment of every Act: "I certify that the disease process is happening", just as "I certify that the appendectomy is happening right now."[2]

  1. before throwing in the popular term "meta-observation" one should be aware that this would just confuse the use of the meta word.
  2. Still we may hear the challenge that now a disease process has an author and that that is not making any sense. But this challenge is as unfounded as the appendectomy having an author: author is meta-language about the statement, and simply necessary when communicating information between autonomous systems.