Skip to content

Feat/multi server#182

Merged
mechanik-daniel merged 21 commits intoOutburn-IL:mainfrom
mechanik-daniel:feat/multi-server
Apr 28, 2026
Merged

Feat/multi server#182
mechanik-daniel merged 21 commits intoOutburn-IL:mainfrom
mechanik-daniel:feat/multi-server

Conversation

@mechanik-daniel
Copy link
Copy Markdown
Contributor

@mechanik-daniel mechanik-daniel commented Apr 26, 2026

FUME Community v3.1.0: multi-server FHIR switching

Summary

This PR prepares the v3.1.0 Community release, a minor release focused entirely on multi-server FHIR support.

It adds $useFhirServer(...) so a mapping can switch the active FHIR client within the current lexical scope, using either a named connection from connections.yml or an inline URL target with per-call config.

It also adds $fhirConnectionNames() for dynamic retrieval of the available connection list from within expressions.

What changed

  • Adds lexical-scope FHIR server switching via $useFhirServer(target?, config?).
  • Supports named alternate connections defined in connections.yml.
  • Supports inline URL targets with per-call authType, credentials, fhirVersion, and timeout.
  • Adds $fhirConnectionNames() which return the list of configured connection names (strings).
  • Keeps terminology and conformance operations pinned to the default server so switching only affects FHIR client operations.
  • Adds URL client pooling keyed by effective inline connection config.

User-facing behavior

  • $useFhirServer("myConn") switches subsequent FHIR client calls in the current lexical frame to a named connection.
  • $useFhirServer("https://example.org/fhir", { ...config }) switches to an inline URL target with optional auth and timeout/version overrides.
  • $useFhirServer() resets the active client back to the default server.
  • The active connection is lexical: it affects later evaluation in the same block and nested scopes, but does not leak back out after that frame exits.
  • $translate*() and other conformance-oriented operations remain on the default server.

Configuration surface

  • New named-connection support via connections.yml.
  • New/updated runtime settings for alternate connection handling, including FHIR_CONNECTIONS_FILE and FHIR_CONNECTIONS_URL_POOL_SIZE.

This comment was marked as outdated.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 18 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/utils/connectionsLoader.ts Outdated
Comment thread src/utils/connectionsLoader.ts Outdated
Comment thread src/engine.ts
…YAML handling

Co-authored-by: Copilot <copilot@github.com>
@mechanik-daniel mechanik-daniel merged commit 72391a5 into Outburn-IL:main Apr 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants