The FHIR specification describes a rich set of default Search Parameters for every resource type, and these are all enabled by default. Every enabled search parameter means additional processing work when a resource is written, so disabling search parameters that are not used can have a significant impact on write performance.
For example, out of the box, every time a Patient resource is written, distinct search parameters are created to index:
Having all of the indexes above is very useful if you are trying to build a general-purpose system that will support searching by any combination of a wide range of demographics.
On the other hand, if you are implementing an Implementation Guide that only mandates support for a specific limited number of search parameters, indexing all of these fields adds processing time and index disk space every time a resource is written.
Search Parameters are controlled in your repository using SearchParameter resources. A simple search can be used to determine which search parameters are active, e.g.:
You can disable unwanted Search Parameters by updating these resources and setting the status to
By default, the system will automatically initalize your repository with all Search Parameters defined in the base FHIR specification when you create a new FHIR repository.
If you wish to automatically adjust this seeding, you can do this using the Search Parameter Seeding settings. Note that it is fine to adjust these after the repository has been created, even if the default set of search parameters has already been created.
The following example shows seeding settings appropriate for a repository being used to support the CARIN Consumer Directed Payer Data Exchange (CARIN IG for Blue Button®) Implementation Guide.
Patient:* Practitioner:* ExplanationOfBenefit:* Coverage:* Organization:*
Patient:identifier Coverage:identifier ExplanationOfBenefit:identifier ExplanationOfBenefit:patient ExplanationOfBenefit:type ExplanationOfBenefit:service-date ExplanationOfBenefit:claim ExplanationOfBenefit:coverage ExplanationOfBenefit:encounter ExplanationOfBenefit:enterer ExplanationOfBenefit:facility ExplanationOfBenefit:provider ExplanationOfBenefit:payee