Plugins available for Firely Server
Infrastructural plugins
- Name
Scheduler
- Configuration
Vonk.Core.Quartz.QuartzConfiguration
- License token
- Order
10
- Description
Registers a scheduler that can run jobs periodically. You can use this yourself, but with care (you don’t want jobs slowing down the server):
Implement a
Quartz.IJob
, let’s say with class MyJob {…}Have the
Quartz.IScheduler
injectedCall
IScheduler.StartJob<MyJob>(TimeSpan runInterval, CancellationToken cancellationToken)
- Name
Maintenance
- Configuration
Vonk.Core.Infra.MaintenanceConfiguration
- License token
- Order
20
- Description
Periodically cleans the indexed values for deleted or superceded resources from the database.
- Name
License
- Configuration
Vonk.Core.Licensing.LicenseConfiguration
- License token
- 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
- Order
130
- Description
Registers an implementation for the
ISerializationService
andISerializationSupport
interfaces and actual serializers and parsers for JSON and XML.
- Name
Pluggability
- Configuration
Vonk.Core.Pluggability.PluggabilityConfiguration
- License token
- Order
150
- Description
Registers services to dynamically build the
IModelService
using registeredIModelContributor
implementations.
- Name
Http to Vonk
- Configuration
Vonk.Core.Context.Http.HttpToVonkConfiguration
- License token
- 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
- 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
- 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
Long running tasks
- Configuration
Vonk.Core.Infra.LongRunning.LongRunningConfiguration
- License token
- 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
Compartments
- Configuration
Vonk.Core.Context.Features.CompartmentsConfiguration
- License token
- 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 theIVonkContext.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
- 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
- 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
- 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
- Order
4110
- Description
If no sort order is given for a search,
_lastUpdated:asc
is added. If no count is given for a search,_count=<default count>
is added.- Options
BundleOptions.DefaultCount
, see Search and History.
Support for different FHIR versions
- Name
FHIR R3
- Configuration
Vonk.Fhir.R3.FhirR3Configuration
- License token
- Order
100
- Description
Registers services to support FHIR STU3 (or R3).
- Name
FHIR R3 Specification
- Configuration
Vonk.Fhir.R3.FhirR3SpecificationConfiguration
- License token
- Order
112
- Description
Registers an
Hl7.Fhir.Specification.IStructureDefinitionSummaryProvider
for FHIR STU3 (or R3).
- Name
FHIR R4
- Configuration
Vonk.Fhir.R4.FhirR4Configuration
- License token
- Order
101
- Description
Registers services to support FHIR R4.
- Name
FHIR R4 Specification
- Configuration
Vonk.Fhir.R4.FhirR4SpecificationConfiguration
- License token
- Order
112
- Description
Registers an
Hl7.Fhir.Specification.IStructureDefinitionSummaryProvider
for FHIR R4.
FHIR RESTful interactions
- Name
Read
- Configuration
Vonk.Core.Operations.Crud.ReadConfiguration
- License token
- 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
- Order
4420
- Description
Implements FHIR type create.
- Name
Update
- Configuration
Vonk.Core.Operations.Crud.UpdateConfiguration
- License token
- Order
4430
- 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
Patch
- Configuration
Vonk.Core.Operations.Crud.FhirPatchConfiguration
- License token
- Order
4433
- Description
Implements FHIR instance patch, as specified by FHIR Patch.
- Name
Delete
- Configuration
Vonk.Core.Operations.Crud.DeleteConfiguration
- License token
- 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
- Configuration
Vonk.Core.Operations.Search.SearchConfiguration
- License token
- Description
Implements FHIR Search on system and type level. For data access it uses the registered implementation of ISearchRepository, which can be any of the implementations provided by Firely Server or an implementation provided by a Facade plugin. The implementations provided by Firely Server also require the Index plugin to extract searchparameter values from the resources.
- Order
4220
- Options
AdministrationImportOptions
, see SearchParameters and other Conformance Resources, for available SearchparametersSupportedModel.RestrictToSearchParameters
, see Restrict supported resources and SearchParameters for available SearchparametersBundleOptions
, see Search and History, for number of returned results
See ISearchRepository and Firely Server Facade.
- Name
Search support
- Configuration
Vonk.Core.Repository.RepositorySearchSupportConfiguration
- License token
- Order
140
- Description
Registers services required for Search. It is automatically registered by Search.
- Name
Index
- Configuration
Vonk.Core.Repository.RepositoryIndexSupportConfiguration
- License token
- 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
- 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
- Order
1240
- 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
- Order
1240
- 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
- Order
4610
- Description
Implements
_history
on system, type and instance level.- Options
BundleOptions
, see Search and History
- Name
Version Read
- Configuration
Vonk.Core.Operations.History.VersionReadConfiguration
- License token
- 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
- 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 Capabilities.
- Name
Conditional Create
- Configuration
Vonk.Core.Operations.ConditionalCrud.ConditionalCreateConfiguration
- License token
- Order
4510
- Description
Implements FHIR conditional create.
- Name
Conditional Update
- Configuration
Vonk.Core.Operations.ConditionalCrud.ConditionalUpdateConfiguration
- License token
- Order
4520
- Description
Implements FHIR conditional update.
- Name
Conditional Delete
- Configuration
Vonk.Core.Operations.ConditionalCrud.ConditionalDeleteConfiguration
- License token
- Order
4530
- Description
Implements FHIR conditional delete.
- Options
FhirCapabilities.ConditionalDeleteOptions
, see FHIR Capabilities
- Name
Validation
- Configuration
Vonk.Core.Operations.Validation.ValidationConfiguration
- License token
- Order
4000
- Description
Implements FHIR $validate on type and instance level for POST:
POST <base>/Patient/$validate
orPOST <base>/Patient/123/$validate
.
- Name
Instance Validation
- Configuration
Vonk.Core.Operations.Validation.InstanceValidationConfiguration
- License token
- 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
- 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
- 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
- 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
- Order
5180
- Description
Implements FHIR $meta on instance level.
- Name
Meta Add
- Configuration
Vonk.Core.Operations.MetaOperation.MetaAddConfiguration
- License token
- Order
5190
- Description
Implements FHIR $meta-add on instance level.
- Name
Meta Delete
- Configuration
Vonk.Core.Operations.MetaOperation.MetaDeleteConfiguration
- License token
- Order
5195
- Description
Implements FHIR $meta-delete on instance level.
- Name
Snapshot Generation
- Configuration
Vonk.Core.Operations.SnapshotGeneration.SnapshotGenerationConfiguration
- License token
- 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
- 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
- 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. The SQL Server and SQLite implementations provides a real one, whereas the MongoDb provides a simulated implementation, to allow you to experiment with transactions on MongoDb.- Options
SizeLimits
, see ValidationRepository
, see Repository
Terminology
- Name
CodeSystem Lookup
- Configuration
Vonk.Plugins.Terminology.[R3|R4|R5].CodeSystemLookupConfiguration
- License token
- Order
5110
- Description
Implements FHIR $lookup on type level requests:
POST <base>/administration/CodeSystem/$lookup
orGET <base>/administration/CodeSystem/$lookup?...
- Name
CodeSystem FindMatches / Compose
- Configuration
Vonk.Plugins.Terminology.CodeSystemFindMatchesConfiguration
- License token
- 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
orGET <base>/administration/CodeSystem/[id]/$find-matches?...
- Name
ValueSet Validate Code
- Configuration
Vonk.Plugins.Terminology.ValueSetValidateCodeConfiguration
- License token
- 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?...
andPOST <base>/administration/ValueSet/[id]/$validate-code
- Name
ValueSet Expand
- Configuration
Vonk.Plugins.Terminology.ValueSetExpandConfiguration
- License token
- Order
5140
- Description
Implements FHIR $expand on instance level requests:
GET <base>/administration/ValueSet/[id]/$expand?...
andPOST <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
- Order
5260
- Description
Implements FHIR $translate on instance level requests:
GET <base>/administration/ConceptMap/[id]/$translate?...
andPOST <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
- Order
5280
- Description
Implements FHIR $subsumes on instance level requests:
GET <base>/administration/CodeSystem/[id]/$subsumes?...
and on type level requests:POST <base>/administration/CodeSystem/$subsumes
orGET <base>/administration/CodeSystem/$subsumes?...
- Name
CodeSystem Closure
- Configuration
Vonk.Plugins.Terminology.CodeSystemClosureConfiguration
- License token
- Order
5300
- Description
Implements FHIR $closure on system level requests:
POST <base>/administration/$closure
SMART on FHIR
- Name
SMART on FHIR
- Configuration
Vonk.Smart.SmartConfiguration.SmartConfiguration
- License token
- Order
2000
- Description
Implements SMART on FHIR authentication and authorization, see Access control and SMART.
Subscriptions
- Name
Subscriptions
- Configuration
Vonk.Subscriptions.SubscriptionConfiguration.SubscriptionConfiguration
- License token
- Order
3200
- Description
Implements the FHIR Subscriptions framework, see Subscriptions.
Auditing
- Name
Username log
- Configuration
Vonk.Plugin.Audit.UsernameLoggingConfiguration
- License token
- 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
- 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
- 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
- Order
3160
- Description
Logs requests and responses for transactions to a file. See Auditing for more info.
- Name
AuditEvent logging
- Configuration
Vonk.Plugin.Audit.AuditEventConfiguration
- License token
- Order
3170
- Description
Logs requests and responses to a file. See Auditing for more info.
Demo UI
- Name
Demo UI
- Configuration
Vonk.UI.Demo.DemoUIConfiguration.DemoUIConfiguration
- License token
- 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. There is an example of that, see Firely Server Plugin example - Create a new landing page.
Documents
- Name
Document generation
- Configuration
Vonk.Plugins.DocumentOperation.DocumentOperationConfiguration
- License token
- Order
4900
- Description
Implements FHIR $document :
POST <base>/Composition/$document
orGET <base>/Composition/[id]/$document
- Code
- Name
Document signing
- Configuration
Vonk.Plugins.SignatureService.SignatureConfiguration
- License token
- Order
4899
- Description
Signs a document generated by $document.
Conversion
- Name
Format conversion
- Configuration
Vonk.Plugins.ConvertOperation.ConvertOperationConfiguration
- License token
- Order
4600
- Description
Implements FHIR $convert :
POST <base>/$convert
to convert between JSON and XML representation.
Binary
- Name
Binary wrapper (Encode)
- Configuration
Vonk.Plugins.BinaryWrapper.BinaryEncodeConfiguration
- License token
- 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
- Order
1122
- Description
Implements
GET <base>/Binary/<id>
, retrieve back the Binary resource in its native format.
Transformation and mapping
- Name
FHIR Mapper (Transform)
- Configuration
Vonk.Plugins.Transform.TransformConfiguration
- License token
- Order
4560
- Description
Implements FHIR $transform :
POST <base>/administration/StructureMap/[id]/$transform
. See fhir_mapper_docs:mappingengine_index.- Name
FHIR Mapper (Convert)
- Configuration
Vonk.Plugin.MappingToStructureMap.MappingToStructureMapConfiguration
- License token
- Order
4550
- Description
Implements FHIR $convert :
POST <base>/$convert
to convert between FHIR Mapping Language and its StructureMap representation.
Repository implementations
- Name
Memory Repository
- Configuration
Vonk.Repository.MemoryConfiguration
- license token
- Order
210
- Description
Implements a repository in working memory that fully supports all of the capabilities of Firely Server. This implementation is mainly used for unittesting.
- Name
Memory Administration Repository
- Configuration
Vonk.Repository.MemoryAdministrationConfiguration
- license token
- Order
211
- Description
Implements a repository in working memory for the Administration API. This implementation is mainly used for unittesting.
- Name
MongoDb Repository
- Configuration
Vonk.Repository.MongoDbConfiguration
- license token
- Order
230
- Description
Implements a repository in MongoDb that fully supports all of the capabilities of Firely Server, except Transactions.
- Name
MongoDb Administration Repository
- Configuration
Vonk.Repository.MemoryAdministrationConfiguration
- license token
- Order
231
- Description
Implements a repository in MongoDb for the Administration API.
- Name
SQLite Repository
- Configuration
Vonk.Repository.SqliteConfiguration
- license token
- 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
- Order
241
- Description
Implements a repository in SQLite for the Administration API.
- Name
SQL Server Repository
- Configuration
Vonk.Repository.SqlConfiguration
- license token
- Order
220
- Description
Implements a repository in SQL Server that fully supports all of the capabilities of Firely Server.
- Name
SQL Server Administration Repository
- Configuration
Vonk.Repository.SqlAdministrationConfiguration
- license token
- Order
221
- Description
Implements a repository in SQL Server for the Administration API.
Administration API
- Name
Administration API
- Configuration
Vonk.Administration.Api.AdministrationOperationConfiguration
- license token
- Order
1160
- 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.Administration.FhirR3.RepositoryConfigurationR3
- license token
- Order
4310
- Description
Implements support services to work with FHIR STU3 conformance resources in the Administration API.
- Name
Fhir R4 Administration services
- Configuration
Vonk.Administration.FhirR4.RepositoryConfigurationR4
- license token
- Order
4310
- Description
Implements support services to work with FHIR R4 conformance resources in the Administration API.
Bulk Data
- Name
Bulk Data Export
- Configuration
Vonk.Plugin.BulkDataExport
- license token
http://fire.ly/vonk/plugins/bulk-data-export
- Order
5005
- Description
Request an export of bulk data sets. 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 $everything.