Skip to main content

Configuring an Existing FHIR Server

To configure an existing FHIR server, you can:

Configuring a FHIR Server from FHIR Server Management

You can edit the configuration settings of an existing FHIR server using the FHIR Server Management page.

To edit the configuration settings of an existing FHIR server:

  1. Open the FHIR Server Management page.

  2. Click the menu icon in the tile for the desired server.

  3. Select Edit.

    The various configuration options are described in Basic Configuration Options and Advanced Configuration Options, below.

  4. When you have finished modifying the configuration, click Save to save your changes. To start over instead, click Cancel.

Note:

If you expect to post Bundles containing 10,000 or more entries, increase the value of the Web Gateway’s Server Response Timeout parameter to prevent a timeout from interrupting your data loads.

Basic FHIR Server Configuration Options

You can modify the basic FHIR server configuration options using the following descriptions as a guide:

Namespace

You cannot modify the namespace of an installed FHIR server.

Name

Optionally change the server name in the Name field. Name is a required field when configuring a FHIR server using the FHIR Server Management page.

FHIR Version

You cannot modify the FHIR version of an installed FHIR server.

URL

Optionally edit the endpoint URL. Ensure that the URL begins with a slash (/).

Custom Packages
  • If there are custom packages associated with the FHIR version of this server, you may select one from the Custom Packages dropdown.

  • If this dropdown is not present, there are no custom packages associated with this FHIR version.

For more information about packages, see Profiles and FHIR Adaptations.

Note:

Enabling a custom package automatically triggers the system to re-index search tables when you save your changes.

Advanced FHIR Server Configuration Options

The Advanced Configuration pane of the dialog has four sections, as shown in the image below:

generated description: server advanced config

Expand a section to edit the settings. Use the following descriptions as a guide.

FHIR Server Service Configuration

Data Organization Strategy

You cannot edit the data organization strategy for an existing FHIR server. To use a different strategy, create a new server.

Resource Database/Resource History Database

You cannot edit the database locations from the FHIR Server Management page once the databases contain resources.

Service Config Name

To route FHIR requests through an interoperability production before they reach the FHIR server, select the package and name of the business service that will receive the requests. Unless the business service has a custom name, this entry is HS.FHIRServer.Interop.Service.

Note:

For a business service to appear in this dropdown, it must extend the HS.FHIRServer.Interop.Service class, and it must be included in an interoperability production in this namespace.

For more details, see

  • Adding Business Hosts

FHIR Server Authorization Settings

OAuth Client Name

The FHIR server is an OAuth resource server. From the point of view of the OAuth 2.0 authorization server, it is a client. Specify the application (client) name for the FHIR server resource server to use when contacting the OAuth 2.0 authorization server. Select the desired OAuth client name from the dropdown list. For more information about OAuth 2.0 support, see Using OAuth 2.0 with a FHIR Server under FHIR Security.

Required Resource

To configure the FHIR server such that a FHIR client requires a particular resource in order to send a request, select that resource from the dropdown.

FHIR Server Request Settings

Default Search Page Size

Search result page size to use when a search does not contain a _count parameter.

Max Search Page Size

Maximum search result page size to prevent an excessive user-specified page size.

Max Search Results

Maximum number of resources that can be selected by a search before the server responds to the query with an error. This number only includes resources selected by the actual search; it does not include resources included using an _include search parameter. This value does not affect the size of pages returned by a search. Overly broad searches that select large numbers of resources take a lot of system resources to fulfill, and are probably more broad than the client actually needs.

Default Prefer Handling

Specifies what happens by default when a search request contains an unknown parameter:

  • To ignore an unknown parameter in a search request and return a bundle in which the OperationOutcome resource identifies the issue, specify lenient.

  • To reject a search request with an unknown parameter and return an error, specify strict.

A FHIR search request that includes the “prefer headerOpens in a new tab” overrides this default.

Max Conditional Deletes

Maximum allowable number of resources to delete using conditional delete. If the conditional delete search finds more than this number of resources, then the conditional delete as a whole is rejected with an HTTP 412 “Precondition Failed” error.

FHIR Session Timeout

Maximum number of seconds between requests to the service before any session data is considered stale.

Interactions Strategy Settings

Note:

Which options appear under Interactions Strategy Settings depend upon which Data Organization Strategy you selected when you installed your FHIR server. The list below describes the options available across all interaction strategies. You may see only a subset of these options in your FHIR server.

SMART on FHIR Capabilities

Specify the server’s SMART on FHIR capabilities by entering them as a comma-delimited list into this field. This list does not control the functionality of the endpoint; rather, it specifies the capabilities that are returned in the JSON document when a client appends /.well-known/smart-configuration to the endpoint’s URL. For example:

launch-ehr, context-ehr-patient, permission-patient, client-public, client-confidential-symmetric

For more details about SMART on FHIR capabilities retrieved with Well-Known URIs, see FHIR Authorization Endpoint and Capabilities Discovery using Well-Known Uniform Resource Identifiers (URIs)Opens in a new tab.

Silence search parameter indexing errors

Select this option to prevent search parameter indexing errors from aborting FHIR resource save.

Caution:

Enable this setting only when necessary.

Prematurely limit the number of resources...with _max_results

Select this option to make FHIR search queries more efficient by adding a SQL operation TOP N where N is the value of the _maxresults search result parameter.

Caution:

Use this setting only if you do not have PostProcessSearch() logic, since post processing filters could remove some or all of the hits from the results set, leading the query to return a number of hits fewer than _maxresults.

Refer to the hovertext for the field in the management portal for additional discussion of the tradeoffs in selecting this option.

Disable FHIR Audit

Select this option to disable FHIR auditing for this endpoint.

Functional List Configuration

Note:

The Functional List Configuration field displays only for FHIR endpoints that use or extend the HS.FHIRServer.Storage.JsonAdvSQL.InteractionsStrategy Data Organization Strategy.

Comma-delimited string of configurations for functional lists. Each list element is a colon-delimited string of three items:

  • functional list name — the names available in the default interactions strategy are:

    • $current-problems

    • $current-medications

    • $current-allergies

    • $current-drug-allergies

  • list subject search parameter — can be patient, subject, or source

  • list subject resource type — for example, Patient

The default value is:

$current-problems:patient:Patient, 
$current-medications:patient:Patient, 
$current-allergies:patient:Patient, 
$current-drug-allergies:patient:Patient
FeedbackOpens in a new tab