#Uncomment the "servlet" and "context-path" lines below to make the fhir endpoint available at /example/path/fhir instead of the default value of /fhir server: # servlet: # context-path: /example/path port: 8080 #Adds the option to go to eg. http://localhost:8080/actuator/health for seeing the running configuration #see https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints management: #The following configuration will enable the actuator endpoints at /actuator/health, /actuator/info, /actuator/prometheus, /actuator/metrics. For security purposes, only /actuator/health is enabled by default. endpoints: enabled-by-default: false web: exposure: include: 'health' # or e.g. 'info,health,prometheus,metrics' or '*' for all' endpoint: info: enabled: true metrics: enabled: true health: enabled: true probes: enabled: true group: liveness: include: - livenessState - readinessState prometheus: enabled: true prometheus: metrics: export: enabled: true spring: main: allow-circular-references: true flyway: enabled: false baselineOnMigrate: true fail-on-missing-locations: false datasource: #url: 'jdbc:h2:file:./target/database/h2' url: jdbc:h2:file:/app/h2-data/fhir;DB_CLOSE_DELAY=-1;AUTO_SERVER=TRUE #url: jdbc:h2:mem:test_mem username: sa 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 is automatically detected except Postgres and H2. #If using H2, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect #If using postgres, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect # 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 or elastic hibernate.search.enabled: false ### lucene parameters # hibernate.search.backend.type: lucene # hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiLuceneAnalysisConfigurer # hibernate.search.backend.directory.type: local-filesystem # hibernate.search.backend.directory.root: target/lucenefiles # hibernate.search.backend.lucene_version: lucene_current ### elastic parameters ===> see also elasticsearch section below <=== # hibernate.search.backend.type: elasticsearch # hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiElasticAnalysisConfigurer hapi: fhir: ### This flag when enabled to true, will avail evaluate measure operations from CR Module. ### Flag is false by default, can be passed as command line argument to override. cr: enabled: false caregaps: reporter: "default" section_author: "default" cql: use_embedded_libraries: true compiler: ### These are low-level compiler options. ### They are not typically needed by most users. # validate_units: true # verify_only: false # compatibility_level: "1.5" error_level: Info signature_level: All # analyze_data_requirements: false # collapse_data_requirements: false # translator_format: JSON # enable_date_range_optimization: true enable_annotations: true enable_locators: true enable_results_type: true enable_detailed_errors: true # disable_list_traversal: false # disable_list_demotion: false # enable_interval_demotion: false # enable_interval_promotion: false # disable_method_invocation: false # require_from_keyword: false # disable_default_model_info_load: false runtime: debug_logging_enabled: false # enable_validation: false # enable_expression_caching: true terminology: valueset_preexpansion_mode: REQUIRE # USE_IF_PRESENT, REQUIRE, IGNORE valueset_expansion_mode: PERFORM_NAIVE_EXPANSION # AUTO, USE_EXPANSION_OPERATION, PERFORM_NAIVE_EXPANSION valueset_membership_mode: USE_EXPANSION # AUTO, USE_VALIDATE_CODE_OPERATION, USE_EXPANSION code_lookup_mode: USE_VALIDATE_CODE_OPERATION # AUTO, USE_VALIDATE_CODE_OPERATION, USE_CODESYSTEM_URL data: search_parameter_mode: USE_SEARCH_PARAMETERS # AUTO, USE_SEARCH_PARAMETERS, FILTER_IN_MEMORY terminology_parameter_mode: FILTER_IN_MEMORY # AUTO, USE_VALUE_SET_URL, USE_INLINE_CODES, FILTER_IN_MEMORY profile_mode: DECLARED # ENFORCED, DECLARED, OPTIONAL, TRUST, OFF cdshooks: enabled: false clientIdHeaderName: client_id ### This enables the swagger-ui at /fhir/swagger-ui/index.html as well as the /fhir/api-docs (see https://hapifhir.io/hapi-fhir/docs/server_plain/openapi.html) openapi_enabled: true ### This is the FHIR version. Choose between, DSTU2, DSTU3, R4 or R5 fhir_version: R4 ### Flag is false by default. This flag enables runtime installation of IG's. ig_runtime_upload_enabled: false ### This flag when enabled to true, will avail evaluate measure operations from CR Module. ### enable to use the ApacheProxyAddressStrategy which uses X-Forwarded-* headers ### to determine the FHIR server address # use_apache_address_strategy: false ### forces the use of the https:// protocol for the returned server address. ### alternatively, it may be set using the X-Forwarded-Proto header. # use_apache_address_strategy_https: false ### enables the server to overwrite defaults on HTML, css, etc. under the url pattern of eg. /content/custom ** ### Folder with custom content MUST be named custom. If omitted then default content applies custom_content_path: ./custom ### enables the server host custom content. If e.g. the value ./configs/app is supplied then the content ### will be served under /web/app #app_content_path: ./configs/app ### enable to set the Server URL # server_address: http://hapi.fhir.org/baseR4 # defer_indexing_for_codesystems_of_size: 101 ### Flag is true by default. This flag filters resources during package installation, allowing only those resources with a valid status (e.g. active) to be installed. # validate_resource_status_for_package_upload: false # install_transitive_ig_dependencies: true #implementationguides: ### example from registry (packages.fhir.org) # swiss: # name: swiss.mednet.fhir # version: 0.8.0 # reloadExisting: false # installMode: STORE_AND_INSTALL # example not from registry # ips_1_0_0: # packageUrl: https://build.fhir.org/ig/HL7/fhir-ips/package.tgz # name: hl7.fhir.uv.ips # version: 1.0.0 # supported_resource_types: # - Patient # - Observation ################################################## # Allowed Bundle Types for persistence (defaults are: COLLECTION,DOCUMENT,MESSAGE) ################################################## # allowed_bundle_types: COLLECTION,DOCUMENT,MESSAGE,TRANSACTION,TRANSACTIONRESPONSE,BATCH,BATCHRESPONSE,HISTORY,SEARCHSET # allow_cascading_deletes: true # allow_contains_searches: true # allow_external_references: true # allow_multiple_delete: true # allow_override_default_search_params: true # auto_create_placeholder_reference_targets: false # mass_ingestion_mode_enabled: false ### tells the server to automatically append the current version of the target resource to references at these paths # auto_version_reference_at_paths: Device.patient, Device.location, Device.parent, DeviceMetric.parent, DeviceMetric.source, Observation.device, Observation.subject # ips_enabled: false # default_encoding: JSON # default_pretty_print: true # default_page_size: 20 # delete_expunge_enabled: true # enable_repository_validating_interceptor: true # enable_index_missing_fields: false # enable_index_of_type: true # enable_index_contained_resource: false # upliftedRefchains_enabled: true # resource_dbhistory_enabled: false ### !!Extended Lucene/Elasticsearch Indexing is still a experimental feature, expect some features (e.g. _total=accurate) to not work as expected!! ### more information here: https://hapifhir.io/hapi-fhir/docs/server_jpa/elastic.html advanced_lucene_indexing: false bulk_export_enabled: false bulk_import_enabled: false # language_search_parameter_enabled: true # enforce_referential_integrity_on_delete: false # This is an experimental feature, and does not fully support _total and other FHIR features. # enforce_referential_integrity_on_delete: false # enforce_referential_integrity_on_write: false # etag_support_enabled: true # expunge_enabled: true # client_id_strategy: ALPHANUMERIC # server_id_strategy: SEQUENTIAL_NUMERIC # fhirpath_interceptor_enabled: false # filter_search_enabled: true # graphql_enabled: true narrative_enabled: true mdm_enabled: false mdm_rules_json_location: "mdm-rules.json" ## see: https://hapifhir.io/hapi-fhir/docs/interceptors/built_in_server_interceptors.html#jpa-server-retry-on-version-conflicts # userRequestRetryVersionConflictsInterceptorEnabled : false # local_base_urls: # - https://hapi.fhir.org/baseR4 # pre_expand_value_sets: true # enable_task_pre_expand_value_sets: true # pre_expand_value_sets_default_count: 1000 # pre_expand_value_sets_max_count: 1000 # maximum_expansion_size: 1000 logical_urls: - http://terminology.hl7.org/* - https://terminology.hl7.org/* - http://snomed.info/* - https://snomed.info/* - http://unitsofmeasure.org/* - https://unitsofmeasure.org/* - http://loinc.org/* - https://loinc.org/* # partitioning: # allow_references_across_partitions: false # partitioning_include_in_search_hashes: false # conditional_create_duplicate_identifiers_enabled: false cors: allow_Credentials: true # These are allowed_origin patterns, see: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/cors/CorsConfiguration.html#setAllowedOriginPatterns-java.util.List- allowed_origin: - '*' # Search coordinator thread pool sizes search-coord-core-pool-size: 20 search-coord-max-pool-size: 100 search-coord-queue-capacity: 200 # Search Prefetch Thresholds. # 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. search_prefetch_thresholds: 13,503,2003,-1 # comma-separated package names, will be @ComponentScan'ed by Spring to allow for creating custom Spring beans #custom-bean-packages: # comma-separated list of fully qualified interceptor classes. # classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages', # or will be instantiated via reflection using an no-arg contructor; then registered with the server #custom-interceptor-classes: # comma-separated list of fully qualified provider classes. # classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages', # or will be instantiated via reflection using an no-arg contructor; then registered with the server #custom-provider-classes: # Threadpool size for BATCH'ed GETs in a bundle. # bundle_batch_pool_size: 10 # bundle_batch_pool_max_size: 50 # 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 # retain_cached_searches_mins: 60 # reuse_cached_search_results_millis: 60000 tester: home: name: FHIRFLARE Tester server_address: http://localhost:8080/fhir refuse_to_fetch_third_party_urls: false fhir_version: R4 global: name: Global Tester server_address: "http://hapi.fhir.org/baseR4" refuse_to_fetch_third_party_urls: false fhir_version: R4 # validation: # requests_enabled: true # responses_enabled: true # binary_storage_enabled: true inline_resource_storage_below_size: 4000 # bulk_export_enabled: true # subscription: # resthook_enabled: true # websocket_enabled: false # polling_interval_ms: 5000 # immediately_queued: false # email: # from: some@test.com # host: google.com # port: # username: # password: # auth: # startTlsEnable: # startTlsRequired: # quitWait: # lastn_enabled: true # store_resource_in_lucene_index_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