FHIR Chat · reference:type:missing search · implementers

Stream: implementers

Topic: reference:type:missing search


view this post on Zulip Chris Grenz (Mar 22 2019 at 11:09):

Ostensibly, I should be able to search for Observations that have a Patient performer by:
/Observation?performer:Patient:missing=false, but test servers either disallow (@Grahame Grieve ) or silently ignore (@Christiaan Knaap @James Agnew ). Is this a valid search (I hope so)?

view this post on Zulip James Agnew (Mar 22 2019 at 12:40):

I don't think that would be valid with the spec as written- there is no description of stacking modifiers like that that I can see. Certainly HAPI wouldn't allow this, we just don't have indexes currently that would support this search.

You could get this information pretty easily by defining a custom SP though that indexes only on something like Observation.performer.where(resolve() is Patient)

view this post on Zulip Alexander Zautke (Mar 22 2019 at 12:45):

It should have been documented that combining multiple modifiers is not valid. See https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=17220

view this post on Zulip Chris Grenz (Mar 22 2019 at 12:54):

That's an unfortunate outcome I think...certainly there are valid uses for "stacked" modifiers.

view this post on Zulip Chris Grenz (Mar 22 2019 at 12:54):

Procedural question - since search is normative, could we allow this in future? Or would that be a breaking change?

view this post on Zulip Lloyd McKenzie (Mar 22 2019 at 14:32):

Adding new capabilities that don't break existing systems is allowed.

view this post on Zulip Grahame Grieve (Mar 22 2019 at 21:15):

I don't like that combination and there are many combinations that would be problematic. I really think this is better done as James suggests

view this post on Zulip Christiaan Knaap (Mar 23 2019 at 19:07):

If the patients are also stored in the server, you can search this with {{url}}/Observation?performer._type=Patient.
On a side note: Vonk does not ignore it silently, it included an OperationOutcome in the bundle stating "Parameter is not well formatted, expected 'parametername[:modifier]=value'."

view this post on Zulip Christiaan Knaap (Mar 23 2019 at 19:08):

And agree on preferably not stacking modifiers.

view this post on Zulip Chris Grenz (Apr 02 2019 at 11:01):

@Christiaan Knaap is there a tracker out there to standardize "_type" on resource? That'd be nice...

view this post on Zulip Chris Grenz (Apr 02 2019 at 12:17):

As to the complexity of "stacking" modifiers, I'm increasingly of the opinion that :missing should be a special case addable to a few modifiers. What I really mean is something like =null, and not being able to add that anywhere a value would be appropriate is a problem. For instance, Observation?code:text:missing=true or (maybe, reaching here) Patient?identifier:of-type:missing=true

view this post on Zulip Christiaan Knaap (Apr 02 2019 at 13:38):

Christiaan Knaap is there a tracker out there to standardize "_type" on resource? That'd be nice...

@Chris Grenz : I don't see how the spec on _type would limit it to a system search, so I already expect this to be standardized.

view this post on Zulip Chris Grenz (Apr 02 2019 at 13:38):

It's not in this list: http://hl7.org/fhir/R4/search.html#table

view this post on Zulip Chris Grenz (Apr 02 2019 at 13:39):

and not defined as a SearchParameter on Resource maybe?

view this post on Zulip Chris Grenz (Apr 02 2019 at 13:40):

Consequently, at least HAPI (@James Agnew ) doesn't implement by default for chained search (by my simple testing)

view this post on Zulip Christiaan Knaap (Apr 02 2019 at 13:43):

It is indeed not in the definitions. Would be nice and consistent if it was.

view this post on Zulip Chris Grenz (Apr 02 2019 at 13:51):

I'll open...

view this post on Zulip Chris Grenz (Apr 02 2019 at 13:53):

GF#20640

view this post on Zulip Chris Grenz (Apr 02 2019 at 14:17):

Also GF#20641 - so much integration work needs to find the missing stuff...


Last updated: Apr 12 2022 at 19:14 UTC