FHIR Chat · observation.referenceRange · implementers

Stream: implementers

Topic: observation.referenceRange


view this post on Zulip Stephen Royce (Nov 15 2016 at 07:11):

Why is it the referenceRange element in the Observation resource has explicit low and high elements each of type SimpleQuantity rather than a range element of type Range?

view this post on Zulip Grahame Grieve (Nov 15 2016 at 07:15):

I don't know

view this post on Zulip Stephen Royce (Nov 15 2016 at 23:52):

:disappointed:

view this post on Zulip Stephen Royce (Nov 15 2016 at 23:53):

Does anyone know?

view this post on Zulip Eric Haas (Nov 16 2016 at 00:20):

A likely reason is it predated the range datatype. Although I see little benefit in making the change.

view this post on Zulip Maria Hu (Feb 11 2019 at 17:39):

Resource Observation.referenceRange has an element for LOW and HIGH, where should the "open range" be defined? e.g. >10 or <10? Would it be HIGH=<10, and LOW = >10? Please advise, thanks.

view this post on Zulip Lloyd McKenzie (Feb 11 2019 at 17:43):

If you want > 10, you'd set the low to 10 and ommit high. If you want <10, you'd set high to 10 and omit low.

view this post on Zulip Maria Hu (Feb 11 2019 at 22:11):

If you want > 10, you'd set the low to 10 and ommit high. If you want <10, you'd set high to 10 and omit low.

Thanks Lloyd, good idea.
I think for exactly = 10, I can put both LOW & HIGH = 10.
What about >=10? or <=10?
Please advise, thanks.

view this post on Zulip Eric Haas (Feb 11 2019 at 22:27):

note that this all documented here: http://build.fhir.org/observation-definitions.html#Observation.referenceRange.low

it is already defined as inclusive of the value e.g. <=2.3

for something to be exactly equal to a value then both low and high would be the same value

view this post on Zulip Lloyd McKenzie (Feb 11 2019 at 22:27):

Actually, the range is automatically >= and <=. There's no support for <10. If you want to say <10, you say high=9.99999999 to whatever degree of precision matters.

view this post on Zulip Elise Myers (May 18 2020 at 20:08):

According to the spec, this field is intended to be populated by the lab which recorded the Observation value. From what I've seen, we can't rely on this information always being available. I am running in to a use case where I want to "configure" these reference ranges, so that different patients, practitioners, and organizations can have different default normal ranges for lab values. Where could I store this information? I found ObservationDefinition, but this seems like it is meant to be used as a golden standard like StructureDefinition, and there is no way for this resource to refer to a patient, practitioner, or organization. Also, it is very immature. I am considering using the Observation resource with the .referenceRange field populated and the .value field blank, because it can hold all the references I need. I'm afraid this is misusing this resource, though.

view this post on Zulip Lloyd McKenzie (May 19 2020 at 00:55):

ObservationDefinition would be correct for something independent of Patient. The use-case of normal range specific to a patient isn't something we've encountered before I don't think. @Eric Haas?

view this post on Zulip Elise Myers (May 19 2020 at 01:30):

How can ObservationDefinition be used for something dependent upon a Practitioner, even? That is the more important use case - a doctor wanting to display their own personally configured idea of what the "normal range" should be instead of whatever industry standard is available.

view this post on Zulip Lloyd McKenzie (May 19 2020 at 01:39):

Actually, looking at the resource, I guess nothing stops you from having a Group that contains only one Patient. The ObservationDefinition.author would be the practitioner who created the record. If you wanted to show the ranges defined by that particular individual. ObservationDefinition.context can constrain to a particular Location and/or Organization.

view this post on Zulip Elise Myers (May 19 2020 at 01:45):

ObservationDefinition.author? I don't see that field. Am I looking at a different version or something https://www.hl7.org/fhir/observationdefinition.html ? And the only .context I see is within .qualifiedInterval and it accepts a CodeableConcept, so I suppose this could be used but it does not seem like a very intuitive place to store a reference to an Organization. ObservationDefinition.qualifiedInterval.appliesTo could maybe be used to specify individual patients, but again, this accepts a CodeableConcept, and that seems odd.

view this post on Zulip Lloyd McKenzie (May 19 2020 at 02:39):

Sorry, I meant 'publisher'. And by context, I meant 'useContext'

view this post on Zulip Keerthivasan Ramanathan (May 19 2020 at 06:52):

@Elise Myers I'm also facing the same problem . Most of the times the reference range values doesn't come from the sources. How do you plan to overcome this? Thanks

view this post on Zulip Michele Mottini (May 19 2020 at 13:02):

It seems some kind of internal system configuration, why does it needs to be represented as FHIR? (FHIR is to transfer data between system. you can use whatever you want / need for your internal data model)

view this post on Zulip Elise Myers (May 19 2020 at 14:14):

Am I losing my mind @Lloyd McKenzie ? I don't see "publisher" or "useContext" fields on ObservationDefinition either. @Keerthivasan Ramanathan I haven't decided yet; that's why I'm asking in this channel. @Michele Mottini we use FHIR for as much as possible. And this actually is data that could be shared between systems. I am in fact working on two applications right now that would both use use this data so they could be interoperable in that sense.

view this post on Zulip Elise Myers (May 19 2020 at 14:18):

And I might not end up representing this in FHIR. I have other ideas (custom internal configuration, as you mentioned). But FHIR is always the first place I go.

view this post on Zulip Lloyd McKenzie (May 19 2020 at 15:33):

I was looking at the continuous integration build - the draft for FHIR R5 (http://build.fhir.org/observationdefinition). For R4, you'll have to use extensions to represent these.

view this post on Zulip Elise Myers (May 19 2020 at 16:52):

Ahhh, thank you. Now we are on the same (web)page. The R5 version of ObservationDefinition looks like exactly what I want. The subjectReference field can refer to a Group (with just one Patient is ok, like you said), the publisher field can refer to a Practitioner and the useContext UsageContext.value can refer to an Organization or Location. I will have to decide whether to use extensions until R5 is released or make do with some custom configuration and revisit this later. Thank you!


Last updated: Apr 12 2022 at 19:14 UTC