FHIR Chat · Search Prefixes · terminology

Stream: terminology

Topic: Search Prefixes


view this post on Zulip Jack Bowie (Oct 28 2018 at 15:59):

Would appreciate some clarification on 3.1.1.4.5 Prefixes in Search. The use of "parameter" is highly overloaded in this section. Are the following equivalences true:

"the value for the parameter in the resource" is the same as "the search value", and
"the provided value" is the same as "the target value" is the same as "the value that follows the operator in the search parameter" (my words)

Thanks

view this post on Zulip Lloyd McKenzie (Oct 28 2018 at 16:24):

There are specific rules for numeric equality - so 2.13 is considered equal to 2, for example. But yes, I think your equivalencies are correct. If you want to submit a change request to make the wording clearer, you can.

view this post on Zulip Jack Bowie (Oct 28 2018 at 17:31):

Thanks. Just wondered why the two columns of the table used such very different descriptors. Also, in the Introduction section it cites the format as having "?[parameters]" which is yet another definition of the term "parameter" unlike that used elsewhere in the topic.

view this post on Zulip Jack Bowie (Oct 28 2018 at 18:21):

Okay, but if that is the case, look at "gt". Rephrasing: "the range above the value for the parameter in the resource intersects with the range of the provided value". That seems backwards. Also does "the range above" include or exclude the referenced range, i.e. is the start of "the range above" the start of the base range or the end of the base range?

view this post on Zulip Jack Bowie (Oct 28 2018 at 18:59):

The more I look at this, I'm not sure what the equivalences should be. If you look at "eq", what should be the result of "2018" =eq "2018-1" and "2018-1 =eq "2018"?

view this post on Zulip Lloyd McKenzie (Oct 28 2018 at 19:36):

gt excludes ge includes. I presume in your examples you mean '2018-01'. The answer is that both would match because equality with dates is treated as a range. So "2018" counts as 1 second after midnight to midnight on Dec. 31. The range intersection will be non-empty, which means the result will be included.

view this post on Zulip Jack Bowie (Oct 28 2018 at 20:16):

But the definition of eq is given as "the range of the search value fully contains the range of the target value" which is not just non-empty intersection, and is not commutative.

view this post on Zulip Lloyd McKenzie (Oct 28 2018 at 20:20):

@Grahame Grieve ?

view this post on Zulip Michael Lawley (Oct 28 2018 at 22:32):

Hmm, 3.1.1.4.6 omits an example for eq so it's unclear if * When a comparison prefix in the set lgt, lt, ge, le, sa & eb is provided, the implicit precision of the number is ignored, and they are treated as if they have arbitrarily high precision* also applies in the eq case.
That is, foo=100 means foo in range [95.5 ... 100.5), but does foo=eq100 mean exactly equal to 100?

view this post on Zulip Grahame Grieve (Oct 29 2018 at 04:06):

what should be the result of "2018" =eq "2018-1" and "2018-1 =eq "2018"?

I'm not sure how to read this?

view this post on Zulip Lloyd McKenzie (Oct 29 2018 at 04:20):

First (to the left of '=') is the data in the system, second (to the right of '=') is the search value

view this post on Zulip Jack Bowie (Oct 29 2018 at 09:02):

I agree with Lloyd re what I was trying to ask. Let's take another example. Say we have range1 =gt range2. Is the intent that for this to be true, every point in range1 must be greater than every point in range2, i.e., the ranges must be disjoint? FYI, I think the definitions in the second column of 3.1.1.4.5 are inconsistent with the examples in 3.1.1.4.7. This is what caused me to raise the topic. Also, when I said that the current definition of =eq is not transitive I meant commutative. I'll edit my comment.

view this post on Zulip Jack Bowie (Oct 29 2018 at 14:00):

Sometimes I need a picture, so check out the attached. I've tried to represent "range1 =xx range2". The height of the pink box in the middle represents a range2. The blue boxes are examples of range1s. I only see two options for our range arithmetic: Option A and Option B. Option A shows gt as disjoint and eq as non-empty intersection as Lloyd suggested. Option 2 eq is similar to 3.1.1.4.5 and gt is "some points in range1 are greater than any point in range2". The tricky case is a range1 that encompasses Range 1b through Range 1d. In Option 2, it can't be equal but seems to be both gt and lt. Does this help?
Search-Prefix.pptx


Last updated: Apr 12 2022 at 19:14 UTC