Release notes Vonk

Release 0.5.2.0

Attention

Configuration setting SearchOptions is renamed to BundleOptions.

Features and fixes

  1. Fix: When you specify LoadAtStartup in the Loading profiles from Simplifier, an warning was displayed: “WRN No server base configured, skipping resource loading.”
  2. Fix: Conditional create that matches an existing resource returned that resource instead of an OperationOutcome.
  3. Fix: _has, _type and _count were in the CapabilityStatement twice.
  4. Fix: _elements would affect the stored resource in the Memory implementation.
  5. Fix: Getting a resource with an invalid id (with special characters or over 64 characters) now returns a 404 instead of 501.
  6. Feature: Re-indexing for new or changed SearchParameters now also re-indexes the Administration API database.
  7. Fix: modifier :above for parameter type Url now works on the MongoDB implementation.
  8. Fix: Vonk would search through inaccessible directories for the specification.zip.
  9. Fix: Subscription could not be posted if ‘Database’ was not one of the SearchParametersImportOptions.
  10. Fix: _(rev)include=* is not supported but was not reported as such.
  11. Fix: In a searchresult bundle, the references to other resources are now made absolute, refering to the Vonk server itself.
  12. Fix: BundleOptions (previously: SearchOptions) settings were not evaluated.
  13. Fix: Different responses for invalid resources when you change ValidateIncomingResources setting (400 vs. 501)
  14. Fix: Better reporting of errors when there are invalid modifiers in the search.
  15. Fix: Creating a resource that would not fit MongoDB’s document size resulted in an inappropriate error.
  16. Fix: There was no default sort order in the search, resulting in warnings from the SQL implementation. Added default sort on _lastUpdated (desc).
  17. Fix: Preliminary disposal of LocalTerminology server by the Validator.

Facade

  1. Fix: _include/_revinclude on searchresults having contained resources triggered a NotImplementedException.

Release 0.5.1.1

Facade

We released the Facade libraries on NuGet along with getting started documentation.

No features have been added to the Vonk FHIR Server.

Release 0.5.0.0

Database

  1. Long URI’s for token and uri types are now supported, but that required a change of the SQL Server database structure. If you have AutoUpdateDatabase enabled (see Using SQL server), Vonk will automatically apply the changes. As always, perform a backup first if you have production data in the database.

  2. To prevent duplicate resources in the database we have provided a unique index on the Entry table. This update does include a migration. It can happen that that during updating of your database it cannot apply the unique index, because there are duplicate keys in your database (which is not good). Our advise is to empty your database first (with <vonk-endpoint>/administration/reset, then update Vonk with this new version and then run Vonk with AutoUpdateDatabase=true (for the normal and the administration databases).

    If you run on production and encounter this problem, please contact our support.

Features and fixes

  1. Feature: POST on _search is now supported
  2. Fix: Statuscode of <vonk-endpoint>/administration/preload has changed when zero resources are added. The statuscode is now 200 instead of 201.
  3. Fix: OPTIONS operation returns now the capability statement with statuscode 200.
  4. Fix: A search operation with a wrong syntax will now respond with statuscode 400 and an OperationOutcome. For example GET <vonk-endpoint>/Patient?birthdate<1974 will respond with statuscode 400.
  5. Fix: A statuscode 501 could occur together with an OperationOutcome stating that the operation was successful. Not anymore.
  6. Fix: An OperationOutcome stating success did not contain any issue element, which is nog valid. Solved.
  7. Improvement: In the configuration on Loading profiles from Simplifier the section ArtifactResolutionOptions has changed to ResourceLoaderOptions and a new option has been introduced under that section named LoadAtStartup which, if set to true, will attempt to load the specified resource sets when you start Vonk
  8. Improvement: the Memory implementation now also supports SimulateTransactions
  9. Improvement: the option SimulateTransactions in the configuration defaults to false now
  10. Feature: You can now add SearchParameters at runtime by POSTing them to the Administration API. You need to apply Re-indexing for new or changed SearchParameters to evaluate them on existing resources.
  11. Fix: The batch operation with search entries now detects the correct interaction.
  12. Fix: ETag header is not sent anymore if it is not relevant.
  13. Fix: Searching on a String SearchParameter in a MongoDB implementation could unexpectedly broaden to other string parameters.
  14. Fix: If Reference.reference is empty in a Resource, it is no longer filled with Vonks base address.
  15. Feature: Search operation now supports _summary.
  16. Fix: Paging is enabled for the history interaction.
  17. Fix: Conditional updates won’t create duplicate resources anymore when performing this action in parallel.
  18. Fix: Indexing of CodeableConcept has been enhanced.
  19. Fix: Search on reference works now also for an absolute reference.
  20. Fix: Long uri’s (larger than are 128 characters) are now supported for Token and Uri SearchParameters.
  21. Improvement: The configuration of IP addresses in Limited access has changed. The format is no longer a comma-separated string but a proper JSON array of strings.

Release 0.4.0.1

Database

  1. Long URL’s for absolute references are now supported, but that required a change of the SQL Server database structure. If you have AutoUpdateDatabase enabled, Vonk will automatically apply the changes. As always, perform a backup first if you have production data in the database.
  2. Datetime elements have a new serialization format in MongoDB. After installing this version, you will see warnings about indexes on these fields. Please perform Re-indexing for new or changed SearchParameters, for all parameters with <vonk-endpoint>/administration/reindex/all. After the operation is complete, restart Vonk and the indexes will be created without errors.

Features and fixes

  1. Fix: SearchParameters with a hyphen (‘-‘, e.g. general-practitioner) were not recognized in (reverse) chains.
  2. Fix: CapabilityStatement is more complete, including (rev)includes and support for generic parameters besides the SearchParameters (like _count). Also the SearchParameters now have their canonical url and a description.
  3. Improvement: Preloading a set of resources gives more informative warning messages.
  4. Fix: Re-indexing for new or changed SearchParameters did not handle contained resources correctly. If you have used this feature on the 0.3.3 version, please apply it again with <vonk-endpoint>/administration/reindex/all to correct any errors.
  5. Improvement: Loading profiles from Simplifier now also works for the Memory implementation.
  6. Improvements on Validation:
    • profile parameter can also be supplied on the url
    • if validation is successful, an OperationOutcome is still returned
    • it always returns 200, and not 422 if the resource could not be parsed
  7. Feature: support for Conditional Read, honouring if-modified-since and if-none-match headers.
  8. Fix: Allow for url’s longer than 128 characters in Reference components.
  9. Fix: Allow for an id in a resource on a Create interaction (and ignore that id).
  10. Fix: Allow for an id in a resource on a Conditional Update interaction (and ignore that id).
  11. Fix: Include Last-Modified header on Capability interaction.
  12. Fix: Format Last-Modified header in httpdate format.
  13. Fix: Include version in bundle.entry.fullUrl on the History interaction.
  14. Fix: Update _sort syntax from DSTU2 to STU3. Note: _sort is still only implemented for _lastUpdated, mainly for the History interaction.
  15. Improvement: If the request comes from a browser, the response is sent with a Content-Type of application/xml, to allow the browser to render it natively. Note that most browsers only render the narrative if they receive xml.

Release 0.3.3.0

Attention

We upgraded to .NET Core 2.0. For this release you have to install .NET Core Runtime 2.0, that you can download from dot.net.

Hosting

The options for enabling and configuring HTTPS have moved. They are now in appsettings.json, under ‘Hosting’:
"Hosting": {
  "HttpPort": 4080,
  "HttpsPort": 4081, // Enable this to use https
  "CertificateFile": "<your-certificate-file>.pfx", //Relevant when HttpsPort is present
  "CertificatePassword" : "<cert-pass>" // Relevant when HttpsPort is present
},

This means you have to adjust your environment variables for CertificateFile and CertificatePassword (if you had set them) to:

VONK_Hosting:CertificateFile
VONK_Hosting:CertificatePassword

The setting ‘UseHttps’ is gone, in favour of Hosting:HttpsPort.

Database

There are no changes to the database structure.

Features and fixes

  1. Feature: Subscription is more heavily checked on create and update. If all checks pass, status is set to active. If not, the Subscription is not stored, and Vonk returns an OperationOutcome with the errors.
    • Criteria must all be supported
    • Endpoint must be absolute and a correct url
    • Enddate is in the future
    • Payload mimetype is supported
  2. Feature: use _elements on Search
  3. Feature: load profiles from your Simplifier project at startup.
  4. Feature: Content-Length header is populated.
  5. Fix: PUT or POST on /metadata returned 200 OK, but now returns 405 Method not allowed.
  6. Fix: Sometimes an error message would appear twice in an OperationOutcome.
  7. Fix: _summary is not yet implemented, but was not reported as ‘not supported’ in the OperationOutcome. Now it is. (Soon we will actually implement _summary.)
  8. Fix: If-None-Exist header was also processed on an update, where it is only defined for a create.
  9. Fix: Set Bundle.entry.search.mode to ‘outcome’ for an OperationOutcome in the search results.
  10. UI: Display software version on homepage.

Release 0.3.2.0

  1. Fix: _include and _revinclude could include too many resources.

Release 0.3.1.0

  1. IP address restricted access to Administration API functions.
  2. Fix on Subscriptions:
    1. Accept only Subscriptions with a channel of type rest-hook and the payload (if present) has a valid mimetype.
    2. Set them from requested to active if they are accepted.

Release 0.3.0.0

  1. Database changes

If you have professional support, please consult us on the best way to upgrade your database.

  1. The schema for the SQL Database has changed. It also requires re-indexing all resources.
  2. The (implicit) schema for the documents in the MongoDb database has changed.
  3. The Administration API requires a separate database (SQL) or collection (MongoDb).
  1. New features:
  1. Custom Search Parameters
  2. Support for Subscriptions with rest-hook channel
  3. Preload resources from a zip.
  4. Reset database
  5. Conditional create / update / delete
  6. Support for the prefer header
  7. Validation on update / create (can be turned on/off)
  8. Restrict creates/updated to specific profiles.
  9. Configure supported interactions (turn certain interactions on/off)
  1. New search features:
  1. _has
  2. _type (search on system level)
  3. _list
  4. _revinclude
  1. Enhancements
  1. :exact: Correctly search case (in)sensitive when the :exact modifier is (not) used on string parameters.
  2. Enhanced reporting of errors and warnings in the OperationOutcome.
  3. Custom profiles / StructureDefinitions separated in the Administration API (instead of in the regular database).
  4. Full FHIRPath support for Search Parameters.
  5. Fixed date searches on dates without seconds and timezone
  6. Fixed evaluation of modifier :missing
  7. Correct total number of results in search result bundle.
  8. Fix paging links in search result bundle
  9. Better support for mimetypes.
  1. DevOps:
  1. New Vonk Administration API
  2. Enabled logging of the SQL statements issued by Vonk (see Log settings)
  3. Migrations for SQL Server (auto create database schema, also for the Administration API)
  1. Performance
  1. Added indexes to MongoDb and SQL Server implementations.