Stream: implementers
Topic: Required Parameters for Search
Nihar (Apr 28 2021 at 09:19):
Hi..!
We are trying to implement the US Core Profiles. We have question that which parameters are mandatory under the search request for Care Team Profile, Patient Profile and Smoking Status Observations profile. Please Suggest...Thanks in advance.
Josh Mandel (Apr 28 2021 at 12:31):
Thanks for this question! Can you describe what pages you have reviewed to try to answer this question, including areas of the documentation where you were expecting to see additional detail? This will help us improve the documentation for future users. Also note #united states is probably the best place for this topic.
Daniel Venton (Apr 28 2021 at 12:56):
I'm not sure I understand the difficulty. The IG even uses the word mandatory (from the CareTeam profile page):
"Mandatory Search Parameters:
The following search parameters and search parameter combinations SHALL be supported.:
SHALL support searching using the combination of the patient and status search parameters:
including support for composite OR search on status (e.g.status={system|}[code],{system|}[code],...)
GET [base]/CareTeam?patient=[reference]&status=active"
Nihar (Apr 28 2021 at 13:39):
@Josh Mandel : I'm referring to this page: http://hl7.org/fhir/STU3/careteam.html...!!! Also, referring the "Search Parameter Summary" section on the this page: https://www.hl7.org/fhir/us/core/CapabilityStatement-us-core-server.html#careteam. This made me raise the query here for the required parameters. Please correct me, if the references are different.
Lloyd McKenzie (Apr 28 2021 at 14:26):
First, US core binds to FHIR R4, not STU3. The core specification (either release) doesn't mandate support for any search parameters (or even support for search at all). The US core page lists the expectations for systems waning to comply with that IG. Is there something that is unclear on this page: https://www.hl7.org/fhir/us/core/CapabilityStatement-us-core-server.html#careteam?
Eric Haas (Apr 28 2021 at 14:52):
The US core page lists the expectations for systems wanting to comply with that IG
in the most recently planned publication we have made several edits to clarify conformance to this IG
Nihar (Apr 28 2021 at 17:45):
@Daniel Venton : I got the details mentioned on the Care Team Profile Page. It means that out of 8 Parameters (Listing at Page: http://hl7.org/fhir/R4/careteam.html#search) only Patient and Status are mandatory for Search.
The confusion comes when referring to the US Core Capability Statement(https://build.fhir.org/ig/HL7/US-Core-R4/CapabilityStatement-us-core-client.html#careteam) where the section of "Search Parameter Summary" (Please refer Page: https://build.fhir.org/ig/HL7/US-Core-R4/CapabilityStatement-us-core-server.html#careteam) provides an example as "GET [base]/CareTeam?status=[status]" . Please Suggest.
Lloyd McKenzie (Apr 28 2021 at 17:48):
Why is it confusing for an example to include a search parameter that isn't mandatory to support?
Nihar (Apr 28 2021 at 17:55):
In reference to what Daniel Venton suggested that Patient and Status are mandatory criteria to search, this example from Core Capability becomes confusing. I got your point that there are no parameters mandatory to support search.
Lloyd McKenzie (Apr 28 2021 at 17:57):
For CareTeam, both patient and status are listed as SHOULD - so not mandatory criteria.
Daniel Venton (Apr 28 2021 at 17:59):
You don't have to do them individually. You do have to support them in combination.
Nihar (Apr 28 2021 at 18:01):
@Lloyd McKenzie : Are you referring to the US Core Client Capability or US Core Server Capability? I'm referring to Server Capability (https://build.fhir.org/ig/HL7/US-Core-R4/CapabilityStatement-us-core-server.html#careteam). In Server it is listed as SHALL & MAY whereas in Client it is listed as SHOULD...!!!
Stephen MacVicar (Apr 28 2021 at 18:04):
If a particular client doesn't care about CareTeam, it doesn't have to add support for it.
Lloyd McKenzie (Apr 28 2021 at 18:06):
In client, the parameters are SHOULD both separately and in combination. In server, they're MAY separately and SHALL in combination. I'm not clear on what the point of confusion is?
Eric Haas (Apr 28 2021 at 19:23):
Nihar said:
Daniel Venton : I got the details mentioned on the Care Team Profile Page. It means that out of 8 Parameters (Listing at Page: http://hl7.org/fhir/R4/careteam.html#search) only Patient and Status are mandatory for Search.
The confusion comes when referring to the US Core Capability Statement(https://build.fhir.org/ig/HL7/US-Core-R4/CapabilityStatement-us-core-client.html#careteam) where the section of "Search Parameter Summary" (Please refer Page: https://build.fhir.org/ig/HL7/US-Core-R4/CapabilityStatement-us-core-server.html#careteam) provides an example as "GET [base]/CareTeam?status=[status]" . Please Suggest.
yes that has caused confusion for others (even though there is a bid old MAY next to it.) based on an existing tracker resolution, I will be removing all those optional search examples from the CapabilityStatement narrative in the next version and only exposing the SHALL and SHOULD Search parameters.
Caitlin Ryan (Aug 12 2021 at 16:09):
@Lloyd McKenzie @Eric Haas For combined/combination searches- are they required to be in the Capability Statement? I see the extension to do so but am not positive whether they SHALL be there or SHOULD. I'm assuming it is not required but is strongly recommended as a best practice?
Lloyd McKenzie (Aug 12 2021 at 16:14):
It really comes down to what you expect clients to usefully consume and adapt to at runtime. Being able to adapt to different combinations at runtime is pretty sophisticated.
Caitlin Ryan (Aug 12 2021 at 17:48):
Thanks @Lloyd McKenzie . Now, back to the above example.
If we are supporting a combination search, so patient+status for CareTeam, and not supporting patient or status as stand alone searches, how should this be reflected in the CS?
A - Add the search params and note "combination only" in documentation,
B- Add Search combinations but do not add the search params,
C- Add both search params with note in documentation AND search combos to cover all bases.
D- Other
Lloyd McKenzie (Aug 12 2021 at 19:01):
As an ideal, I'd go with C, but also note the combinations in documentation too. A would be the fallback if you don't see a value in C.
Michele Mottini (Aug 12 2021 at 19:09):
....and please please return an understandable error if the required parameter is missing
Caitlin Ryan (Aug 12 2021 at 19:55):
Thanks for the response/clarification @Lloyd McKenzie !
You got it @Michele Mottini !
Last updated: Apr 12 2022 at 19:14 UTC