-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unify handling of _type
parameter across system-search, system-history, $everything and $export
#3319
Comments
_type
parameter across system-search, system-history, and $export_type
parameter across system-search, system-history, $everything and $export
The $export operation has some special handling for the _types parameter where it checks in both the request url AND the Parameters object. I'd like to try normalizing the two so that downstream code can look in a single spot for request parameters. I think we already do something like that for extended operations that are invoked via GET. |
* Introduce the ResourceTypeName enum in fhir-core and ResourcesConfigAdapter in fhir-config * Use ResourcesConfigAdapter from whole-system search, whole-system history, $everything, and $export I also started on #3319 - system-search now supports multiple instances of the `_type` parameter Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
* Introduce the ResourceTypeName enum in fhir-core and ResourcesConfigAdapter in fhir-config * Use ResourcesConfigAdapter from whole-system search, whole-system history, $everything, and $export I also started on #3319 - system-search now supports multiple instances of the `_type` parameter Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
* Introduce the ResourceTypeName enum in fhir-core and ResourcesConfigAdapter in fhir-config * Use ResourcesConfigAdapter from whole-system search, whole-system history, $everything, and $export I also started on #3319 - system-search now supports multiple instances of the `_type` parameter Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
* Introduce the ResourceTypeName enum in fhir-core and ResourcesConfigAdapter in fhir-config * Use ResourcesConfigAdapter from whole-system search, whole-system history, $everything, and $export I also started on #3319 - system-search now supports multiple instances of the `_type` parameter Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
Previously, I updated whole-system search to support combining multiple instances of the `_type` parameter. Now we will handle multiple '_type' parameters in the extended operations $everything and $export as well. I updated the search section in Conformance.md to indicate this change and added a note in the extended operations section to indicate that query parameters will be ignored for operations invoked via POST. Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
Previously, I updated whole-system search to support combining multiple instances of the `_type` parameter. Now we will handle multiple '_type' parameters in the extended operations $everything and $export as well. I updated the search section in Conformance.md to indicate this change and added a note in the extended operations section to indicate that query parameters will be ignored for operations invoked via POST. Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
Previously, I updated whole-system search to support combining multiple instances of the `_type` parameter. Now we will handle multiple '_type' parameters in the extended operations $everything and $export as well. I updated the search section in Conformance.md to indicate this change and added a note in the extended operations section to indicate that query parameters will be ignored for operations invoked via POST. Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
Previously, I updated whole-system search to support combining multiple instances of the `_type` parameter. Now we will handle multiple '_type' parameters in the extended operations $everything and $export as well. I updated the search section in Conformance.md to indicate this change and added a note in the extended operations section to indicate that query parameters will be ignored for operations invoked via POST. Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
Based on the last comment, I added this line to the acceptance criteria:
That was done so that its consistent with our other operation implementations (and so that it matches the fhir-smart logic for controlling access). That can be revisited under #3480 |
Verified that specifying _type=, or _type=&_type= are handled the same for Search, History, $everything, and Bulk Data Export as requested in the Acceptance Criteria. |
Is your feature request related to a problem? Please describe.
Currently, our system-history implementations accepts multiple instances of the
_type
parameter and combine them into a single list.Conversely, our system-search implementation takes just the first one.
In a recent version of the bulkdata spec, they relaxed the cardinality and so multiple instances of this parameter should be supported there as well. We have a separate issue, #3081, for that one.
Describe the solution you'd like
across these 4 endpoints, we should have common behavior for this parameter
Describe alternatives you've considered
Acceptance Criteria
GET [base]?_type=Patient&_type=Condition
THEN the values of the _type parameters are combined
AND the result matches
GET [base]?_type=Patient,Condition
And verify this same behavior when:
And finally, verify that when $export is invoked via POST, none of the query parameters are used (only the Parameters from the body).
Additional context
We should probably document the behavior in Conformance.md as well, since this differs from how we handle other "return parameters" (#3318 )
The text was updated successfully, but these errors were encountered: