Stream: implementers
Topic: CapabilityStatement Search Parameters
Richard Kavanagh (Dec 01 2017 at 09:48):
When creating capability statements and populating CapabilityStatement.rest.resource.searchParam is it correct to add the underscore parameters as well (e.g. _id, _lastUpdated etc) ?
If not how does an end-system know which of these have been implemented on an endpoint?
Lloyd McKenzie (Dec 01 2017 at 15:05):
Yes it's appropriate to list those.
ryan moehrke (Oct 21 2019 at 20:03):
So does this answer also apply to _include and _revinclude when CapabilityStatement.rest.resource.searchInclude and .searchRevInclude are defined and populated?
Also is the fact that underscore parameters should be included in searchParam defined in the spec at all because I couldn't find it.
In a small sample size of test servers most (that supported them at all) defined the searchInclude but didn't define _include in searchParam
so if it is expected to have them listed I'm not the only one who doesn't know this.
Michele Mottini (Oct 21 2019 at 21:17):
No, _include and _revinclude (and _count, _total, _summary, _elements etc) are not search parameters
John Moehrke (Oct 22 2019 at 14:39):
really? @Lloyd McKenzie @Grahame Grieve @James Agnew @Michel Rutten
Lloyd McKenzie (Oct 22 2019 at 14:45):
Correct. They govern the operation behavior, but they're not search parameters. At the moment, CapabilityStatement can convey _searchinclude and _searchrevinclude. It can't specify support for some of the other search qualifiers though
ryan moehrke (Oct 22 2019 at 15:18):
So then, let me get this clear,
having searchInclude populated in the capability statement is the only thing used to know if a server supports _include.
(and likewise with searchRevInclude and _revInclude)
_include and _revInclude should explicitly not be in searchParams.
correct?
And then also, is any of this written in the fhir spec.
Lloyd McKenzie (Oct 22 2019 at 15:29):
Well, there are no SearchParameter instances for ._include or._revinclude and they're not listed in the spec as search parameters. The other CapabilityStatement properties are clearly defined. What other guidance do you think is needed?
ryan moehrke (Oct 22 2019 at 16:58):
rather than just checking to see if it isn't defined in the list of SearchParameter instances (which I didn't check because I didn't realize there was an extensive list published)
I instead looked where _include and _revInclude are defined. Which for one is confusing because it is on the Search page and the formatting of search qualifiers is identical to the actual search parameters; the only information that they are are different is they are in a different section of the summary table and have a separate header to distinguish this (that is named differently from the table header so it isn't even obvious that it is what you're looking at)
But then the header in the contents of the page (link: https://www.hl7.org/fhir/search.html#return) is completely empty. If there are substantial differences between the actual search parameters and these search qualifiers then something should be there to describe what this new section is for.
I may have a strange take on this being that I'm not trying to build a server or client but rather trying to test on the topic. But this documentation seems rather lacking to me.
Grahame Grieve (Oct 22 2019 at 17:09):
you could create a task to make this clearer. I agree it's not obvious now
Michael Lawley (Oct 23 2019 at 00:48):
What about documenting support for modifiers like "missing
, :text
, but especially :below
and :in
(code in ValueSet expansion), etc?
Eric Haas (Oct 24 2019 at 00:50):
They are defined in the SP resource which the capstatrment references
Michael Lawley (Oct 24 2019 at 01:06):
ah, so that would be a server-specific SP resource and it would then be derivedFrom
the corresponding FHIR-defined SP - that makes sense
Last updated: Apr 12 2022 at 19:14 UTC