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
Line 86: Line 86:
 
==== Obviating the Need for Value Negation Indicator ====
 
==== Obviating the Need for Value Negation Indicator ====
  
This approach obviates any need for more '''negationInd'''icator attributes. It works exactly as for any other Act: it denies the occurrence of the Act, here, denies the occurrence of the disease process (or disorderly process) in the patient.
+
This approach obviates any need for more '''negationInd'''icator attributes. The existing Act.negationInd works exactly as for any other Act: it denies the occurrence of the Act, here, denies the occurrence of the disease process (or disorderly process) in the patient.
  
 
What about "findings" that are not diseases? Let's say, auscultation phenomena "murmur" vs. "clear heart sounds". What about pain in the lower right abdominal quadrant? Or a redness and swelling of the foot? The heart murmur is easily identified as a process, an Act which emits such sounds and is a manifestation of, say, an aortal stenosis. The abdominal pain is most certainly a process and may be a manifestation of an inflammation, that too is a process. Likewise swelling and redness of the foot is a manifestation of an inflammatory process. All of these processes are nicely modeled using the Act class, and their existence asserted by the author of the Act.
 
What about "findings" that are not diseases? Let's say, auscultation phenomena "murmur" vs. "clear heart sounds". What about pain in the lower right abdominal quadrant? Or a redness and swelling of the foot? The heart murmur is easily identified as a process, an Act which emits such sounds and is a manifestation of, say, an aortal stenosis. The abdominal pain is most certainly a process and may be a manifestation of an inflammation, that too is a process. Likewise swelling and redness of the foot is a manifestation of an inflammatory process. All of these processes are nicely modeled using the Act class, and their existence asserted by the author of the Act.

