Stream: implementers
Topic: reference:type:missing search
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)?
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)
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
Chris Grenz (Mar 22 2019 at 12:54):
That's an unfortunate outcome I think...certainly there are valid uses for "stacked" modifiers.
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?
Lloyd McKenzie (Mar 22 2019 at 14:32):
Adding new capabilities that don't break existing systems is allowed.
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
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'."
Christiaan Knaap (Mar 23 2019 at 19:08):
And agree on preferably not stacking modifiers.
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...
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
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.
Chris Grenz (Apr 02 2019 at 13:38):
It's not in this list: http://hl7.org/fhir/R4/search.html#table
Chris Grenz (Apr 02 2019 at 13:39):
and not defined as a SearchParameter on Resource maybe?
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)
Christiaan Knaap (Apr 02 2019 at 13:43):
It is indeed not in the definitions. Would be nice and consistent if it was.
Chris Grenz (Apr 02 2019 at 13:51):
I'll open...
Chris Grenz (Apr 02 2019 at 13:53):
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