FHIR Chat · Observation nesting and cardinality · implementers

Stream: implementers

Topic: Observation nesting and cardinality


view this post on Zulip Erich Schulz (May 17 2016 at 22:54):

so... I'm looking at observations which seems to have a "central observation" and (code, value, reference range, reason absent) are present both at a root level and as a collection...

view this post on Zulip Erich Schulz (May 17 2016 at 22:57):

i'm just curious about how locked in this and rationale?

view this post on Zulip Erich Schulz (May 17 2016 at 23:00):

I can see a rationale for some kind of roll-up mechanism but this only covers subset of possibilities of the n x mbase observations and the derivative "summary conclusion observations"

view this post on Zulip Grahame Grieve (May 17 2016 at 23:19):

can you provide some specific examples?

view this post on Zulip Erich Schulz (May 17 2016 at 23:21):

i guess echocardiography reports would be one I was thinking off

view this post on Zulip Erich Schulz (May 17 2016 at 23:23):

lots of cryptic numbers get rolled up into more friendly things like EF, and valve disease severity (using mild, moderate, severe as a scale)

view this post on Zulip Erich Schulz (May 17 2016 at 23:24):

i can think of lots of blood panels that include summary interpretations

view this post on Zulip Erich Schulz (May 17 2016 at 23:24):

an ABG is a bit of a classic actually

view this post on Zulip Grahame Grieve (May 17 2016 at 23:24):

well, I would expect blood panels to be a series of observations with a panel, and a summary observation

view this post on Zulip Grahame Grieve (May 17 2016 at 23:25):

ECG, the data would be a single observation with a SampledData - or a few observations any way

view this post on Zulip Erich Schulz (May 17 2016 at 23:25):

"base excess" and "anion gap" - and of CO2, pH and HCO3 only 2 are measured and other is calculated

view this post on Zulip Grahame Grieve (May 17 2016 at 23:25):

ABG - arterial blood gas? yes, all the things you have mentioned are sets of observations

view this post on Zulip Erich Schulz (May 17 2016 at 23:25):

well an ABG has ~ 3 summary measures

view this post on Zulip Erich Schulz (May 17 2016 at 23:26):

pH being overall, then BE and CO2 for metabolic and resp components

view this post on Zulip Grahame Grieve (May 17 2016 at 23:26):

calculated fields- they are nothing special. Most things are somewhat caclulated

view this post on Zulip Erich Schulz (May 17 2016 at 23:27):

so i'm just lost then about why the "1 + n" structure

view this post on Zulip Erich Schulz (May 17 2016 at 23:28):

if a calculated value is just another value...

view this post on Zulip Erich Schulz (May 17 2016 at 23:30):

btw was talking of "Echo" not "Electro" cardiography

view this post on Zulip Erich Schulz (May 17 2016 at 23:36):

but it just seems like significant complication to the data model that only addresses a very small fraction of use cases (eg Apgar, and GCS scales)

view this post on Zulip Erich Schulz (May 17 2016 at 23:38):

sorry not meaning to be difficult :-)

view this post on Zulip Erich Schulz (May 17 2016 at 23:40):

I can just see it leading to a stack of arbitrary and divergent conventions for when to repeat the "1" and when to drop into the "n"

view this post on Zulip Grahame Grieve (May 17 2016 at 23:41):

well, we agree that this is a challenge. And unfortunatelythe horse bolted decades ago too.

view this post on Zulip Erich Schulz (May 17 2016 at 23:41):

and the extra computational cost of having to query both the "1" and the "n" to find the a value...

view this post on Zulip Erich Schulz (May 17 2016 at 23:41):

darn

view this post on Zulip Grahame Grieve (May 17 2016 at 23:41):

as in, much of this stuff we are constrained by existing patterns of reporting in v2 messages

view this post on Zulip Grahame Grieve (May 17 2016 at 23:41):

Observation = OBX

view this post on Zulip Grahame Grieve (May 17 2016 at 23:41):

but we and others are working on this. Have you seen the vital signs profile? that's the sort of thing we want to do

view this post on Zulip Erich Schulz (May 17 2016 at 23:41):

i thought that maybe the case

