Stefan
PS: Here is the application.yaml configuration file that I am using:
spring:
datasource:
url: 'jdbc:h2:file:./target/database/h2'
#url: jdbc:h2:mem:test_mem
username: null
password: null
driverClassName: org.h2.Driver
max-active: 15
# Database connection pool size
hikari:
maximum-pool-size: 10
jpa:
properties:
hibernate.format_sql: false
hibernate.show_sql: false
# hibernate.dialect: org.hibernate.dialect.h2dialect # Currently not included, so commenting out will lead to an error
# hibernate.hbm2ddl.auto: update
# hibernate.jdbc.batch_size: 20
# hibernate.cache.use_query_cache: false
# hibernate.cache.use_second_level_cache: false
# hibernate.cache.use_structured_entries: false
# hibernate.cache.use_minimal_puts: false
## These settings will enable fulltext search with lucene
hibernate.search.enabled: true
hibernate.search.backend.type: lucene
hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer
hibernate.search.backend.directory.type: local-filesystem
hibernate.search.backend.directory.root: target/lucenefiles
hibernate.search.backend.lucene_version: lucene_current
batch:
job:
enabled: false
hapi:
fhir:
fhir_version: R4 # (Default: R4) This is the FHIR version. Choose between, DSTU2, DSTU3, R4 or R5
use_apache_address_strategy: false # (Default: false) Enable to use the ApacheProxyAddressStrategy which uses X-Forwarded-* headers to determine the FHIR server address
use_apache_address_strategy_https: false # (Default: false) Forces the use of the https:// protocol for the returned server address. Alternatively, it may be set using the X-Forwarded-Proto header.
# server_address: http://hapi.fhir.org/baseR4 # This is the address of the REST FHIR API hosted by the server (typically at /fhir). When you make a request to /fhir/Patient (for example) HAPI will respond with urls that are based on this configuration property, i.e., <hapi.fhir.server_address>/Patient/Patient1. # defer_indexing_for_codesystems_of_size: 101
## One or more implementation guides that should be loaded onto the FHIR server upon launching
# swiss:
# name: swiss.mednet.fhir
# version: 0.8.0
# Example not from registry
# ips_1_0_0:
# name: hl7.fhir.uv.ips
# version: 1.0.0
implementationguides:
uscore:
name: hl7.fhir.us.core
version: 3.1.0
mcode:
name: hl7.fhir.us.mcode
version: 1.16.0
## Array of strings that represents a list of resource types supported by the HAPI installation
# supported_resource_types:
# - Patient
# - Observation
## FHIR server options
allow_contains_searches: false # (Default: false) If set to true, clients will be permitted to use the ':contains' modifier on String searches. This is a potentially slow operation so enable with caution.
allow_cascading_deletes: true # (Default: false) Enable this setting to permit cascading deletes across resource references.
allow_external_references: false # (Default: false) If enabled, the server will allow resources to have references to external servers.
allow_multiple_delete: true # (Default: false) If enabled, the server will allow delete operations that match more than one resource. Enabling this setting can be convenient but it increases the possibility of accidental bulk deletion.
allow_override_default_search_params: true
auto_create_placeholder_reference_targets: false # (Default: false) If this setting is enabled and a resource is created with a reference to a non-existing resource, the server will automatically create an empty placeholder resource to satisfy this reference.
client_id_strategy: ALPHANUMERIC # (Default: ALPHANUMERIC) This influences what IDs are accepted by Create-as-Update requests. By default, only IDs that start with letters are allowed when calling a PUT that represents creating a new resource. This can be overridden with ANY and it will allow any format of resource IDs.
cql_enabled: false # (Default: false) Enable Clinical Quality Language, see for more information https://cql.hl7.org/ enable_index_contained_resource: true # (Default: false) If enabled, the server will generate appropriate indexes to support the _contained search parameter flag, which allows chained searches to descend automatically into contained resources.
enable_repository_validating_interceptor: false
# enable_index_missing_fields: false
enforce_referential_integrity_on_delete: true # (Default: true) 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.
enforce_referential_integrity_on_write: true # (Default: true) If disabled, resources may be created or updated even if they contain references to local resources that do not exist. 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.
# etag_support_enabled: true
expunge_enabled: false # (Default: false) 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.
# daoconfig_client_id_strategy: null
# fhirpath_interceptor_enabled: false
filter_search_enabled: false # (Default: false) This setting enables the '_filter' search parameter. Filter is a standard FHIR search parameter that can be used to narrow down the scope of a search.
graphql_enabled: true # (Default: true) If enabled, endpoints configured against this storage module will support GraphQL Queries.
mdm_enabled: false # (Default: false) Enable MDM matching rules, which are configured in mdm-rules.json (when provided within the same folder as this configuration file). The rules in this example file should be replaced with actual matching rules appropriate to your data. Note that MDM relies on subscriptions, so for MDM to work, subscriptions must be enabled.
# narrative_enabled: true
# retain_cached_searches_mins: 60
reuse_cached_search_results_millis: 0 # (Default 60000) If set, any searches repeated during this period for the exact same criteria will reuse the same search results instead of performing a new search. Set this value to 0 to disable the query cache entirely or set to a positive number of milliseconds to specify a specific timeout.
## Default properties
default_encoding: JSON
default_pretty_print: true
default_page_size: 50 # (Default: 50) This value sets the default page size for Bundle results of search and history operations.
## The presence of this property object in the config enabled partitioning/multi-tenancy.
# partitioning:
# allow_references_across_partitions: false
# partitioning_include_in_search_hashes: false
cors:
allow_Credentials: true
# Array of strings that can represent multiple origins allowed by CORS. This affects how the FHIR REST API responds with the Allowed-Origin header.
allowed_origin:
- '*'
# Search coordinator thread pool sizes
search-coord-core-pool-size: 20
search-coord-max-pool-size: 100
search-coord-queue-capacity: 200
logger:
error_format: 'ERROR - ${requestVerb} ${requestUrl}'
format: >-
Path[${servletPath}] Source[${requestHeader.x-forwarded-for}]
Operation[${operationType} ${operationName} ${idOrResourceName}]
UA[${requestHeader.user-agent}] Params[${requestParameters}]
ResponseEncoding[${responseEncodingNoDefault}]
log_exceptions: true
name: fhirtest.access
# max_binary_size: 104857600
# max_page_size: 200
tester:
home:
name: Local XRTS Validator Tester
refuse_to_fetch_third_party_urls: false
fhir_version: R4
global:
name: Global Tester
refuse_to_fetch_third_party_urls: false
fhir_version: R4
validation:
requests_enabled: false
responses_enabled: false
# binary_storage_enabled: true
# bulk_export_enabled: true
subscription:
resthook_enabled: true
# websocket_enabled: false
# email:
# port:
# username:
# password:
# auth:
# startTlsEnable:
# startTlsRequired:
# quitWait:
# lastn_enabled: true
### This is configuration for normalized quantity search level default is 0
### 0: NORMALIZED_QUANTITY_SEARCH_NOT_SUPPORTED - default
### 1: NORMALIZED_QUANTITY_STORAGE_SUPPORTED
### 2: NORMALIZED_QUANTITY_SEARCH_SUPPORTED
# normalized_quantity_search_level: 2
#elasticsearch:
# debug:
# pretty_print_json_log: false
# refresh_after_write: false
# enabled: false
# password: SomePassword
# required_index_status: YELLOW
# rest_url: 'localhost:9200'
# protocol: 'http'
# schema_management_strategy: CREATE
# username: SomeUsername