Legend
A new feature | |
An existing feature has changed | |
A bug fix | |
A performance improvement | |
A security issue has been corrected |
Released | 2017-11-23 |
Codename | Buccaneer |
This version has no special upgrade instructions.
The inbound HL7 v2.x transaction processor now conditionally creates either contained |
|
FHIRWeb Console can now optionally be configured to allow anonymous access to users. See Enabling Anonymous Access for more information. |
|
The native HL7 v2.x inbound processor now creates non-contained |
|
A new endpoint has been added to the JSON Admin API for accessing audit logs. |
|
When loading transaction log events via the JSON Admin API, it is now possible to load the event body along with the details. |
|
HL7 v2.x transactions that require a Patient (e.g. many ADT triggers) will no longer try to persist the transaction if the details of the Patient are invalid. |
|
The HL7 v2.x inbound processor may now be configured to infer the namespace of the Patient and Encounter identifiers via a new pair of settings called Forced Namespace Mode. |
|
The transaction log now contains details about HL7 v2.x inbound transactions that fail, including a description of the error. |
|
HL7 v2.x MLLP listeners may now be configured to use the |
|
A new Inbound Security module has been added that introduces native support for authentication and authorization through an external LDAP directory such as Active Directory or OpenLDAP. Using this module, users can be authenticated using existing credentials. It is also possible to include individual permissions for users using a variety of methods. See LDAP Security for more information. |
|
Invalid HTTP requests to the FHIR endpoint that are rejected prior to processing (such as invalid URLs, invalid authentication credentials, etc.) will now have a better error page displayed. |
|
FHIR endpoints will now serve a |
|
Failed FHIR transactions due to invalid credentials or authorization failures will now be logged in the transaction log. |
|
MS SQL has been added to the list of supported drivers for Cluster Manager and FHIR Storage modules. |
|
Smile CDR distribution now includes database driver JARs for supported database platforms. |
|
The FHIR Endpoint now supports the use of the |
|
The Binary resource endpoint now supports the |
|
FHIR Endpoints that are configured for CORS support will now declare suppport for the |
|
FHIR Endpoints now keep an internal cache for the server |
|
Performance has been improved when updating resources with only minor changes. Previously, several index rows were deleted and then recreated unneccesarily during the database commit; however, these rows will no longer be touched if they have not changed, causing significant write performance improvements on some systems. |
|
The HL7 v2.x ADT converter will attempt to reuse |
|
When displaying search results in FHIRWeb Console, the search URL that was displayed in the results page did not include the search parameters that were actually used to perform the search, making it misleading. This has been corrected. |
|
An issue was corrected where resources containing a very specific pattern of deeply nested extensions (A primitive element containing an extension which in turn contained an extension containing a composite element) would not save the contents of this extension. |
|
A regression was fixed where the SMART on FHIR demo apps (Growth Chart, BP Centiles) did not work when deployed via the SMART App Host module. |
|
In the User Manager, the "Anonymous" role (which is actually just an internal system pseudo-role and not a real role you can assign to someone) is no longer shown next to the Anonymous user. |
|
In the User Manager, the 'Disabled' and 'Locked' switches could be used to mark a user as disabled or locked respectively; however, it was not possible to subsequently clear these flags. This has been corrected. |
|
In the Module Config, stopping/restarting a module will stop/restart any dependent modules. |
|
In OpenID Connect Clients, renaming a client creates a new entry. This has been corrected. |
|
In the User Manager within the Web Admin Console, updating any user data would incorrectly disable the User's password. This has been corrected. |
|
When paging through multiple pages of search results, if the client had requested a subset of resources to be returned using the |
|
The |
|
In certain cases, if multiple clients/threads attempted to update the same resource simultaneously, an optimistic lock failure could cause a "gap" in the history numbers to occur. This would then cause a mysterious failure when trying to update this resource further. This issue has been resolved. |
|
The resource Profile Validator has been enhanced to not try to validate bound fields where the binding strength is "example", and a crash was resolved when validating |
|
Processing of the |
Released | 2017-09-28 |
Codename | Aardvark |
Several configuration properties have been renamed in this release. When upgrading to this release, execute the following SQL script on your cluster manager database prior to starting the new version:
update cdr_module_prot_cfg set enum_type = 'ca.uhn.fhir.rest.api.EncodingEnum' where enum_type = 'ca.uhn.fhir.rest.server.EncodingEnum';
update cdr_module_prot_cfg set cfg_key = 'default_pretty_print' where cfg_key = 'defaultPrettyPrint';
update cdr_module_prot_cfg set cfg_key = 'default_encoding' where cfg_key = 'defaultEncoding';
update cdr_module_prot_cfg set cfg_key = 'base_url.fixed' where cfg_key = 'baseUrl.fixed';
FHIRWeb Console will now display a helpful error message if the user attempts to perform a FHIR operation for which they lack adequate permissions. |
|
A generic demographic mapping utility is now available for mapping from a source system to Smile CDR and/or to a downstream target system, and from Smile CDR back to the source system and/or to a downstream target system. The |
|
The inbound HL7 v2.x transaction processor now maps Patient Account Number from |
|
When browser syntax highlighting is enabled, the response page presented to the browser has been enhanced to include the response http status code, and now also can be configured to include the request and response headers as well. |
|
A new security mode for FHIR endpoints has been added. It is called trusted client mode. This allows a requesting client (generally a server connecting to Smile CDR via a trusted network) to assert that requests should be made under the authority of a specific user, optionally with specific permissions. |
|
FHIR Subscriptions are now handled using an internal queuing mechanism, which means that all processing now happens asynchronously instead of holding up the active storage operation. This should allow Subscriptions to scale much better than they previously could. |
|
Several new fields for lab processing have been added to the native HL7 v2.x inbound processor:
DiagnosticReport resources to use either or both of the placer (OBR-2 ) and filler (OBR-3 ) IDs as primary identifiers.
|
|
A new endpoint has been added to the JSON Admin API for user management. This endpoint allows for searching, creating, and editing users programatically. |
|
A new configuration option has been added to the FHIR Persistence Module configuration which causes the server to automatically create empty "placeholder" resources if a resource is created that contains references that are unknown. |
|
In Smile CDR version 2017.05.R01, support for the |
|
FHIR Subscriptions have been reworked to now use a queuing mechanism in order to decouple subscription checking and subscription delivery from the persistence and updating of data in the database. Under this new system, Subscriptions are processed in parallel, asynchronously from other parts of the write operation in the database. This system should allow Subscriptions to scale in a much more consistent way, meaning that a large number of subscriptions can now be created without slowing down the CDR storage and update functions. The new mechanism uses an embedded instance of Apache ActiveMQ for queuing. Future releases of the product will expand this to support other popular queue mechanisms. |
|
FHIR Endpoint configuration properties |
|
A minor regression in 2017.07.R01 was fixed in the Web Admin Console where the favicon.ico stopped appearing. |
|
Any |
|
When using a Local Inbound Security module, accounts created with an expiry date in the future were incorrectly denied access, and the resulting error message was not helpful. This has been corrected. |
|
An issue was corrected where the Web Admin Console would display an error when trying to view search parameters if Smile CDR was running with PostgreSQL as the backing database. |
|
An issue was corrected when running against an Oracle 12.2 database where the driver would run out of database cursors while performing the initial seed of |
|
Mapping of |
|
When creating a new user via the Web Admin Console, if the created user failed validation (e.g. because the username or password were blank) then the creation step silently failed. This has been fixed. |
|
Web Admin Console showed an error message instead of the current product version when accessed from a browser with a non-US locale. This has been fixed. |
|
Extensions on resource IDs were not correctly stored when saving resources, meaning that they were lost when the resource was accessed. This has been corrected. |
|
An issue was corrected where search parameters containing negative numbers were sometimes treated as positive numbers when processing the search. |
|
When performing a FHIR Transaction with an invalid request URL (e.g. |
|
A potential database deadlock in the stale search purging routine was fixed. This deadlock would only have occurred under very heavy load but it is no longer an issue. |
|
When uploading a Bundle resource to the server (as a collection or document, not as a transaction) the ID was incorrectly stripped from resources being saved within the Bundle. This has been corrected. |
Released | 2017-07-10 |
This version has no special upgrade instructions.
HTTP endpoints now have a new configuration option |
|
Transaction log entries are now automatically purged after a configurable amount of time. Collected runtime statistics are now automatically collapsed to more coarse entries over time, and then eventually deleted after a configurable amount of time. |
|
Script for starting and stopping Smile CDR has been reworked so that messages logged to the console are coloured, more helpful, and report any errors completely. The script should now be more tolerant of slow startups, too (e.g. running on a very slow database). |
|
FHIRWeb Console now supports user authentication so it can be used with a secured CDR. |
|
The FHIRWeb Console module now has a configuration option that allows anonymous access. An anonymous user with the |
|
An optional configurable hard cap to the number of search results that can be returned by a single search is now available. |
|
Searches using search parameters of type |
|
FHIR Transactions sent to the server will now respect the HTTP Prefer header, allowing the client to request that the complete resource body of any created/updated resources be returned in the response |
|
When adding tags to a resource (or saving a resource with tags), any duplicate tags are now automatically filtered (since duplicate tags do not have any meaning in FHIR). |
|
When executing a search ( |
|
The server |
|
A few redundant columns have been removed from some select statements in relational persistence searches, which should improve performance slightly. |
|
Searches now load the first page of results using a scrolling cursor in a separate managed thread, which should significantly increase performance for searches that return a large number of results while ensuring that results are consistent across pages. |
|
An issue was corrected when processing transactions where creates and updates to resources with tags caused the tags to be created twice in the database. These duplicates were automatically filtered upon read so this issue was not user-visible; however, it could occasionally lead to performance issues if a resource containing multiple tags was updated many times via transactions. |
|
When modifying an existing user's permissions in a Local Inbound Security module, the new permissions did not take effect for up to 10 minutes due to a badly timed cache. The caching time has been reduced to 3 seconds, and a note has been added to the permission screen. |
|
When modifying module configuration for a FHIR Storage module, the database password would be cleared even though the UI indicated that it could be left blank. |
|
If a user has write permission to only |
|
Searches with an empty search parameter (e.g. |
|
FHIRWeb Console failed to execute FHIR transaction operations when the response Bundle contains entries with no associated |
|
When connected to a PostgreSQL database, persistence modules did not automatically expire search results from the cache if the search URL was extremely long. This has been corrected. |
|
When creating or updating resources, the request will be rejected with an |