Skip to main content

Overview

Configuration is loaded in this order (later overrides earlier):
  1. Built-in defaults
  2. config.yaml (optional)
  3. Environment variables with FHIR__ prefix (e.g. FHIR__SERVER__PORT)
  4. DATABASE_URL fallback for database.url when FHIR__DATABASE__URL is unset
  5. Runtime overrides in PostgreSQL (Admin UI / Admin API)
Nested keys map to env vars via __: FHIR__DATABASE__URLdatabase.url. Arrays use comma: FHIR__SERVER__CORS_ORIGINS=https://a.com,https://b.com.

Config Reference

server

database

fhir

fhir.interactions — Toggle FHIR operations. All default to true.
  • system: capabilities, search, history, delete, batch, transaction, history_bundle
  • type_level: create, conditional_create, search, history, conditional_update, conditional_patch, conditional_delete
  • instance: read, vread, update, patch, delete, history, delete_history, delete_history_version
  • compartment: search
  • operations: system, type_level, instance
fhir.search fhir.fhirpath fhir.referential_integrity fhir.default_packages — core, extensions, terminology. Each: install, install_examples, include_resource_types, exclude_resource_types (mutually exclusive). fhir.packages — Additional packages: name, version, install_examples, include_resource_types, exclude_resource_types. fhir.capability_statement — Metadata for GET /metadata: id, name, title, publisher, description, software_name, software_version, contact_email, supported_resources.

workers

logging

logging.audit — Audit logging for FHIR operations. logging.audit.interactions — Per-interaction audit toggles: read, vread, history, search, create, update, patch, delete, capabilities (default: false), operation, batch, transaction, export.

ui

auth

auth.oidc — Required when auth.enabled=true: issuer_url, audience. Optional: jwks_url, jwks_cache_ttl_seconds (300), http_timeout_seconds (5).

Example

Runtime Configuration

A subset of settings can be changed at runtime via Admin UI (Settings) or Admin API (GET/PUT /admin/config/{key}). Stored in PostgreSQL; multi-instance sync via LISTEN/NOTIFY. See apps/server/src/runtime_config/keys.rs for supported keys.