On this page:
   28.21    FHIR Bulk Operations 28.23    FHIR Consent Service   

28.22FHIR Configuration

 

The FHIR Configuration configuration category includes the following configurable options:

  • Allow Multiple Delete Enabled

  • Cascading Deletes Enabled

  • Allow Inline Match URL References Enabled

  • Allow External References Enabled

  • Enforce Referential Integrity on Write

  • Enforce Referential Integrity on Delete

  • Disable Deletion Ref Checks for Paths

  • Auto-Create Placeholder Reference Targets

  • Mark Resources for Reindexing after SearchParameter change

  • Server ID Mode

  • Client ID Mode

  • Enforce Reference Target Types

  • Expunge Operation Enabled

  • Delete Expunge Enabled

  • Allow storing all bundle types

  • Store Meta.source information

  • Delete Child Resource Count

  • Seed Base Validation Resources

28.22.1Property: Allow Multiple Delete Enabled

 
Property Name Allow Multiple Delete Enabled
Property Key
Property Type BOOLEAN
Description If enabled, the server will allow delete operations that match more than one resource. For example, if this is enabled and a delete is issued for Patient?name=smith then multiple Patient resources named "smith" can be deleted. If this setting is disabled, the delete will only be allowed when only one Patient named "smith" exists. Enabling this setting can be convenient but it increases the possibility of accidental bulk deletion.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.allow_multiple_delete.enabled = false

28.22.2Property: Cascading Deletes Enabled

 
Property Name Cascading Deletes Enabled
Property Key
Property Type BOOLEAN
Description Enable this setting to permit cascading deletes across resource references. See Cascading Deletes for more information.
Default Value false
Example Property
module.[MODULE_ID].config.cascading_delete.enabled = false

28.22.3Property: Allow Inline Match URL References Enabled

 
Property Name Allow Inline Match URL References Enabled
Property Key
Property Type BOOLEAN
Description If enabled, references containing match URLs will be resolved and replaced in create and update operations. For example, if a Patient is created, and the Patient.managingOrganization is set to a value of Organization?identifier=123, the server will resolve this search and replace the search URL with a correct reference before the resource is saved. Note that this search is not subjected to any security or access control checks, so this feature has potential security implications. Enable with caution.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.allow_inline_match_url_references.enabled = false

28.22.4Property: Allow External References Enabled

 
Property Name Allow External References Enabled
Property Key
Property Type BOOLEAN
Description If enabled, the server will allow resources to have references to external servers. This means (for example) that with this setting enabled, a Patient could be uploaded containing a reference to Organization http://example.com/fhir/Organization/123. With this setting disabled, only relative references (e.g. Organization/123 or absolute references corresponding to the base URL of the server are allowed.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.allow_external_references.enabled = false

28.22.5Property: Enforce Referential Integrity on Write

 
Property Name Enforce Referential Integrity on Write
Property Key
Property Type BOOLEAN
Description If disabled, resources may 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 then the operation will be blocked unless this property has been disabled. 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. In particular, resource references to target resources that do not exist at the time that the source resource is created will not be indexed, even if the target resource is created later.

Disable with caution.

Default Value true
Example Property
module.[MODULE_ID].config.dao_config.enforce_referential_integrity_on_write.enabled = true

28.22.6Property: Enforce Referential Integrity on Delete

 
Property Name Enforce Referential Integrity on Delete
Property Key
Property Type BOOLEAN
Description If disabled, resources may be deleted even if they are referenced by other resources. 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.

Disable with caution.

Default Value true
Example Property
module.[MODULE_ID].config.dao_config.enforce_referential_integrity_on_delete.enabled = true

28.22.7Property: Disable Deletion Ref Checks for Paths

 
Property Name Disable Deletion Ref Checks for Paths
Property Key
Property Type STRING_MULTILINE
Description If referential integrity checking is enabled for deletes, this setting may be used to selectively disable this checking only for specific paths. This setting takes one or more FHIRPath expressions, each one on a new line. See Referential Integrity for more information.
Default Value (no default)
Example Property
module.[MODULE_ID].config.dao_config.enforce_referential_integrity_on_delete.disable_for_paths = 

28.22.8Property: Auto-Create Placeholder Reference Targets

 
Property Name Auto-Create Placeholder Reference Targets
Property Key
Property Type BOOLEAN
Description If this setting is enabled and a resource is created with a reference to a non-existing resource (e.g. Patient/FOO if that patient does not exist on the server), the server will automatically create an empty placeholder resource to satisfy this reference. See Auto-Create Placeholder Reference Targets for more information.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.auto_create_placeholder_reference_targets.enabled = false

28.22.9Property: Mark Resources for Reindexing after SearchParameter change

 
Property Name Mark Resources for Reindexing after SearchParameter change
Property Key
Property Type BOOLEAN
Description If enabled, the repository will automatically mark any resources which are potentially affected by a SearchParameter for reindexing when any SearchParameter is modified. This is generally desirable on new servers, but can can be problematic on servers with a large amount of existing data.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.mark_resources_for_reindexing_after_sp_change = false

28.22.10Property: Server ID Mode

 
Property Name Server ID Mode
Property Key
Property Type ENUM
Values
  • SEQUENTIAL_NUMERIC
  • UUID
Description This setting controls how IDs are generated by the server for newly created resources. By default, each newly created resource will receive a sequential numeric ID but this behaviour can be changed. See Server Assigned IDs for more information.
Default Value SEQUENTIAL_NUMERIC
Example Property
module.[MODULE_ID].config.dao_config.server_id_mode = SEQUENTIAL_NUMERIC

28.22.11Property: Client ID Mode

 
Property Name Client ID Mode
Property Key
Property Type ENUM
Values
  • NOT_ALLOWED
  • ALPHANUMERIC
  • ANY
Description This setting controls whether clients may create resources with IDs assigned by the client, and what types of IDs are acceptable. By default, clients may only supply IDs containing at least one letter. See Client Assigned IDs for more information.
Default Value ALPHANUMERIC
Example Property
module.[MODULE_ID].config.dao_config.client_id_mode = ALPHANUMERIC

28.22.12Property: Enforce Reference Target Types

 
Property Name Enforce Reference Target Types
Property Key
Property Type BOOLEAN
Description If this setting is disabled, references in resources being persisted will not be validated to ensure that the target of the reference is a valid resource type for the field containing the reference. This should generally be left enabled, but can be useful in cases where a nonstandard reference is needed.
Default Value true
Example Property
module.[MODULE_ID].config.dao_config.enforce_reference_target_types = true

28.22.13Property: Expunge Operation Enabled

 
Property Name Expunge Operation Enabled
Property Key
Property Type BOOLEAN
Description Enabling this setting allows the Expunge Operation ($expunge) to be performed by users with appropriate permission. Expunge is a dangerous operation so it is disabled by default.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.expunge_operation_enabled = false

28.22.14Property: Delete Expunge Enabled

 
Property Name Delete Expunge Enabled
Property Key
Property Type BOOLEAN
Description If set to true (default is false), 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).
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.delete_expunge_enabled = false

28.22.15Property: Allow storing all bundle types

 
Property Name Allow storing all bundle types
Property Key
Property Type BOOLEAN
Description If enabled, all Bundle types may be stored. By default with this setting disabled, only Bundle types such as document, message and collection are permitted for storage.
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.allow_storing_all_bundle_types = false

28.22.16Property: Store Meta.source information

 
Property Name Store Meta.source information
Property Key
Property Type ENUM
Values
  • NONE
  • SOURCE_URI
  • REQUEST_ID
  • SOURCE_URI_AND_REQUEST_ID
Description If enabled, values from Resource.meta.source will be stored and indexed. This may be disabled in order to save space and improve write efficiency.
Default Value SOURCE_URI_AND_REQUEST_ID
Example Property
module.[MODULE_ID].config.dao_config.store_source_information = SOURCE_URI_AND_REQUEST_ID

28.22.17Property: Delete Child Resource Count

 
Property Name Delete Child Resource Count
Property Key
Property Type NON_NEGATIVE_INTEGER
Description This setting determines the maximum number of child resources that should be processed during each pass of a cascading delete. May need to be increased if deleting resources with large numbers of child resources.
Default Value 60
Example Property
module.[MODULE_ID].config.dao_config.delete_child_resource.count = 60

28.22.18Property: Seed Base Validation Resources

 
Property Name Seed Base Validation Resources
Property Key
Property Type BOOLEAN
Description If enabled, validation resources such as StructureDefinitions, ValueSets, and CodeSystems will be automatically seeded into the repository on startup. This can help to speed up validation and allows clients to browse these resources.
Default Value false
Example Property
module.[MODULE_ID].config.seed.base_validation_resources = false
   28.21    FHIR Bulk Operations 28.23    FHIR Consent Service