Release notes Vonk

Release 0.7.0.0

Database

  1. Indexes on the SQL Server repository were updated to improve performance. They will automatically be applied with AutoUpdateDatabase.

Facade

  1. Release 0.7.0.0 is compatible again with Facade solutions built on the packages with versions 0.6.2, with a few minor changes. Please review the Vonk.Facade.Starter project for an example of the necessary adjustments. All the differences can be seen in this file comparison.
  2. Fix: The SMART authorization failed when you don’t support all the resourcetypes. It will now take into account the limited set of supported resourcetypes.
  3. Fix: Vonk.Facade.Relational.RelationalQueryFactory would lose a _count argument.
  4. Documentation: We added documentation on how to implement Create, Update and Delete in a facade on a relational database. See Enable changes to the repository. This is also added to the example Facade solution on GitHub.

Features and fixes

  1. Feature: Vonk FHIR Components has been released. You can now add libraries with your own components through configuration.
  2. Feature: Through Vonk FHIR Components you can replace the landing page with one in your own style. We provided an example on how to do that.
  3. Feature: You can now start Vonk from within another directory than the Vonk binaries directory, e.g. c:\programs>dotnet .\vonk\vonk.server.dll.
  4. Feature: You can configure the maximum number of entries allowed in a Batch or Transaction, to avoid overloading Vonk. See Batch and transaction.
  5. Upgrade: We upgraded the FHIR .NET API to version 0.96.0, see their release notes for details. Mainly #599 affects Vonk, since it provides the next…
  6. Fix: Under very high load the FhirPath engine would have concurrency errors. The FhirPath engine is used to extract the search parameters from the resources. This has been fixed.
  7. Fix: Search on a frequently used tag took far too long on a SQL Server repository.
  8. Fix: The Patient.deceased search parameter from the specification had an error in its FhirPath expression. We put a corrected version in the errata.zip.
  9. Fix: Several composite search parameters on Observation are defined incorrectly in the specification, as is reported in GForge issue #16001. Until the specification itself is corrected, we provide corrections in the errata.zip.
  10. Fix: Relative references in a resource that start with a forward slash (like /Patient/123) could not be searched on.
  11. Fix: System wide search within a compartment looked for the pattern <base>/Patient/123/?_tag=bla. Corrected this to <base>/Patient/123/*?_tag=bla
  12. Fix: When loading Simplifier resources, Vonk can now limit this to the changes since the previous import, because the Simplifier FHIR endpoint supports _lastUpdated.
  13. Fix: Conformance resources are always loaded into the Administration API when running on a Memory repository. Or actually, always if there are no StructureDefinitions in the Administration database. To enable this change, imported files are no longer moved to the AdministrationOptions.ImportedDirectory.
  14. Fix: Re-indexing for new or changed SearchParameters would stop if a resource was encountered that could not properly be indexed. It will now continue working and report any errors afterwards in an OperationOutcome.
  15. Fix: The terms and privacy statement on the default landing page have been updated.
  16. Fix: When searching on a search parameter of type date, with an argument precision to the minute (but not seconds), Vonk would reject the argument. It is now accepted.
  17. Fix: DateTime fields are always normalized to UTC before they are stored. This was already the case on MongoDb, and we harmonized SQL and Memory to do the same. There is no need to reindex for this change.
  18. Fix: When you use accents or Chinese characters in the url for a search, Vonk gives an error.
  19. Fix: A reverse chained search on MongoDb sometimes failed with an Internal Server Error.

Release 0.6.5.0

Attention

This version changes the way conformance resources are loaded from zip files and/or directories at startup. They are no longer loaded only in memory, but are added to the Administration API’s database. You will notice a delay at first startup, when Vonk is loading these resources into the database. See Feature #1 below.

Attention

2018-06-07: We updated the Database actions for 0.6.5.0, you should always perform a reindex, see right below.

Database

  1. Feature 2, 4 and 14 below require a reindex/all, both for MongoDB and SQL Server.

Facade

  1. Release 0.6.5.0 is not released on NuGet, so the latest NuGet packages have version 0.6.2-beta. Keep an eye on it for the next release…

Features and fixes

  1. Feature: Run Vonk from you Simplifier project! See Use Vonk FHIR Server with your Simplifier artifacts for details.
  2. Feature: Vonk supports Microsoft Azure CosmosDB, see Using Microsoft Azure CosmosDB. This required a few small changes to the MongoDB implementation (the share the drivers), so please reindex your MongoDB database: reindex/all.
  3. Feature: Configuration to restrict support for ResourceTypes, SearchParameters and CompartmentDefinitions, see Restrict supported resources and SearchParameters.
  4. Feature: Errata.zip: collection of corrected search parameters (e.g. that had a faulty expression in the FHIR Core specification), see Errata to the specification
  5. Upgrade: FHIR .NET API 0.95.0 (see 0.95.0 (DSTU2, STU3 and R4) (released 20170412))
  6. Fix: a search on _id:missing=true was not processed correctly.
  7. Fix: better distinction of reasons to reject updates (error codes 400 vs. 422, see RESTful API specification
  8. Fix: recognize _format=text/xml and return xml (instead of the default json)
  9. Fix: handling of the :not modifier in token searches (include resource that don’t have a value at all).
  10. Fix: handling of the :not modifier in searches with choice arguments
  11. Fix: fullUrl in return bundles cannot be version specific.
  12. Fix: evaluate _count=0 correctly (it was ignored).
  13. Fix: correct error message on an invalid _include (now Vonk tells you which resourcetypes are considered for evaluating the used searchparameter).
  14. Fix: indexing of Observation.combo-value-quantity failed for UCUM code for Celcius. This fix requires a reindex/all on this searchparameter.
  15. Fix: total count in history bundle.
  16. Fix: on vonk.fire.ly we disabled validating all input, so you can now create or update resources also if the relevant profiles are not loaded (this was neccessary for Crucible, since it references US Core profiles, that are not present by default).
  17. Fix: timeout of Azure Web App on first startup of Vonk - Vonk’s first startup takes some time due to import of the specification (see Default Conformance Resources). Since Azure Web Apps are allowed a startup time of about 3 minutes, it failed if the web app was on a low level service plan. Vonk will now no longer await this import. It will finish startup quickly, but until the import is finished it will return a 423 ‘Locked’ upon every request.
  18. Fix: improved logging on the import of conformance resources at startup (see Import of Conformance Resources).

Release 0.6.4.0

Attention

This version changes the way conformance resources are loaded from zip files and/or directories at startup. They are no longer loaded only in memory, but are added to the Administration API’s database. You will notice a delay at first startup, when Vonk is loading these resources into the database. See Feature #1 below.

Database

  1. Fix #9 below requires a reindex/all.

Facade

  1. Release 0.6.4.0 is not released on NuGet, so the latest NuGet packages have version 0.6.2-beta. This release is targeted towards the Administration API and Terminology, both of which are not (yet) available in Facade implementations. We are working on making the features of the Administration API available to Facade implementers in an easy way.

Features and fixes

  1. Feature: Make all loaded conformance resources available through the Administration API.

    Previously:

    • Only SearchParameter and CompartmentDefinition resources could be loaded from ZIP files and directories;
    • And those could not be read from the Administration API.

    Now:

    • The same set of (conformance) resourcetypes can be read from all sources (ZIP, directory, Simplifier);
    • They are all loaded into the Administration database and can be read and updated through the Administration API.

    Refer to Controlling the Conformance Resources for details.

  2. Feature: Experimental support for Terminology operations $validate-code, $expand, $lookup, $compose.

  3. Feature: Support for Compartment Search.

  4. Feature: Track timing of major dependencies in Azure Application Insights.

  5. Feature: Log settings can be overridden in 4 levels, just as the appsettings. The logsettings.json file will not be overwritten anymore by a Vonk distribution.

  6. Fix: The check for allowed profiles is no longer applied to the Administration API. Previously setting AllowedProfiles to e.g. [http://mycompany.org/fhir/StructureDefinition/mycompany-patient] would prohibit you to actually create or update the related StructureDefinition in the Administration API.

  7. Fix: When posting any other resourcetype than the supported conformance resources to the Administration API, Vonk now returns a 501 (Not Implemented).

  8. Fix: Support search on Token with only a system (e.g. <base>/Observation?code=http://loinc.org|)

  9. Fix: Support search on Token with a fixed system, e.g. <base>/Patient?gender=http://hl7.org/fhir/codesystem-administrative-gender.html|female. This fix requires a reindex/all.

  10. Fix: Reindex could fail when a Reference Searchparameter has no targets.

  11. Fix: Vonk works as Data Server on ClinFHIR, with help of David Hay.

  12. Fix: Clearer error messages in the log on configuration errors.

  13. Fix: Loading conformance resources from disk in Docker.

Documentation

  1. We added documentation on using IIS or NGINX as reverse proxies for Vonk.
  2. We added documentation on running Vonk on Azure Web App Services.

Release 0.6.2.0

Attention

The loading of appsettings is more flexible. After installing a new version you can simply paste your previous appsettings.json in the Vonk directory. Vonk’s default settings are now in appsettings.default.json. see Vonk settings for details.

Database

No changes

Features and fixes

  1. Feature: Conditional References in Transactions are resolved.
  2. Feature: More flexible support for different serializers (preparing for ndjson in Bulkdata)
  3. Feature: Improved handling on missing settings or errors in the Vonk settings.
  4. Feature: Improved logging, including Dependency Tracking on Azure Application Insights, see Azure Application Insights
  5. Feature: SearchParameter and CompartmentDefinition are now also imported from Simplifier, so both Simplifier import and the Administration API support the same set of conformance resources: StructureDefinition, SearchParameter, CompartmentDefinition, ValueSet and CodeSystem. See Conformance resources.
  6. Feature: Loading of appsettings is more flexible, see Vonk settings.
  7. Feature: Added documentation on running Vonk behind IIS or NGINX: Deploy Vonk on a reverse proxy.
  8. Performance: Improvement in speed of validation, especially relevant if you are Validating incoming resources.
  9. Fix: If you try to load a SearchParameter (see Load Conformance Resources from disk) that cannot be parsed correctly, Vonk puts an error about that in the log.
  10. Fix: Results from _include and _revinclude are now marked with searchmode: Include (was incorrectly set to ‘Match’ before)
  11. Fix: _format as one of the parameters in a POST Search is correctly evaluated.
  12. Fix: No more errors in the log about a Session being closed before the request has finished (“Error closing the session. System.OperationCanceledException: The operation was canceled.”)
  13. Fix: Subscription.status is evaluated correctly upon create or update on the Administration API
  14. Fix: Token search with only a system is supported (Observation.code=somesystem|)
  15. Fix: On validation errors like ‘Cannot resolve reference Organization/Organization-example26”’ are now suppressed since the validator is set not to follow these references.
  16. Fix: New Firely logo in SVG format - looks better
  17. Fix: Creating resources with duplicate canonical url’s on the Administration API is prohibited, see Controlling the Conformance Resources.
  18. Fix: If a Compartment filter is used on a parameter that is not implemented, Vonk will return an error, see Compartments.

Release 0.6.1.0

Name change from Furore to Firely

Release 0.6.0.0

Attention

Database

  1. The MongoDB implementation got a new index. It will be created automatically upon startup.

Features and fixes

  1. Feature: Access control based on SMART on FHIR.
  2. Feature: Vonk can also load CompartmentDefinition resources. See Controlling the Conformance Resources for instructions.
  3. Feature: ValueSet and CodeSystem resources can be loaded into the administration endpoint, and loaded from Simplifier. See Controlling the Conformance Resources for instructions.
  4. Feature: Be lenient on trailing slashes in the url.
  5. Feature: OperationOutcome is now at the top of a Bundle result. For human readers this is easier to spot any errors or warnings.
  6. Fix: In the settings for SQL Server it was possible to specify the name of the Schema to use for the Vonk tables. That was actually not evaluated, so we removed the option for it. It is fixed to ‘vonk’.
  7. Fix: The OperationOutcome of the Reset operation could state both an error and overall success.
  8. Fix: If you did not set the CertificatePassword in the appsettings, Vonk would report a warning even if the password was not needed.
  9. Fix: Loading conformance resources in the SQL Server implementation could lead to an error.
  10. Fix: Clearer error messages if the body of the request is mandatory but empty.
  11. Fix: Clearer error message if the Content-Type is missing.
  12. Fix: GET on [base]/ would return the UI regardless of the Accept header. Now if you specify a FHIR mimetype in the Accept header, it will return the result of a system wide search.
  13. Fix: In rare circumstances a duplicate logical id could be created.
  14. Fix: GET [base]/metadat would return status code 200 (OK). But it should return a 400 and an OperationOutcome stating that ‘metadat’ is not a supported resourcetype.

Documentation

  1. We consolidated documentation on loading conformance resources into Controlling the Conformance Resources.