Revision as of 05:42, 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.* The severity is not a statement about the observation action (I haven't "severely observed"), but about what the observation predicates ("severe headache").

(Before throwing in the popular term "meta-observation" one should be aware that this would just confuse the use of the meta word.)

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".

A variable feature such as a choice of act relationship types or even a changeable attribute would be redundant and hard to use, when instead the focus of the severity concept is unchangeable and determined perfectly in the definition of Severity, a definition that is required anyway. If we try a proper definition such as

Severity: A dependent observation that adds an ordinal scale qualifier to a subject observation, specifying the level of discomfort, risk, or concern that the disorder observed in the subject observation presents to the subject of the subject observation.

we have clarity about its focus on the observed disorder and no choice to make any more, ever. Any attribute we might propose to add, any special subject actRelationship type, is always redundant to communicate because there is always only one correct choice and all other choices that implementers might make would be wrong.

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 severity 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?

Observation and observed Process

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. as Participations. The Act class at this point seems suitable beyond it's increasingly disputed origin as "intentional action" or business 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-finding 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." We have heard the challenge that a disease process surely cannot have an author (God?). But this challenge is as unsound, because there is a difference between author and performer, and author is a meta-language property. An appendectomy has no author either, but the statement asserting the occurrence of the appendectomy has necessarily an author as has the statement asserting the occurrence of a disease process.

Obviating the Need for Value Negation Indicator

This approach obviates any need for more negationIndicator attributes. The existing Act.negationInd works exactly as for any other Act: it denies the occurrence of the Act, here, denies the occurrence of the disease process (or disorderly process) in the patient.

What about "findings" that are not diseases? Let's say, auscultation phenomena "murmur" vs. "clear heart sounds". What about pain in the lower right abdominal quadrant? Or a redness and swelling of the foot? The heart murmur is easily identified as a process, an Act which emits such sounds and is a manifestation of, say, an aortal stenosis. The abdominal pain is most certainly a process and may be a manifestation of an inflammation, that too is a process. Likewise swelling and redness of the foot is a manifestation of an inflammatory process. All of these processes are nicely modeled using the Act class, and their existence asserted by the author of the Act.

Anatomical Abnormalities, Entities and Roles Observed

But what about the acquired anatomic anomalies, let alone congenital anomalies that may be the product of disorderly physiological processes? The aortal stenosis, the swelling, the tumor, even the redness, should that be considered a process? An Act? Why not making it an entity? The issue might become clear when considering minor congenital anatomic anomalies, such as a 6th finger, or even more simply a naevus. It is hard to see a process in the mere existence of an anatomical feature that only a minority of subjects may have. And as such these items are rarely a subject of serious medical concern and intervention. One could argue that only once an anatomical abnormality becomes an undesirable process (e.g., one that causes pain or breeds complications) there is a medical disorder.

On the other hand, it might be a great relief to the modeling of microbiology if we could finally consider an infection as a disease process (Act) that has a causative agent (Participation) which is bacteria (Entity) located in the subcutaneous tissue, causing the redness and swelling of the foot. Likewise we can talk about the tumor tissue as an Entity which is the substrate of the neoplastic disease process. We can now describe a tumor Entity in radiographs and in a resection as a tracable Entity, just as we would like to describe a fetus in the mother's womb as an Entity which exists beyond a mere observation (pregnancy, a process which has a product, or shall we say substate, which is the fetus). This even goes for the aortic stenosis. Being a product of an endocardial inflammation process, a stenotic aortic valve may well be excised and replaced by an artificial valve. When examined under the microscope it becomes clear that there is an Entity, one that had been inside the body, one that had been the substrate of the aortic stenosis disorder all along. However, here too, the stenosis was still a process, and no one would have risked such surgery and risk of postoperative complications were it not to rectify a disorderly process of hemodynamics which would have brought forth worse complications if left to continue.

Thus, it appears as if we could theoretically not only do away with Observation to describe disorders, but it seems there is some good value to be realized in doing so. There are costs as well, most likely we might have to re-define certain concepts as processes which are thought of as mere anatomic features. Or may have to clarify the distinction between the anatomical entity (stenotic aorta, neoplastic tissue) and the disordered process (aortic stenosis, neoplasia). This will likely be a hard learning process in practice and may well turn out to be impractical in the near future.

Quantitative Observations, Measurements

We must not forget the large number of quantitative observations which are much harder to think of as first class Acts. How can we think of

  1. the height or body mass of the patient in any other way than as a measurement act and the value that it produces?
  2. How can we think of the systolic blood pressure any different?
  3. How the white blood cell count or plasma potassium concentration?

We can only know if we try:

The white blood cell count could easily be expressed as a blood specimen Entity which scopes an ingredient Role that is played by white blood cell, and that Role.quantity is 1000 in 1 uL. Plasma potassium can be stated in the same way. This would nicely reconcile the mismatch we have today between the nominal statement of an ingredient in a drug as part of the drug's specification (ingredient roles) vs. the analytic measurement Observation which yields a concentration value. We could greatly reduce the need for terminology maintenance, because potassium in plasma can be represented simply by using the IUPAC or PubChem concept of Potassium (K), and the Foundation Model of Anatomy (FMA) concept of "Blood plasma". This RIM model of plasma potassium would be a fine semantic model of the meaning of large portions of terminology, such as LOINC, SNOMED, or IUPAC C-NPU. All properties that are ratios or fractions ought to be easily representable in this manner.

The systolic blood pressure is harder. Here we do not have a simple amount ratio, instead we have one of many measures characterizing a complicated process of hemodynamics. So here we have a process again, and pressure is a characteristic of that process similar to velocity being a characteristic of a train-travel-process. Faintly we can see how these phenomena might be explained by entities such as abstract distances and areas and time being the only property remaining in a process represented by an Act. So here we seem to hit a wall, process characteristics seem not describable other than as attributes of Acts, and since there are so many possible characteristics involving forces, velocity, acceleration, energy, etc., it seems daunting trying to represent these without the simple code - value structure of the Observation class.

Patient height or body mass seem to be parameters of processes too, as they both are the results of metabolic processes resulting in growth or shrinkage of tissues such as bones, muscle, fat, etc. At the same time we can think of body mass as Entity.quantity, as it might be the fate of a living subject destined for food production. However, we encounter problems already today in the use of Entity.quantity that infers from the unit the physical property in which that amount is expressed. It appears here too we require an Observation.code in order to fix the property precisely.

Investigation Actions

Once we deal with actual laboratory business-processes, the method of measurement becomes relevant, now the Act of measurement becomes important. This same is true for findings, where it does matter if we could palpate a tumor or if we saw it in medical imagery. Clearly we could not model the health profession without considering Observation and Investigation as actions, as regular business activities. However, we might find a way in the future to dissolve the Observation.value by using Participations and ActRelationships. For example, measuring the plasma potassium concentration may well be an Investigation Act which has as Participation (of type subject) the ingredient Role between the Blood plasma and potassium-ion Entities (with the blood plasma being a derivative specimen of blood which is a sample of this patient's circulating blood). A finding of an aortic stenosis would have a stenotic aorta Entity as a determinant in the same way. This same stenotic aorta could be traced from its first manifestation in heart murmurs all the way to the pathologist's table and microscope. Only process parameters, again appear to prevent us from abandoning the Observation value altogether.

However, would not the temperature of the temperature homeostasis process be thinkable as a dependent parameter just as the severity of a pain-process? Perhaps the solution to the trouble with second-class, dependent observations such as Severity could lie in abandoning the Observation.value altogether. Instead we would retain only the Act class for processes with zero to many light-weight variable-value pairs which could never exist without a process that they describe? Would this not be the same as the old idea of an ObservationResult as opposed from an ObservationEvent? It is difficult to see clearly at this time, because we have found in this discussion that we do need to distinguish several Acts:

  • Act representing the physiological process
  • Act representing the investigation

and now we are contemplating yet again to add

  • parameter name-value structures

each of which can be said to be the result of a possible measurement activity. Indeed, if Severity is to have any inter-subjective meaning, it must have some form of operational definition (however crude it might be) and hence, it too implies a measurement activity which yields this severity value.

Instead of a Conclusion

I (GS) remain therefore without conclusion as to the suitability and future of the Observation class in the HL7 RIM. I have never before so clearly seen the opportunities for greater clarity and indeed powerful integration and expressiveness in the RIM if we were to reduce the influence of the Observation class. However, I could thus far not find a basis for removing it altogether and I would strongly resist the attempt of causing great shifts in thinking without anything less than a fully thought-through alternative that is really different from what we do today.