view this post on Zulip Erich Schulz (May 17 2016 at 23:42):

got a url?

view this post on Zulip Erich Schulz (May 17 2016 at 23:42):

if the "1" could be retired I think that would be a step forward for humanity (IMHO)

view this post on Zulip Grahame Grieve (May 17 2016 at 23:43):

the "1"?

view this post on Zulip Grahame Grieve (May 17 2016 at 23:44):

http://hl7-fhir.github.io/observation-vitalsigns.html

view this post on Zulip Erich Schulz (May 17 2016 at 23:44):

as in observation.value cf observation.component.value

view this post on Zulip Grahame Grieve (May 17 2016 at 23:49):

well, the presence of component is problematic, but so would it's absence be. none of the cases you mentioned should be done with component observations.

view this post on Zulip Grahame Grieve (May 17 2016 at 23:50):

blood pressure, some machine things, it's not widely applicable, though it's important when it is

view this post on Zulip Erich Schulz (May 17 2016 at 23:50):

oh really?

view this post on Zulip Erich Schulz (May 17 2016 at 23:50):

I was just thinking the reverse!

view this post on Zulip Erich Schulz (May 17 2016 at 23:51):

btw https://www.google.com.au/search?q=pain+the+fifth+vital+sign&espv=2&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjuq9qrpuLMAhWDE5QKHfpbCEsQ_AUICSgD&biw=2133&bih=1105&dpr=0.9

view this post on Zulip Erich Schulz (May 17 2016 at 23:52):

it common to grab a bunch of observations in a single go

view this post on Zulip Grahame Grieve (May 17 2016 at 23:53):

sure. you would use _include or _revinclude to get them

view this post on Zulip Erich Schulz (May 17 2016 at 23:53):

but thay kinda solves my issue...

view this post on Zulip Erich Schulz (May 17 2016 at 23:54):

i'm wanting to catch more encounter based observations.... so can just type a stack of observation records to each encounter

view this post on Zulip Erich Schulz (May 17 2016 at 23:55):

that actually works pretty neatly

view this post on Zulip Erich Schulz (May 17 2016 at 23:55):

so I'll keep the "1" and avoid the "n"

view this post on Zulip Erich Schulz (May 17 2016 at 23:55):

:-)

view this post on Zulip Erich Schulz (May 17 2016 at 23:57):

its a bit more denormalised - would have preferred the other way around but its probably simpler

view this post on Zulip Erich Schulz (May 18 2016 at 00:21):

So thanks @Grahame Grieve that's been very helpful.

view this post on Zulip Erich Schulz (May 18 2016 at 00:23):

just to clarify when you say "none of the cases you mentioned should be done with component observations." you mean that an ABG or an echo should be made up of 10-30 seperate observations and that vast bulk should have zero (0) components?

view this post on Zulip Grahame Grieve (May 18 2016 at 00:41):

yes. As long as these have separate interpretations, and seperate error conditions, they should be different resources. Components should only be used when there is only one method, one observation, one interpretation, one performer, one device, one time

view this post on Zulip Grahame Grieve (May 18 2016 at 00:41):

most of your cases fail at least one of those

view this post on Zulip Erich Schulz (May 18 2016 at 00:51):

thanks @Grahame Grieve that is very clear an helpful...

view this post on Zulip Erich Schulz (May 18 2016 at 00:52):

the "one interpretation" test is not specified in the definition, or in the introductory text

view this post on Zulip Erich Schulz (May 18 2016 at 00:52):

http://hl7.org/fhir/observation-definitions.html

view this post on Zulip Erich Schulz (May 18 2016 at 00:53):

it makes complete sense tho

view this post on Zulip Grahame Grieve (May 18 2016 at 00:54):

we probably should - can you do me a favour and create a gForge task proposing that it made clearer and add my language to the task?

view this post on Zulip Erich Schulz (May 18 2016 at 00:59):

sure thing

view this post on Zulip Erich Schulz (May 18 2016 at 01:00):

noting that arguably that means that the component should never be used...

view this post on Zulip Erich Schulz (May 18 2016 at 01:01):

(which I wouldn't oppose)

view this post on Zulip Grahame Grieve (May 18 2016 at 01:08):

there's a number of observations which produce composite values that meet those criteria

view this post on Zulip Erich Schulz (May 18 2016 at 01:09):

that are always "Hi" and "Low" together?

view this post on Zulip Grahame Grieve (May 18 2016 at 01:09):

well, that are always interpreted together, or where these is only one number that is interpreted

view this post on Zulip Erich Schulz (May 18 2016 at 01:10):

even with BP - DBP can be low but MAP and SBP can be normal

view this post on Zulip Grahame Grieve (May 18 2016 at 01:10):

well, BP is problematic in that respect, I guess.

view this post on Zulip Grahame Grieve (May 18 2016 at 01:11):

there was some discussion about that - don't know where it landed

view this post on Zulip Erich Schulz (May 18 2016 at 01:11):

I think you may find it applies to many/most

view this post on Zulip Erich Schulz (May 18 2016 at 01:12):

often the reason a series of different measures are somehow combined is that they individually have some noise

view this post on Zulip Erich Schulz (May 18 2016 at 01:17):

I guess the useful definition maybe more along the lines "that we would want to interpret individually"??

view this post on Zulip Erich Schulz (May 18 2016 at 01:17):

have created issue btw

view this post on Zulip Erich Schulz (May 18 2016 at 01:17):

thanks for all the guidance really appreciated

view this post on Zulip Grahame Grieve (May 18 2016 at 01:17):

np

view this post on Zulip Rob Hausam (May 28 2016 at 02:38):

I'm thinking that component may be creating more problems that it is solving - Eric H. and I and others have been working on the language in the OO discussions, but I think the boundaries tend to be difficult to describe and often may be counterintuitive (e.g., Erich's "I was just thinking the reverse!" comment)

view this post on Zulip Michelle (Moseman) Miller (May 28 2016 at 03:36):

GF#9676 has been applied, such that there is now support for Observation.component.interpretation.
Part of the discussion (that led to the approval of the GF#9676) was that Observation.component.referenceRange already existed -- and reference ranges and interpretations are closely related. It's hard to justify one without the other.

view this post on Zulip Rob Hausam (May 28 2016 at 03:49):

@Michelle (Moseman) Miller - I guess I missed that quarter! I do agree that having a reference range without an interpretation doesn't really make much (if any) sense. But if we start adding all of the "missing" observation elements to component, then we'll have even more overlap and confusion with it vs. related observations.

view this post on Zulip Erich Schulz (May 28 2016 at 05:20):

gad

view this post on Zulip Michelle (Moseman) Miller (May 28 2016 at 18:13):

Agree, @Rob Hausam -- If it makes you feel any better, the extent of the discussion was focused on adding interpretation only. The origins of the change request were related to the same example above (from @Erich Schulz) when we tried to represent systolic and diastolic blood pressure as components of an overall blood pressure. Our system tracks interpretation for each component since some meds are intended to control either SBP or DBP, so having an 'aggregate' interpretation at the observation level wasn't ideal when the interpretations of SBP and DBP can differ.

view this post on Zulip Erich Schulz (May 28 2016 at 22:54):

In that case it makes the distinction between components and the single observation even more arbitrary

view this post on Zulip Rob Hausam (May 30 2016 at 13:49):

@Erich Schulz Agree

view this post on Zulip Erich Schulz (May 30 2016 at 22:18):

is it fixable @Rob Hausam ?? it still seems to me that the element to get rid of would be the observation value... it seems like a rare thing to me to make single observations...

view this post on Zulip Grahame Grieve (May 30 2016 at 22:44):

I think the opposite. It's the normal thing

view this post on Zulip Grahame Grieve (May 30 2016 at 22:44):

Observation.component should be constrained for multi-value single observations

view this post on Zulip Rob Hausam (May 31 2016 at 00:55):

Yes, I would agree with Grahame regarding the commonality. And it would seem strange (and definitely a deviation from precedent) not to have Observation.value, but trying to clearly explain and constrain for what are "multi-value single observations" that should be represented in Observation.component is also definitely a challenge.


Last updated: Apr 12 2022 at 19:14 UTC