On this page:
   34.38    FHIR REST Endpoint 34.40    FHIR Interceptors   

34.39FHIR Search

 

The FHIR Search configuration category includes the following configurable options:

  • Use New Search SQL Builder (2020)

  • Fetch Size (Default Maximum)

  • Page Size (Default)

  • Page Size (Maximum)

  • Allow :contains Searches

  • GraphQL Enabled

  • Filter Search Parameter Enabled

  • Search Cache Storage

  • Infinispan Servers

  • Infinispan Cache Name

  • Infinispan Hot Rod Protocol Version. Note that you will need to include an appropriate driver client JAR in the customer_lib directory of your installation.

  • Use ordinal date values for day precision searches.

  • Suppress String Indexing In Tokens

  • Phonetic Encoder

  • Index Contained Resources

34.39.1Property: Use New Search SQL Builder (2020)

 
Property Name Use New Search SQL Builder (2020)
Property Key
Property Type BOOLEAN
Description Smile CDR 2020.11 introduced a new SQL generator for FHIR search operations. This generator creates more streamlined SQL and can dramatically improve performance in some cases. This has been enabled by default as of Smile CDR 2021.02. The legacy generator will be removed in a future release.
Default Value true
Example Property
module.[MODULE_ID].config.dao_config.use_2020_new_search_builder = true

34.39.2Property: Fetch Size (Default Maximum)

 
Property Name Fetch Size (Default Maximum)
Property Key
Property Type POSITIVE_INTEGER
Description If set, this value determines the maximum number of results that may be returned by a single search. Setting this value to a sensible value for the anticipated usage of the CDR can help to prevent careless queries that exhaust resources on the server.
Default Value (no default)
Example Property
module.[MODULE_ID].config.dao_config.fetch_size.default_maximum = 

34.39.3Property: Page Size (Default)

 
Property Name Page Size (Default)
Property Key
Property Type POSITIVE_INTEGER
Description This value sets the default page size for Bundle results of search and history operations.
Default Value 50
Example Property
module.[MODULE_ID].config.page_size.default = 50

34.39.4Property: Page Size (Maximum)

 
Property Name Page Size (Maximum)
Property Key
Property Type POSITIVE_INTEGER
Description This value sets the maximum page size for Bundle results of search and history operations. Client requests for values larger than this will be automatically overridden by the server to use this value.
Default Value 250
Example Property
module.[MODULE_ID].config.page_size.maximum = 250

34.39.5Property: Allow :contains Searches

 
Property Name Allow :contains Searches
Property Key
Property Type BOOLEAN
Description If set to true, clients will be permitted to use the :contains modifier on String searches. This is a potentially slow operation so enable with caution.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.allow_contains_searches = false

34.39.6Property: GraphQL Enabled

 
Property Name GraphQL Enabled
Property Key
Property Type BOOLEAN
Description If enabled, endpoints configured against this storage module will support GraphQL Queries.
Default Value true
Example Property
module.[MODULE_ID].config.graphql.enabled = true

34.39.7Property: Filter Search Parameter Enabled

 
Property Name Filter Search Parameter Enabled
Property Key
Property Type BOOLEAN
Description This setting enables the _filter search parameter. Filter is a standard FHIR search parameter that can be used to narrow down the scope of a search.
Default Value false
Example Property
module.[MODULE_ID].config.filter_search.enabled = false

34.39.8Property: Search Cache Storage

 
Property Name Search Cache Storage
Property Key
Property Type ENUM
Values
  • DATABASE
  • INFINISPAN
Description The default DATABASE maintains the fhir search result cache in the DATABASE. INFINISPAN stores the search results in an infinispan instance.
Default Value DATABASE
Example Property
module.[MODULE_ID].config.searchcache.type = DATABASE

34.39.9Property: Infinispan Servers

 
Property Name Infinispan Servers
Property Key
Property Type STRING
Description A list of semicolon separated infinispan URLS. E.g. "localhost:11223;localhost:11224"
Default Value (no default)
Example Property
module.[MODULE_ID].config.searchcache.infinispan.servers = 

34.39.10Property: Infinispan Cache Name

 
Property Name Infinispan Cache Name
Property Key
Property Type STRING
Description The name of the Infinispan Cache
Default Value (no default)
Example Property
module.[MODULE_ID].config.searchcache.infinispan.cache.name = 

34.39.11Property: Infinispan Hot Rod Protocol Version. Note that you will need to include an appropriate driver client JAR in the customer_lib directory of your installation.

 
Property Name Infinispan Hot Rod Protocol Version. Note that you will need to include an appropriate driver client JAR in the customer_lib directory of your installation.
Property Key
Property Type ENUM
Values
  • PROTOCOL_VERSION_10
  • PROTOCOL_VERSION_11
  • PROTOCOL_VERSION_12
  • PROTOCOL_VERSION_13
  • PROTOCOL_VERSION_20
  • PROTOCOL_VERSION_21
  • PROTOCOL_VERSION_22
  • PROTOCOL_VERSION_23
  • PROTOCOL_VERSION_24
  • PROTOCOL_VERSION_25
  • PROTOCOL_VERSION_26
  • PROTOCOL_VERSION_27
  • PROTOCOL_VERSION_28
  • PROTOCOL_VERSION_29
Description The Hot Rod Protocol Version required by your Infinispan server
Default Value PROTOCOL_VERSION_23
Example Property
module.[MODULE_ID].config.searchcache.infinispan.protocol_version = PROTOCOL_VERSION_23

34.39.12Property: Use ordinal date values for day precision searches.

 
Property Name Use ordinal date values for day precision searches.
Property Key
Property Type BOOLEAN
Description If enabled, causes date search params with DAY precision to rely on the ordinal versions of the dates.
Default Value true
Example Property
module.[MODULE_ID].config.dao_config.use_ordinal_dates_for_day_precision_searches = true

34.39.13Property: Suppress String Indexing In Tokens

 
Property Name Suppress String Indexing In Tokens
Property Key
Property Type BOOLEAN
Description This setting globally disables the indexing of the :text modifier for token search parameters. Disabling this setting can free up a lot of index space on some systems. See Index Text on Tokens for more information.
Default Value false
Example Property
module.[MODULE_ID].config.suppress_string_indexing_in_tokens = false

34.39.14Property: Phonetic Encoder

 
Property Name Phonetic Encoder
Property Key
Property Type ENUM
Values
  • CAVERPHONE1
  • CAVERPHONE2
  • COLOGNE
  • DOUBLE_METAPHONE
  • MATCH_RATING_APPROACH
  • METAPHONE
  • NYSIIS
  • REFINED_SOUNDEX
  • SOUNDEX
Description The encoder used for predefined FHIR Search Parameters named "phonetic" (e.g. the one on Patient). See Phonetic Search Parameters for more information.
Default Value METAPHONE
Example Property
module.[MODULE_ID].config.search.phonetic_encoder = METAPHONE

34.39.15Property: Index Contained Resources

 
Property Name Index Contained Resources
Property Key
Property Type ENUM
Values
  • DISABLED
  • ENABLED
Description If enabled, the server will generate appropriate indexes to support the _contained search parameter flag, which allows chained searches to descend automatically into contained resources. See Index Contained Resources for more information.
Default Value DISABLED
Example Property
module.[MODULE_ID].config.dao_config.index_contained_resources = DISABLED
   34.38    FHIR REST Endpoint 34.40    FHIR Interceptors