Merged
Conversation
Extends the search endpoint to accept standard FHIR search parameters (token, string, date, number, quantity, reference, URI) alongside the existing FHIRPath-based search. Standard parameters are processed via SearchColumnBuilder while FHIRPath filters continue to use the DatasetEvaluator for truthy semantics and custom type support. Updates SearchProvider to capture raw parameters via @RawParam, ConformanceProvider to declare search parameters in the CapabilityStatement, and the search exception hierarchy to return HTTP 400 for invalid parameters.
Replace ResourceType enum keys with String keys throughout the search parameter registry and its callers. This removes the limitation that only standard FHIR resource types can be represented, enabling support for custom types like ViewDefinition.
Archive the completed expand-server-search OpenSpec change artifacts and sync the server-search-params delta spec to main specs.
Add a search parameters section to the resource search form that allows users to select from the server's declared search parameters for the chosen resource type and provide values. Parameters are extracted from the CapabilityStatement and sent as standard FHIR query parameters alongside any FHIRPath filters.
String search parameters whose FHIRPath expression resolves to a complex type (HumanName, Address) are now expanded into sub-field expressions. Each sub-field is matched independently and results are OR'd together, fixing DATATYPE_MISMATCH errors from Spark.
Previously only invalid parameter names were cleared. Now all filter and parameter rows reset to their initial empty state, avoiding confusion from stale search criteria.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds support for standard FHIR search parameters in the
fhirpathsearch module:sp.jsonalongside custom parametersSearchParameterRegistryandFhirPathUnionParserto useStringresource type keys instead of theResourceTypeenum, enabling support for base types such asDomainResourceandResourceHumanNameandAddresstypes by recognising them as string-compatibleSearchColumnBuilderto handle additional search parameter types:uri,quantity, andnumber