FHIR Chat · code search with hierarchical values · implementers

Stream: implementers

Topic: code search with hierarchical values


view this post on Zulip Josh Mandel (Mar 17 2016 at 17:24):

http://hl7.org/fhir/valueset-allergy-intolerance-status.html suggests a hierarchical value set -- but this is a bit misleading in behavior; do we expect:
GET /AllergyIntolerance?status=active
to return unconfirmed and confirmed results as well ?!

view this post on Zulip Lloyd McKenzie (Mar 17 2016 at 17:39):

It would certainly be desirable, but it would be good to clarify in the spec. Change request?

view this post on Zulip Jenni Syed (Mar 17 2016 at 17:42):

"It would certainly be desireable" Maybe, but it needs to be more clear when a single value is conveying a heirarchy. My inital thought is that this is very surprising value for something that doesn't seem multi-value (status - can something be in more than one state at a single time? maybe in physics :), but not intuitively)

view this post on Zulip Jenni Syed (Mar 17 2016 at 17:44):

But if I think of this in terms of the Observation.category, things can be categorized as multiple concepts - I can be both a "lab" and a "blood chem" (even though the spec doesn't allow a multi-value for that field)

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

"do we expect:
GET /AllergyIntolerance?status=active
to return unconfirmed and confirmed results as well ?!" - no. we are clear in the spec that we do not. There's a modifier if you want to include unconfirmed and confirmed as well.

view this post on Zulip Eric Haas (Mar 17 2016 at 18:31):

@GG I can't find this in the spec so is unclear at least to me. I would certainly expect the behaviour Josh desc
ribes since 'active' is a parent concept of both 'unconfirmed' and 'confirmed'.

view this post on Zulip Eric Haas (Mar 17 2016 at 18:35):

never mind found the references to modifiers

view this post on Zulip Eric Haas (Mar 17 2016 at 18:39):

GET /AllergyIntolerance?status:below=active

view this post on Zulip Josh Mandel (Mar 17 2016 at 18:42):

I certainly don't think we've described the interaction of modifiers like :below with tokens specified only by code (with no system). That's another can of worms. When search problems, can I write GET /Condition?code:below=233873004, without even specifying snomed??

view this post on Zulip Josh Mandel (Mar 17 2016 at 18:43):

And servers don't have a way to say "I support :below only in certain contexts"

view this post on Zulip Eric Haas (Mar 17 2016 at 18:44):

Yes to your first questions ( its in the spec as an example GET [base]/Condition?code:below=126851005 )

view this post on Zulip Eric Haas (Mar 17 2016 at 18:45):

the search matches irrespective of code system - jsut readin this now

view this post on Zulip Grahame Grieve (Mar 17 2016 at 18:47):

Josh there is probably room for improvement with regard to documentation. I'm not sure that it's worth providing a computable way to say which modifiers are represented in which cases, but we are clear about the equality thing:

view this post on Zulip Grahame Grieve (Mar 17 2016 at 18:48):

Matches are literal (e.g. not based on subsumption or other code system features), but not case sensitive

view this post on Zulip Eric Haas (Mar 17 2016 at 18:48):

we should say just that last bit. I'll make a tracker

view this post on Zulip Grahame Grieve (Mar 17 2016 at 18:49):

what's the tracker for?

view this post on Zulip Eric Haas (Mar 17 2016 at 18:50):

to add "Matches are literal (e.g. not based on subsumption or other code system features), but not case sensitive" to here http://hl7-fhir.github.io/search.html#token I think that clears it up.

view this post on Zulip Grahame Grieve (Mar 17 2016 at 18:51):

that's where I copied it from

view this post on Zulip Eric Haas (Mar 17 2016 at 18:52):

Obviously I need new glasses cause I just read it

view this post on Zulip Josh Mandel (Mar 17 2016 at 18:55):

The thing I find incredibly confusing is this interacts with code datatypes like AllergIntolerance.staus

view this post on Zulip Eric Haas (Mar 17 2016 at 18:55):

but I think it should be more prominent not an ..oh by the way.. and then say something like if you want to base on subsumption use the modifiers described below. minor editorial stuff.

view this post on Zulip Grahame Grieve (Mar 17 2016 at 18:56):

why is that confusing?

view this post on Zulip Eric Haas (Mar 17 2016 at 18:56):

its a token search

view this post on Zulip Eric Haas (Mar 17 2016 at 18:56):

...still

view this post on Zulip Robert McClure (Mar 17 2016 at 20:14):

This discussion is giving me some shivers... Your GET shoud NOT (please no) return subsumed codes based as a defualt because a value set expansion (that's what you are operating against for the GET) is a flat list of codes. The expansion can also include additional information, like the hierarchy defined in the code system the codes came from, but that information is suplemental and not somehow "inside the code". So if you want your GET to bring back codes from the value set based on some of the additional information available to you, you should structure the GET "query" to bring a value set subset based on defined parameters. For your example you need to craft a GET that explicitly communicates you want code="active" and all codes subsumed by "active".

view this post on Zulip Grahame Grieve (Mar 17 2016 at 20:16):

Rob - you've misunderstood the context of the question, which is the primary reason you have the shivers

view this post on Zulip Robert McClure (Mar 17 2016 at 20:17):

OK... So when would a GET return subsumed concepts?

view this post on Zulip Grahame Grieve (Mar 17 2016 at 20:18):

well, we're not actually doing value set expansion here. The context is something else


Last updated: Apr 12 2022 at 19:14 UTC