fix config
This commit is contained in:
@@ -51,7 +51,7 @@ public class McpServerConfig {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnProperty(
|
@ConditionalOnProperty(
|
||||||
prefix = "hapi.fhir.cr",
|
prefix = "hapi.fhir.cdshooks",
|
||||||
name = {"enabled"},
|
name = {"enabled"},
|
||||||
havingValue = "true")
|
havingValue = "true")
|
||||||
public McpCdsBridge mcpCdsBridge(FhirContext fhirContext, ICdsServiceRegistry cdsServiceRegistry) {
|
public McpCdsBridge mcpCdsBridge(FhirContext fhirContext, ICdsServiceRegistry cdsServiceRegistry) {
|
||||||
|
|||||||
@@ -1,17 +1,22 @@
|
|||||||
#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 & Spring Boot
|
||||||
|
# -------------------------------------------------------------------------------------
|
||||||
server:
|
server:
|
||||||
# servlet:
|
# Uncomment to serve FHIR under a non-default context path (e.g., /example/path/fhir)
|
||||||
# context-path: /example/path
|
# servlet:
|
||||||
|
# context-path: /example/path
|
||||||
port: 8080
|
port: 8080
|
||||||
#Adds the option to go to e.g. http://localhost:8080/actuator/health for seeing the running configuration
|
tomcat:
|
||||||
#see https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints
|
# allow | as a separator in URLs
|
||||||
|
relaxed-query-chars: "|"
|
||||||
|
|
||||||
management:
|
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.
|
# Actuator endpoints: only /actuator/health exposed by default
|
||||||
endpoints:
|
endpoints:
|
||||||
enabled-by-default: false
|
enabled-by-default: false
|
||||||
web:
|
web:
|
||||||
exposure:
|
exposure:
|
||||||
include: 'health' # or e.g. 'info,health,prometheus,metrics' or '*' for all
|
include: "health" # or "info,health,prometheus,metrics" or "*" for all
|
||||||
endpoint:
|
endpoint:
|
||||||
info:
|
info:
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -23,74 +28,166 @@ management:
|
|||||||
enabled: true
|
enabled: true
|
||||||
group:
|
group:
|
||||||
liveness:
|
liveness:
|
||||||
include:
|
include: [ "livenessState", "readinessState" ]
|
||||||
- livenessState
|
|
||||||
- readinessState
|
|
||||||
prometheus:
|
prometheus:
|
||||||
enabled: true
|
enabled: true
|
||||||
prometheus:
|
prometheus:
|
||||||
metrics:
|
metrics:
|
||||||
export:
|
export:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# A. Spring AI — Model Context Protocol (MCP)
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
ai:
|
||||||
|
# Run e.g. `npx @modelcontextprotocol/inspector` and connect to http://localhost:8080/mcp/messages using Streamable HTTP
|
||||||
|
|
||||||
|
# Add the following to the MCP server settings file in e.g. cursor or claude (Desktop applications) for local debugging:
|
||||||
|
# cursor:
|
||||||
|
# {
|
||||||
|
# "mcpServers": {
|
||||||
|
# "hapi": {
|
||||||
|
# "url": "http://localhost:8080/mcp/messages"
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
# or claude:
|
||||||
|
# {
|
||||||
|
# "mcpServers": {
|
||||||
|
# "hapi": {
|
||||||
|
# "command": "npx",
|
||||||
|
# "args": [
|
||||||
|
# "mcp-remote@latest",
|
||||||
|
# "http://localhost:8080/mcp/messages"
|
||||||
|
# ]
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
mcp:
|
||||||
|
server:
|
||||||
|
name: FHIR MCP Server
|
||||||
|
version: 1.0.0
|
||||||
|
instructions: "This server provides access to a FHIR RESTful API. You can use it to query FHIR resources, perform operations, and retrieve data in a structured format."
|
||||||
|
enabled: true
|
||||||
|
streamable-http:
|
||||||
|
mcp-endpoint: /mcp/messages
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# B. Core Spring
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
main:
|
main:
|
||||||
|
allow-bean-definition-overriding: false
|
||||||
allow-circular-references: true
|
allow-circular-references: true
|
||||||
allow-bean-definition-overriding: true
|
|
||||||
|
autoconfigure:
|
||||||
|
# This exclude is only needed for setups not using Elasticsearch where the elasticsearch sniff is not needed.
|
||||||
|
exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration
|
||||||
|
|
||||||
flyway:
|
flyway:
|
||||||
enabled: false
|
enabled: false
|
||||||
baselineOnMigrate: true
|
baseline-on-migrate: true
|
||||||
fail-on-missing-locations: false
|
fail-on-missing-locations: false
|
||||||
|
|
||||||
datasource:
|
datasource:
|
||||||
#url: 'jdbc:h2:file:./target/database/h2'
|
# url: "jdbc:h2:file:./target/database/h2"
|
||||||
url: jdbc:h2:mem:test_mem
|
url: jdbc:h2:mem:test_mem
|
||||||
username: sa
|
username: sa
|
||||||
password: null
|
password: null
|
||||||
driverClassName: org.h2.Driver
|
driver-class-name: org.h2.Driver
|
||||||
max-active: 15
|
# max-active: 15 # (ignored with HikariCP; use hikari.maximum-pool-size)
|
||||||
|
|
||||||
# database connection pool size
|
|
||||||
hikari:
|
hikari:
|
||||||
maximum-pool-size: 10
|
maximum-pool-size: 10
|
||||||
|
|
||||||
jpa:
|
jpa:
|
||||||
properties:
|
properties:
|
||||||
hibernate:
|
hibernate:
|
||||||
format_sql: false
|
format_sql: false
|
||||||
show_sql: false
|
show_sql: false
|
||||||
|
# Hibernate dialect is auto-detected except for H2/Postgres.
|
||||||
#Hibernate dialect is automatically detected except Postgres and H2.
|
# If using H2: ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect
|
||||||
#If using H2, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect
|
# If using Postgres: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect
|
||||||
#If using postgres, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
|
|
||||||
dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect
|
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
|
# --- Optional Hibernate DDL & tuning (commented out from source) ---
|
||||||
|
hbm2ddl:
|
||||||
|
auto: update
|
||||||
|
jdbc:
|
||||||
|
batch_size: 20
|
||||||
|
cache:
|
||||||
|
use_query_cache: false
|
||||||
|
use_second_level_cache: false
|
||||||
|
use_structured_entries: false
|
||||||
|
use_minimal_puts: false
|
||||||
|
|
||||||
|
# --- Hibernate Search (Lucene/Elasticsearch) ---
|
||||||
search:
|
search:
|
||||||
enabled: true
|
enabled: false
|
||||||
### lucene parameters
|
# Lucene backend (default example)
|
||||||
# hibernate.search.backend.type: lucene
|
# backend:
|
||||||
# hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiLuceneAnalysisConfigurer
|
# type: lucene
|
||||||
# hibernate.search.backend.directory.type: local-filesystem
|
# analysis:
|
||||||
# hibernate.search.backend.directory.root: target/lucenefiles
|
# configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiLuceneAnalysisConfigurer
|
||||||
# hibernate.search.backend.lucene_version: lucene_current
|
# directory:
|
||||||
### elastic parameters ===> see also elasticsearch section below <===
|
# type: local-filesystem
|
||||||
# hibernate.search.backend.type: elasticsearch
|
# root: target/lucenefiles
|
||||||
# hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiElasticAnalysisConfigurer
|
# lucene_version: lucene_current
|
||||||
autoconfigure:
|
# Elasticsearch backend (alternative) — see also hapi.fhir.elasticsearch section in docs
|
||||||
# This exclude is only needed for setups not using Elasticsearch where the elasticsearch sniff is not needed.
|
# backend:
|
||||||
exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration
|
# type: elasticsearch
|
||||||
|
# analysis:
|
||||||
|
# configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiElasticAnalysisConfigurer
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------
|
||||||
|
# HAPI FHIR — grouped by domain
|
||||||
|
# -------------------------------------------------------------------------------------
|
||||||
hapi:
|
hapi:
|
||||||
fhir:
|
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.
|
# -------------------------------------------------------------------------------
|
||||||
|
# A. Core Server & API
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
openapi_enabled: true # Swagger UI at /fhir/swagger-ui/index.html; API docs at /fhir/api-docs
|
||||||
|
fhir_version: R4 # DSTU2 | DSTU3 | R4 | R5
|
||||||
|
# use_apache_address_strategy: false
|
||||||
|
# use_apache_address_strategy_https: false
|
||||||
|
# custom_content_path: ./custom # folder name must be 'custom'
|
||||||
|
# app_content_path: ./configs/app # served under /web/app
|
||||||
|
# server_address: http://hapi.fhir.org/baseR4
|
||||||
|
# defer_indexing_for_codesystems_of_size: 101
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# B. Implementation Guides (IG) & Package Install
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
ig_runtime_upload_enabled: false
|
||||||
|
# validate_resource_status_for_package_upload: false # default true
|
||||||
|
# install_transitive_ig_dependencies: true
|
||||||
|
# implementationguides:
|
||||||
|
# swiss:
|
||||||
|
# name: swiss.mednet.fhir
|
||||||
|
# version: 0.8.0
|
||||||
|
# reloadExisting: false
|
||||||
|
# installMode: STORE_AND_INSTALL
|
||||||
|
# ips_1_0_0:
|
||||||
|
# packageUrl: https://costateixeira.github.io/smart-ips-pilgrimage-fulltest/package.tgz
|
||||||
|
# name: smart.who.int.ips-pilgrimage-test
|
||||||
|
# version: 0.1.0
|
||||||
|
# installMode: STORE_AND_INSTALL
|
||||||
|
# additionalResourceFolders:
|
||||||
|
# - example
|
||||||
|
# - example2
|
||||||
|
# supported_resource_types:
|
||||||
|
# - Patient
|
||||||
|
# - Observation
|
||||||
|
# allowed_bundle_types: COLLECTION,DOCUMENT,MESSAGE,TRANSACTION,TRANSACTIONRESPONSE,BATCH,BATCHRESPONSE,HISTORY,SEARCHSET
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# C. Clinical Reasoning / CQL / Care Gaps / CDS Hooks
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
cr:
|
cr:
|
||||||
enabled: true
|
enabled: true # exposes Clinical Reasoning operation endpoints
|
||||||
caregaps:
|
caregaps:
|
||||||
reporter: "default"
|
reporter: "default"
|
||||||
section_author: "default"
|
section_author: "default"
|
||||||
@@ -102,8 +199,7 @@ hapi:
|
|||||||
cql:
|
cql:
|
||||||
use_embedded_libraries: true
|
use_embedded_libraries: true
|
||||||
compiler:
|
compiler:
|
||||||
### These are low-level compiler options.
|
# low-level compiler options (typically not needed)
|
||||||
### They are not typically needed by most users.
|
|
||||||
# validate_units: true
|
# validate_units: true
|
||||||
# verify_only: false
|
# verify_only: false
|
||||||
# compatibility_level: "1.5"
|
# compatibility_level: "1.5"
|
||||||
@@ -128,113 +224,84 @@ hapi:
|
|||||||
debug_logging_enabled: false
|
debug_logging_enabled: false
|
||||||
# enable_validation: false
|
# enable_validation: false
|
||||||
# enable_expression_caching: true
|
# enable_expression_caching: true
|
||||||
terminology:
|
terminology:
|
||||||
valueset_preexpansion_mode: REQUIRE # USE_IF_PRESENT, REQUIRE, IGNORE
|
valueset_preexpansion_mode: REQUIRE # USE_IF_PRESENT | REQUIRE | IGNORE
|
||||||
valueset_expansion_mode: PERFORM_NAIVE_EXPANSION # AUTO, USE_EXPANSION_OPERATION, PERFORM_NAIVE_EXPANSION
|
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
|
valueset_membership_mode: USE_EXPANSION # AUTO | USE_VALIDATE_CODE_OPERATION | USE_EXPANSION
|
||||||
code_lookup_mode: USE_CODESYSTEM_URL # AUTO, USE_VALIDATE_CODE_OPERATION, USE_CODESYSTEM_URL
|
code_lookup_mode: USE_CODESYSTEM_URL # AUTO | USE_VALIDATE_CODE_OPERATION | USE_CODESYSTEM_URL
|
||||||
data:
|
data:
|
||||||
search_parameter_mode: USE_SEARCH_PARAMETERS # AUTO, USE_SEARCH_PARAMETERS, FILTER_IN_MEMORY
|
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
|
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
|
profile_mode: DECLARED # ENFORCED | DECLARED | OPTIONAL | TRUST | OFF
|
||||||
|
|
||||||
cdshooks:
|
cdshooks:
|
||||||
enabled: true
|
enabled: true
|
||||||
clientIdHeaderName: client_id
|
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
|
# D. Search & Indexing
|
||||||
### This is the FHIR version. Choose between, DSTU2, DSTU3, R4 or R5
|
# -------------------------------------------------------------------------------
|
||||||
fhir_version: R4
|
# NOTE: Extended Lucene/Elasticsearch indexing is experimental.
|
||||||
### Flag is false by default. This flag enables runtime installation of IG's.
|
# See https://hapifhir.io/hapi-fhir/docs/server_jpa/elastic.html
|
||||||
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 e.g. /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
|
|
||||||
### 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
|
|
||||||
# resource_dbhistory_enabled: false
|
|
||||||
### !!Extended Lucene/Elasticsearch Indexing is still an 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
|
advanced_lucene_indexing: false
|
||||||
search_index_full_text_enabled: false
|
search_index_full_text_enabled: false
|
||||||
|
# language_search_parameter_enabled: true
|
||||||
|
# upliftedRefchains_enabled: true
|
||||||
|
# index_storage_optimized: false
|
||||||
|
# enable_index_missing_fields: false
|
||||||
|
# enable_index_of_type: true
|
||||||
|
# enable_index_contained_resource: false
|
||||||
|
# store_resource_in_lucene_index_enabled: true
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# E. Bulk Operations
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
bulk_export_enabled: false
|
bulk_export_enabled: false
|
||||||
bulk_import_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.
|
# F. Write / Delete / Integrity
|
||||||
# enforce_referential_integrity_on_delete: false
|
# -------------------------------------------------------------------------------
|
||||||
# enforce_referential_integrity_on_write: false
|
# allow_cascading_deletes: true
|
||||||
# etag_support_enabled: true
|
# allow_contains_searches: true
|
||||||
# expunge_enabled: true
|
# allow_external_references: true
|
||||||
# client_id_strategy: ALPHANUMERIC
|
# allow_multiple_delete: true
|
||||||
# server_id_strategy: SEQUENTIAL_NUMERIC
|
# allow_override_default_search_params: true
|
||||||
# fhirpath_interceptor_enabled: false
|
# auto_create_placeholder_reference_targets: false
|
||||||
# filter_search_enabled: true
|
# mass_ingestion_mode_enabled: false
|
||||||
# graphql_enabled: true
|
# auto_version_reference_at_paths: Device.patient, Device.location, Device.parent, DeviceMetric.parent, DeviceMetric.source, Observation.device, Observation.subject
|
||||||
|
# client_id_strategy: ALPHANUMERIC
|
||||||
|
# server_id_strategy: SEQUENTIAL_NUMERIC
|
||||||
|
# enforce_referential_integrity_on_delete: false
|
||||||
|
# enforce_referential_integrity_on_write: false
|
||||||
|
# etag_support_enabled: true
|
||||||
|
# expunge_enabled: true
|
||||||
|
# fhirpath_interceptor_enabled: false
|
||||||
|
# filter_search_enabled: true
|
||||||
|
# graphql_enabled: true
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# G. Narrative & Validation
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
narrative_enabled: false
|
narrative_enabled: false
|
||||||
|
# validation:
|
||||||
|
# requests_enabled: true
|
||||||
|
# responses_enabled: true
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# H. MDM (Master Data Management)
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
mdm_enabled: false
|
mdm_enabled: false
|
||||||
mdm_rules_json_location: "mdm-rules.json"
|
mdm_rules_json_location: "mdm-rules.json"
|
||||||
# local_base_urls:
|
# userRequestRetryVersionConflictsInterceptorEnabled: false
|
||||||
# - 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
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# I. Terminology / ValueSet Expansion
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# 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:
|
logical_urls:
|
||||||
- http://terminology.hl7.org/*
|
- http://terminology.hl7.org/*
|
||||||
- https://terminology.hl7.org/*
|
- https://terminology.hl7.org/*
|
||||||
@@ -244,96 +311,112 @@ hapi:
|
|||||||
- https://unitsofmeasure.org/*
|
- https://unitsofmeasure.org/*
|
||||||
- http://loinc.org/*
|
- http://loinc.org/*
|
||||||
- https://loinc.org/*
|
- https://loinc.org/*
|
||||||
# partitioning:
|
|
||||||
# allow_references_across_partitions: false
|
# -------------------------------------------------------------------------------
|
||||||
# partitioning_include_in_search_hashes: false
|
# J. Partitioning & Multitenancy
|
||||||
# conditional_create_duplicate_identifiers_enabled: false
|
# -------------------------------------------------------------------------------
|
||||||
|
# partitioning:
|
||||||
|
# allow_references_across_partitions: false
|
||||||
|
# partitioning_include_in_search_hashes: false
|
||||||
|
# default_partition_id: 0
|
||||||
|
# database_partition_mode_enabled: true
|
||||||
|
# patient_id_partitioning_mode: true
|
||||||
|
# request_tenant_partitioning_mode: false
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# K. CORS
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
cors:
|
cors:
|
||||||
allow_Credentials: true
|
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:
|
allowed_origin:
|
||||||
- '*'
|
- "*"
|
||||||
|
|
||||||
# Search coordinator thread pool sizes
|
# -------------------------------------------------------------------------------
|
||||||
|
# L. Search Orchestration
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
search-coord-core-pool-size: 20
|
search-coord-core-pool-size: 20
|
||||||
search-coord-max-pool-size: 100
|
search-coord-max-pool-size: 100
|
||||||
search-coord-queue-capacity: 200
|
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.
|
||||||
|
# CSV list; -1 as final value means "all"
|
||||||
|
search_prefetch_thresholds: 13,503,2003,-1
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# M. Extensibility (custom beans / interceptors / providers)
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
# comma-separated package names, will be @ComponentScan'ed by Spring to allow for creating custom Spring beans
|
# 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.
|
# custom-provider-classes:
|
||||||
# classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages',
|
# custom-interceptor-classes:
|
||||||
# or will be instantiated via reflection using a no-arg constructor; then registered with the server
|
# custom-provider-classes:
|
||||||
#custom-interceptor-classes:
|
|
||||||
|
|
||||||
# comma-separated list of fully qualified provider classes.
|
# store_meta_source_information: NONE
|
||||||
# classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages',
|
# bundle_batch_pool_size: 10
|
||||||
# or will be instantiated via reflection using a no-arg constructor; then registered with the server
|
# bundle_batch_pool_max_size: 50
|
||||||
#custom-provider-classes:
|
|
||||||
|
|
||||||
# Threadpool size for BATCH'ed GETs in a bundle.
|
# -------------------------------------------------------------------------------
|
||||||
# bundle_batch_pool_size: 10
|
# N. Logging
|
||||||
# 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
|
||||||
|
|
||||||
# logger:
|
# -------------------------------------------------------------------------------
|
||||||
# error_format: 'ERROR - ${requestVerb} ${requestUrl}'
|
# O. Storage / Pagination / Caching
|
||||||
# format: >-
|
# -------------------------------------------------------------------------------
|
||||||
# Path[${servletPath}] Source[${requestHeader.x-forwarded-for}]
|
# max_binary_size: 104857600
|
||||||
# Operation[${operationType} ${operationName} ${idOrResourceName}]
|
# max_page_size: 200
|
||||||
# UA[${requestHeader.user-agent}] Params[${requestParameters}]
|
# retain_cached_searches_mins: 60
|
||||||
# ResponseEncoding[${responseEncodingNoDefault}]
|
# reuse_cached_search_results_millis: 60000
|
||||||
# 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: Local 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
|
inline_resource_storage_below_size: 4000
|
||||||
# bulk_export_enabled: true
|
|
||||||
# subscription:
|
# -------------------------------------------------------------------------------
|
||||||
# resthook_enabled: true
|
# P. Remote Terminology Service (disabled by default)
|
||||||
# websocket_enabled: false
|
# -------------------------------------------------------------------------------
|
||||||
# email:
|
# remote_terminology_service:
|
||||||
# from: some@test.com
|
# all:
|
||||||
# host: google.com
|
# system: "*"
|
||||||
# port:
|
# url: "https://tx.fhir.org/r4/"
|
||||||
# username:
|
# snomed:
|
||||||
# password:
|
# system: "http://snomed.info/sct"
|
||||||
# auth:
|
# url: "https://tx.fhir.org/r4/"
|
||||||
# startTlsEnable:
|
# loinc:
|
||||||
# startTlsRequired:
|
# system: "http://loinc.org"
|
||||||
# quitWait:
|
# url: "https://hapi.fhir.org/baseR4/"
|
||||||
# lastn_enabled: true
|
|
||||||
# store_resource_in_lucene_index_enabled: true
|
# -------------------------------------------------------------------------------
|
||||||
### This is configuration for normalized quantity search level default is 0
|
# Q. Subscriptions (disabled by default)
|
||||||
### 0: NORMALIZED_QUANTITY_SEARCH_NOT_SUPPORTED - default
|
# -------------------------------------------------------------------------------
|
||||||
### 1: NORMALIZED_QUANTITY_STORAGE_SUPPORTED
|
# subscription:
|
||||||
### 2: NORMALIZED_QUANTITY_SEARCH_SUPPORTED
|
# resthook_enabled: true
|
||||||
# normalized_quantity_search_level: 2
|
# websocket_enabled: false
|
||||||
#elasticsearch:
|
# polling_interval_ms: 5000
|
||||||
# debug:
|
# immediately_queued: false
|
||||||
# pretty_print_json_log: false
|
# email:
|
||||||
# refresh_after_write: false
|
# from: some@test.com
|
||||||
# enabled: false
|
# host: google.com
|
||||||
# password: SomePassword
|
# port:
|
||||||
# required_index_status: YELLOW
|
# username:
|
||||||
# rest_url: 'localhost:9200'
|
# password:
|
||||||
# protocol: 'http'
|
# auth:
|
||||||
# schema_management_strategy: CREATE
|
# startTlsEnable:
|
||||||
# username: SomeUsername
|
# startTlsRequired:
|
||||||
|
# quitWait:
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# R. LastN (analytics)
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
# lastn_enabled: true
|
||||||
|
|||||||
Reference in New Issue
Block a user