Available features and configuration

Features and services can be disabled in Firely Server by adjusting the so-called PipelineOptions in combination with Operations setting. A default setup of the pipeline is installed with Firely Server in appsettings.default.json, and it looks like this:

"PipelineOptions": {
  "PluginDirectory": "./plugins",
  "Branches": [
    {
      "Path": "/",
      "Include": [
        "Vonk.Core",
        "Vonk.Plugin.Operations",
        "Vonk.Fhir.R3",
        "Vonk.Fhir.R4",
        //"Vonk.Fhir.R5",
        "Vonk.Repository.Sql.Raw.KSearchConfiguration",
        "Vonk.Repository.Sqlite.SqliteVonkConfiguration",
        "Vonk.Repository.MongoDb.MongoDbVonkConfiguration",
        "Vonk.Subscriptions",
        "Vonk.Plugin.Smart",
        "Vonk.UI.Demo",
        "Vonk.Plugin.DocumentOperation.DocumentOperationConfiguration",
        //"Vonk.Plugin.DocumentHandling.DocumentHandlingConfiguration",
        //"Vonk.Plugin.DocRefOperation.DocRefOperationConfiguration",
        "Vonk.Plugin.ConvertOperation.ConvertOperationConfiguration",
        "Vonk.Plugin.BinaryWrapper",
        "Vonk.Plugin.Audit",
        //"Vonk.Plugin.BulkDataExport.SystemBulkDataExportConfiguration",
        //"Vonk.Plugin.BulkDataExport.GroupBulkDataExportConfiguration",
        //"Vonk.Plugin.BulkDataExport.PatientBulkDataExportConfiguration",
        //"Vonk.Plugin.PatientEverything",
        //"Vonk.Plugin.LastN",
        "Vonk.Plugin.UpdateNoOp.UpdateNoOpConfiguration",
        "Vonk.Plugin.UpdateNoOp.PatchNoOpConfiguration",
        "Vonk.Plugin.UpdateNoOp.ConditionalUpdateNoOpConfiguration",
        //"Vonk.Plugin.EraseOperation.EraseOperationConfiguration",
        //"Vonk.Plugin.EraseOperation.PurgeOperationConfiguration",
        "Vonk.Plugin.SearchAnonymization",
        //"Vonk.Plugin.MemberMatch",
        //"Vonk.Plugin.Services.Azure",
        //"Vonk.Plugin.PubSub.Pub.MongoDb",
        //"Vonk.Plugin.PubSub.Pub.Sql",
        //"Vonk.Plugin.PubSub.Sub",
        //"Vonk.Plugin.VirtualTenants",
        "Vonk.Plugins.Terminology"
      ],
      "Exclude": [
        "Vonk.Subscriptions.Administration",
        "Vonk.Plugin.Audit.Integrity"
      ]
    },
    {
      "Path": "/administration",
      "Include": [
        "Vonk.Core",
        "Vonk.Fhir.R3",
        "Vonk.Fhir.R4",
        //"Vonk.Fhir.R5",
        //"Vonk.Repository.Sql.SqlTaskConfiguration",
        "Vonk.Repository.Sql.Raw.KAdminSearchConfiguration",
        "Vonk.Repository.Sqlite.SqliteTaskConfiguration",
        "Vonk.Repository.Sqlite.SqliteAdministrationConfiguration",
        //"Vonk.Repository.MongoDb.MongoDbTaskConfiguration",
        "Vonk.Repository.MongoDb.MongoDbAdminConfiguration",
        "Vonk.Subscriptions.Administration",
        "Vonk.Plugins.Terminology",
        //"Vonk.Plugin.RealWorldTesting",
        //"Vonk.Plugin.UpdateNoOp.UpdateNoOpConfiguration",
        "Vonk.Administration",
        "Vonk.Plugin.BinaryWrapper"
      ]
    }
  ]
}
PipelineOptions.Branches:

Firely Server has two logical paths, called branches, by default on which the RESTful API interactions and operations are exposed:

Branches contains a subdocument for each of the defined paths:

Path

The path for this branch. This is the part after the base URL that Firely Server is hosted on.

Include

(Prefixes of) Configuration classes that add services and middleware to Firely Server.

Exclude

(Prefixes of) Configuration classes that may not be executed. Exclude overrides Include and is useful if you want to use all but one configuration class from a namespace.

Features can be identified by their corresponding Configuration namespace in the list below. To disable a feature, add the namespace to the Excluded section or commented it out. Custom REST operations can additionally be enabled on a system-, type-, or instance-level using the Operations setting, see Enable or disable interactions for more details.

Infrastructural plugins

Name:

Maintenance

Configuration:

Vonk.Core.Infra.MaintenanceConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

20

Description:

Periodically cleans the indexed values for deleted or superseded resources from the database.

Name:

FhirPath

Configuration:

Vonk.Core.Conformance.FhirPathConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

50

Description:

Add FhirPath capabilities (Fhirpath compiler and custom function implementations)

Name:

License

Configuration:

Vonk.Core.Licensing.LicenseConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

120

Description:

Registers the LicenseService that checks for a valid license. Without this plugin Firely Server does not work.

Name:

Serialization

Configuration:

Vonk.Core.Serialization.SerializationConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

130

Description:

Registers an implementation for the ISerializationService and ISerializationSupport interfaces and actual serializers and parsers for JSON and XML.

Name:

Terminology Services

Configuration:

Vonk.Plugins.Terminology.TerminologyConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

132

Description:

Registers local and remote terminology services to make them available as a core infrastructure.

Name:

Advanced Terminology

Configuration:

Vonk.Plugins.Terminology.AdvancedTerminologyConfiguration

License token:

http://fire.ly/advanced-terminology

Order:

134

Description:

Enables advanced terminology services backed by conformance archives (CAR files). Overrides the default terminology proxy with a delegated implementation that can resolve codes from local conformance archives.

Name:

Pluggability

Configuration:

Vonk.Core.Pluggability.PluggabilityConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

150

Description:

Registers services to dynamically build the IModelService using registered IModelContributor implementations.

Name:

SearchAnonymization

Configuration:

Vonk.Plugin.SearchAnonymization.SearchAnonymizationRequestHandlingConfiguration and Vonk.Plugin.SearchAnonymization.SearchAnonymizationResponseHandlingConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

1100 & 1238

Description:

Removes privacy-sensitive information from the navigational links of a searchset bundle. See Search Anonymization for details.

Name:

Http to Vonk

Configuration:

Vonk.Core.Context.Http.HttpToVonkConfiguration

License token:

http://fire.ly/vonk/plugins/http

Order:

1110

Description:

Builds an IVonkContext out of the HttpContext. You can only access the IVonkContext in the pipeline from plugins that have a higher order.

Name:

Vonk to Http

Configuration:

Vonk.Core.Context.Http.VonkToHttpConfiguration

License token:

http://fire.ly/vonk/plugins/http

Order:

1120

Description:

Translates the response in the IVonkContext to a response on the HttpContext. It honors the value of the prefer header if present. It also adds the VonkExceptionMiddleware to the pipeline as a last resort for catching exceptions.

Name:

Formatter

Configuration:

Vonk.Core.Context.Format.FormatConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

1130

Description:

Registers an implementation of IFormatter that can write the IVonkContext.Response.Payload to the response body in the requested format. Does not add a processor to the pipeline.

Name:

Liveness probe

Configuration:

Vonk.Core.Infra.LivenessCheckConfiguration

License token:

<none>

Order:

1160

Description:

Check whether the server is active, for use in e.g. Kubernetes liveness probes or Docker healthchecks. See Liveness and readiness - $liveness, $readiness for possible results.

Name:

Long running tasks

Configuration:

Vonk.Core.Infra.LongRunning.LongRunningConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

1170

Description:

If Vonk processes a task that could lead to inconsistent output, all other requests are rejected by this plugin. Long running tasks are e.g. the Import of Conformance Resources and Re-indexing for new or changed SearchParameters.

Name:

Readiness probe

Configuration:

Vonk.Core.Infra.ReadinessCheckConfiguration

License token:

<none>

Order:

1180

Description:

Check whether the server can handle requests, for use in e.g. Kubernetes readiness probes or Docker healthchecks. See Liveness and readiness - $liveness, $readiness for possible results.

Name:

Compartments

Configuration:

Vonk.Core.Context.Features.CompartmentsConfiguration

License token:

http://fire.ly/vonk/plugins/search

Order:

1210

Description:

Recognizes a compartment in a compartment search on system or type level (see Search). It is added as a feature of type ICompartment to the IVonkContext.Features collection, to be used by Search later on. This ICompartment feature will limit all queries to within the specified compartment.

Name:

Supported Interactions

Configuration:

Vonk.Core.Context.Guards.SupportedInteractionsConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

1220

Description:

Blocks interactions that are not listed as supported.

Options:

SupportedInteractions, see Enable or disable interactions.

Name:

Size Limits

Configuration:

Vonk.Core.Context.Guards.SizeLimitsConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

1225

Description:

Rejects bodies that are too large and bundles with too many entries.

Options:

SizeLimits, see Protect against large input

Name:

Url mapping

Configuration:

Vonk.Core.Context.UrlMapping.UrlMappingConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

1235

Description:

