
Class DaoConfig
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
This enum provides allowable options forsetResourceClientIdStrategy(ClientIdStrategyEnum)
static enum
This enum provides allowable options forsetResourceServerIdStrategy(IdStrategyEnum)
static enum
static enum
static enum
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
DefaultsetBundleTypesAllowedForStorage(Set)
value: collection document messagestatic final boolean
This constant applies to task enablement, e.g.static final int
static final HistoryCountModeEnum
static final int
static final int
static final Long
Default value forsetReuseCachedSearchResultsForMillis(Long)
: 60000ms (one minute)static final DaoConfig.TagStorageModeEnum
static final Long
Default value formyTranslationCachesExpireAfterWriteInMinutes
: 60 minutes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddSupportedSubscriptionType
(org.hl7.fhir.dstu2.model.Subscription.SubscriptionChannelType theSubscriptionChannelType) This setting indicates which subscription channel types are supported by the server.void
addTreatReferencesAsLogical
(String theTreatReferencesAsLogical) Add a value to thelogical references list
.boolean
void
long
This setting controls how many bytes of binaries will be automatically inflated from external storage during requests.int
This setting controls how many resources will be stored in each binary file created by a bulk export.int
This setting controls how long Bulk Export collection entities will be retained after job start.int
Specifies the maximum number of times that a chunk will be retried during bulk import processes before giving up.Get the batch transaction thread max pool size.Get the batch transaction thread pool size.This setting specifies the bundle types (Bundle.type
) that are allowed to be stored as-is on the /Bundle endpoint.Specifies the highest number that a client is permitted to use in aCache-Control: nostore, max-results=NNN
directive.When searching, if set to a non-null value (default isnull
) the search coordinator will attempt to find at least this many results before returning a response to the client.ca.uhn.fhir.rest.api.SearchTotalModeEnum
If a non-null value is supplied (default isnull
), a default for the_total
parameter may be specified here.int
When a code system is added that contains more than this number of codes, the code system will be indexed later in an incremental process in order to avoid overwhelming Lucene with a huge number of codes in a single operation.boolean
If set totrue
(default is false) the server will not use hash based searches.If e-mail subscriptions are supported, the From address used when sending e-mailsboolean
This setting controls whether, upon receiving a request for an $export operation, if a batch job already exists that exactly matches the new request, the system should attempt to reuse the batch job.int
Unlike with normal search queries, $everything queries have their _includes loaded by the main search thread and these included results are added to the normal search results instead of being added on as extras in a page.long
Sets the number of milliseconds that search results for a given client search should be preserved before being purged from the database.int
The expunge batch size (default 800) determines the number of records deleted within a single transaction by the expunge operation.int
This setting controls the number of threads allocated to the expunge operationGets the default maximum number of results to load in a query.When performing a FHIR history operation, aBundle.total
value is included in the response, indicating the total number of history entries.Sets a prefix for any indexes created when interacting with hsearch.If set toDaoConfig.IndexEnabledEnum.DISABLED
(default isDaoConfig.IndexEnabledEnum.DISABLED
) the server will not create search indexes for search parameters with no values in resources.int
If set to a positive number, any resources with a character length at or below the given number of characters will be stored inline in theHFJ_RES_VER
table instead of using a separate LOB column.This determines the internal search size that is run synchronously during operations such as searching for Code System IDs by System and Codeboolean
Deprecated.Deprecated in 5.5.0.This determines the maximum number of conflicts that should be fetched and handled while retrying a delete of a resource.int
Specifies the maximum number of_include
and_revinclude
results to return in a single page of results.Provides the maximum number of results which may be returned by a search (HTTP GET) which is executed as a sub-operation within within a FHIRtransaction
orbatch
operation.Specifies the maximum number of resources permitted within a single transaction bundle.int
This is the default value ofcount
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.int
This is the default value ofoffset
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.int
This is the max value ofcount
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.int
The reindex batch size (default 800) determines the number of records reindexed in a single transaction.int
This setting controls the number of threads allocated to resource reindexing (which is only ever used if SearchParameters change, or a manual reindex is triggered due to a HAPI FHIR upgrade or some other reason).Controls the behaviour when a client-assigned ID is encountered, i.e.If set, an individual resource will not be allowed to have more than the given number of tags, profiles, and security labels (the limit is for the combined total for all of these things on an individual resource).This setting configures the strategy to use in generating IDs for newly created resources on the server.If set to a non null value (default isnon null
) if an identical search is requested multiple times within this window, the same results will be returned to multiple queries.This setting sets the number of search results to prefetch.If enabled, resource source information (Resource.meta.source
) will be persisted along with each resource.Set<org.hl7.fhir.dstu2.model.Subscription.SubscriptionChannelType>
This setting indicates which subscription channel types are supported by the server.Sets the tag storage mode for the server.Specifies the duration in minutes for which values will be retained after being written to the terminology translation cache.This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be replaced with simple local references.This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be treated as logical references instead of being treated as real references.Returns a set of searches that should be kept "warm", meaning that searches will periodically be performed in the background to keep results ready for this searchIf websocket subscriptions are enabled, this defines the context path that listens to them.boolean
If set to true (default is false), date indexes will account for null values in the range columns.boolean
Is HSearch indexing enabled beyond _contains or _text?boolean
This setting indicates whether binaries are allowed to be automatically inflated from external storage during requests.boolean
If enabled, the server will support the use of :contains searches, which are helpful but can have adverse effects on performance.boolean
If set totrue
(default isfalse
) the server will allow resources to have references to external servers.boolean
boolean
If enabled, the server will support the use of :mdm search parameter qualifier on Reference Search Parameters.boolean
boolean
When creating or updating a resource: If this property is set totrue
(default isfalse
), if the resource has a reference to another resource on the local server but that reference does not exist, a placeholder resource will be created.boolean
boolean
This setting indicates if a cross-partition subscription can be made.boolean
If set totrue
the default search params (i.e.boolean
This setting should be disabled (set tofalse
) on servers that are not allowing deletes.boolean
If set totrue
(default isfalse
), the _expunge parameter on the DELETE operation will be enabled on this server.boolean
If set tofalse
(default is true) the server will not use in-memory subscription searching and instead use the database matcher for all subscription criteria matching.boolean
If this is enabled (this is the default), this server will attempt to activate and run Bulk Export batch jobs.boolean
If this is enabled (this is the default), this server will attempt to activate and run Bulk Import batch jobs.boolean
If this is enabled (this is the default), this server will attempt to pre-expand any ValueSets that have been uploaded and are not yet pre-expanded.boolean
If this is enabled (this is the default), this server will attempt to run resource reindexing jobs.boolean
If this is enabled (this is the default), this server will periodically scan for and try to delete stale searches in the database.boolean
If set totrue
(default is true) when a resource is being persisted, the target resource types of references will be validated to ensure that they are appropriate for the field containing the reference.boolean
If set tofalse
(default istrue
) resources will be permitted to be deleted even if other resources currently contain references to them.boolean
If set tofalse
(default istrue
) resources will be permitted to be created or updated even if they contain references to local resources that do not exist.boolean
If this is set tofalse
(default istrue
) the stale search deletion task will be disabled (meaning that search results will be retained in the database indefinitely).boolean
If set totrue
(default isfalse
), the $expunge operation will be enabled on this server.boolean
If set totrue
the _filter search parameter will be enabled on this server.boolean
If this setting is enabled, then gated batch jobs that produce only one chunk will immediately trigger a batch maintenance job.boolean
If set totrue
(default isfalse
) the$lastn
operation will be enabled for indexing Observation resources.boolean
Should resources be marked as needing reindexing when a SearchParameter resource is added or changed.boolean
If this is enabled (disabled by default), Mass Ingestion Mode is enabled.boolean
If enabled, resolutions for match URLs (e.g.boolean
WhensetAutoCreatePlaceholderReferenceTargets(boolean)
is enabled, if this setting is set totrue
(default istrue
) and the source reference has an identifier populated, the identifier will be copied to the target resource.boolean
If set totrue
, ValueSets and expansions are stored in terminology tables.boolean
This setting indicate whether a providedResource.meta.source requestID (source#requestID) should be preserved or overwritten.boolean
If set tofalse
(default istrue
), reindexing of resources will be disabled on this server.boolean
boolean
If set totrue
(default is false), the reindexing of search parameters using a query on the HFJ_RESOURCE.SP_INDEX_STATUS column will be disabled completely.boolean
Is storing of Resource in HSearch index enabled?boolean
If set to true (default is true), if a client performs an update which does not actually result in any chance to a given resource (e.g.boolean
If set to true (default is false) then subscriptions will be triggered for resource updates even if they do not trigger a new version (e.g.boolean
When usingunique indexes
, if this setting is set totrue
(default istrue
) the system will test for the existence of a particular unique index value prior to saving a new one.boolean
If set totrue
(default istrue
), indexes will be created for search parameters marked asHapiExtensions.EXT_SP_UNIQUE
.boolean
This setting indicates whether updating the history of a resource is allowed.boolean
This method controls whether to use the new non-hibernate search SQL builder that was introduced in HAPI FHIR 5.2.0.boolean
Iftrue
(default istrue
), before allowing a SearchParameter resource to be stored (create, update, etc.) the expression will be performed against an empty resource to ensure that the FHIRPath executor is able to process it.void
setAccountForDateIndexNulls
(boolean theAccountForDateIndexNulls) If set to true (default is false), date indexes will account for null values in the range columns.void
setAdvancedHSearchIndexing
(boolean theAdvancedHSearchIndexing) Enable/disable HSearch indexing enabled beyond _contains or _text.void
setAllowAutoInflateBinaries
(boolean theAllowAutoDeExternalizingBinaries) This setting indicates whether binaries are allowed to be automatically inflated from external storage during requests.void
setAllowContainsSearches
(boolean theAllowContainsSearches) If enabled, the server will support the use of :contains searches, which are helpful but can have adverse effects on performance.void
setAllowExternalReferences
(boolean theAllowExternalReferences) If set totrue
(default isfalse
) the server will allow resources to have references to external servers.void
setAllowInlineMatchUrlReferences
(boolean theAllowInlineMatchUrlReferences) Should references containing match URLs be resolved and replaced in create and update operations.void
setAllowMdmExpansion
(boolean theAllowMdmExpansion) If enabled, the server will support the use of :mdm search parameter qualifier on Reference Search Parameters.void
setAllowMultipleDelete
(boolean theAllowMultipleDelete) void
setAutoCreatePlaceholderReferenceTargets
(boolean theAutoCreatePlaceholderReferenceTargets) When creating or updating a resource: If this property is set totrue
(default isfalse
), if the resource has a reference to another resource on the local server but that reference does not exist, a placeholder resource will be created.void
setAutoInflateBinariesMaximumBytes
(long theAutoInflateBinariesMaximumBytes) This setting controls how many bytes of binaries will be automatically inflated from external storage during requests.void
setBulkExportFileMaximumCapacity
(int theBulkExportFileMaximumCapacity) This setting controls how many resources will be stored in each binary file created by a bulk export.void
setBulkExportFileRetentionPeriodHours
(int theBulkExportFileRetentionPeriodHours) This setting controls how long Bulk Export collection entities will be retained after job start.void
setBulkImportMaxRetryCount
(int theBulkImportMaxRetryCount) Specifies the maximum number of times that a chunk will be retried during bulk import processes before giving up.void
setBundleBatchMaxPoolSize
(Integer theBundleBatchMaxPoolSize) Set the batch transaction thread pool size.void
setBundleBatchPoolSize
(Integer theBundleBatchPoolSize) Set the batch transaction thread pool size.void
setBundleTypesAllowedForStorage
(Set<String> theBundleTypesAllowedForStorage) This setting specifies the bundle types (Bundle.type
) that are allowed to be stored as-is on the /Bundle endpoint.void
setCacheControlNoStoreMaxResultsUpperLimit
(Integer theCacheControlNoStoreMaxResults) Specifies the highest number that a client is permitted to use in aCache-Control: nostore, max-results=NNN
directive.setConcurrentBundleValidation
(boolean theConcurrentBundleValidation) void
setCountSearchResultsUpTo
(Integer theCountSearchResultsUpTo) When searching, if set to a non-null value (default isnull
) the search coordinator will attempt to find at least this many results before returning a response to the client.void
setCrossPartitionSubscription
(boolean theAllowCrossPartitionSubscription) This setting indicates if a cross-partition subscription can be made.void
setDefaultSearchParamsCanBeOverridden
(boolean theDefaultSearchParamsCanBeOverridden) If set totrue
the default search params (i.e.void
setDefaultTotalMode
(ca.uhn.fhir.rest.api.SearchTotalModeEnum theDefaultTotalMode) If a non-null value is supplied (default isnull
), a default for the_total
parameter may be specified here.void
setDeferIndexingForCodesystemsOfSize
(int theDeferIndexingForCodesystemsOfSize) When a code system is added that contains more than this number of codes, the code system will be indexed later in an incremental process in order to avoid overwhelming Lucene with a huge number of codes in a single operation.void
setDeleteEnabled
(boolean theDeleteEnabled) This setting should be disabled (set tofalse
) on servers that are not allowing deletes.void
setDeleteExpungeEnabled
(boolean theDeleteExpungeEnabled) If set totrue
(default isfalse
), the _expunge parameter on the DELETE operation will be enabled on this server.void
setDisableHashBasedSearches
(boolean theDisableHashBasedSearches) If set totrue
(default is false) the server will not use hash based searches.void
setEmailFromAddress
(String theEmailFromAddress) If e-mail subscriptions are supported, the From address used when sending e-mailsvoid
setEnableBulkExportJobReuse
(boolean theEnableBulkExportJobReuse) This setting controls whether, upon receiving a request for an $export operation, if a batch job already exists that exactly matches the new request, the system should attempt to reuse the batch job.void
setEnableInMemorySubscriptionMatching
(boolean theEnableInMemorySubscriptionMatching) If set tofalse
(default is true) the server will not use in-memory subscription searching and instead use the database matcher for all subscription criteria matching.void
setEnableTaskBulkExportJobExecution
(boolean theEnableTaskBulkExportJobExecution) If this is enabled (this is the default), this server will attempt to activate and run Bulk Export batch jobs.void
setEnableTaskBulkImportJobExecution
(boolean theEnableTaskBulkImportJobExecution) If this is enabled (this is the default), this server will attempt to activate and run Bulk Import batch jobs.void
setEnableTaskPreExpandValueSets
(boolean theEnableTaskPreExpandValueSets) If this is enabled (this is the default), this server will attempt to pre-expand any ValueSets that have been uploaded and are not yet pre-expanded.void
setEnableTaskResourceReindexing
(boolean theEnableTaskResourceReindexing) If this is enabled (this is the default), this server will attempt to run resource reindexing jobs.void
setEnableTaskStaleSearchCleanup
(boolean theEnableTaskStaleSearchCleanup) If this is enabled (this is the default), this server will periodically scan for and try to delete stale searches in the database.void
setEnforceReferenceTargetTypes
(boolean theEnforceReferenceTargetTypes) If set totrue
(default is true) when a resource is being persisted, the target resource types of references will be validated to ensure that they are appropriate for the field containing the reference.void
setEnforceReferentialIntegrityOnDelete
(boolean theEnforceReferentialIntegrityOnDelete) If set tofalse
(default istrue
) resources will be permitted to be deleted even if other resources currently contain references to them.void
setEnforceReferentialIntegrityOnWrite
(boolean theEnforceReferentialIntegrityOnWrite) If set tofalse
(default istrue
) resources will be permitted to be created or updated even if they contain references to local resources that do not exist.void
setEverythingIncludesFetchPageSize
(int theEverythingIncludesFetchPageSize) Unlike with normal search queries, $everything queries have their _includes loaded by the main search thread and these included results are added to the normal search results instead of being added on as extras in a page.void
setExpireSearchResults
(boolean theDeleteStaleSearches) If this is set tofalse
(default istrue
) the stale search deletion task will be disabled (meaning that search results will be retained in the database indefinitely).void
setExpireSearchResultsAfterMillis
(long theExpireSearchResultsAfterMillis) Sets the number of milliseconds that search results for a given client search should be preserved before being purged from the database.void
setExpungeBatchSize
(int theExpungeBatchSize) The expunge batch size (default 800) determines the number of records deleted within a single transaction by the expunge operation.void
setExpungeEnabled
(boolean theExpungeEnabled) If set totrue
(default isfalse
), the $expunge operation will be enabled on this server.void
setExpungeThreadCount
(int theExpungeThreadCount) This setting controls the number of threads allocated to the expunge operationvoid
setFetchSizeDefaultMaximum
(Integer theFetchSizeDefaultMaximum) Gets the default maximum number of results to load in a query.void
setFilterParameterEnabled
(boolean theFilterParameterEnabled) If set totrue
the _filter search parameter will be enabled on this server.void
setHistoryCountMode
(HistoryCountModeEnum theHistoryCountMode) When performing a FHIR history operation, aBundle.total
value is included in the response, indicating the total number of history entries.void
setHSearchIndexPrefix
(String thePrefix) Sets a prefix for any indexes created when interacting with hsearch.void
setIndexMissingFields
(DaoConfig.IndexEnabledEnum theIndexMissingFields) If set toDaoConfig.IndexEnabledEnum.DISABLED
(default isDaoConfig.IndexEnabledEnum.DISABLED
) the server will not create search indexes for search parameters with no values in resources.void
setInlineResourceTextBelowSize
(int theInlineResourceTextBelowSize) If set to a positive number, any resources with a character length at or below the given number of characters will be stored inline in theHFJ_RES_VER
table instead of using a separate LOB column.void
setInternalSynchronousSearchSize
(Integer theInternalSynchronousSearchSize) This determines the internal search size that is run synchronously during operations such as searching for Code System IDs by System and Codevoid
setJobFastTrackingEnabled
(boolean theJobFastTrackingEnabled) If this setting is enabled, then gated batch jobs that produce only one chunk will immediately trigger a batch maintenance job.void
setLastNEnabled
(boolean theLastNEnabled) If set totrue
(default isfalse
) the$lastn
operation will be enabled for indexing Observation resources.void
setMarkResourcesForReindexingUponSearchParameterChange
(boolean theMarkResourcesForReindexingUponSearchParameterChange) Should resources be marked as needing reindexing when a SearchParameter resource is added or changed.void
setMassIngestionMode
(boolean theMassIngestionMode) If this is enabled (disabled by default), Mass Ingestion Mode is enabled.void
setMatchUrlCache
(boolean theMatchUrlCache) Deprecated.Deprecated in 5.5.0.void
setMatchUrlCacheEnabled
(boolean theMatchUrlCache) If enabled, resolutions for match URLs (e.g.void
setMaximumDeleteConflictQueryCount
(Integer theMaximumDeleteConflictQueryCount) This determines the maximum number of conflicts that should be fetched and handled while retrying a delete of a resource.void
setMaximumExpansionSize
(int theMaximumExpansionSize) Sets the maximum number of codes that will be added to an in-memory valueset expansion before the operation will be failed as too costly.void
setMaximumIncludesToLoadPerPage
(Integer theMaximumIncludesToLoadPerPage) Specifies the maximum number of_include
and_revinclude
results to return in a single page of results.void
setMaximumSearchResultCountInTransaction
(Integer theMaximumSearchResultCountInTransaction) Provides the maximum number of results which may be returned by a search (HTTP GET) which is executed as a sub-operation within within a FHIRtransaction
orbatch
operation.setMaximumTransactionBundleSize
(Integer theMaximumTransactionBundleSize) Specifies the maximum number of resources permitted within a single transaction bundle.void
setPopulateIdentifierInAutoCreatedPlaceholderReferenceTargets
(boolean thePopulateIdentifierInAutoCreatedPlaceholderReferenceTargets) WhensetAutoCreatePlaceholderReferenceTargets(boolean)
is enabled, if this setting is set totrue
(default istrue
) and the source reference has an identifier populated, the identifier will be copied to the target resource.void
setPreExpandValueSets
(boolean thePreExpandValueSets) If set totrue
, ValueSets and expansions are stored in terminology tables.void
setPreExpandValueSetsDefaultCount
(int thePreExpandValueSetsDefaultCount) This is the default value ofcount
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.void
setPreExpandValueSetsMaxCount
(int thePreExpandValueSetsMaxCount) This is the max value ofcount
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.void
setPreloadBlobFromInputStream
(Boolean thePreloadBlobFromInputStream) Deprecated.In 5.2.0 this setting no longer does anythingvoid
setPreserveRequestIdInResourceBody
(boolean thePreserveRequestIdInResourceBody) This setting indicate whether a providedResource.meta.source requestID (source#requestID) should be preserved or overwritten.void
setReindexBatchSize
(int theReindexBatchSize) The reindex batch size (default 800) determines the number of records reindexed in a single transaction.void
setReindexEnabled
(boolean theReindexEnabled) If set tofalse
(default istrue
), reindexing of resources will be disabled on this server.void
setReindexThreadCount
(int theReindexThreadCount) This setting controls the number of threads allocated to resource reindexing (which is only ever used if SearchParameters change, or a manual reindex is triggered due to a HAPI FHIR upgrade or some other reason).void
setResourceClientIdStrategy
(DaoConfig.ClientIdStrategyEnum theResourceClientIdStrategy) Controls the behaviour when a client-assigned ID is encountered, i.e.void
setResourceEncoding
(ResourceEncodingEnum theResourceEncoding) void
setResourceMetaCountHardLimit
(Integer theResourceMetaCountHardLimit) If set, an individual resource will not be allowed to have more than the given number of tags, profiles, and security labels (the limit is for the combined total for all of these things on an individual resource).void
setResourceServerIdStrategy
(DaoConfig.IdStrategyEnum theResourceIdStrategy) This setting configures the strategy to use in generating IDs for newly created resources on the server.void
setReuseCachedSearchResultsForMillis
(Long theReuseCachedSearchResultsForMillis) If set to a non null value (default isnon null
) if an identical search is requested multiple times within this window, the same results will be returned to multiple queries.void
setSchedulingDisabled
(boolean theSchedulingDisabled) void
setSearchPreFetchThresholds
(List<Integer> thePreFetchThresholds) This setting sets the number of search results to prefetch.void
setStatusBasedReindexingDisabled
(boolean theStatusBasedReindexingDisabled) If set totrue
(default is false), the reindexing of search parameters using a query on the HFJ_RESOURCE.SP_INDEX_STATUS column will be disabled completely.void
setStoreMetaSourceInformation
(DaoConfig.StoreMetaSourceInformationEnum theStoreMetaSourceInformation) If enabled, resource source information (Resource.meta.source
) will be persisted along with each resource.void
setStoreResourceInHSearchIndex
(boolean theStoreResourceInHSearchIndex) Enable Resource to be stored inline with HSearch index mappings.void
setSuppressUpdatesWithNoChange
(boolean theSuppressUpdatesWithNoChange) If set to true (default is true), if a client performs an update which does not actually result in any chance to a given resource (e.g.void
setTagStorageMode
(DaoConfig.TagStorageModeEnum theTagStorageMode) Sets the tag storage mode for the server.void
setTreatBaseUrlsAsLocal
(Set<String> theTreatBaseUrlsAsLocal) This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be replaced with simple local references.setTreatReferencesAsLogical
(Set<String> theTreatReferencesAsLogical) This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be treated as logical references instead of being treated as real references.void
setTriggerSubscriptionsForNonVersioningChanges
(boolean theTriggerSubscriptionsForNonVersioningChanges) If set to true (default is false) then subscriptions will be triggered for resource updates even if they do not trigger a new version (e.g.void
setUniqueIndexesCheckedBeforeSave
(boolean theUniqueIndexesCheckedBeforeSave) When usingunique indexes
, if this setting is set totrue
(default istrue
) the system will test for the existence of a particular unique index value prior to saving a new one.void
setUniqueIndexesEnabled
(boolean theUniqueIndexesEnabled) If set totrue
(default istrue
), indexes will be created for search parameters marked asHapiExtensions.EXT_SP_UNIQUE
.void
setUpdateWithHistoryRewriteEnabled
(boolean theUpdateWithHistoryRewriteEnabled) This setting indicates whether updating the history of a resource is allowed.void
setUseLegacySearchBuilder
(boolean theUseLegacySearchBuilder) Deprecated.in 6.1.0, this toggle will be removed in 6.2.0 as the Legacy Search Builder has been removed.void
setValidateSearchParameterExpressionsOnSave
(boolean theValidateSearchParameterExpressionsOnSave) Iftrue
(default istrue
), before allowing a SearchParameter resource to be stored (create, update, etc.) the expression will be performed against an empty resource to ensure that the FHIRPath executor is able to process it.void
setWarmCacheEntries
(List<WarmCacheEntry> theWarmCacheEntries) void
setWebsocketContextPath
(String theWebsocketContextPath) If websocket subscriptions are enabled, this defines the context path that listens to them.
-
Field Details
-
DEFAULT_REUSE_CACHED_SEARCH_RESULTS_FOR_MILLIS
Default value forsetReuseCachedSearchResultsForMillis(Long)
: 60000ms (one minute) -
DEFAULT_TRANSLATION_CACHES_EXPIRE_AFTER_WRITE_IN_MINUTES
Default value formyTranslationCachesExpireAfterWriteInMinutes
: 60 minutes- See Also:
-
myTranslationCachesExpireAfterWriteInMinutes
-
DEFAULT_BUNDLE_TYPES_ALLOWED_FOR_STORAGE
DefaultsetBundleTypesAllowedForStorage(Set)
value:- collection
- document
- message
-
DEFAULT_MAX_EXPANSION_SIZE
- See Also:
-
DEFAULT_HISTORY_COUNT_MODE
-
DEFAULT_ENABLE_TASKS
This constant applies to task enablement, e.g.setEnableTaskStaleSearchCleanup(boolean)
.By default, all are enabled.
- See Also:
-
DEFAULT_MAXIMUM_INCLUDES_TO_LOAD_PER_PAGE
- See Also:
-
DEFAULT_TAG_STORAGE_MODE
- Since:
- 5.5.0
-
DEFAULT_EXPUNGE_BATCH_SIZE
- See Also:
-
DEFAULT_BUNDLE_BATCH_POOL_SIZE
- Since:
- 5.6.0
- See Also:
-
DEFAULT_BUNDLE_BATCH_MAX_POOL_SIZE
- See Also:
-
DEFAULT_BUNDLE_BATCH_QUEUE_CAPACITY
- See Also:
-
-
Constructor Details
-
DaoConfig
public DaoConfig()Constructor
-
-
Method Details
-
getInlineResourceTextBelowSize
If set to a positive number, any resources with a character length at or below the given number of characters will be stored inline in theHFJ_RES_VER
table instead of using a separate LOB column.- Since:
- 5.7.0
-
setInlineResourceTextBelowSize
If set to a positive number, any resources with a character length at or below the given number of characters will be stored inline in theHFJ_RES_VER
table instead of using a separate LOB column.- Since:
- 5.7.0
-
getTagStorageMode
Sets the tag storage mode for the server. Default isDaoConfig.TagStorageModeEnum.VERSIONED
.- Since:
- 5.5.0
-
setTagStorageMode
Sets the tag storage mode for the server. Default isDaoConfig.TagStorageModeEnum.VERSIONED
.- Since:
- 5.5.0
-
getBulkImportMaxRetryCount
Specifies the maximum number of times that a chunk will be retried during bulk import processes before giving up.- Since:
- 5.5.0
-
setBulkImportMaxRetryCount
Specifies the maximum number of times that a chunk will be retried during bulk import processes before giving up.- Since:
- 5.5.0
-
getMaximumIncludesToLoadPerPage
Specifies the maximum number of_include
and_revinclude
results to return in a single page of results. The default is1000
, andnull
may be used to indicate that there is no limit.- Since:
- 5.5.0
-
setMaximumIncludesToLoadPerPage
Specifies the maximum number of_include
and_revinclude
results to return in a single page of results. The default is1000
, andnull
may be used to indicate that there is no limit.- Since:
- 5.5.0
-
getHistoryCountMode
When performing a FHIR history operation, aBundle.total
value is included in the response, indicating the total number of history entries. This response is calculated using a SQL COUNT query statement which can be expensive. This setting allows the results of the count query to be cached, resulting in a much lighter load on the server, at the expense of returning total values that may be slightly out of date. Total counts can also be disabled, or forced to always be accurate.In
HistoryCountModeEnum.CACHED_ONLY_WITHOUT_OFFSET
mode, a loading cache is used to fetch the value, meaning that only one thread per JVM will fetch the count, and others will block while waiting for the cache to load, avoiding excessive load on the database.- Since:
- 5.4.0
-
setHistoryCountMode
When performing a FHIR history operation, aBundle.total
value is included in the response, indicating the total number of history entries. This response is calculated using a SQL COUNT query statement which can be expensive. This setting allows the results of the count query to be cached, resulting in a much lighter load on the server, at the expense of returning total values that may be slightly out of date. Total counts can also be disabled, or forced to always be accurate.In
HistoryCountModeEnum.CACHED_ONLY_WITHOUT_OFFSET
mode, a loading cache is used to fetch the value, meaning that only one thread per JVM will fetch the count, and others will block while waiting for the cache to load, avoiding excessive load on the database.- Since:
- 5.4.0
-
isLastNEnabled
If set totrue
(default isfalse
) the$lastn
operation will be enabled for indexing Observation resources. This operation involves creating a special set of tables in hsearch for discovering Observation resources. Enabling this setting increases the amount of storage space required, and can slow write operations, but can be very useful for searching for collections of Observations for some applications.- Since:
- 5.1.0
-
setLastNEnabled
If set totrue
(default isfalse
) the$lastn
operation will be enabled for indexing Observation resources. This operation involves creating a special set of tables in hsearch for discovering Observation resources. Enabling this setting increases the amount of storage space required, and can slow write operations, but can be very useful for searching for collections of Observations for some applications.- Since:
- 5.1.0
-
isUseLegacySearchBuilder
This method controls whether to use the new non-hibernate search SQL builder that was introduced in HAPI FHIR 5.2.0. By default this will befalse
meaning that the new SQL builder is used. Set totrue
to use the legacy SQL builder based on Hibernate.Note that this method will be removed in HAPI FHIR 5.4.0
- Since:
- 5.3.0
-
setUseLegacySearchBuilder
Deprecated.in 6.1.0, this toggle will be removed in 6.2.0 as the Legacy Search Builder has been removed.This method controls whether to use the new non-hibernate search SQL builder that was introduced in HAPI FHIR 5.2.0. By default this will befalse
meaning that the new SQL builder is used. Set totrue
to use the legacy SQL builder based on Hibernate.Note that this method will be removed in HAPI FHIR 5.4.0
- Since:
- 5.3.0
-
getTranslationCachesExpireAfterWriteInMinutes
Specifies the duration in minutes for which values will be retained after being written to the terminology translation cache. Defaults to 60. -
getMatchUrlCache
Deprecated.Deprecated in 5.5.0. UseisMatchUrlCacheEnabled()
instead (the name of this method is misleading)If enabled, resolutions for match URLs (e.g. conditional create URLs, conditional update URLs, etc) will be cached in an in-memory cache. This cache can have a noticeable improvement on write performance on servers where conditional operations are frequently performed, but note that this cache will not be invalidated based on updates to resources so this may have detrimental effects.Default is
false
- Since:
- 5.4.0
-
setMatchUrlCache
Deprecated.Deprecated in 5.5.0. UsesetMatchUrlCacheEnabled(boolean)
instead (the name of this method is misleading)If enabled, resolutions for match URLs (e.g. conditional create URLs, conditional update URLs, etc) will be cached in an in-memory cache. This cache can have a noticeable improvement on write performance on servers where conditional operations are frequently performed, but note that this cache will not be invalidated based on updates to resources so this may have detrimental effects.Default is
false
- Since:
- 5.4.0
-
isMatchUrlCacheEnabled
If enabled, resolutions for match URLs (e.g. conditional create URLs, conditional update URLs, etc) will be cached in an in-memory cache. This cache can have a noticeable improvement on write performance on servers where conditional operations are frequently performed, but note that this cache will not be invalidated based on updates to resources so this may have detrimental effects.Default is
false
- Since:
- 5.5.0
-
setMatchUrlCacheEnabled
If enabled, resolutions for match URLs (e.g. conditional create URLs, conditional update URLs, etc) will be cached in an in-memory cache. This cache can have a noticeable improvement on write performance on servers where conditional operations are frequently performed, but note that this cache will not be invalidated based on updates to resources so this may have detrimental effects.Default is
false
- Since:
- 5.5.0
-
isEnforceReferenceTargetTypes
If set totrue
(default is true) when a resource is being persisted, the target resource types of references will be validated to ensure that they are appropriate for the field containing the reference. This is generally a good idea because invalid reference target types may not be searchable. -
setEnforceReferenceTargetTypes
If set totrue
(default is true) when a resource is being persisted, the target resource types of references will be validated to ensure that they are appropriate for the field containing the reference. This is generally a good idea because invalid reference target types may not be searchable. -
getDefaultTotalMode
If a non-null value is supplied (default isnull
), a default for the_total
parameter may be specified here. For example, setting this value toSearchTotalModeEnum.ACCURATE
will force a count to always be calculated for all searches. This can have a performance impact since it means that a count query will always be performed, but this is desirable for some solutions. -
setDefaultTotalMode
If a non-null value is supplied (default isnull
), a default for the_total
parameter may be specified here. For example, setting this value toSearchTotalModeEnum.ACCURATE
will force a count to always be calculated for all searches. This can have a performance impact since it means that a count query will always be performed, but this is desirable for some solutions. -
getWarmCacheEntries
Returns a set of searches that should be kept "warm", meaning that searches will periodically be performed in the background to keep results ready for this search -
setWarmCacheEntries
-
isStatusBasedReindexingDisabled
If set totrue
(default is false), the reindexing of search parameters using a query on the HFJ_RESOURCE.SP_INDEX_STATUS column will be disabled completely. This query is just not efficient on Oracle and bogs the system down when there are a lot of resources. A more efficient way of doing this will be introduced in the next release of HAPI FHIR.- Since:
- 3.5.0
-
setStatusBasedReindexingDisabled
If set totrue
(default is false), the reindexing of search parameters using a query on the HFJ_RESOURCE.SP_INDEX_STATUS column will be disabled completely. This query is just not efficient on Oracle and bogs the system down when there are a lot of resources. A more efficient way of doing this will be introduced in the next release of HAPI FHIR.- Since:
- 3.5.0
-
addTreatReferencesAsLogical
Add a value to thelogical references list
.- See Also:
-
getBundleTypesAllowedForStorage
This setting specifies the bundle types (Bundle.type
) that are allowed to be stored as-is on the /Bundle endpoint.- See Also:
-
setBundleTypesAllowedForStorage
This setting specifies the bundle types (Bundle.type
) that are allowed to be stored as-is on the /Bundle endpoint.- See Also:
-
getCacheControlNoStoreMaxResultsUpperLimit
Specifies the highest number that a client is permitted to use in aCache-Control: nostore, max-results=NNN
directive. If the client tries to exceed this limit, the request will be denied. Defaults to 1000. -
setCacheControlNoStoreMaxResultsUpperLimit
Specifies the highest number that a client is permitted to use in aCache-Control: nostore, max-results=NNN
directive. If the client tries to exceed this limit, the request will be denied. Defaults to 1000. -
getCountSearchResultsUpTo
When searching, if set to a non-null value (default isnull
) the search coordinator will attempt to find at least this many results before returning a response to the client. This parameter mainly affects whether a "total count" is included in the response bundle for searches that return large amounts of data.For a search that returns 10000 results, if this value is set to 10000 the search coordinator will find all 10000 results prior to returning, so the initial response bundle will have the total set to 10000. If this value is null (or less than 10000) the response bundle will likely return slightly faster, but will not include the total. Subsequent page requests will likely include the total however, if they are performed after the search coordinator has found all results.
Set this value to
0
to always load all results before returning. -
setCountSearchResultsUpTo
When searching, if set to a non-null value (default isnull
) the search coordinator will attempt to find at least this many results before returning a response to the client. This parameter mainly affects whether a "total count" is included in the response bundle for searches that return large amounts of data.For a search that returns 10000 results, if this value is set to 10000 the search coordinator will find all 10000 results prior to returning, so the initial response bundle will have the total set to 10000. If this value is null (or less than 10000) the response bundle will likely return slightly faster, but will not include the total. Subsequent page requests will likely include the total however, if they are performed after the search coordinator has found all results.
Set this value to
0
to always load all results before returning. -
getDeferIndexingForCodesystemsOfSize
When a code system is added that contains more than this number of codes, the code system will be indexed later in an incremental process in order to avoid overwhelming Lucene with a huge number of codes in a single operation.Defaults to 100
-
setDeferIndexingForCodesystemsOfSize
When a code system is added that contains more than this number of codes, the code system will be indexed later in an incremental process in order to avoid overwhelming Lucene with a huge number of codes in a single operation.Defaults to 100
-
getEverythingIncludesFetchPageSize
Unlike with normal search queries, $everything queries have their _includes loaded by the main search thread and these included results are added to the normal search results instead of being added on as extras in a page. This means that they will not appear multiple times as the search results are paged over.In order to recursively load _includes, we process the original results in batches of this size. Adjust with caution, increasing this value may improve performance but may also cause memory issues.
The default value is 50
-
setEverythingIncludesFetchPageSize
Unlike with normal search queries, $everything queries have their _includes loaded by the main search thread and these included results are added to the normal search results instead of being added on as extras in a page. This means that they will not appear multiple times as the search results are paged over.In order to recursively load _includes, we process the original results in batches of this size. Adjust with caution, increasing this value may improve performance but may also cause memory issues.
The default value is 50
-
getExpireSearchResultsAfterMillis
Sets the number of milliseconds that search results for a given client search should be preserved before being purged from the database.Search results are stored in the database so that they can be paged over multiple requests. After this number of milliseconds, they will be deleted from the database, and any paging links (next/prev links in search response bundles) will become invalid. Defaults to 1 hour.
To disable this feature entirely, see
setExpireSearchResults(boolean)
- Since:
- 1.5
-
setExpireSearchResultsAfterMillis
Sets the number of milliseconds that search results for a given client search should be preserved before being purged from the database.Search results are stored in the database so that they can be paged over multiple requests. After this number of milliseconds, they will be deleted from the database, and any paging links (next/prev links in search response bundles) will become invalid. Defaults to 1 hour.
To disable this feature entirely, see
setExpireSearchResults(boolean)
- Since:
- 1.5
-
getFetchSizeDefaultMaximum
Gets the default maximum number of results to load in a query.For example, if the database has a million Patient resources in it, and the client requests
GET /Patient
, if this value is set to a non-null value (default isnull
) only this number of results will be fetched. Setting this value appropriately can be useful to improve performance in some situations. -
setFetchSizeDefaultMaximum
Gets the default maximum number of results to load in a query.For example, if the database has a million Patient resources in it, and the client requests
GET /Patient
, if this value is set to a non-null value (default isnull
) only this number of results will be fetched. Setting this value appropriately can be useful to improve performance in some situations. -
getIndexMissingFields
If set toDaoConfig.IndexEnabledEnum.DISABLED
(default isDaoConfig.IndexEnabledEnum.DISABLED
) the server will not create search indexes for search parameters with no values in resources.Disabling this feature means that the
:missing
search modifier will not be supported on the server, but also means that storage and indexing (i.e. writes to the database) may be much faster on servers which have lots of search parameters and need to write quickly.This feature may be enabled on servers where supporting the use of the :missing parameter is of higher importance than raw write performance
-
setIndexMissingFields
If set toDaoConfig.IndexEnabledEnum.DISABLED
(default isDaoConfig.IndexEnabledEnum.DISABLED
) the server will not create search indexes for search parameters with no values in resources.Disabling this feature means that the
:missing
search modifier will not be supported on the server, but also means that storage and indexing (i.e. writes to the database) may be much faster on servers which have lots of search parameters and need to write quickly.This feature may be enabled on servers where supporting the use of the :missing parameter is of higher importance than raw write performance
Note that this setting also has an impact on sorting (i.e. using the
_sort
parameter on searches): If the server is configured to not index missing field.The following index may need to be added into the indexed tables such as
HFJ_SPIDX_TOKEN
to improve the search performance while:missing
is enabled.RES_TYPE, SP_NAME, SP_MISSING
-
getMaximumExpansionSize
-
setMaximumExpansionSize
Sets the maximum number of codes that will be added to an in-memory valueset expansion before the operation will be failed as too costly. Note that this setting applies only to in-memory expansions and does not apply to expansions that are being pre-calculated.The default value for this setting is 1000.
-
getMaximumSearchResultCountInTransaction
Provides the maximum number of results which may be returned by a search (HTTP GET) which is executed as a sub-operation within within a FHIRtransaction
orbatch
operation. For example, if this value is set to100
and a FHIR transaction is processed with a sub-request forPatient?gender=male
, the server will throw an error (and the transaction will fail) if there are more than 100 resources on the server which match this query.The default value is
null
, which means that there is no limit. -
setMaximumSearchResultCountInTransaction
public void setMaximumSearchResultCountInTransaction(Integer theMaximumSearchResultCountInTransaction) Provides the maximum number of results which may be returned by a search (HTTP GET) which is executed as a sub-operation within within a FHIRtransaction
orbatch
operation. For example, if this value is set to100
and a FHIR transaction is processed with a sub-request forPatient?gender=male
, the server will throw an error (and the transaction will fail) if there are more than 100 resources on the server which match this query.The default value is
null
, which means that there is no limit. -
getMaximumTransactionBundleSize
Specifies the maximum number of resources permitted within a single transaction bundle. If a transaction bundle is submitted with more than this number of resources, it will be rejected with a PayloadTooLarge exception.The default value is
null
, which means that there is no limit. -
setMaximumTransactionBundleSize
Specifies the maximum number of resources permitted within a single transaction bundle. If a transaction bundle is submitted with more than this number of resources, it will be rejected with a PayloadTooLarge exception.The default value is
null
, which means that there is no limit. -
getReindexThreadCount
This setting controls the number of threads allocated to resource reindexing (which is only ever used if SearchParameters change, or a manual reindex is triggered due to a HAPI FHIR upgrade or some other reason).The default value is set to the number of available processors (via
Runtime.getRuntime().availableProcessors()
). Value for this setting must be a positive integer. -
setReindexThreadCount
This setting controls the number of threads allocated to resource reindexing (which is only ever used if SearchParameters change, or a manual reindex is triggered due to a HAPI FHIR upgrade or some other reason).The default value is set to the number of available processors (via
Runtime.getRuntime().availableProcessors()
). Value for this setting must be a positive integer. -
getExpungeThreadCount
This setting controls the number of threads allocated to the expunge operationThe default value is set to the number of available processors (via
Runtime.getRuntime().availableProcessors()
). Value for this setting must be a positive integer. -
setExpungeThreadCount
This setting controls the number of threads allocated to the expunge operationThe default value is set to the number of available processors (via
Runtime.getRuntime().availableProcessors()
). Value for this setting must be a positive integer. -
getResourceEncoding
-
setResourceEncoding
-
getResourceMetaCountHardLimit
If set, an individual resource will not be allowed to have more than the given number of tags, profiles, and security labels (the limit is for the combined total for all of these things on an individual resource).If set to
null
, no limit will be applied.The default value for this setting is 1000.
-
setResourceMetaCountHardLimit
If set, an individual resource will not be allowed to have more than the given number of tags, profiles, and security labels (the limit is for the combined total for all of these things on an individual resource).If set to
null
, no limit will be applied.The default value for this setting is 1000.
-
getResourceClientIdStrategy
Controls the behaviour when a client-assigned ID is encountered, i.e. an HTTP PUT on a resource ID that does not already exist in the database.Default is
DaoConfig.ClientIdStrategyEnum.ALPHANUMERIC
-
setResourceClientIdStrategy
Controls the behaviour when a client-assigned ID is encountered, i.e. an HTTP PUT on a resource ID that does not already exist in the database.Default is
DaoConfig.ClientIdStrategyEnum.ALPHANUMERIC
- Parameters:
theResourceClientIdStrategy
- Must not benull
-
getResourceServerIdStrategy
This setting configures the strategy to use in generating IDs for newly created resources on the server. The default isDaoConfig.IdStrategyEnum.SEQUENTIAL_NUMERIC
.This strategy is only used for server-assigned IDs, i.e. for HTTP POST where the client is requesing that the server store a new resource and give it an ID.
-
setResourceServerIdStrategy
This setting configures the strategy to use in generating IDs for newly created resources on the server. The default isDaoConfig.IdStrategyEnum.SEQUENTIAL_NUMERIC
.This strategy is only used for server-assigned IDs, i.e. for HTTP POST where the client is requesing that the server store a new resource and give it an ID.
- Parameters:
theResourceIdStrategy
- The strategy. Must not benull
.
-
getReuseCachedSearchResultsForMillis
If set to a non null value (default isnon null
) if an identical search is requested multiple times within this window, the same results will be returned to multiple queries. For example, if this value is set to 1 minute and a client searches for all patients named "smith", and then a second client also performs the same search within 1 minute, the same cached results will be returned.This approach can improve performance, especially under heavy load, but can also mean that searches may potentially return slightly out-of-date results.
Note that if this is set to a non-null value, clients may override this setting by using the
Cache-Control
header. If this is set tonull
, the Cache-Control header will be ignored. -
setReuseCachedSearchResultsForMillis
If set to a non null value (default isnon null
) if an identical search is requested multiple times within this window, the same results will be returned to multiple queries. For example, if this value is set to 1 minute and a client searches for all patients named "smith", and then a second client also performs the same search within 1 minute, the same cached results will be returned.This approach can improve performance, especially under heavy load, but can also mean that searches may potentially return slightly out-of-date results.
Note that if this is set to a non-null value, clients may override this setting by using the
Cache-Control
header. If this is set tonull
, the Cache-Control header will be ignored. -
getTreatReferencesAsLogical
This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be treated as logical references instead of being treated as real references.A logical reference is a reference which is treated as an identifier, and does not neccesarily resolve. See references for a description of logical references. For example, the valueset valueset-quantity-comparator is a logical reference.
Values for this field may take either of the following forms:
http://example.com/some-url
(will be matched exactly)http://example.com/some-base*
(will match anything beginning with the part before the *)
- See Also:
-
setTreatReferencesAsLogical
This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be treated as logical references instead of being treated as real references.A logical reference is a reference which is treated as an identifier, and does not neccesarily resolve. See references for a description of logical references. For example, the valueset valueset-quantity-comparator is a logical reference.
Values for this field may take either of the following forms:
http://example.com/some-url
(will be matched exactly)http://example.com/some-base*
(will match anything beginning with the part before the *)
- See Also:
-
isAllowExternalReferences
If set totrue
(default isfalse
) the server will allow resources to have references to external servers. For example if this server is running athttp://example.com/fhir
and this setting is set totrue
the server will allow a Patient resource to be saved with a Patient.organization value ofhttp://foo.com/Organization/1
.Under the default behaviour if this value has not been changed, the above resource would be rejected by the server because it requires all references to be resolvable on the local server.
Note that external references will be indexed by the server and may be searched (e.g.
Patient:organization
), but chained searches (e.g.Patient:organization.name
) will not work across these references.It is recommended to also set
setTreatBaseUrlsAsLocal(Set)
if this value is set totrue
-
setAllowExternalReferences
If set totrue
(default isfalse
) the server will allow resources to have references to external servers. For example if this server is running athttp://example.com/fhir
and this setting is set totrue
the server will allow a Patient resource to be saved with a Patient.organization value ofhttp://foo.com/Organization/1
.Under the default behaviour if this value has not been changed, the above resource would be rejected by the server because it requires all references to be resolvable on the local server.
Note that external references will be indexed by the server and may be searched (e.g.
Patient:organization
), but chained searches (e.g.Patient:organization.name
) will not work across these references.It is recommended to also set
setTreatBaseUrlsAsLocal(Set)
if this value is set totrue
-
isAllowInlineMatchUrlReferences
-
setAllowInlineMatchUrlReferences
Should references containing match URLs be resolved and replaced in create and update operations. For example, if this property is set to true and a resource is created containing a reference to "Patient?identifier=12345", this is reference match URL will be resolved and replaced according to the usual match URL rules.Default is true beginning in HAPI FHIR 2.4, since this feature is now specified in the FHIR specification. (Previously it was an experimental/proposed feature)
- Since:
- 1.5
-
isAllowMultipleDelete
-
setAllowMultipleDelete
-
isAutoCreatePlaceholderReferenceTargets
When creating or updating a resource: If this property is set totrue
(default isfalse
), if the resource has a reference to another resource on the local server but that reference does not exist, a placeholder resource will be created.In other words, if an observation with subject
Patient/FOO
is created, but there is no resource calledPatient/FOO
on the server, this property causes an empty patient with ID "FOO" to be created in order to prevent this operation from failing.This property can be useful in cases where replication between two servers is wanted. Note however that references containing purely numeric IDs will not be auto-created as they are never allowed to be client supplied in HAPI FHIR JPA.
All placeholder resources created in this way have an extension with the URL
HapiExtensions.EXT_RESOURCE_PLACEHOLDER
and the value "true". -
setAutoCreatePlaceholderReferenceTargets
public void setAutoCreatePlaceholderReferenceTargets(boolean theAutoCreatePlaceholderReferenceTargets) When creating or updating a resource: If this property is set totrue
(default isfalse
), if the resource has a reference to another resource on the local server but that reference does not exist, a placeholder resource will be created.In other words, if an observation with subject
Patient/FOO
is created, but there is no resource calledPatient/FOO
on the server, this property causes an empty patient with ID "FOO" to be created in order to prevent this operation from failing.This property can be useful in cases where replication between two servers is wanted. Note however that references containing purely numeric IDs will not be auto-created as they are never allowed to be client supplied in HAPI FHIR JPA.
All placeholder resources created in this way have an extension with the URL
HapiExtensions.EXT_RESOURCE_PLACEHOLDER
and the value "true". -
isPopulateIdentifierInAutoCreatedPlaceholderReferenceTargets
WhensetAutoCreatePlaceholderReferenceTargets(boolean)
is enabled, if this setting is set totrue
(default istrue
) and the source reference has an identifier populated, the identifier will be copied to the target resource.When enabled, if an Observation contains a reference like the one below, and no existing resource was found that matches the given ID, a new one will be created and its
Patient.identifier
value will be populated using the value fromObservation.subject.identifier
.{ "resourceType": "Observation", "subject": { "reference": "Patient/ABC", "identifier": { "system": "http://foo", "value": "123" } } }
This method is often combined with
setAllowInlineMatchUrlReferences(boolean)
.In other words if an Observation contains a reference like the one below, and no existing resource was found that matches the given match URL, a new one will be created and its
Patient.identifier
value will be populated using the value fromObservation.subject.identifier
.{ "resourceType": "Observation", "subject": { "reference": "Patient?identifier=http://foo|123", "identifier": { "system": "http://foo", "value": "123" } } }
Note that the default for this setting was previously
false
, and was changed totrue
in 5.4.0 with consideration to the following:CP = Auto-Create Placeholder Reference Targets PI = Populate Identifier in Auto-Created Placeholder Reference Targets CP | PI ------- F | F <- PI=F is ignored F | T <- PI=T is ignored T | F <- resources may reference placeholder reference targets that are never updated : ( T | T <- placeholder reference targets can be updated : )
Where CP=T and PI=F, the following could happen:
- Resource instance A is created with a reference to resource instance B. B is a placeholder reference target without an identifier.
- Resource instance C is conditionally created using a match URL. It is not matched to B although these resources represent the same entity.
- A continues to reference placeholder B, and does not reference populated C.
There may be cases where configuring this setting to
false
would be appropriate; however, these are exceptional cases that should be opt-in.- Since:
- 4.2.0
-
setPopulateIdentifierInAutoCreatedPlaceholderReferenceTargets
public void setPopulateIdentifierInAutoCreatedPlaceholderReferenceTargets(boolean thePopulateIdentifierInAutoCreatedPlaceholderReferenceTargets) WhensetAutoCreatePlaceholderReferenceTargets(boolean)
is enabled, if this setting is set totrue
(default istrue
) and the source reference has an identifier populated, the identifier will be copied to the target resource.When enabled, if an Observation contains a reference like the one below, and no existing resource was found that matches the given ID, a new one will be created and its
Patient.identifier
value will be populated using the value fromObservation.subject.identifier
.{ "resourceType": "Observation", "subject": { "reference": "Patient/ABC", "identifier": { "system": "http://foo", "value": "123" } } }
This method is often combined with
setAllowInlineMatchUrlReferences(boolean)
.In other words if an Observation contains a reference like the one below, and no existing resource was found that matches the given match URL, a new one will be created and its
Patient.identifier
value will be populated using the value fromObservation.subject.identifier
.{ "resourceType": "Observation", "subject": { "reference": "Patient?identifier=http://foo|123", "identifier": { "system": "http://foo", "value": "123" } } }
Note that the default for this setting was previously
false
, and was changed totrue
in 5.4.0 with consideration to the following:CP = Auto-Create Placeholder Reference Targets PI = Populate Identifier in Auto-Created Placeholder Reference Targets CP | PI ------- F | F <- PI=F is ignored F | T <- PI=T is ignored T | F <- resources may reference placeholder reference targets that are never updated : ( T | T <- placeholder reference targets can be updated : )
Where CP=T and PI=F, the following could happen:
- Resource instance A is created with a reference to resource instance B. B is a placeholder reference target without an identifier.
- Resource instance C is conditionally created using a match URL. It is not matched to B although these resources represent the same entity.
- A continues to reference placeholder B, and does not reference populated C.
There may be cases where configuring this setting to
false
would be appropriate; however, these are exceptional cases that should be opt-in.- Since:
- 4.2.0
-
isEnforceReferentialIntegrityOnDelete
If set tofalse
(default istrue
) resources will be permitted to be deleted even if other resources currently contain references to them.This property can cause confusing results for clients of the server since searches, includes, and other FHIR features may not behave as expected when referential integrity is not preserved. Use this feature with caution.
-
setEnforceReferentialIntegrityOnDelete
If set tofalse
(default istrue
) resources will be permitted to be deleted even if other resources currently contain references to them.This property can cause confusing results for clients of the server since searches, includes, and other FHIR features may not behave as expected when referential integrity is not preserved. Use this feature with caution.
-
isEnforceReferentialIntegrityOnWrite
If set tofalse
(default istrue
) resources will be permitted to be created or updated even if they contain references to local resources that do not exist.For example, if a patient contains a reference to managing organization
Organization/FOO
but FOO is not a valid ID for an organization on the server, the operation will be blocked unless this propery has been set tofalse
This property can cause confusing results for clients of the server since searches, includes, and other FHIR features may not behave as expected when referential integrity is not preserved. Use this feature with caution.
-
setEnforceReferentialIntegrityOnWrite
If set tofalse
(default istrue
) resources will be permitted to be created or updated even if they contain references to local resources that do not exist.For example, if a patient contains a reference to managing organization
Organization/FOO
but FOO is not a valid ID for an organization on the server, the operation will be blocked unless this propery has been set tofalse
This property can cause confusing results for clients of the server since searches, includes, and other FHIR features may not behave as expected when referential integrity is not preserved. Use this feature with caution.
-
isExpireSearchResults
If this is set tofalse
(default istrue
) the stale search deletion task will be disabled (meaning that search results will be retained in the database indefinitely). USE WITH CAUTION.This feature is useful if you want to define your own process for deleting these (e.g. because you are running in a cluster)
-
setExpireSearchResults
If this is set tofalse
(default istrue
) the stale search deletion task will be disabled (meaning that search results will be retained in the database indefinitely). USE WITH CAUTION.This feature is useful if you want to define your own process for deleting these (e.g. because you are running in a cluster)
-
isExpungeEnabled
If set totrue
(default isfalse
), the $expunge operation will be enabled on this server. This operation is potentially dangerous since it allows a client to physically delete data in a way that can not be recovered (without resorting to backups).It is recommended to not enable this setting without appropriate security in place on your server to prevent non-administrators from using this operation.
-
setExpungeEnabled
If set totrue
(default isfalse
), the $expunge operation will be enabled on this server. This operation is potentially dangerous since it allows a client to physically delete data in a way that can not be recovered (without resorting to backups).It is recommended to not enable this setting without appropriate security in place on your server to prevent non-administrators from using this operation.
-
isDeleteExpungeEnabled
If set totrue
(default isfalse
), the _expunge parameter on the DELETE operation will be enabled on this server. DELETE _expunge removes all data associated with a resource in a highly performant way, skipping most of the the checks that are enforced with usual DELETE operations. The only check that is performed before deleting the data is that no other resources reference the resources about to be deleted. This operation is potentially dangerous since it allows a client to physically delete data in a way that can not be recovered (without resorting to backups).It is recommended to not enable this setting without appropriate security in place on your server to prevent non-administrators from using this operation.
-
setDeleteExpungeEnabled
If set totrue
(default isfalse
), the _expunge parameter on the DELETE operation will be enabled on this server. DELETE _expunge removes all data associated with a resource in a highly performant way, skipping most of the the checks that are enforced with usual DELETE operations. The only check that is performed before deleting the resources and their indexes is that no other resources reference the resources about to be deleted. This operation is potentially dangerous since it allows a client to physically delete data in a way that can not be recovered (without resorting to backups).It is recommended to not enable this setting without appropriate security in place on your server to prevent non-administrators from using this operation.
-
getExpungeBatchSize
The expunge batch size (default 800) determines the number of records deleted within a single transaction by the expunge operation. When expunging via DELETE ?_expunge=true, then this value determines the batch size for the number of resources deleted and expunged at a time. -
setExpungeBatchSize
The expunge batch size (default 800) determines the number of records deleted within a single transaction by the expunge operation. When expunging via DELETE ?_expunge=true, then this value determines the batch size for the number of resources deleted and expunged at a time. -
getReindexBatchSize
The reindex batch size (default 800) determines the number of records reindexed in a single transaction. -
setReindexBatchSize
The reindex batch size (default 800) determines the number of records reindexed in a single transaction. -
isReindexEnabled
If set tofalse
(default istrue
), reindexing of resources will be disabled on this server. -
setReindexEnabled
If set tofalse
(default istrue
), reindexing of resources will be disabled on this server. -
isMarkResourcesForReindexingUponSearchParameterChange
Should resources be marked as needing reindexing when a SearchParameter resource is added or changed. This should generally be true (which is the default) -
setMarkResourcesForReindexingUponSearchParameterChange
public void setMarkResourcesForReindexingUponSearchParameterChange(boolean theMarkResourcesForReindexingUponSearchParameterChange) Should resources be marked as needing reindexing when a SearchParameter resource is added or changed. This should generally be true (which is the default) -
isSchedulingDisabled
-
setSchedulingDisabled
-
isSuppressUpdatesWithNoChange
If set to true (default is true), if a client performs an update which does not actually result in any chance to a given resource (e.g. an update where the resource body matches the existing resource body in the database) the operation will succeed but a new version (and corresponding history entry) will not actually be created. The existing resource version will be returned to the client.If set to false, all updates will result in the creation of a new version
-
setSuppressUpdatesWithNoChange
If set to true (default is true), if a client performs an update which does not actually result in any chance to a given resource (e.g. an update where the resource body matches the existing resource body in the database) the operation will succeed but a new version (and corresponding history entry) will not actually be created. The existing resource version will be returned to the client.If set to false, all updates will result in the creation of a new version
-
isUniqueIndexesCheckedBeforeSave
When usingunique indexes
, if this setting is set totrue
(default istrue
) the system will test for the existence of a particular unique index value prior to saving a new one.This causes friendlier error messages to be generated, but adds an extra round-trip to the database for eavh save so it can cause a small performance hit.
-
setUniqueIndexesCheckedBeforeSave
When usingunique indexes
, if this setting is set totrue
(default istrue
) the system will test for the existence of a particular unique index value prior to saving a new one.This causes friendlier error messages to be generated, but adds an extra round-trip to the database for each save so it can cause a small performance hit.
-
isUniqueIndexesEnabled
If set totrue
(default istrue
), indexes will be created for search parameters marked asHapiExtensions.EXT_SP_UNIQUE
. This is a HAPI FHIR specific extension which can be used to specify that no more than one resource can exist which matches a given criteria, using a database constraint to enforce this. -
setUniqueIndexesEnabled
If set totrue
(default istrue
), indexes will be created for search parameters marked asHapiExtensions.EXT_SP_UNIQUE
. This is a HAPI FHIR specific extension which can be used to specify that no more than one resource can exist which matches a given criteria, using a database constraint to enforce this. -
isValidateSearchParameterExpressionsOnSave
Iftrue
(default istrue
), before allowing a SearchParameter resource to be stored (create, update, etc.) the expression will be performed against an empty resource to ensure that the FHIRPath executor is able to process it.This should proabably always be set to true, but is configurable in order to support some unit tests.
-
setValidateSearchParameterExpressionsOnSave
public void setValidateSearchParameterExpressionsOnSave(boolean theValidateSearchParameterExpressionsOnSave) Iftrue
(default istrue
), before allowing a SearchParameter resource to be stored (create, update, etc.) the expression will be performed against an empty resource to ensure that the FHIRPath executor is able to process it.This should proabably always be set to true, but is configurable in order to support some unit tests.
-
getSearchPreFetchThresholds
This setting sets the number of search results to prefetch. For example, if this list is set to [100, 1000, -1] then the server will initially load 100 results and not attempt to load more. If the user requests subsequent page(s) of results and goes past 100 results, the system will load the next 900 (up to the following threshold of 1000). The system will progressively work through these thresholds.A threshold of -1 means to load all results. Note that if the final threshold is a number other than
-1
, the system will never prefetch more than the given number. -
setSearchPreFetchThresholds
This setting sets the number of search results to prefetch. For example, if this list is set to [100, 1000, -1] then the server will initially load 100 results and not attempt to load more. If the user requests subsequent page(s) of results and goes past 100 results, the system will load the next 900 (up to the following threshold of 1000). The system will progressively work through these thresholds.A threshold of -1 means to load all results. Note that if the final threshold is a number other than
-1
, the system will never prefetch more than the given number. -
getDisableHashBasedSearches
If set totrue
(default is false) the server will not use hash based searches. These searches were introduced in HAPI FHIR 3.5.0 and are the new default way of searching. However they require a very large data migration if an existing system has a large amount of data so this setting can be used to use the old search mechanism while data is migrated.- Since:
- 3.6.0
-
setDisableHashBasedSearches
If set totrue
(default is false) the server will not use hash based searches. These searches were introduced in HAPI FHIR 3.5.0 and are the new default way of searching. However they require a very large data migration if an existing system has a large amount of data so this setting can be used to use the old search mechanism while data is migrated.- Since:
- 3.6.0
-
isEnableInMemorySubscriptionMatching
If set tofalse
(default is true) the server will not use in-memory subscription searching and instead use the database matcher for all subscription criteria matching.When there are subscriptions registered on the server, the default behaviour is to compare the changed resource to the subscription criteria directly in-memory without going out to the database. Certain types of subscription criteria, e.g. chained references of queries with qualifiers or prefixes, are not supported by the in-memory matcher and will fall back to a database matcher.
The database matcher performs a query against the database by prepending ?id=XYZ to the subscription criteria where XYZ is the id of the changed entity
- Since:
- 3.6.1
-
setEnableInMemorySubscriptionMatching
If set tofalse
(default is true) the server will not use in-memory subscription searching and instead use the database matcher for all subscription criteria matching.When there are subscriptions registered on the server, the default behaviour is to compare the changed resource to the subscription criteria directly in-memory without going out to the database. Certain types of subscription criteria, e.g. chained references of queries with qualifiers or prefixes, are not supported by the in-memory matcher and will fall back to a database matcher.
The database matcher performs a query against the database by prepending ?id=XYZ to the subscription criteria where XYZ is the id of the changed entity
- Since:
- 3.6.1
-
getModelConfig
-
isAllowContainsSearches
If enabled, the server will support the use of :contains searches, which are helpful but can have adverse effects on performance.Default is
false
(Note that prior to HAPI FHIR 3.5.0 the default wastrue
)Note: If you change this value after data already has already been stored in the database, you must for a reindexing of all data in the database or resources may not be searchable.
-
setAllowContainsSearches
If enabled, the server will support the use of :contains searches, which are helpful but can have adverse effects on performance.Default is
false
(Note that prior to HAPI FHIR 3.5.0 the default wastrue
)Note: If you change this value after data already has already been stored in the database, you must for a reindexing of all data in the database or resources may not be searchable.
-
isAllowMdmExpansion
If enabled, the server will support the use of :mdm search parameter qualifier on Reference Search Parameters. This Parameter Qualifier is HAPI-specific, and not defined anywhere in the FHIR specification. Using this qualifier will result in an MDM expansion being done on the reference, which will expand the search scope. For example, if Patient/1 is MDM-matched to Patient/2 and you execute the search: Observation?subject:mdm=Patient/1 , you will receive observations for both Patient/1 and Patient/2.Default is
false
- Since:
- 5.4.0
-
setAllowMdmExpansion
If enabled, the server will support the use of :mdm search parameter qualifier on Reference Search Parameters. This Parameter Qualifier is HAPI-specific, and not defined anywhere in the FHIR specification. Using this qualifier will result in an MDM expansion being done on the reference, which will expand the search scope. For example, if Patient/1 is MDM-matched to Patient/2 and you execute the search: Observation?subject:mdm=Patient/1 , you will receive observations for both Patient/1 and Patient/2.Default is
false
- Since:
- 5.4.0
-
getTreatBaseUrlsAsLocal
This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be replaced with simple local references.For example, if the set contains the value
http://example.com/base/
and a resource is submitted to the server that contains a reference tohttp://example.com/base/Patient/1
, the server will automatically convert this reference toPatient/1
Note that this property has different behaviour from
getTreatReferencesAsLogical()
- See Also:
-
setTreatBaseUrlsAsLocal
This setting may be used to advise the server that any references found in resources that have any of the base URLs given here will be replaced with simple local references.For example, if the set contains the value
http://example.com/base/
and a resource is submitted to the server that contains a reference tohttp://example.com/base/Patient/1
, the server will automatically convert this reference toPatient/1
- Parameters:
theTreatBaseUrlsAsLocal
- The set of base URLs. May benull
, which means no references will be treated as external
-
isDefaultSearchParamsCanBeOverridden
If set totrue
the default search params (i.e. the search parameters that are defined by the FHIR specification itself) may be overridden by uploading search parameters to the server with the same code as the built-in search parameter.This can be useful if you want to be able to disable or alter the behaviour of the default search parameters.
The default value for this setting is
false
-
setDefaultSearchParamsCanBeOverridden
If set totrue
the default search params (i.e. the search parameters that are defined by the FHIR specification itself) may be overridden by uploading search parameters to the server with the same code as the built-in search parameter.This can be useful if you want to be able to disable or alter the behaviour of the default search parameters.
The default value for this setting is
false
-
addSupportedSubscriptionType
public DaoConfig addSupportedSubscriptionType(org.hl7.fhir.dstu2.model.Subscription.SubscriptionChannelType theSubscriptionChannelType) This setting indicates which subscription channel types are supported by the server. Any subscriptions submitted to the server matching these types will be activated. -
getSupportedSubscriptionTypes
public Set<org.hl7.fhir.dstu2.model.Subscription.SubscriptionChannelType> getSupportedSubscriptionTypes()This setting indicates which subscription channel types are supported by the server. Any subscriptions submitted to the server matching these types will be activated. -
clearSupportedSubscriptionTypesForUnitTest
-
getEmailFromAddress
If e-mail subscriptions are supported, the From address used when sending e-mails -
setEmailFromAddress
If e-mail subscriptions are supported, the From address used when sending e-mails -
getWebsocketContextPath
If websocket subscriptions are enabled, this defines the context path that listens to them. Default value "/websocket". -
setWebsocketContextPath
If websocket subscriptions are enabled, this defines the context path that listens to them. Default value "/websocket". -
isFilterParameterEnabled
If set totrue
the _filter search parameter will be enabled on this server. Note that _filter is very powerful, but also potentially dangerous as it can allow a user to create a query for which there are no indexes or efficient query plans for the database to leverage while performing the query. As a result, this feature is recommended only for servers where the querying applications are known in advance and a database administrator can properly tune the database for the resulting queries. -
setFilterParameterEnabled
If set totrue
the _filter search parameter will be enabled on this server. Note that _filter is very powerful, but also potentially dangerous as it can allow a user to create a query for which there are no indexes or efficient query plans for the database to leverage while performing the query. As a result, this feature is recommended only for servers where the querying applications are known in advance and a database administrator can properly tune the database for the resulting queries. -
getStoreMetaSourceInformation
If enabled, resource source information (Resource.meta.source
) will be persisted along with each resource. This adds extra table and index space so it should be disabled if it is not being used.Default is
DaoConfig.StoreMetaSourceInformationEnum.SOURCE_URI_AND_REQUEST_ID
-
setStoreMetaSourceInformation
public void setStoreMetaSourceInformation(DaoConfig.StoreMetaSourceInformationEnum theStoreMetaSourceInformation) If enabled, resource source information (Resource.meta.source
) will be persisted along with each resource. This adds extra table and index space so it should be disabled if it is not being used.Default is
DaoConfig.StoreMetaSourceInformationEnum.SOURCE_URI_AND_REQUEST_ID
-
isPreExpandValueSets
If set to
true
, ValueSets and expansions are stored in terminology tables. This is to facilitate optimization of the $expand operation on large ValueSets.The default value for this setting is
true
.- Since:
- 4.1.0
-
setPreExpandValueSets
If set to
true
, ValueSets and expansions are stored in terminology tables. This is to facilitate optimization of the $expand operation on large ValueSets.The default value for this setting is
true
.- Since:
- 4.1.0
-
getPreExpandValueSetsDefaultOffset
This is the default value of
offset
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.The default value for this setting is
0
.- Since:
- 4.1.0
-
getPreExpandValueSetsDefaultCount
This is the default value of
count
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.The default value for this setting is
1000
.- Since:
- 4.1.0
-
setPreExpandValueSetsDefaultCount
This is the default value of
count
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.If
thePreExpandValueSetsDefaultCount
is greater thangetPreExpandValueSetsMaxCount()
, the lesser value is used.The default value for this setting is
1000
.- Since:
- 4.1.0
-
getPreExpandValueSetsMaxCount
This is the max value of
count
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.The default value for this setting is
1000
.- Since:
- 4.1.0
-
setPreExpandValueSetsMaxCount
This is the max value of
count
parameter for the ValueSet$expand
operation whenisPreExpandValueSets()
returnstrue
.If
thePreExpandValueSetsMaxCount
is lesser thangetPreExpandValueSetsDefaultCount()
, the defaultcount
is lowered to the new maxcount
.The default value for this setting is
1000
.- Since:
- 4.1.0
-
isDeleteEnabled
This setting should be disabled (set tofalse
) on servers that are not allowing deletes. Default istrue
. If deletes are disabled, some checks for resource deletion can be skipped, which improves performance. This is particularly helpful when large amounts of data containing client-assigned IDs are being loaded, but it can also improve search performance.- Since:
- 5.0.0
-
setDeleteEnabled
This setting should be disabled (set tofalse
) on servers that are not allowing deletes. Default istrue
. If deletes are disabled, some checks for resource deletion can be skipped, which improves performance. This is particularly helpful when large amounts of data containing client-assigned IDs are being loaded, but it can also improve search performance.- Since:
- 5.0.0
-
getMaximumDeleteConflictQueryCount
This determines the maximum number of conflicts that should be fetched and handled while retrying a delete of a resource.
The default value for this setting is
60
.- Since:
- 5.1.0
-
setMaximumDeleteConflictQueryCount
This determines the maximum number of conflicts that should be fetched and handled while retrying a delete of a resource.
The default value for this setting is
60
.- Since:
- 5.1.0
-
setPreloadBlobFromInputStream
Deprecated.In 5.2.0 this setting no longer does anythingThis determines whether $binary-access-write operations should first load the InputStream into memory before persisting the contents to the database. This needs to be enabled for MS SQL Server as this DB requires that the blob size be known in advance.
Note that this setting should be enabled with caution as it can lead to significant demands on memory.
The default value for this setting is
false
.- Since:
- 5.1.0
-
getInternalSynchronousSearchSize
This determines the internal search size that is run synchronously during operations such as searching for Code System IDs by System and Code
- Since:
- 5.4.0
-
setInternalSynchronousSearchSize
This determines the internal search size that is run synchronously during operations such as searching for Code System IDs by System and Code
- Since:
- 5.4.0
-
isEnableTaskBulkImportJobExecution
If this is enabled (this is the default), this server will attempt to activate and run Bulk Import batch jobs. Otherwise, this server will not.- Since:
- 5.5.0
-
setEnableTaskBulkImportJobExecution
If this is enabled (this is the default), this server will attempt to activate and run Bulk Import batch jobs. Otherwise, this server will not.- Since:
- 5.5.0
-
isEnableTaskBulkExportJobExecution
If this is enabled (this is the default), this server will attempt to activate and run Bulk Export batch jobs. Otherwise, this server will not.- Since:
- 5.5.0
-
setEnableTaskBulkExportJobExecution
If this is enabled (this is the default), this server will attempt to activate and run Bulk Export batch jobs. Otherwise, this server will not.- Since:
- 5.5.0
-
isEnableTaskPreExpandValueSets
If this is enabled (this is the default), this server will attempt to pre-expand any ValueSets that have been uploaded and are not yet pre-expanded. Otherwise, this server will not.- Since:
- 5.5.0
-
setEnableTaskPreExpandValueSets
If this is enabled (this is the default), this server will attempt to pre-expand any ValueSets that have been uploaded and are not yet pre-expanded. Otherwise, this server will not.- Since:
- 5.5.0
-
isEnableTaskStaleSearchCleanup
If this is enabled (this is the default), this server will periodically scan for and try to delete stale searches in the database. Otherwise, this server will not.- Since:
- 5.5.0
-
setEnableTaskStaleSearchCleanup
If this is enabled (this is the default), this server will periodically scan for and try to delete stale searches in the database. Otherwise, this server will not.- Since:
- 5.5.0
-
isEnableTaskResourceReindexing
If this is enabled (this is the default), this server will attempt to run resource reindexing jobs. Otherwise, this server will not.- Since:
- 5.5.0
-
setEnableTaskResourceReindexing
If this is enabled (this is the default), this server will attempt to run resource reindexing jobs. Otherwise, this server will not.- Since:
- 5.5.0
-
isMassIngestionMode
If this is enabled (disabled by default), Mass Ingestion Mode is enabled. In this mode, a number of runtime checks are disabled. This mode is designed for rapid backloading of data while the system is not being otherwise used.In this mode:
- Tags/Profiles/Security Labels will not be updated on existing resources that already have them - Resources modification checks will be skipped in favour of a simple hash check - Extra resource ID caching is enabled
- Since:
- 5.5.0
-
setMassIngestionMode
If this is enabled (disabled by default), Mass Ingestion Mode is enabled. In this mode, a number of runtime checks are disabled. This mode is designed for rapid backloading of data while the system is not being otherwise used.In this mode:
- Tags/Profiles/Security Labels will not be updated on existing resources that already have them - Resources modification checks will be skipped in favour of a simple hash check - Extra resource ID caching is enabled
- Since:
- 5.5.0
-
isAccountForDateIndexNulls
If set to true (default is false), date indexes will account for null values in the range columns. As of 5.3.0 we no longer place null values in these columns, but legacy data may exist that still has these values. Note that enabling this results in more complexity in the search SQL.- Since:
- 5.5.0
-
setAccountForDateIndexNulls
If set to true (default is false), date indexes will account for null values in the range columns. As of 5.3.0 we no longer place null values in these columns, but legacy data may exist that still has these values. Note that enabling this results in more complexity in the search SQL.- Since:
- 5.5.0
-
isTriggerSubscriptionsForNonVersioningChanges
If set to true (default is false) then subscriptions will be triggered for resource updates even if they do not trigger a new version (e.g. $meta-add and $meta-delete).- Since:
- 5.5.0
-
setTriggerSubscriptionsForNonVersioningChanges
public void setTriggerSubscriptionsForNonVersioningChanges(boolean theTriggerSubscriptionsForNonVersioningChanges) If set to true (default is false) then subscriptions will be triggered for resource updates even if they do not trigger a new version (e.g. $meta-add and $meta-delete).- Since:
- 5.5.0
-
getBundleBatchPoolSize
Get the batch transaction thread pool size.- Since:
- 5.6.0
-
setBundleBatchPoolSize
Set the batch transaction thread pool size. The default is @seeDEFAULT_BUNDLE_BATCH_POOL_SIZE
set pool size to 1 for single thread- Since:
- 5.6.0
-
getBundleBatchMaxPoolSize
Get the batch transaction thread max pool size. set max pool size to 1 for single thread- Since:
- 5.6.0
-
setBundleBatchMaxPoolSize
Set the batch transaction thread pool size. The default is @seeDEFAULT_BUNDLE_BATCH_MAX_POOL_SIZE
- Since:
- 5.6.0
-
canDeleteExpunge
-
cannotDeleteExpungeReason
-
getHSearchIndexPrefix
Sets a prefix for any indexes created when interacting with hsearch. This will apply to fulltext search indexes and terminology expansion indexes.- Since:
- 5.6.0
-
setHSearchIndexPrefix
Sets a prefix for any indexes created when interacting with hsearch. This will apply to fulltext search indexes and terminology expansion indexes.- Since:
- 5.6.0
-
isAdvancedHSearchIndexing
Is HSearch indexing enabled beyond _contains or _text?- Since:
- 5.6.0
-
setAdvancedHSearchIndexing
Enable/disable HSearch indexing enabled beyond _contains or _text.String, token, and reference parameters can be indexed in HSearch. This extends token search to support :text searches, as well as supporting :contains and :text on string parameters.
- Since:
- 5.6.0
-
isStoreResourceInHSearchIndex
Is storing of Resource in HSearch index enabled?- Since:
- 5.7.0
-
setStoreResourceInHSearchIndex
Enable Resource to be stored inline with HSearch index mappings. This is useful in cases where after performing a search operation the resulting resource identifiers don't have to be looked up in the persistent storage, but rather the inline stored resource can be used instead.
For e.g - Storing Observation resource in HSearch index would be useful when performing $lastn operation.
- Since:
- 5.7.0
-
isConcurrentBundleValidation
- Since:
- 5.7.0
- See Also:
-
FhirValidator.isConcurrentBundleValidation()
-
setConcurrentBundleValidation
- Since:
- 5.7.0
- See Also:
-
FhirValidator.isConcurrentBundleValidation()
-
isCrossPartitionSubscriptionEnabled
This setting indicates if a cross-partition subscription can be made.- Since:
- 7.5.0
- See Also:
-
setCrossPartitionSubscription
This setting indicates if a cross-partition subscription can be made.- Since:
- 5.7.0
- See Also:
-
isAllowAutoInflateBinaries
This setting indicates whether binaries are allowed to be automatically inflated from external storage during requests. Default is true.- Returns:
- whether binaries are allowed to be automatically inflated from external storage during requests.
- Since:
- 6.0.0
-
setAllowAutoInflateBinaries
This setting indicates whether binaries are allowed to be automatically inflated from external storage during requests. Default is true.- Parameters:
theAllowAutoDeExternalizingBinaries
- the value to set.- Since:
- 6.0.0
-
setAutoInflateBinariesMaximumBytes
This setting controls how many bytes of binaries will be automatically inflated from external storage during requests. which contain binary data. Default is 10MB- Parameters:
theAutoInflateBinariesMaximumBytes
- the maximum number of bytes to de-externalize.- Since:
- 6.0.0
-
getAutoInflateBinariesMaximumBytes
This setting controls how many bytes of binaries will be automatically inflated from external storage during requests. which contain binary data. Default is 10MB- Returns:
- the number of bytes to de-externalize during requests.
- Since:
- 6.0.0
-
getBulkExportFileRetentionPeriodHours
This setting controls how long Bulk Export collection entities will be retained after job start. Default is 2 hours. Setting this value to 0 or less will cause Bulk Export collection entities to never be expired.- Since:
- 6.0.0
-
setBulkExportFileRetentionPeriodHours
This setting controls how long Bulk Export collection entities will be retained after job start. Default is 2 hours. Setting this value to 0 or less will cause Bulk Export collection entities to never be expired.- Since:
- 6.0.0
-
getEnableBulkExportJobReuse
This setting controls whether, upon receiving a request for an $export operation, if a batch job already exists that exactly matches the new request, the system should attempt to reuse the batch job. Default is true. -
setEnableBulkExportJobReuse
This setting controls whether, upon receiving a request for an $export operation, if a batch job already exists that exactly matches the new request, the system should attempt to reuse the batch job. Default is true. -
isUpdateWithHistoryRewriteEnabled
This setting indicates whether updating the history of a resource is allowed. Default is false.- Since:
- 6.1.0
-
setUpdateWithHistoryRewriteEnabled
This setting indicates whether updating the history of a resource is allowed. Default is false.- Since:
- 6.1.0
-
isPreserveRequestIdInResourceBody
This setting indicate whether a providedResource.meta.source requestID (source#requestID) should be preserved or overwritten.- Since:
- 6.2.0
-
setPreserveRequestIdInResourceBody
This setting indicate whether a providedResource.meta.source requestID (source#requestID) should be preserved or overwritten. Default is false. This means that a client provided requestId will be overwritten.- Since:
- 6.2.0
-
getBulkExportFileMaximumCapacity
This setting controls how many resources will be stored in each binary file created by a bulk export. Default is 1000 resources per file.- Since:
- 6.2.0
-
setBulkExportFileMaximumCapacity
This setting controls how many resources will be stored in each binary file created by a bulk export. Default is 1000 resources per file.- Since:
- 6.2.0
-
isJobFastTrackingEnabled
If this setting is enabled, then gated batch jobs that produce only one chunk will immediately trigger a batch maintenance job. This may be useful for testing, but is not recommended for production use.- Since:
- 6.4.0
-
setJobFastTrackingEnabled
If this setting is enabled, then gated batch jobs that produce only one chunk will immediately trigger a batch maintenance job. This may be useful for testing, but is not recommended for production use.- Since:
- 6.4.0
-