Stream: implementers
Topic: wildcards in searches
René Spronk (Aug 26 2020 at 12:16):
http://build.fhir.org/search.html#revinclude states: (qoute) Both _include and _revinclude use the wild card "*" for the search parameter name, indicating that any search parameter of type=reference be included. Though both clients and servers need to take care not to request or return too many resources when doing this. Most notably, using iterative wildcards inclusions might lead to the retrieval of the full patient's record, or even more than that: resources are organized into an interlinked network and broad _include paths may eventually traverse all possible paths on the server. For servers, these iterative and wildcard _includes are demanding and may slow the search response time significantly. (end qoute)
On the assumption that "" was meant as a literal string - how does one use this in a search? None of the servers that I tested with seem to be aware of such a syntax, e.g. GET /Patient?identifier=123&_include=Patient: - what's the intent of the above documentation, or how is this supposed to work?
If the literal "*" appears only in the parameter definition then the above wording needs an update, for that's not what it currently states.
Michele Mottini (Aug 26 2020 at 13:15):
GET [base]/Patient?identifier=123&_include=Patient:*
- returns the patient and all the resources it references - works on our server, pretty sure it should work in some / most of the reference ones.
René Spronk (Aug 26 2020 at 14:11):
test.fhir.org: HTTP 500 Parameter "*" not understood.
HAPI R4: only returns the patient
Vonk R4 returns the patient, and a warning: Wildcard '*' is not implemented for _include
..but at least my understanding of how it's supposed to work is correct ;-)
Richard Braman (Aug 26 2020 at 22:14):
@René Spronk this url works. http://hapi.fhir.org/baseR4/ExplanationOfBenefit?_id=254725&_include=ExplanationOfBenefit:provider . Notice related Practitioner resources are returned at the end of the bundle
René Spronk (Aug 27 2020 at 06:40):
Yes, but that doesn't use a wildcard. Try using a "*" instead of the named 'provider' search parameter at the end of your URL. "Include all things referenced by this ExplanationOfBenifit resource" (not just the 'provider').
Last updated: Apr 12 2022 at 19:14 UTC