In a resource in the request, urls pointing to this instance of Firely Server are made relative. In a resource in the response, relative urls are made absolute, by adding the base url of the server. This way the server can be addressed in multiple ways (e.g. http://intranet.acme.com/fhir and https://fhir.acme.com) and still provide correct absolute urls.

Name:

Default Shapes

Configuration:

Vonk.Core.Context.Guards.DefaultShapesConfiguration

License token:

http://fire.ly/vonk/plugins/infra

Order:

4110

Description:

Defines search behaviour if not specified by request. By default: sort order is set to, _lastUpdated:asc, count is set to _count=<default count>, total is set to _total=<default total>.

Options:
Name:

Virtual Multi-tenancy

Configuration:

Vonk.Plugin.VirtualTenants.VirtualTenantsConfiguration

License token:

http://fire.ly/server/plugins/virtual-tenants

Order:

2900

Description:

Enables the virtual seperation of information stored by Firely Server based on a tenant id. See Multi-tenancy for more information.

Support for different FHIR versions

Name:

FHIR R3

Configuration:

Vonk.Fhir.R3.FhirR3Configuration

License token:

http://fire.ly/vonk/plugins/fhirr3

Order:

100

Description:

Registers services to support FHIR STU3 (or R3).

Name:

FHIR R3 Specification

Configuration:

Vonk.Fhir.R3.FhirR3SpecificationConfiguration

License token:

http://fire.ly/vonk/plugins/fhirr3

Order:

112

Description:

Registers an Hl7.Fhir.Specification.IStructureDefinitionSummaryProvider for FHIR STU3 (or R3).

Name:

FHIR R3 Validation

Configuration:

Vonk.Fhir.R3.Validation.ValidationConfigurationR3

License token:

http://fire.ly/vonk/plugins/fhirr3

Order:

4845

Description:

Registers a validator for FHIR STU3 (or R3).

Name:

FHIR R4

Configuration:

Vonk.Fhir.R4.FhirR4Configuration

License token:

http://fire.ly/vonk/plugins/fhirr4

Order:

101

Description:

Registers services to support FHIR R4.

Name:

FHIR R4 Specification

Configuration:

Vonk.Fhir.R4.FhirR4SpecificationConfiguration

License token:

http://fire.ly/vonk/plugins/fhirr4

Order:

113

Description:

Registers an Hl7.Fhir.Specification.IStructureDefinitionSummaryProvider for FHIR R4.

Name:

FHIR R4 Validation

Configuration:

Vonk.Fhir.R4.Validation.ValidationConfigurationR4

License token:

http://fire.ly/vonk/plugins/fhirr4

Order:

4845

Description:

Registers a validator for FHIR R4.

Name:

FHIR R5

Configuration:

Vonk.Fhir.R5.FhirR5Configuration

License token:

http://fire.ly/vonk/plugins/fhirr5

Order:

103

Description:

Registers services to support FHIR R5.

Name:

FHIR R5 Specification

Configuration:

Vonk.Fhir.R5.FhirR5SpecificationConfiguration

License token:

http://fire.ly/vonk/plugins/fhirr5

Order:

114

Description:

Registers an Hl7.Fhir.Specification.IStructureDefinitionSummaryProvider for FHIR R5.

Name:

FHIR R5 Validation

Configuration:

Vonk.Fhir.R5.Validation.ValidationConfigurationR5

License token:

http://fire.ly/vonk/plugins/fhirr5

Order:

4845

Description:

Registers a validator for FHIR R5.

Name:

Endpoint mapping

Configuration:

Vonk.Core.Context.Http.InformationModelEndpointConfiguration

License token:
Order:

700

Description:

Implements mapping endpoints to FHIR versions. See Running different versions on different endpoints for more information.

FHIR RESTful interactions

Name:

Read

Configuration:

Vonk.Core.Operations.Crud.ReadConfiguration

License token:

http://fire.ly/vonk/plugins/read

Order:

4410

Description:

Implements FHIR instance read. It will return the Resource that matches the id and the FHIR version. If a Resource with matching id is found with another FHIR version you are notified.

Name:

Create

Configuration:

Vonk.Core.Operations.Crud.CreateConfiguration

License token:

http://fire.ly/vonk/plugins/create

Order:

4420

Description:

Implements FHIR type create.

Name:

Update

Configuration:

Vonk.Core.Operations.Crud.UpdateResourceResolverConfiguration + Vonk.Core.Operations.Crud.UpdateConfiguration

License token:

http://fire.ly/vonk/plugins/update

Order:

4430 + 4432

Description:

Implements FHIR instance update, with support for ‘upsert’: creating a Resource with a pre-assigned id. Note that id’s must be unique across FHIR versions.

Name:

Update NoOp

Configuration:

Vonk.Plugin.UpdateNoOp.UpdateNoOpConfiguration

License token:

http://fire.ly/vonk/plugins/update

Order:

4431

Description:

Executes a NoOp operation if an Update interaction does not result in content in the database being changed. See Update with no changes for more information.

Name:

Patch

Configuration:

Vonk.Core.Operations.Crud.FhirPatchResourceResolverConfiguration + Vonk.Core.Operations.Crud.FhirPatchConfiguration

License token:

http://fire.ly/vonk/plugins/update

Order:

4433 + 4435

Description:

Implements FHIR instance patch, as specified by FHIR Patch.

Configuration:

Vonk.Plugin.UpdateNoOp.PatchNoOpConfiguration

License token:

http://fire.ly/vonk/plugins/update

Order:

4434

Description:

Executes a NoOp operation if a Patch interaction does not result in content in the database being changed. See Update with no changes for more information.

Name:

Delete

Configuration:

Vonk.Core.Operations.Crud.DeleteConfiguration

License token:

http://fire.ly/vonk/plugins/delete

Order:

4440

Description:

Implements FHIR instance delete. Since id’s in Firely Server must be unique across FHIR versions, the delete is issued on the provided id, regardless of the FHIR version.

Name:

Search support

Configuration:

Vonk.Core.Repository.RepositorySearchSupportConfiguration

License token:

http://fire.ly/vonk/plugins/search

Order:

140

Description:

Registers services required for Search. It is automatically registered by Search.

Name:

Index

Configuration:

Vonk.Core.Repository.RepositoryIndexSupportConfiguration

License token:

http://fire.ly/vonk/plugins/index

Order:

141

Description:

Extracts values matching Searchparameters from resources, so they can be searched on.

Name:

Include

Configuration:

Vonk.Core.Operations.Search.IncludeConfiguration

License token:

http://fire.ly/vonk/plugins/include

Order:

4210

Description:

Implements _include and _revinclude. This acts on the result bundle of a search. Therefore it also works out of the box for Facade implementations, provided that the Facade implements support for the reference Searchparameters that are used in the _(rev)include.

Name:

Elements

Configuration:

Vonk.Core.Context.Elements.ElementsConfiguration

License token:

http://fire.ly/vonk/plugins/search

Order:

3130

Description:

Applies the _elements parameter to the Resource that is in the response (single resource or bundle).

Name:

Summary

Configuration:

Vonk.Core.Context.Elements.SummaryConfiguration

License token:

http://fire.ly/vonk/plugins/search

Order:

3131

Description:

Applies the _summary parameter to the Resource that is in the response (single resource or bundle).

Name:

History

Configuration:

Vonk.Core.Operations.History.HistoryConfiguration

License token:

http://fire.ly/vonk/plugins/history

Order:

4610

Description:

Implements _history on system, type and instance level.

Options:

BundleOptions, see Search size

Name:

Version Read

Configuration:

Vonk.Core.Operations.History.VersionReadConfiguration

License token:

http://fire.ly/vonk/plugins/history

Order:

4620

Description:

Implements reading a specific version of a resource (<base>/Patient/123/_history/v3).

Name:

Capability

Configuration:

Vonk.Core.Operations.Capability.CapabilityConfiguration

License token:

http://fire.ly/vonk/plugins/capability

Order:

4120

Description:

Provides the CapabilityStatement on the <base>/metadata endpoint. The CapabilityStatement is tailored to the FHIR version of the request. The CapabilityStatement is built dynamically by visiting all the registered implementations of ICapabilityStatementContributor, see Capability Statement Management.

Name:

Capability Cache

Configuration:

Vonk.Core.Infra.ResponseCache.CapabilityCacheConfiguration

Order:

1223

Description:

Caches the response of <base>/metadata endpoint.

Name:

Conditional Create

Configuration:

Vonk.Core.Operations.ConditionalCrud.ConditionalCreateConfiguration

License token:

http://fire.ly/vonk/plugins/conditionalcreate

Order:

4510

Description:

Implements FHIR conditional create.

Name:

Conditional Update

Configuration:

Vonk.Core.Operations.ConditionalCrud.ConditionalUpdateResourceResolverConfiguration + Vonk.Core.Operations.ConditionalCrud.ConditionalUpdateConfiguration

License token:

http://fire.ly/vonk/plugins/conditionalupdate

Order:

4520 + 4522

Description:

Implements FHIR conditional update. It depends on two plugins working together.

Name:

Conditional Update NoOp

Configuration:

Vonk.Plugin.UpdateNoOp.ConditionalUpdateNoOpConfiguration

License token:

http://fire.ly/vonk/plugins/conditionalupdate

Order:

4521

Description:

Executes a NoOp operation if a Conditional Update interaction does not result in content in the database being changed. See Update with no changes for more information.

Name:

Conditional Delete

Configuration:

Vonk.Core.Operations.ConditionalCrud.ConditionalDeleteConfiguration

License token:

http://fire.ly/vonk/plugins/conditionaldelete

Order:

4530

Description:

Implements FHIR conditional delete.

Options:

FhirCapabilities.ConditionalDeleteOptions, see FHIR Capabilities

Name:

Validation

Configuration:

Vonk.Core.Operations.Validation.ValidationConfiguration

License token:

http://fire.ly/vonk/plugins/validation or http://fire.ly/firely-validator (for advanced validation and advisor rules)

Order:

4000

Description:

Implements FHIR $validate on type and instance level for POST: POST <base>/Patient/$validate or POST <base>/Patient/123/$validate.

Name:

Instance Validation

Configuration:

Vonk.Core.Operations.Validation.InstanceValidationConfiguration

License token:

http://fire.ly/vonk/plugins/validation

Order:

4840

Description:

Implements FHIR $validate on instance level for GET: GET <base>/Patient/123/$validate

Name:

Structural Validation

Configuration:

Vonk.Core.Operations.Validation.StructuralValidationConfiguration

License token:

http://fire.ly/vonk/plugins/validation

Order:

1227

Description:

Validates the structure of resources sent to Firely Server (is it valid FHIR JSON or XML?).

Name:

Prevalidation

Configuration:

Vonk.Core.Operations.Validation.PreValidationConfiguration

License token:

http://fire.ly/vonk/plugins/validation

Order:

1228

Description:

Validates resources sent to Firely Server against their stated profile compliance (in Resource.meta.profile). The strictness of the validation is controlled by the options.

Options:

Validation, see Validation

Name:

Profile filter

Configuration:

Vonk.Core.Operations.Validation.ProfileFilterConfiguration

License token:

http://fire.ly/vonk/plugins/validation

Order:

4310

Description:

Blocks resources that do not conform to a list of profiles.

Options:

Validation.AllowedProfiles, see Validation

Name:

Meta

Configuration:

Vonk.Core.Operations.MetaOperation.MetaConfiguration

License token:

http://fire.ly/vonk/plugins/meta

Order:

5180

Description:

Implements FHIR $meta on instance level.

Name:

Meta Add

Configuration:

Vonk.Core.Operations.MetaOperation.MetaAddConfiguration

License token:

http://fire.ly/vonk/plugins/meta

Order:

5190

Description:

Implements FHIR $meta-add on instance level.

Name:

Meta Delete

Configuration:

Vonk.Core.Operations.MetaOperation.MetaDeleteConfiguration

License token:

http://fire.ly/vonk/plugins/meta

Order:

5195

Description:

Implements FHIR $meta-delete on instance level.

Name:

Snapshot Generation

Configuration:

Vonk.Core.Operations.SnapshotGeneration.SnapshotGenerationConfiguration

License token:

http://fire.ly/vonk/plugins/snapshotgeneration

Order:

4850

Description:

Implements FHIR $snapshot on a type level: POST <base>/administration/StructureDefinition/$snapshot.

Name:

Batch

Configuration:

Vonk.Core.Operations.Transaction.FhirBatchConfiguration

License token:

http://fire.ly/vonk/plugins/batch

Order:

3110

Description:

Processes a batch Bundle by sending each entry through the rest of the processing pipeline and gathering the results.

Options:

SizeLimits, see Protect against large input

Name:

Transaction

Configuration:

Vonk.Core.Operations.Transaction.FhirTransactionConfiguration

License token:

http://fire.ly/vonk/plugins/transaction

Order:

3120

Description:

Process a transaction Bundle by sending each entry through the rest of the processing pipeline and gathering the results. Different from Batch, Transaction succeeds or fails as a whole. Transaction requires an implementation of Vonk.Core.Repository.IRepoTransactionService for transaction support by the underlying repository.

Options:
Name:

LastN

Configuration:

Vonk.Plugin.LastN.LastNConfiguration

License token:

http://fire.ly/vonk/plugins/lastn

Order:

5007

Description:

Implements FHIR $lastn on Observation resources. See Observation - $lastN for more information.

Name:

FHIR User Lookup

Configuration:

Vonk.Plugin.FhirUserLookupOperation.FhirUserLookupConfiguration

Order:

5007

Description:

Implements the system-level $fhirUser-lookup operation via POST. Allows looking up the FHIR user associated with the current request context. See FHIR User Lookup - $fhirUser-lookup for more information.

Name:

Erase

Configuration:

Vonk.Plugin.EraseOperation.EraseOperationConfiguration

License token:

http://fire.ly/vonk/plugins/erase

Order:

5300

Description:

Provides functionality to hard-delete FHIR resources in Firely Server database as opposed to the soft-delete used by default. See Permanently delete resources - $erase and $purge.

Name:

Erase

Configuration:

Vonk.Plugin.EraseOperation.PurgeOperationConfiguration

License token:

http://fire.ly/vonk/plugins/erase

Order:

5300

Description:

Provides functionality to hard-delete all FHIR resources for a Patient. See Permanently delete resources - $erase and $purge.

Name:

Version operation

Configuration:

Vonk.Plugin.Operations.VersionsOperation.VersionsOperationConfiguration

Order:

5200

Description:

Implements the FHIR versions <https://www.hl7.org/fhir/capabilitystatement-operation-versions.html> operation on the base endpoint.

Name:

Resource Count

Configuration:

Vonk.Administration.Api.Operations.ResourceCount.ResourceCountOperationConfiguration

Order:

5201

Description:

Implements the system-level $resource-count operation via GET on the Administration API. Returns a count of resources per resource type in the database.

Name:

CQL

Configuration:

Vonk.Plugin.Cql.LibraryEvaluate.LibraryEvaluateOperationConfiguration

License token:

http://fire.ly/vonk/plugins/cql

Order:

5360

Description:

Implements the $evaluate <https://hl7.org/fhir/uv/cql/OperationDefinition-cql-library-evaluate.html> operation on the Library endpoint to execute CQL-based content.

Name:

CQL Library Data Requirements

Configuration:

Vonk.Plugin.Cql.LibraryDataRequirements.LibraryDataRequirementsOperationConfiguration

License token:

http://fire.ly/vonk/plugins/cql

Order:

5380

Description:

Implements the $data-requirements operation on the Library endpoint to retrieve the data requirements for a CQL library.

Name:

Questionnaire Package

Configuration:

Vonk.Plugin.Questionnaire.QuestionnairePackageOperationConfiguration

License token:

http://fire.ly/server/plugins/questionnaire

Order:

5365

Description:

Implements the $questionnaire-package operation on type level for POST: POST <base>/Questionnaire/$questionnaire-package. Returns a bundle of resources required to display and fill in a questionnaire.

Name:

CQL Measure Evaluate

Configuration:

Vonk.Plugin.Cql.MeasureEvaluate.EvaluateMeasureOperationConfiguration

License token:

http://fire.ly/vonk/plugins/cql

Order:

5370

Description:

Implements the $evaluate-measure operation on the Measure endpoint to evaluate a CQL-based quality measure.

Name:

CQL Measure Data Requirements

Configuration:

Vonk.Plugin.Cql.MeasureDataRequirements.MeasureDataRequirementsOperationConfiguration

License token:

http://fire.ly/vonk/plugins/cql

Order:

5390

Description:

Implements the $data-requirements operation on the Measure endpoint to retrieve the data requirements for a CQL measure.

Name:

CQL Operation

Configuration:

Vonk.Plugin.Cql.Operations.Cql.CqlOperationConfiguration

License token:

http://fire.ly/vonk/plugins/cql

Order:

5390

Description:

Implements the system-level $cql operation to evaluate inline CQL expressions.

Name:

Real World testing

Configuration:

Vonk.Plugin.RealWorldTesting.RealWorldTestingConfiguration

License token:

http://fire.ly/vonk/plugins/realworldtesting

Order:

4910

Description:

Enables the execution of custom analytics queries on metrics collected by Firely Server. See Real World Testing.

Terminology

Name:

CodeSystem Lookup

Configuration:

Vonk.Plugins.Terminology.CodeSystemLookupConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

5240

Description:

Implements FHIR $lookup on type level requests: POST <base>/administration/CodeSystem/$lookup or GET <base>/administration/CodeSystem/$lookup?...

Name:

CodeSystem FindMatches / Compose

Configuration:

Vonk.Plugins.Terminology.CodeSystemFindMatchesConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

5220

Description:

Implements FHIR $compose on type level requests: POST <base>/administration/CodeSystem/$find-matches``and on instance level requests: ``POST <base>/administration/CodeSystem/[id]/$find-matches or GET <base>/administration/CodeSystem/[id]/$find-matches?...

Name:

ValueSet Validate Code

Configuration:

Vonk.Plugins.Terminology.ValueSetValidateCodeConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

5120

Description:

Implements FHIR $validate-code on type level requests: POST <base>/administration/ValueSet/$validate-code and instance level requests: GET <base>/administration/ValueSet/[id]/$validate-code?... and POST <base>/administration/ValueSet/[id]/$validate-code

Name:

ValueSet Expand

Configuration:

Vonk.Plugins.Terminology.ValueSetExpandConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

5140

Description:

Implements FHIR $expand on instance level requests: GET <base>/administration/ValueSet/[id]/$expand?... and POST <base>/administration/ValueSet/[id]/$expand and on type level requests: POST <base>/administration/ValueSet/$expand.

Name:

ConceptMap Translate

Configuration:

Vonk.Plugins.Terminology.ConceptMapTranslateConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

5160

Description:

Implements FHIR $translate on instance level requests: GET <base>/administration/ConceptMap/[id]/$translate?... and POST <base>/administration/ValueSet/[id]/$translate and on type level requests: POST <base>/administration/ConceptMap/$translate.

Name:

CodeSystem Subsumes

Configuration:

Vonk.Plugins.Terminology.CodeSystemSubsumesConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

5180

Description:

Implements FHIR $subsumes on instance level requests: GET <base>/administration/CodeSystem/[id]/$subsumes?... and on type level requests: POST <base>/administration/CodeSystem/$subsumes or GET <base>/administration/CodeSystem/$subsumes?...

Name:

CodeSystem Closure

Configuration:

Vonk.Plugins.Terminology.ClosureConfiguration

License token:

http://fire.ly/vonk/plugins/terminology

Order:

5200

Description:

Implements FHIR $closure on system level requests: POST <base>/administration/$closure

SMART on FHIR

Name:

SMART on FHIR

Configuration:

Vonk.Plugin.Smart

License token:

http://fire.ly/vonk/plugins/smartonfhir

Order:

2002

Description:

Implements SMART on FHIR authentication and authorization, see Overview Authentication and Authorization workflow.

Name:

SMART on FHIR License check

Configuration:

Vonk.Plugin.Smart.SmartConfigurationLicenseCheck

License token:

Order:

2003

Description:

Guards against accidentally enabling SMART on FHIR without the proper license.

Name:

SMART on FHIR OpenID Discovery

Configuration:

Vonk.Plugin.Smart.SmartDiscoveryConfiguration

License token:

http://fire.ly/vonk/plugins/smartonfhir

Order:

1201

Description:

Hosts the .well-known/smart-configuration endpoint, see Overview Authentication and Authorization workflow.

Subscriptions

Name:

Subscriptions

Configuration:

Vonk.Subscriptions.SubscriptionConfiguration

License token:

http://fire.ly/vonk/plugins/subscriptions

Order:

3200

Description:

Implements sending updates according to the the FHIR Subscriptions framework, see Subscriptions.

Name:

Subscriptions administration

Configuration:

Vonk.Subscriptions.Administration.SubscriptionValidationConfiguration

License token:

http://fire.ly/vonk/plugins/subscriptions

Order:

3200

Description:

Validates subscriptions before they are saved to the Administration database, see Subscriptions.

Auditing

Name:

Username log

Configuration:

Vonk.Plugin.Audit.UsernameLoggingConfiguration

License token:

http://fire.ly/vonk/plugins/audit

Order:

2010

Description:

Makes the user id and name from the JWT token (if present) available for logging. See Auditing for more info.

Name:

Audit logging for transactions

Configuration:

Vonk.Plugin.Audit.AuditTransactionConfiguration

License token:

http://fire.ly/vonk/plugins/audit

Order:

3100

Description:

Logs requests and responses for transactions to a file. See Auditing for more info.

Name:

Audit log

Configuration:

Vonk.Plugin.Audit.AuditConfiguration

License token:

http://fire.ly/vonk/plugins/audit

Order:

3150

Description:

Logs requests and responses to a file. See Auditing for more info.

Name:

AuditEvent logging for transactions

Configuration:

Vonk.Plugin.Audit.AuditEventTransactionConfiguration

License token:

http://fire.ly/vonk/plugins/audit

Order:

3105

Description:

Logs requests and responses for transactions to the database. See Auditing for more info.

Name:

AuditEvent logging

Configuration:

Vonk.Plugin.Audit.AuditEventConfiguration

License token:

http://fire.ly/vonk/plugins/audit

Order:

3170

Description:

Logs requests and responses to the database. See AuditEvent Integrity for more info.

Name:

AuditEvent signature

Configuration:

Vonk.Plugin.Audit.Integrity.ProvenanceConfiguration

License token:

http://fire.ly/vonk/plugins/audit

Order:

3171

Description:

Creates a verifiable signature for each AuditEvent using a Provenance resource. See Auditing for more info.

Name:

AuditEvent Integrity check

Configuration:

Vonk.Plugin.Audit.Integrity.IntegrityVerificationConfiguration

License token:

http://fire.ly/vonk/plugins/audit

Order:

5006

Description:

Verifies the integrity of signatures for AuditEvent resources. See Auditing for more info.

Demo UI

Name:

Demo UI

Configuration:

Vonk.UI.Demo.DemoUIConfiguration.DemoUIConfiguration

License token:

http://fire.ly/vonk/plugins/demoui

Order:

800

Description:

Provides the landing page that you see when you request the base url from a browser. If you want to provide your own landing page, replace this plugin with your own.

Documents

Name:

Document generation

Configuration:

Vonk.Plugins.DocumentOperation.DocumentOperationConfiguration

License token:

http://fire.ly/vonk/plugins/document

Order:

4900

Description:

Implements FHIR $document : POST <base>/Composition/$document or GET <base>/Composition/[id]/$document

Code:

GitHub

Name:

Document signing

Configuration:

Vonk.Plugins.SignatureService.SignatureConfiguration

License token:

http://fire.ly/vonk/plugins/signature

Order:

4899

Description:

Signs a document generated by $document.

Name:

Document endpoint

Configuration:

Vonk.Plugins.DocumentHandling.DocumentHandlingConfiguration

License token:

http://fire.ly/vonk/plugins/documenthandling

Order:

4950

Description:

Allows FHIR document bundles to be posted to the base endpoint. Consult the documentation for more information.

Name:

US Core Fetch DocumentReference operation

Configuration:

Vonk.Plugin.DocRefOperation.DocRefOperationConfiguration

License token:

http://fire.ly/vonk/plugins/docref

Order:

5350

Description:

Allows fetching DocumentReference resources related to a patient. Implements the US Core Fetch DocumentReference operation. Generating a document is not yet supported.

Conversion

Name:

Format conversion

Configuration:

Vonk.Plugins.ConvertOperation.ConvertOperationConfiguration

License token:

http://fire.ly/vonk/plugins/convert

Order:

4700

Description:

Implements FHIR $convert : POST <base>/$convert to convert between JSON and XML representation.

Binary

Name:

Azure Services

Configuration:

Vonk.Plugin.Services.Azure.AzureConfiguration

License token:

Order:

1010

Description:

Adds support to outsource the ndjson files generated by the Bulk Data plugin to Azure Blob storage

Name:

Binary wrapper (Encode)

Configuration:

Vonk.Plugins.BinaryWrapper.BinaryEncodeConfiguration

License token:

http://fire.ly/vonk/plugins/binarywrapper

Order:

1112

Description:

Wraps an incoming binary format in a Binary resource for further processing by the pipeline.

Settings:
"Vonk.Plugin.BinaryWrapper":{
   "RestrictToMimeTypes": ["application/pdf", "text/plain", "image/png", "image/jpeg"]
},
Name:

Binary wrapper (Decode)

Configuration:

Vonk.Plugins.BinaryWrapper.BinaryDecodeConfiguration

License token:

http://fire.ly/vonk/plugins/binarywrapper

Order:

1122

Description:

Implements GET <base>/Binary/<id>, retrieve back the Binary resource in its native format.

Repository implementations

Name:

MongoDb Repository

Configuration:

Vonk.Repository.MongoDbVonkConfiguration

License token:

http://fire.ly/vonk/plugins/repository/mongo-db

Order:

230

Description:

Implements a repository in MongoDb that fully supports all of the capabilities of Firely Server.

Name:

MongoDb Administration Repository

Configuration:

Vonk.Repository.MongoDbAdminConfiguration

License token:

http://fire.ly/vonk/plugins/repository/mongo-db

Order:

231

Description:

Implements a repository in MongoDb for the Administration API.

Name:

MongoDb Task Repository

Configuration:

Vonk.Repository.MongoDbTaskConfiguration

License token:

http://fire.ly/vonk/plugins/repository/mongo-db

Order:

232

Description:

Implements a repository in MongoDb for async tasks (like BDE).

Name:

SQLite Repository

Configuration:

Vonk.Repository.SqliteConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sqlite

Order:

240

Description:

Implements a repository in SQLite that fully supports all of the capabilities of Firely Server.

Name:

SQLite Administration Repository

Configuration:

Vonk.Repository.SqliteAdministrationConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sqlite

Order:

241

Description:

Implements a repository in SQLite for the Administration API.

Name:

SQLite Task Repository

Configuration:

Vonk.Repository.Sqlite.SqliteTaskConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sqlite

Order:

242

Description:

Implements a repository in SQLite for async tasks (like BDE).

Name:

SQL Server Repository (Legacy Implementation)

Configuration:

Vonk.Repository.SqlVonkConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sql-server

Order:

220

Description:

Implements a repository in SQL Server that fully supports all of the capabilities of Firely Server. Replaced by Vonk.Repository.Raw.KSearchConfiguration.

Name:

SQL Server Administration Repository (Legacy Implementation)

Configuration:

Vonk.Repository.SqlAdministrationConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sql-server

Order:

221

Description:

Implements a repository in SQL Server for the Administration API. Replaced by Vonk.Repository.Raw.KAdminSearchConfiguration.

Name:

SQL Server Task Repository

Configuration:

Vonk.Repository.SqlTaskConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sql-server

Order:

222

Description:

Implements a repository in SQL Server for async tasks (like BDE).

Name:

SQL Server Repository (Recommended Implementation for SQL)

Configuration:

Vonk.Repository.Raw.KSearchConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sql-server

Order:

222

Description:

Implements a repository in SQL Server that fully supports all of the capabilities of Firely Server. It is recommended to use this implementation instead of the legacy one.

Name:

SQL Server Administration Repository (Recommended Implementation for SQL)

Configuration:

Vonk.Repository.Raw.KAdminSearchConfiguration

License token:

http://fire.ly/vonk/plugins/repository/sql-server

Order:

224

Description:

Implements a repository in SQL Server for the Administration API. It is recommended to use this implementation instead of the legacy one.

Administration API

Name:

Administration API

Configuration:

Vonk.Administration.Api.AdministrationOperationConfiguration

License token:

http://fire.ly/vonk/plugins/administration

Order:

1226

Description:

Sets up a sequence of plugins for the Administration API. Administration API is different from general plugins since it branches off of the regular processing pipeline and sets up a second pipeline for the /administration endpoint.

Name:

Fhir STU3 Administration services

Configuration:

Vonk.Fhir.R3.Internal.FhirR3AdministrationConfiguration

License token:

http://fire.ly/vonk/plugins/administration/fhirr3

Order:

103

Description:

Implements support services to work with FHIR STU3 conformance resources in the Administration API.

Name:

Fhir R4 Administration services

Configuration:

Vonk.Fhir.R4.Internal.Configuration.FhirR4AdministrationConfiguration

License token:

http://fire.ly/vonk/plugins/administration/fhirr4

Order:

104

Description:

Implements support services to work with FHIR R4 conformance resources in the Administration API.

Name:

Fhir R5 Administration services

Configuration:

Vonk.Fhir.R5.Internal.Configuration.FhirR5AdministrationConfiguration

License token:

http://fire.ly/vonk/plugins/administration/fhirr5

Order:

105

Description:

Implements support services to work with FHIR R5 conformance resources in the Administration API.

Name:

Administration import services

Configuration:

Vonk.Administration.Api.Import.*

License token:

http://fire.ly/vonk/plugins/administration

Order:

5000 - 5001

Description:

Implements support for importing conformance resources in the Administration API. See Import of Conformance Resources.

Name:

Administration CRUD services

Configuration:

Vonk.Administration.Operations

License token:

http://fire.ly/vonk/plugins/administration

Order:

1228, 4221 - 4392

Description:

Implements (conditional) create, read, update and delete on conformance resources in the Administration API. See Manage Conformance Resources with the Administration API.

Name:

Administration security

Configuration:

Vonk.Administration.Security.SecurityConfiguration

License token:

http://fire.ly/vonk/plugins/administration

Order:

1150

Description:

Implements IP restrictions on the Administration API. See Limiting access.

Name:

Administration database services

Configuration:

Vonk.Administration.Pluggability

License token:

http://fire.ly/vonk/plugins/administration

Order:

300

Description:

Supporting services to allow the use of various databases for the Administration API. The actual implementation is done by the Repository plugins.

Bulk Data

Name:

System Bulk Data Export

Configuration:

Vonk.Plugin.BulkDataExport.SystemBulkDataExportConfiguration

License token:

http://fire.ly/vonk/plugins/bulk-data-export

Order:

5003

Description:

Support for system-level $export operation. See Bulk Data Export.

Name:

Group Bulk Data Export

Configuration:

Vonk.Plugin.BulkDataExport.GroupBulkDataExportConfiguration

License token:

http://fire.ly/vonk/plugins/bulk-data-export

Order:

5004

Description:

Support for instance-level $export operation. See Bulk Data Export.

Name:

Patient Bulk Data Export

Configuration:

Vonk.Plugin.BulkDataExport.PatientBulkDataExportConfiguration

License token:

http://fire.ly/vonk/plugins/bulk-data-export

Order:

5005

Description:

Support for type-level $export operation. See Bulk Data Export.

Name:

Patient everything

Configuration:

Vonk.Plugin.PatientEverything

License token:

http://fire.ly/vonk/plugins/patient-everything

Order:

5006

Description:

Request a Patient record. See Patient-level Export - $everything.

X-Provenance header

Name:

X-Provenance header

Configuration:

Vonk.Plugin.Operations.Provenance.ProvenanceHeaderConfiguration

License token:

http://fire.ly/vonk/plugins/transaction and http://fire.ly/server/plugins/provenance

Order:

1230

Description:

Support for the X-Provenance header that adds a Provenance resource upon creating or updating another resource. See X-Provenance header.

Member Match operation

Name:

Member Match operation

Configuration:

Vonk.Plugin.MemberMatch.MemberMatchConfiguration

License token:

http://fire.ly/vonk/plugins/member-match

Order:

5400

Description:

Implements the $member-match operation. See HRex Member Match - $member-match.

PubSub Messaging

Name:

Subscribe to external changes

Configuration:

Vonk.Plugin.PubSub.Sub.SubConfiguration

License token:

http://fire.ly/vonk/plugins/pubsub

Order:

1139

Description:

Implements receiving changes from a queue for any repository. See Firely PubSub.

Name:

Publish changes to external queue from MongoDB

Configuration:

Vonk.Plugin.PubSub.Pub.MongoDb.PubMongoDbConfiguration

License token:

http://fire.ly/vonk/plugins/pubsub

Order:

1140

Description:

Implements publishing changes to a queue for the MongoDB repository. See Firely PubSub.

Name:

Publish changes to external queue from SQL Server

Configuration:

Vonk.Plugin.PubSub.Pub.Sql.PubSqlDbConfiguration

License token:

http://fire.ly/vonk/plugins/pubsub

Order:

1140

Description:

Implements publishing changes to a queue for the SQL Server repository. See Firely PubSub.

CDS Hooks

Please note that the CDS Hooks functionality and plugins are currently in beta and not yet available for production use. Their implementation and public API may change in the future.

Name:

CDS Hooks

Configuration:

Vonk.Plugin.CdsHooks.Configuration

License token:

http://fire.ly/server/plugins/cds-hooks

Order:

900 (core configuration) and 1190 (discovery service)

Description:

Implements the CDS Hooks framework, allowing external systems to interact with Firely Server using the CDS Hooks protocol. This plugin provides the endpoint for the CDS Hooks Discovery document, and infrastructure for executing hooks. See CDS Hooks for more information.

Name:

CDS Hooks Patient View Test Hook

Configuration:

Vonk.Plugin.CdsHooks.PatientViewTestHook

License token:

http://fire.ly/server/plugins/cds-hooks

Order:

5500

Description:

Example CDS Hooks service. See CDS Hooks for more information.

Name:

CDS Hooks CRD Order Select Hook

Configuration:

Vonk.Plugin.CdsHooks.CrdOrderSelectHook.CrdOrderSelectHookConfiguration

License token:

http://fire.ly/server/plugins/crd

Order:

5510

Description:

Implements the CRD (Coverage Requirements Discovery) order-select CDS Hook. See CDS Hooks for more information.

Bulk Data Import

Name:

Bulk Data Import

License token:

http://fire.ly/vonk/plugins/bulk-data-import

Description:

Token unrestricted in the amount of resources that can be loaded in total, restricts the amount of resources that can be loaded in one batch to 1000, and does not support Recovery Journal feature. See Firely Server Ingest.

Name:

Bulk Data Import - Unlimited

License token:

http://fire.ly/vonk/plugins/bulk-data-import/unlimited

Description:

Token unrestricted in the amount of resources that can be loaded in total as well as in a single batch, supports the Recovery Journal feature. See Firely Server Ingest.

Name:

Bulk Data Import - Migration

License token:

http://fire.ly/vonk/plugins/migration

Description:

Token allowing zero-downtime migration using the FSI tool. See Zero-downtime Migration.

Firely Auth

Name:

Firely Auth

License token:

http://fire.ly/server/auth

Description:

Token restricted to three registered clients in total. See Firely Auth.

Name:

Firely Auth - Unlimited

License token:

http://fire.ly/server/auth/unlimited

Description:

Token unrestricted in the amount of registered clients. See Firely Auth.