Legend
A new feature | |
An existing feature has changed | |
A bug fix | |
A performance improvement | |
A security issue has been corrected |
Released | 2025-02-17 |
Codename | TBD |
HAPI FHIR | Smile CDR 2025.02.R01 is based on HAPI FHIR 7.8.0, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
The way that data in the Resource.meta.source
element is stored has been changed since Smile CDR 2023.08.R01. Users of systems which used this element prior to that release may need to perform a data migration. See Resource Meta Source Migration for more information.
This feature introduces method |
|
Gateway consent has been added, allowing to apply consent to routes before sending requests to targets. |
|
A new experimental option has been added to the FHIR Endpoint module which provides a virtualized view of an MDM-enabled repository. See MDM Virtualized Endpoint for more information. |
|
The Package Registry Endpoint module now supports searching for packages by author. |
|
Added the |
|
MegaScale search now supports searching multiple partitions at once provided all of those partitions map to the same database. |
|
When performing a Federated OAuth2/OIDC Login, Smile CDR will now supply PKCE parameters to the federated provider, providing an additional element of security to this exchange. |
|
Two new settings have been added which can be used to configure the timeout and size of the Validation Support Cache. This cache now also exports OpenTelemetry metrics around its current size. |
|
Prior to this change, Gateway DELETE operations would return the OperationOutcome of the delete called on the first target, irrespective of the success/failure of the delete operation. This means that a SUCCESSFUL_DELETE_NOT_FOUND result was often returned when the resource actually was found and deleted. Now, if the resource was actually deleted on one of the targets, the OperationOutcome of that target is returned to the caller with the proper SUCCESSFUL_DELETE result so that the caller can detect the resource was successfully deleted. |
|
Prior to this change, Gateway target http headers added by FHIRGW_XXX_TARGET_PREINVOKE interceptors would persist between targets, so if the interceptor added an http-header for one target call, that header would still be present in calls to subsequent target calls. This has been corrected so each target call has an independent set of additional headers. |
|
Prior to this change, hypertext links to JSON examples would return an error page when invoked from the Web Admin documentation. This issue has been fixed. |
|
Previously, $evaluate-measure without an async header with reportType SUBJECT and a null subject failed with a 500 status code and a cryptic error message. This has been fixed with a 400 status code and a clear error message. |
Released | 2024-11-15 |
Codename | TBD |
HAPI FHIR | Smile CDR 2024.11.R01 is based on HAPI FHIR 7.6.0, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Smile CDR now blocks configuration string substitution (e.g. of the form ${abc} or #{def}) in any JavaScript text configuration values. The reason for this is that JavaScript text values can be large and complex and can contain strings of the form ${abc}. String substitution is still available for JavaScript filenames and all other configuration values.
The version of the OpenTelemetry Java agent included in Smile CDR has been upgraded to 2.8.0 from 1.32.1.
This is the agent that is used when CDR_OTEL
environment variable is set. Since this is a major version upgrade,
there are some breaking changes. Most notably, the agent has changed the default OTLP protocol from grpc
to http/protobuf
, if you like to continue using the grpc protocol, you can switch by setting OTEL_EXPORTER_OTLP_PROTOCOL=grpc
environment variable.
Also, there are some changes to the metric names emitted by the agent's auto-instrumentation. For a complete list of changes see OpenTelemetry Java Instrumentation's
release notes.
Elastic APM has been removed. Please use the OpenTelemetry Integration instead.
The Debezium option has been removed for the Realtime Export module.
DQM $evaluate-measures
will now convert parameters periodStart
and periodEnd
according to a timezone supplied by the client, not the server timezone as it was previously. Clients can leverage this functionality by passing in a new Timezone
header (ex: America/Denver
). If nothing is supplied, it will default to UTC. Current implementations that assume systemDefault may see an impact to calculated results due to this change.
$evaluate-measures
operation changed parameter values to align more with specification naming conventions
subject
parameter instead of separate parameterThe subject
parameter of the Questionnaire/$populate
operation has been changed to expect a Reference
as specified in the SDC IG.
Added the capability to support mutual authentication (mTLS) to the HL7v2 Outbound module. |
|
New permissions were introduced to provide granular control over specific actions on a module in a node. The permissions introduced are |
|
Added JWT-based authentication support to the SMART Outbound Security module for clients authenticating themselves for a client credentials system flow. |
|
Added support for USCDI v2 Encounter Diagnosis profile in the CDA Exchange+ module. |
|
The resource merge algorithm in the CDA Exchange+ module has been updated such that, if the result of merging two |
|
The CDA Exchange+ module can now parse Comment Activity templates (ID 2.16.840.1.113883.10.20.22.4.64), which will populate |
|
The CDA Exchange+ module can now parse Comment Activity templates (ID 2.16.840.1.113883.10.20.22.4.64), which will populate |
|
The CDA Exchange+ module can now parse Comment Activity templates (ID 2.16.840.1.113883.10.20.22.4.64), which will populate |
|
Changed the format of the logback configuration files to include the batch instance and chunk IDs for batch related messages. Batch jobs will now populate these entries, |
|
Modules can now be archived while in |
|
Table 0291 (Subtybe of Referenced Data) has been updated to introduce RTF, and to document TIFF—which was already supported but not included in the published table. |
|
The HL7 v2.x inbound processor now provides limited support for mapping of MDM (Document Management) Domain messaging to FHIR. MDM messaging generally results in a DocumentReference resource being created or updated. Presently, only ED-typed OBX segments are supported (i.e. where
|
|
A Transaction Log entry is now created when a CDA Document fails processing when ingested via Channel Import. If available in the CDA Document, the |
|
The Runtime Audit Log page now allows querying logs by resource id(s) in order to find logs related to specific resources. |
|
Added support in FHIR Gateway to allow sorting by user-defined custom search parameters. |
|
The CDA Exchange+ module now supports mapping Note Activity templates when encountered at the root level of any document section. |
|
Prior Authorization CRD module now supports |
|
CDA Exchange+ module now supports mapping between the Assessment and Plan section and FHIR ServiceRequest resource. |
|
Added SMART Backend Services authentication over secure channel (TLS) to remote terminology validation services. |
|
When triggering |
|
The Camel module now supports transforming an NDJSON file into a bundle via the new |
|
Prior Authorization CRD module now supports |
|
The CDA Exchange+ module now supports OpenTelemetry during import of documents, and the exporting of FHIR data. Please see the OpenTelemetry Integration for detailed information. |
|
Added a new |
|
Prior Authorization CRD module now supports handling of Multi Orders - SystemActions and Response Cards results. |
|
Added buttons to export and import OpenID Connect clients in the Web Admin Console. |
|
Added FHIR Response Terminology Enhancement support for the |
|
The zip file created by Help -> System Info / Download Config -> Download System Configuration now includes two versions of the system properties. The current |
|
The Transaction ID provided as part of the payload when importing CDA documents via the channel import module has been added to the Transaction Log in the request id column to allow for better traceability of requests. |
|
An OpenTelemetry metric named |
|
Added support for mapping of ADT_A10 messaging to HL7 Inbound Module. |
|
The HL7 v2.x Listening Endpoint now maps the second |
|
The CDA Exchange+ module now includes enhanced trace level troubleshooting log enhancements when importing CDA documents. |
|
The following HTTP Thread Pool related OpenTelemetry metrics are now available for modules using an HTTP endpoint: |
|
An OpenTelemetry metric named 'smilecdr.session.count' has been added to track the number of active sessions for modules that support web sessions. |
|
If the CDA Exchange+ module encounters an entry that does not have any |
|
Added a new configurable property to the PAS module for Payer System TRN. |
|
A new CDA Troubleshooting log has been added with extra logging for CDA import operations. Also, if a CDA message submitted via Channel Import fails, that message will now be sent to the failure queue. |
|
The |
|
Customer services (e.g. interceptors, providers, etc.) can now use Spring constructor injection in addition to field injection. |
|
Added support to |
|
This feature addition allows for 'Organization' references found on |
|
New permissions were introduced to provide easier setup for the MDM UI application. The permissions introduced are |
|
Added support for conditional updates to the FHIR Gateway module. |
|
Added system log entries for document import success and failure in the CDA Exchange+ module. This allows for high-level monitoring of document imports without the use of the troubleshooting log. |
|
Added two new appSphere Pointcuts: |
|
|
|
An OpenTelemetry metric called |
|
A new permission called |
|
When using federated OAuth2 security mode, it is now possible to use a signed JWT as the authentication credential used for code exchange between Smile CDR and the federated OAuth2 provider. |
|
Added the ability to remove an XML attribute from a document using the JavaScript XML parser. |
|
An OpenTelemetry metric called |
|
An OpenTelemetry metric called |
|
Upgraded the Clinical Reasoning module to the latest release of 3.13.0. This update comes with several changes and feature enhancements to CPG and dQM clinical-reasoning operations. Please review this releases' upgrade notes for more details. |
|
Prior Auth Support (PAS) now supports |
|
Created several new Audit Event types for use by external web application service to register audit logs, specifically for use by DQM/CMS. |
|
Previously, when using MongoDB storage, the type-level and instance-level |
|
The CDA Exchange+ module has improved the performance of the import process by streamlining the algorithm for comparing two resources by identifier. |
|
Updated the |
|
The Charts and Graphs section of the Web Admin Console has been removed. Those looking for this type of information should use the Externalized Metrics or the OpenTelemetry Integration. |
|
Removed the environment variables which allowed usage of the old Web Admin Console UI. Removed the old Web Admin Console UI Code. |
|
Module configuration substitution rules have changed. Module configuration value properties can contain
|
|
The |
|
Modified how module dependencies are resolved internally. This change should not be visible to users. |
|
MegaScale is only supported in |
|
The default deduplication strategy for CDA Exchange+ import has been changed to do an exact match on all the identifiers present on the resource. This will reduce the frequency of false rejections for too many matching resources on a conditional create, with the trade-off that it may slightly increase the number of potential duplicates that are missed and will need to be merged after the fact. |
|
Added a config diagnostic for the CDS Hooks Module that outputs an |
|
Updated the documentation regarding the database setup script for SQL Server (MS SQL) to be UTF-8 compatible. |
|
Changed the CRD module to support handling a |
|
Previously, MDM UI module had a module dependency on the Admin JSON API module. This behaviour has now been changed to be an optional dependency. This dependency is marked for removal for 2025.02.R01 release. |
|
The MDM-UI module now exposes its Node ID and its OIDC Security Module ID via its |
|
Previously, the MDM-UI module exposed the configuration URL of the MDM module. This has been removed. |
|
Previously, module boot order for modules with the same dependencies was non-deterministic. This has been changed so that the module boot order is now always the same. |
|
Remote terminology SMART backend authentication can be denied access for audience with |
|
An incorrect hardcoded string was used for the |
|
Corrected a CSRF bug in the FHIRWeb Console under certain authentication scenarios. |
|
Previously, enabling consent services on a Persistence module would not block |
|
Logs with IP Addresses would not record the correct originating client IP Address. This has been corrected. |
|
Previously, it was possible to submit a REST hook subscription where the endpoint URL property was not prefixed with http(s). This issue is fixed. See REST Hook Endpoint URL Validation Regex for further details. |
|
Previously, some of the OpenTelemetry database client connection usage related metrics were not being emitted. This has now been fixed. Also, the |
|
Previously, invoking |
|
Previously, |
|
Previously, in the CDA Exchange+ module, parsing of a Comment Activity template nested within the Planned Procedure and Problem Concern Act templates was not connected correctly, and the |
|
Messages sent over HTTP by the HL7 Outbound Module were not encoded in UTF-8. This has been fixed. |
|
Fixed a bug during CDA import where the transformation engine would unexpectedly abort processing if it encountered a coded field with an |
|
Fixed a bug on MongoDB Persistence Modules where invoking the |
|
Previously, the CDA Exchange+ module did not populate the field |
|
Previously, in CDA Exchange+ import, if a CDA document contains an |
|
Previously, the HL7 v2.x Listening Endpoint did not process |
|
Previously, when ingesting a CDA document containing three or more representations of the same |
|
When iterating over bundle entries in JavaScript, |
|
Fixed some broken links in the Web Admin Console caused by removing Charts and Graphs. |
|
|
|
When |
|
Fixed a regression in JavaScript processing which caused any IBase object to be cleared when re-assigned to itself. |
|
Previously, the OpenTelemetry HL7v2 interceptor could throw a |
|
The default parameters of the |
|
Previously, deleting a partition while using MegaScale would not clear its related internal cache entries. This could sometimes cause issues when creating a new partition. This has now been fixed. |
|
Previously, if SMART Outbound Security module was configured to have a context path, launching an authorization code flow for users with enabled Two Factor Authentication would fail on the providing user credentials step. This has been fixed. |
|
The resource containment rules in the CDA Exchange+ import process have been improved. Firstly, any resource that is directly referenced from one of the sections of the Composition of the generated Bundle will be exempted from containment. Secondly, any resource that is converted to a contained resource will be removed from any Provenance that might otherwise target it. And finally, a bug has been fixed that was blocking Organization resources from being added to the Bundle. |
|
Previously, the CDA Exchange+ module would fail to export any resource with a reference to a contained resource. This has been fixed. |
|
Previously, when exporting blood pressure vital signs using the US Core 5.0.1 IG in the CDA Exchange+ module no values were being mapped. This has been fixed. |
|
Previously, if a field nested within a backbone element of a FHIR resource was marked as mandatory in a CDA Exchange+ import mapping, and the corresponding element was absent from the CDA source file (as opposed to being present but populated with a nullFlavor attribute), the parsing of the resource would fail with a DataFormatException. This has been fixed. |
|
Previously, the response card was throwing an error when |
|
Previously, the CDA Exchange+ mappings were transforming the medication associated with a |
|
Modules not supplying beans used to log as error. This has been downgraded to 'warning' since the module will still start. |
|
Error handling and reporting have been improved in the CDA Exchange module for datetime fields with non-standard formats. |
|
Previously, an edge case existed in the CDA Exchange+ module where the data pattern |
|
Previously, when users with |
|
Previously, the CDA Exchange+ module would throw a NullPointerException trying to set the performer of a |
|
Increased security on endpoints that fetch System Restore points. |
|
Previously in the CDA Exchange+ module when importing planned medications or planned immunizations, any |
|
Previously, the CDA Exchange+ module would fail to perform vocabulary translation for several fields, populating the CDA document with untranslated codes from the FHIR model during an export operation. This has been fixed. |
|
Previously in the CDA Exchange+ module with US Core 5.0.1 IG importing Medication Activity with invalid status code resulted in no data being added. This behaviour has been fixed by having a data absent reason extension on |
|
Previously in the CDA Exchange+ module when importing Note Activity sections the only statusCode mapped was |
|
Previously, in the CDA Exchange+ module when importing a document with multiple resources containing a single matching identifier, these two resources would be merged. The merge algorithm now requires an exact match on all identifiers. |
|
Previously in the CDA Exchange+ module, when attempting to export the Assessment and Plan section, nothing would be shown in the output XML. This behaviour has been fixed. |
|
Fixed an issue where archived modules would not be displayed or displayable in Admin Web, even if archived modules are supposed to be displayed. |
|
Previously, running |
|
A regression introduced in Smile CDR 2023.11.R01 caused the ETL Importer module, when configured in asynchronous mode, to skip the initiation of |
|
Previously, $evaluate-measures with subject=ANY and reportType=subject in non-async mode resulted in an error. This has been fixed by permitting the operation. |
|
Previously, the CDA Exchange+ module would encounter an error when trying to export a Provenance resource whose agent is a contained resource as a document-level author. Such Provenances will now be excluded from processing. |
|
Previously, the CDA Exchange+ module was including a trailing space in the templateId of the Author Participation entry, which was causing failures in some validation tools. This has been fixed. |
|
In the CDA Exchange+ module, several errors setting the structural attributes |
|
Previously, in the CDA Exchange+ module, when exporting a CDA Observation value, the attribute |
|
The CDA Exchange+ module will narrow a list of values in the FHIR model to a single value when the corresponding field in the CDA model has a maximum cardinality of 1. |
|
Previously, the Security Attributes page showed how get retrieve a |
|
Fixed a regression issue which prevented the the CDS on FHIR module from booting up when both Endpoint and Storage dependencies are provided. Now a configuration error is thrown on module bootup. |
|
Builtin Metrics collection feature and its related tables have been removed, in favour of OpenTelemetry integration. |
|
Debezium support for Realtime Export has been removed. Pointcut mode remains available. |
|
Elastic APM support has been removed. Please use the OpenTelemetry Integration instead. |
|
DTR and DQM modules no longer accept a PERSISTENCE_R4 dependency, and will now transitively use the persistence module that the FHIR_ENDPOINT dependency relies on. |
Released | 2024-10-21 |
Codename | Copernicus |
HAPI FHIR | Smile CDR 2024.08.R05 is based on HAPI FHIR 7.4.5, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Released | 2024-10-17 |
Codename | Copernicus |
HAPI FHIR | Smile CDR 2024.08.R04 is based on HAPI FHIR 7.4.4, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Backported from: 2024.11.R01 Added support for conditional updates to the FHIR Gateway module. |
Released | 2024-09-30 |
Codename | Copernicus |
HAPI FHIR | Smile CDR 2024.08.R03 is based on HAPI FHIR 7.4.3, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Backported from: 2024.11.R01 Fixed a regression in JavaScript processing which caused any IBase object to be cleared when re-assigned to itself. |
Released | 2024-09-20 |
Codename | Copernicus |
HAPI FHIR | Smile CDR 2024.08.R02 is based on HAPI FHIR 7.4.2, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Backported from: 2024.11.R01 The Charts and Graphs section of the Web Admin Console has been removed. Those looking for this type of information should use the Externalized Metrics or the OpenTelemetry Integration. |
|
Backported from: 2024.11.R01 Removed the environment variables which allowed usage of the old Web Admin Console UI. Removed the old Web Admin Console UI Code. |
|
Backported from: 2024.11.R01 MegaScale is only supported in |
Released | 2024-08-15 |
Codename | Copernicus |
HAPI FHIR | Smile CDR 2024.08.R01 is based on HAPI FHIR 7.4.0, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
HFJ_SPIDX
tables, which include sp_name
or res_type
columns.sp_name
and res_type
columns of the HFJ_SPIDX_*
tables to nullable. This will fail on SQL Server (MSSQL), as changing an indexed column to nullable is not supported.sp_name
and res_type
columns to nullable.To update columns to nullable in such a scenario, execute steps below:
sp_name
or res_type
columns should be dropped:DROP INDEX IDX_SP_TOKEN_REST_TYPE_SP_NAME ON HFJ_SPIDX_TOKEN;
sp_name
and res_type
columns should be updated:ALTER TABLE HFJ_SPIDX_TOKEN ALTER COLUMN RES_TYPE varchar(100) NULL;
ALTER TABLE HFJ_SPIDX_TOKEN ALTER COLUMN SP_NAME varchar(100) NULL;
CREATE INDEX IDX_SP_TOKEN_MISSING_OPTIMIZED ON HFJ_SPIDX_TOKEN (HASH_IDENTITY, SP_MISSING, RES_ID, PARTITION_ID);
Note that in the unlikely event that new terminology is being uploaded to the server during a zero downtime upgrade, that new terminology won't be fully readable by servers on the old version until they have been upgraded.
Elastic APM is being deprecated in favour of OpenTelemetry. It will be removed in 2024.11.R01
CHANNEL mode is being deprecated for Realtime Export. In 2024.11.R01, the only option will be POINTCUT mode.
The onTokenGenerating(...) callback script in the SMART Outbound Security module now takes an optional 3rd argument containing details about the client that was used as a part of the auth flow. Note that this new argument was added as an optional argument at the end of the argument list, so this change is non-breaking to exising scripts implementing this function. |
|
Allow Camel modules to register health checks |
|
The CDA Exchange+ module can convert between a CDA Payers section and FHIR Coverage resources, capturing only information about the payer organization at this time. |
|
A new callback script function has been added to the SMART Outbound Security module which can be used to add authorities to the session based on approved scopes and existing approved authorities. This can be used to enhance or even replace the built-in scope-based authority narrowing. |
|
Implemented the redesign of plan of treatment section, the section now no longer creates a base CarePlan resource |
|
Added support in the CDA Exchange+ vocabulary service to support one to many code mappings. |
|
Added new config key |
|
Added bi-directional mapping in USCDIv2 between CDA Sexual Orientation Observation and the US Core 5.0.1 Observation Sexual Orientation Profile |
|
A new Persistence Module config diagnostic message has been added that writes out a WARNING message regarding partition selection mode when partitioning is disabled. |
|
Migration away from database LOB datatypes for the Cluster Manager database. This change mainly affects PostgreSQL users as we effectively cut all ties with the inefficient |
|
Added sorting capability to gateway endpoint, limited to the standard SearchParameters defined in the FHIR release. This implementation requires target servers replies to include |
|
The CDA Exchange+ module can convert embedded participants and policy activity within CDA Payers section to FHIR Coverage resources. |
|
The CDA Exchange+ module now has the ability to process a Note Activity template embedded within a Procedure. |
|
The CDA Exchange+ module now has the ability to process a Note Activity template embedded within a Result Observation. |
|
With a handful of exceptions for (Mental Status, Functional Status, Payers, Plan of Treatment, and Vital Signs (Entries Required)), the CDA Exchange+ module can now map Note Activity templates found at the root of a given section. Further support will be added in future. |
|
The CDA Exchange+ module now supports Assessment Scale Observation entries embedded within Problem Observations. |
|
Add support for the $log-questionnaire-errors operation defined the Da Vinci Burden Reduction DTR IG. |
|
Additional OpenTelemetry span attributes are added to the local root span in FHIR endpoint HTTP traces. These attributes include |
|
The CDA Exchange+ module now supports the Discharge Diagnosis section. |
|
The CDA Exchange+ module now supports the Admission Diagnosis section. |
|
Added validation of the server seed file to diagnostics checks of the System to System Data Exchange module. |
|
Improved ergonomics of iterating over HL7v2 segment repetitions in JavaScript by exposing a forEach method. |
|
The CDA Exchange+ module is now able to parse Comment Activity templates embedded within Allergy Concern Acts. |
|
Update the |
|
The REQUEST_TENANT partition selection mode now supports performing the $reindex operation against all partitions by using _ALL as the tenant name in the request URL. See Tenant Identification Strategy documentation. This has been enabled for MegaScale on and off scenarios. |
|
The CDA Exchange+ module now supports the Medications Administered section. |
|
New cdr operation |
|
Added a configurable property to specify a max number of times a target server should poll the source server for export results. This value is defaulted to 100. |
|
Add plugin support in the CDA Exchange+ module for the USCDI v2 specification which subsumes R4 and US Core v5.0.1 implementations. |
|
Enhanced the experimental CDA Exchange+ module with the capability to perform a simple import of a CDA document using a Camel route. |
|
If provided with a server seeding file, System to System Data Exchange module will not only validate the path to the resource, but the servers contained therein. If any fields necessary for |
|
Added warnings to startup if there are multiple persistence modules using the exact same database (not a supported production environment). |
|
Added narrative only sections |
|
When populated, the search score field will now be included in the entries of a FHIR Gateway response Bundle. |
|
Added bi-directional mapping between CDA Discharge Medications section and the FHIR R4 MedicationStatement resource. |
|
Added bi-directional mapping between CDA Admission Medications section and the FHIR R4 MedicationStatement resource. |
|
The CDA Exchange+ module now supports the Past Medical History section. |
|
Added OpenTelemetry |
|
Added a warning at startup if the db.hibernate_search.mode config setting is set to LUCENE_DISK or LUCENE_MEMORY, since these are not recommended in a Production environment. |
|
Searches through the FHIR Gateway will now support parameters _content, _filter, _language, _list, _tag, _text and _security. |
|
Added Camel processor for executing CDA Exchange+ pre-import javascript processing. |
|
Added Camel processor for executing CDA Exchange+ |
|
Added Camel processor for executing CDA Exchange+ post-import javascript processing. See cdaToFhirPostConvertScriptProcessor for more information. |
|
Added Camel processor for executing CDA Exchange+ |
|
The following OpenTelemetry metrics are now generated for resource creations and updates, respectively: |
|
An OpenTelemetry metric, named |
|
Added Cda Exchange + module as licensed module and removed requirement of a feature flag |
|
Finalize the external API for Camel integration with the CDA Exchange+ module and update documentation. |
|
A new extension script function has been added which is invoked by the SMART Outbound Security module during the Client Credentials with JWT Credential authorization flow, and can modify the client's session. |
|
Expand support for CMS QPP programs pcf and mvp on |
|
A new setting has been added to the SMART Inbound Security module which allows the customization of the SMART Capabilities document by adding additional capabilities. |
|
Previously, a cdr with admin web configured with |
|
The service which allows to send messages to a Camel route endpoint has been enhanced to return the full Exchange object. |
|
New enhancement to distributed |
|
A new node configuration has been added to the Smile CDR Properties File. |
|
In MegaScale mode, FHIR Batch and FHIR Transaction operations are now correctly supported. FHIR Transaction operations will only work if all resources in the trasnaction can be executed in the same partition. |
|
Added a [configuration][docs/configuration_categories/hybrid_providers_definitions.html#property-fhir-parser-error-handler-type] to the Hybrid Provider Endpoint module to specify the type of FHIR Parser Error Handler to invoke when handling resource parsing errors on the endpoint. |
|
This release supports zero-downtime upgrades on Azure Sql Server |
|
Added a warning message in the login and profile page warning user that they do not have the permission to setup their own Two Factor Authentication. |
|
Add support for looking up a Task based on the Context parameter passed into the $questionnaire-package operation. If the task is found and contains an input with the correct |
|
A new feature called Optimize index storage has been added to the FHIR Storage module. If enabled, the server will not write data to the |
|
Change CRD module to utilize CQL PlanDefinition's |
|
Split out SubscriptionSettings from StorageSettings. |
|
The configuration of the transformation strategies in the CDA Exchange+ module has changed to derive the target data type from the FHIR model definitions whenever possible, simplifying the mapping configurations. |
|
Change CRD module to utilize CQL PlanDefinition's |
|
In the CDA Exchange+ module, the ability to assign the result of a transformation to a cache rather than assigning it to a FHIR field has been moved to the |
|
The |
|
Remove feature flag from Prior Auth Modules (CRD, DTR, PAS) |
|
A new callback script function is now configured in the main scripts of SMART Outbound and SMART Inbound. |
|
An oversight in the implementation of text-only support for the Advance Directives section in CDA Exchange+ lead to the section not exporting. This has been corrected. |
|
Calling getLaunch() or getState() in onTokenGenerating callback would throw an exception. This has been fixed. |
|
Previously, depending on the type of database, it was possible to add duplicate non-archived OpenID Connect servers (CDR_OAS_SERVER). This has been fixed with server-side validation that returns an error on any attempt to create such new duplicate non-archived servers. |
|
Previously, changing the default partition id after the persistence module had been initialized would cause a primary key violations and throw an error message that did not mention that changing the default partition id could cause this. The error message has been updated to list this as a potential cause. |
|
Z segments of messages passed to HL7v2 inbound scripts were being changed from the original message, causing various script operations on those Z segments to fail. This has been corrected. |
|
Previously when exporting documents in the experimental CDA Exchange+ module certain codes would not translate properly. This has been fixed. |
|
Previously, if an IG was seeded and default search parameters were disabled, the IG would fail to load. This bug, caused by an incorrect boot order between the IG loading module and the search parameter module, has been fixed. |
|
Previously, processing inbound HL7v2 messages could lead to resource(s) duplication when multi-tenancy is enabled. This issue has been fixed. |
|
Previously, when given |
|
The CDA Exchange+ module previously exhibited inconsistencies in its treatment of duplicate items under certain conditions. This has been resolved. |
|
Previously, on MSSQL, two resources IDs that are identical except for case (ex: Patient1 vs. patient1) would be considered to have the same ID because the database collation is case insensitive (SQL_Latin1_General_CP1_CI_AS). Among other things, this would manifest itself when trying to delete and re-create one of the resources. This has been fixed with a migration step that makes the collation on the resource ID case sensitive (SQL_Latin1_General_CP1_CS_AS). Also, the documentation has updated to include steps to replicate the new migration code with manual SQL. |
|
HL7 messages that failed to be processed would throw an exception, but this exception would not always include the location of the error (making them not that useful). This has been fixed. |
|
A bug prevented Oracle backed cluster-mgrs from being able to revoke all tokens (access and refresh tokens). This has been fixed. |
|
Updated the |
|
The CDA Exchange+ module was failing to render the Advance Directives section. This has been corrected. |
|
When a user downloads the System Config ZIP file from the Web Admin Console, it was overriding too many property values with the [REMOVED] placeholder. It has been changed to reveal more property values as configured so that we can properly diagnose problems using their specific configuration. |
|
Previously, adding or removing tags to/from an existing resource would fail when Mega Scale was enabled. This problem has been fixed. |
|
Previously in the CDA Exchange+ module, the Functional Status section resources were not populating at root level on export. This has been fixed. |
|
Previously, when Transaction Log Persistence and Transaction Log Broker modules were introduced, the properties they inherited from Cluster Manager did not have distinct values specific to the module and were instead using the value from Cluster Manager or the default. This has been fixed. |
|
Previously, when multiple Transaction Log Broker or Transaction Log Persistence modules are processing the same transaction log event and one of them would update the payload body (clear or truncate) as per configuration, the payload body change would apply to all transaction logs stored/published. This has been fixed. |
|
The MeasureScore was not aggregating for Measures that did not have a group.id populated. The fix allows for both options on a single rate measure. This fix also included an update for CMS qpp specification reference to source 2024 data, which will be required in August 2024 for testing. This fix also addressed performance issues on dqm4IT to make tests quicker and categorization more clear. |
|
Previously, when importing a Procedure through the CDA Exchange+ module, if the Procedure |
|
Previously in the CDA Exchange+ module, when a Practitioner was mapped from a Note Activity participant a new Practitioner resource was created every time rather than looking up to see if the resource already existed. This has been fixed. |
|
Previously, performing a cross-partition reference search would not find the expected resource(s). This has now been fixed. |
|
Previously, the CDA Exchange+ module was not correctly translating subscriber relationship codes in the |
|
Previously, the CDA Exchange+ module was retaining the display text of the source coding when importing a |
|
Previously, when exporting a Coverage through the CDA Exchange+ module, the code element would be omitted if the concept in |
|
Previously sending large (20MB+) messages to channel import would result in a JSON deserialization error. This has been fixed. |
|
Previously, attempting to store resources with common identifies but different partitions would. This has been fixed by adding a new new configuration option to store resources with duplicate identifiers across partitions |
|
Fixed a bug that allowed users to bypass 2-factor authentication when 2fa is required for user login. |
|
Fixed a bug that would sometimes have 2FA codes being displayed without prepended 0s. This has been fixed. |
|
As a consequence of jakarta migration (release 2024-02), WAC would no longer support basic authentication when SAML authentication is enabled on the endpoint. This issue has been fixed. |
|
Previously, a booting Subscription module created and exported a Bean of type SubscriptionTopicLoader only for FHIR version 4B and R5 which lead to ERROR entries in the start-up logs. This issue is fixed. |
|
$invoke-export operations would result in some errors being logged. This didn't break functionality, but the logs have been mitigated to appear less frequently. |
|
Previously, when attempting to view a Camel module that contains a |
|
Previously, the |
|
Previously, the CDA Exchange+ module would encounter an error processing section-level notes with a legal authenticator. This has been fixed. |
|
Previously, if Audit Log was enabled and set up to write logs to the Cluster Manager database, performing search on the Audit Log page in the Web Admin Console generated SQL queries that could cause timeouts. This issue has been fixed. |
|
Register prior auth module on Cds Hooks Endpoint using module ID |
|
2FA codes produced by smile should match what authenticator apps produce, regardless of time zone or other issues. |
|
Previously, attempting to archive a module would result in no visible result, but an error in the logs. This has been fixed. |
|
A fix to address observed dqm batch-job performance regression in step 2 of processing measure evaluation. |
|
Previously, the CDA Exchange+ module documentation contained implementation guide specific sample scripts. Sample script has now been fixed to work with all IGs. |
|
Previously, when ingesting a message in the HL7v2 Inbound Module over HTTP, the transaction log would fail to record the remote IP address. This has now been fixed. |
|
Previously, for a FHIR gateway target, the default socketTimeoutMillis and the connectTimeoutMillis were 10000 instead of the intended default of 60000. Furthermore, setting these options explicitly in the target configuration was not taking effect. These issues have now been fixed. If provided, the values from the target configuration are respected, and the default is 60000. |
|
Previously, the CDA Exchange+ module would throw a NPE if the Mental Status section contained an Observation where |
|
Previously, the CDA Exchange+ module would not map |
|
The warning at startup if the db.hibernate_search.mode config setting is set to LUCENE_DISK was changed to indicate that it cannot be used in a clustered environment. |
|
Previously, the CDA Exchange+ module would throw a NPE when trying to import a CDA document with the plan of treatment section. This has been fixed. |
|
Previously, the |
|
Previously, FHIR Web was using the old Smile CDR logo. This has been fixed as it's now using the Smile Digital Health logo. |
|
Previously, if a |
|
The prior auth module will now overwrite the existing extension of a DomainResource with the response generated from the CQL engine. |
|
Previously, when using a JavaScript callback script to replace the |
|
As part of the migration from LOB, a regression was introduced where an endpoint configured as a SMART on FHIR server would fail token generation when using Postgres. The issue is fixed. |
|
The Transaction Log Processing Time was not populated for FHIR requests. This has been fixed. |
|
Previously, when importing a CDA document through the CDA Exchange+ module, the |
|
Previously, an Hl7v2 Inbound module boot up process attempted to create non-partitionable resources outside of the default partition. The issue is fixed. |
|
Authenticating an access token with claims would log warnings. This has been fixed (no warnings will log). |
|
The prior auth module will add the ext-coverage-information extension to the requesting order list of extensions, or overwrite it if it already exists in the order. |
|
When editing a module and selecting dependencies, archived modules would be returned. This bug has been fixed. |
|
Previously, the CDA Exchange+ module would encounter a DataFormatException when trying to export a Plan of Care section containing any resource type other than Service Request. This has been fixed. |
|
Previously, the CDA Exchange+ module was not rendering Conditions as entries in the Problem section as part of the export operation. This has been fixed. |
|
In the CDA Exchange+ module, when exporting data from the |
|
Previously, the CDA Exchange+ module would encounter a DataFormatException when attempting to format a root-level Note entry in the Procedures section of a document. This has been fixed. |
|
Previously, when importing a CCD with a Sexual Orientation entry or Gender Identity entry with no value to be mapped on import, the dataAbsentReason is not being populated. This has been fixed. |
|
Previously, a user without proper permissions was able to click on the disable/enable button for TFA on their account from the profile page. This issue is fixed. |
|
Added Camel module documentation about needed library dependency for health checks. |
|
|
|
Previously, performing a |
|
Previously, invoking operation |
|
Previously, the persistence module was failing to start when MegaScale was enabled and a package was being pre-seeded. This has now been fixed. |
|
Previously in the CDA Exchange+ module when exporting a CCD with a History of Medical Device use section, a nullFlavor was output even though the section contained entries. This has been fixed. |
|
Previously in the CDA Exchange+ module when importing a CCD with a Family Member History section, no |
|
The sample |
|
Elastic APM has been deprecated, and will be removed in 2024.11.R01. Please use the OpenTelemetry Integration instead. |
|
Debezium support (CHANNEL mode) for Realtime Export has been deprecated, and will be removed in 2024.11.R01. |
Released | 2024-08-25 |
Codename | Borealis |
HAPI FHIR | Smile CDR 2024.05.R05 is based on HAPI FHIR 7.2.3, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
This version contains new changes in a patch version of HAPI-FHIR. Specifically:
_text
and _content
parameters on R5FILESYSTEM
mode were unable to load them after upgrading.Released | 2024-08-25 |
Codename | Borealis |
HAPI FHIR | Smile CDR 2024.05.R04 is based on HAPI FHIR 7.2.2, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
This version contains new changes in a patch version of HAPI-FHIR. Specifically:
_text
and _content
parameters on R5FILESYSTEM
mode were unable to load them after upgrading.
Backported from: 2024.08.R01 This release supports zero-downtime upgrades on Azure Sql Server |
Released | 2024-06-20 |
Codename | Borealis |
HAPI FHIR | Smile CDR 2024.05.R03 is based on HAPI FHIR 7.2.1, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Released | 2024-04-05 |
Codename | Borealis |
HAPI FHIR | Smile CDR 2024.05.R02 is based on HAPI FHIR 7.2.1, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Backported from: 2024.08.R01 Previously sending large (20MB+) messages to channel import would result in a JSON deserialization error. This has been fixed. |
Released | 2024-05-18 |
Codename | Borealis |
HAPI FHIR | Smile CDR 2024.05.R01 is based on HAPI FHIR 7.2.0, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
New PROMETHEUS_V2
metrics format and updated Grafana Dashboards were introduced.
It is recommended to:
format
parameter in Prometheus configuration: params:
format: ['PROMETHEUS_V2']
See Externalized metrics and Fetch Local Metrics for more information.
Please note that role FHIR_OP_INITIATE_BULK_DATA_EXPORT_PATIENT
is being deprecated.
In its place, we recommend you use either one of:
FHIR_OP_INITIATE_BULK_DATA_EXPORT_PATIENTS
which grants the user permissions for multiple patient compartments and resource types (ex 1: Patient/123,Patient/456 Patient Encounter Observation
) (ex 2: Patient/123,Patient/456 *
)FHIR_OP_INITIATE_BULK_DATA_EXPORT_ALL_PATIENTS
which will grants the user unrestricted patient-level bulk export permissions.The release upgrade instructions are updated to include steps for backing up and copying otel/
directory in the Smile CDR installation directory. The otel/
directory contains the OpenTelemetry java agent jar and the default agent configuration. See Simple Upgrade Process for updated instructions.
This release contains a potential breaking change for authors that use interceptors to update OpenTelemetry spans. With this release, for each interceptor method invocation, a separate OpenTelemetry span is created.
If you have an interceptor that intends to modify the root span in the current trace, and if you are using
Span.current()
operation by assuming that it will give you the root span in the trace, your interceptor will now be broken because Span.current()
will give you the span created for the interceptor method invocation rather than the root span. To fix this, you need to use LocalRootSpan.current()
from the opentelemetry-instrumentation-api
library to get the local root span, instead of Span.current()
.
A new experimental module called EasyShare has been added. This module implements the emerging SMART Health Link standard, allowing IPS documents to be shared using a QR code. |
|
The FHIR Gateway module will now more faithfully propagate errors returned by target servers back to the calling client. See Error Handling for more information. |
|
The CDA Exchange+ module will throw an error if relying on a persistence module with partition enabled and partition mode set to PATIENT_ID. |
|
The CDA Exchange+ can now parse and format function status observations as self care activities and functional status observations |
|
The experimental CDA Exchange+ module will now populate FamilyMemberhistory.deceasedDate if information is available at |
|
The experimental CDA Exchange+ module now supports the Nutrition section as a text-only section. |
|
The experimental CDA Exchange+ module now supports CDA Mental Status section mapping to Observation resources. |
|
The experimental CDA Exchange+ module now supports the Advance Directives section as a text-only section. |
|
Added transaction log support for the CDS hooks endpoint. |
|
Updated Grafana dashboard templates with descriptions of Grafana charts. |
|
Updated Grafana dashboard templates to support new |
|
Metrics format |
|
Documentation was added for remote terminology |
|
The experimental CDA Exchange+ module now supports the Assessment section. |
|
Added batch job framework for the $invoke-export operation to the System-to-System Data Exchange module. |
|
Added a way to obtain an auth token for $member-match and $export requests in system to system data exchange module. |
|
Added a step to the $invoke-export batch job that will call $member-match on the responder server. This feature is experimental. |
|
Added a step to the $invoke-export member match job that will poll on export. This is a stop-gap step for V1 and will be updated accordingly. This feature is experimental. |
|
Added a step to the $invoke-export batch job that will handle response of $export call on the responder server. This feature is experimental. |
|
Added a step to the $invoke-export batch job that will transform the imported binaries into resources. |
|
Added a step to the $invoke-export batch job that will finalize the results of the batch job. This feature is experimental. |
|
Previously, attempting to run $cda-import set to binary_storage.mode=DATABASE_BLOB resulted in a database constraint error when attempted to save the document. This blocked a second error with processing a FHIR Enumeration. Both errors have been fixed. |
|
Added support for new POLL_WAITING workchunk statuses for batch jobs. |
|
Added MongoDB support for changes on GATE_WAITING state in the Hapi-Fhir Batch2 framework. |
|
A Camel broker consumer and producer has been added, which knows internal Smile message topics, allowing to simply reference them by name. See the HTTP Server Setup documentation for more information. |
|
Added new public interface to the |
|
The CDA Exchange+ module vocabulary translation service now supports the ability to explicitly map a code to no matched value, resulting in the corresponding field being left unpopulated. This capability has been used in the mappings for |
|
The CDA Exchange+ module now uses Value Set uris instead of Code System uris to determine the target scope of a vocabulary translation. |
|
In the experimental CDA Exchange+ module when exporting an AllergyIntolerance resource if the clinical status is set to 'resolved' we will now set the CDA observation effectiveTime/high element with a nullFlavor of 'UNK'. |
|
Changed the javascript execution environment CompositionResourceProxy API to allow adding attesters and events to the Composition within javascript functions. |
|
Several enhancements have been made to the FHIR Gateway module:
|
|
Added System-to-System Data Exchange to Feature Comparison Summary to specify that it is not supported on MongoDB. |
|
In the experimental CDA Exchange+ module, when importing a CDA document, any Planned Immunization Activity entries found in the Plan of Treatment section will be converted to MedicationRequest resources and linked to the CarePlan resource. |
|
The experimental CDA Exchange+ module now supports the Instructions section as a text-only section. |
|
In the experimental CDA Exchange+ module, when importing a CDA document, any Planned Medication Activity entries found in the Plan of Treatment section will be converted to MedicationRequest resources and linked to the CarePlan resource. When exporting a CDA document, any MedicationRequest resources found linked to the CarePlan will be rendered as Planned Medication Activity entries. |
|
Added additional comments in the custom logging files provided in the customerlib folder and also the documentation discussing this aspect of the server. |
|
In the experimental CDA Exchange+ module, the USCDI v1 plugin now produces MedicationRequest resources from planned immunization activity conforming to US Core 5.0.1 within CDA Plan of Treatment section. |
|
In the experimental CDA Exchange+ module, the USCDI v1 plugin now produces MedicationRequest resources from planned medication activity conforming to US Core 5.0.1 within CDA Plan of Treatment section. |
|
In the experimental CDA Exchange+ module Non Medicinal Supply Activity template embedded within CDA Medical Equipment sections are now mapped as Device resources. |
|
Added OpenTelemetry tracing for camel routes |
|
In the experimental CDA Exchange+ module Problem Observations coming from the CDA Problems section are now the source for Condition content when duplicate Problem Observations are encountered. |
|
Previously, the HL7 v2.x inbound processor used a combination of |
|
A sample project illustrating how to develop an IPS Generation Strategy has been added to the Smile CDR documentation. |
|
Updated the experimental CDA Exchange+ module to support bidirectional mapping procedures with CDA Procedure Activity Observation template |
|
Adding new configurable PAS module Payer Organization parameter. |
|
Added a quickstart guide for setting up System 2 System Data Exchange / Payer to Payer transfers. |
|
Added a diagnostic warning to module |
|
Enhanced the resource creation step in the $invoke-export batch job with placeholder ids. |
|
On the FHIR Gateway module, it is now possible to disable paging links entirely on specific search routes. |
|
DocumentReference ids will now be added to the |
|
dQM module hardening of resource validation, testing scenarios, and more meaningful error handling for invalid resources and operation parameters. This also provided a fix for issue ticket 5674 where the same population of subjects queried was getting inconsistent results. Enhanced batch2 evaluate to process empty MeasureReports without error to match non-async behavior. We added more metaData to batch2 to retrieve records processed qty. Improve readability of qpp-build feature by breaking into respective classes for functionality |
|
A new optional setting called Narrow Conditional URL Search Scope has been added. This setting automatic search URL narrowing to also be applied to conditional URLs such as conditional create and conditional update URLs. |
|
A new setting has been added to the SMART Outbound Security module which prevents user sessions from being reused between multiple Authorization Flows. |
|
Add support for migrating separate audit and transaction log schemas with smileutil. |
|
The experimental CDA Exchange+ module now supports mapping to and from CDA Assessment Scale observation template within the CDA Social History section. |
|
Refreshed Clinical Reasoning documentation to rebrand to 'Quality Improvement' and provide additional example resources, example requests/responses, parameter breakdowns, and mapping for modules with clinical reasoning operations. Also implemented several more interconnected links to guide users to documentation more seamlessly and inform users of additional operation use cases. This also changes naming of 'Async' Evaluate Measure to 'Distributed Evaluate-Measure'. |
|
Added support for passing |
|
An Hl7v2 RXC-2 segment (component code) can now be mapped to a |
|
The experimental CDA Exchange+ module will now transform the |
|
The experimental CDA Exchange+ module will now populate |
|
Added functionality to System to System Data Exchange module that will allow OIDC Servers to be created from a seeding file on module startup. |
|
Previously, the FHIR Gateway would not correctly page if there was a mismatch between a target's defined |
|
Update the Channel Import module to allow messages for the experimental CDA Exchange+ module. |
|
Update to the latest version of the Clinical Reasoning module to support the PA PoC. This includes the following changes:
|
|
smilecdr start script now allows default OpenTelemetry java agent configuration file to be overridden with 'OTEL_JAVAAGENT_CONFIGURATION_FILE' environment variable. Also, the default configuration have been changed to use the stable semantic conventions for HTTP spans, capturing the 'X-Request-ID' HTTP response header as an attribute in HTTP spans. |
|
Added support for FHIR Gateway |
|
Updated the System to System Data Exchange module's quick start guide to indicate the requirement of a FHIR Endpoint on the OIC Server. Added additional code level validations to ensure these criteria are met. |
|
Gateway pagination tests were added to validate a wider variety of gateway and target server configurations as large number of target servers and different target server pagination sizes. |
|
An OpenTelemetry span is now generated for any JavaScript callback execution. Such spans are named as 'smilecdr.javascript_callback'. The name of the JavaScript callback function is available as a span attribute named 'smilecdr.javascript_callback.function_name'. |
|
Add additional Clinical Reasoning operations $collect-data and $data-requirements to CDR & Hapi to expand capability for dqm module users. These operations will assist users in identifying data requirements for evaluating a measure, and what data was used for a measure evaluation. We have also updated the 'Quality Improvement' documentation to support the new operations. As well as added multi-threading capability and configuration for Care-Gaps operation in addition to supporting documentation. Additional measure Evaluator documentation to explain scoring methods, basis, and evaluator algorithm |
|
As part of the migration from LOB datatype, provided the capability to configure whether data should also be persisted to lob columns. |
|
If a user with the |
|
Migration from the LOB datatypes for audit and transaction logs. Further changes will be made in subsequent releases to eliminate all use of the |
|
Update the format of the date to always show the date and time. |
|
Enable MDM license restrictions. |
|
Removed optional dependency of FHIR Endpoint module on Websocket Subscription module. This dependency was only used to add websocket subscription endpoint details to the Capability Statement (and introduced a risk of an invalid dependency cycle). Instead, the Websocket Subscription module now automatically registers a new Capability Statement Filter on the FHIR Endpoint when it starts up (following a similar mechanism to how modules register Resource Providers on the FHIR Endpoint.) Note as a part of this change, websocket subscription endpoint details are no longer included in the Capability Statement for DSTU2 repositories. |
|
Remove MdmPlaceholderInterceptor and RealtimeExportPlaceholderInterceptor from persistence module. These are no longer required since module plugin dependency was introduced and modules are now started in two phases. |
|
Previously, processing |
|
Previously, a user missing authorization to manage batch2 jobs could cancel or restart jobs from admin json. This has been fixed. |
|
Previously, displaying the body of a transaction log with a long line would cause the side panel to resize in a way that would make information hard to access. This issue has been fixed. |
|
Previously, Grafana Dashboard JSON files downloaded from module metrics page in Web Admin Console had incorrect dashboard titles. This issue has been fixed. |
|
Previously, when setting a custom context_path in admin web, when a session expired and a user clicked on a link, they were redirected to the root of the signin page without the context path, resulting in a 404. This has been fixed. |
|
A regression was introduced in 2023.05.PRE-09 which caused users who authenticated with IAM auth to fail to boot. This has been fixed. |
|
A regression was introduced in 2023.05.PRE-09 which caused users who authenticated with AWS Secrets Manager to fail to boot if they did not provide a value for the password field. This has been fixed. |
|
MegaScale now supports loading Subscriptions from tenant shards, in addition to the default shard. |
|
Previously the |
|
Special handling has been added to the CDA Exchange+ module for several fields where |
|
Previously, the experimental CDA Exchange+ module support for the Instructions section was not working for the export path. This has been fixed. |
|
Changed the status used in the Task related to $invoke-export batch jobs. Added Extension to the Task which contains the value of the related batch job instance id. |
|
Updated the $member-match input parameters from "oidcServerId" -> "sourceIssuerUrl". Will now use the token endpoint from the configured oidcserver's .well-known endpoint for authentication. |
|
In the experimental CDA Exchange+ module extra Encounter resources were being created when an encounter element was found in the Notes section of the CDA document. This has now been fixed. |
|
Previously, while processing HL7v2 |
|
Previously, we could not access fields via path for segments returned by HL7 v2.x JavaScript function findSegments(...). This has been fixed. |
|
As a consequence of jakarta migration which took place in 2024-02 release, some endpoint URLs stopped working. This has now been fixed for admin-json and admin-web modules. |
|
Previously, restarting a module had the Web Admin Console displaying that the module and its dependent are stopped when they are in a running state. This has been fixed. |
|
The Runtime Monitor charts in the Web Admin Console failed to load if a non-default context root was specified. This has been corrected. |
|
When the validation data seeding has a disable pattern of |
|
The Search Parameter Seeding: Disable Patterns will no longer disable custom search parameters which have been added to the database. |
|
Previously, an ADT^A29^ADT_A21 would fail to make a Patient resource as inactive. This is has been fixed by ensuring the operation results in a FHIR transaction PATCH. |
|
In the experimental CDA Exchange+ module, trying to export a patient with a name with 'use' set to 'official' resulted in a error with a null pointer. This has now been fixed |
|
the |
|
In the experimental CDA Exchange+ module, exporting a Planned Medication Activity would result in missing effective time mapping and possibly an incorrect null flavor output on dose quantity. This has now been fixed |
|
When starting up multiple instances of a FHIR Storage (RDBMS) module at the same time (e.g. in a cluster), the search parameter seeding module could sometimes collide across the processes and cause some or all processes to fail to start. This has been corrected. |
|
When the FHIR Gateway module was making outgoing HTTP connections to target servers, it could get blocked waiting for a connection from an internal connection pool that was inadequately sized. This has been corrected. |
|
FHIR Gateway responses will now include an |
|
Previously, HL7 V2 sender/out was encoding all outbound messages with the default encoding of ASCII. This was causing improperly rendering of data with non-English language characters as ???? in the outbound HL7 v2. This has been fixed by sending all outbound messages as UTF-8 instead and by marking MSH-8 as UNICODE UTF-8 for all MSHs that have not been preserved from HL7 v2 listener/inbound messages. |
|
Previously, if an optional persistence dependency was set on the Smart Outbound module, the Fhir object was undefined in the JavaScript Execution Environment. This has been corrected and now the Fhir object properly provides FHIR operations in the Smart Outbound module from the linked persistence module. |
|
A regression in Smile CDR 2024.02.R01 meant that in a multi-node configuration, UI would only display modules hosted on the same node as the web admin console. This has been fixed. |
|
Previously, if an Admin Web module was configured with a custom context path, some docs CSS and JavaScript would start working incorrectly, resulting in a sub-optimal appearance compared to admin webs configured with the default context path. This has been fixed. |
|
Previously, attempting to run $docref with CDA Exchange Plus set to binary_storage.mode=DATABASE_BLOB resulted in a database constraint error when attempted to save the document. This has been fixed. |
|
Updated System to System Data Exchange module's documentation. Corrected a bug to make 'Reference System used by Target Patient' a required (not optional) config. |
|
The HL7 v2.x inbound processor was incorrectly populating Encounter participants of type |
|
In FHIR Gateway, if a target server returns a total size lower than the size of the matched resources, we previously truncated resources down to the provided |
|
Previously, if the CDA Exchange+ module encountered an entryRelationship to an unexpected child entry, it would sometimes not skip to the end of the unrecognized element, resulting in unpredictable parse outcomes. This has been fixed. |
|
Previously, when enabling 'new_session_for_each_flow.always' for SMART out, a login triggered from a SMART app would invalidate the session, requiring the user to re-login continuously. Additionally, once the first issue was resolved, clicking 'authorize` on the Approve would have invalidated the session and required the user to log back in. Both issues have been fixed. |
|
In the experimental CDA Exchange+ module multiple Problem Observation templates within the CDA Encounter Diagnosis section were being merged into one Condition resource. This has now been fixed by creating a separate Condition resource for each Problem Observation. |
|
Previously, cdr could not properly send resources to a Subscription destination with cross-partition subscriptions configured with PATIENT_ID partitioning. This has been fixed. |
|
Previously, the CDA Exchange+ module was applying different mappings to the Product Instance template depending on where it occurred in the CDA document. These diverse mappings have been consolidated. |
|
Previously, running two consecutive bulk system export against a FHIR endpoint backed by a MongoDB storage module with |
|
Gateway pagination service when configured with 100 targets was returning JWT tokens with size exceeding 30K. This has been fixed by compressing the JWT, which reduced it to the order of 10% of previous size. |
|
Previously, FHIR Gateway would incorrectly infer a search mode of |
|
Previously, an Hl7v2 RXA-5 segment (administered code) could be mapped to a standalone or contained |
|
A previous fix to allow using web context path without an ending slash broke the admin web module login sequence. This has been fixed. |
|
Gateway pagination was failing to set proper requests to target servers when more than one server needed to paginate to fulfill the first requested page. This is now fixed. |
|
Previously, $invoke-export member match job mistakenly used property identifier_system_for_local_patient instead of identifier_system_for_original_id for identifiers to store the original ID of the imported resources. This has been fixed. |
|
Previously, when importing multiple documents in parallel through the CDA Exchange+ module, very rarely a section derived from one input file would end up added to the Composition derived from a different file. This has been fixed. |
|
Previously, $invoke-export job did not correctly reference the DocumentReference resources which contains the imported Binaries. This has been fixed. |
|
Previously, the Quick Start Guide for the System-to-System Data Exchange Module was missing a step to enable |
|
Fixed a regression introduced in the ValueSet-based vocabulary translation enhancement that was preventing CDA fields of data type CS from translating correctly. |
|
Previously, adding a |
|
Fixed a bug throwing an authentication error during System to System Data Exchange module's diagnostics check. |
|
Smile will no longer log warnings if a user is given the permission FHIR_OP_INITIATE_BULK_DATA_EXPORT_PATIENT without any arguments (or with a blank argument). |
|
Previously, the CDA Exchange+ module was attempting to store Audit logs of the original CDA documents that were imported. However several ingest routes have no defined users (e.g., during channel import), causing a failure of storage of an Audit Event. These audit events have been converted to being Transaction Log Events, which are more suitable to this type of operational need. |
|
Previously, a fresh installation of cdr on an Oracle database would fail with ORA-01408: such column list already indexed. This has been fixed. |
|
Added additional diagnostic checks for required properties for System to System Data Exchange module. |
|
Previously in the experimental CDA Exchange+ module, the CDA Note Activity author section was not mapping between representedOrganization and DocumentReference.custodian. This has now been fixed. |
|
Deprecate role FHIR_OP_INITIATE_BULK_DATA_EXPORT_PATIENT and replace it with FHIR_OP_INITIATE_BULK_DATA_EXPORT_PATIENTS, which takes a comma-separated list of patient IDs for compartments and either * for all resources or a space-separated list of resources (ex 1: Patient/123,Patient/456 *) (ex 2: Patient/123,Patient/456 Patient Observation Encounter). Also, introduce FHIR_OP_INITIATE_BULK_DATA_EXPORT_ALL_PATIENTS, which allows the user to export all resources without any restrictions. |
|
In the CDA Exchange+ module, the mappings for the Family History section have been updated to correctly capture the condition code. |
|
Fixed a bug where BulkExports at Patient/Group level would be incorrectly treated as System level if no ids were provided, giving the caller more privileges than intended. |
|
Changed BulkExportJobInitiationSecurityInterceptor's pointcut from |
|
Previously in the experimental CDA Exchange+ module, data that was imported of type 'xsi:type=CO' would not get exported in the same manner. This has now been fixed. |
|
Previously, it was possible to execute the |
|
Upgrading the internal kafka libraries caused a regression in which explicitly set null values for configuration would cause Application Context loading failures. This has been corrected. |
|
The CDA Exchange+ module was failing to render the Advance Directives section. This has been corrected. |
|
Previously, since the 2023.02 release, during Hl7v2 processing, the allergen severity code |
|
Previously, the CDA Exchange+ module was not populating the field |
|
Previously in the experimental CDA Exchange+ module when importing the Functional Status section of a CDA document only the resources from within the organizer template are mapped. This has been fixed. |
|
Previously in the experimental CDA Exchange+ module when the value is not a coded value, it will not map. This has been fixed. |
|
Previously in the experimental CDA Exchange+ module when exporting functional status there was several mappings for organizer that were not working correctly or were missing. This has been fixed. |
|
Permissions |
|
Previously, exporting Procedure Activity Procedure using the experimental CDA Exchange+ module would cause code to not get mapped as nullFlavor if the data-absent-reason is set. This has been fixed. |
|
Previously, transaction logs generated by an OIDC Client interacting with the server were not submitted to broker when one was configured. The issue has been fixed. |
|
Fixed a gateway pagination issue where an exception was thrown when building the |
|
Previously FHIR_OP_INITIATE_BULK_DATA_EXPORT_PATIENTS did not show up under ROLE_SUPERUSER in the documentation under |
|
Previously, if you invoke the |
|
Previously, a fresh installation of cdr on an Oracle database would fail with ORA-01408: such column list already indexed. This has been fixed. |
|
Previously, operation logs were filled with warning messages related to permissions requiring arguments. This undesirable behavior has been fixed. |
|
Previously, evaluating permissions with optional parameters would generate unnecessary warning in logs. This has been fixed. |
Released | 2024-08-24 |
Codename | Apollo |
HAPI FHIR | Smile CDR 2024.02.R07 is based on HAPI FHIR 7.0.3, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Released | 2024-04-13 |
Codename | Apollo |
HAPI FHIR | Smile CDR 2024.02.R04 is based on HAPI FHIR 7.0.2, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
This version mostly improves various aspects of the FHIR Gateway. Please read changelogs for further information.
Backported from: 2024.05.R01 Several enhancements have been made to the FHIR Gateway module:
|
|
Backported from: 2024.05.R01 On the FHIR Gateway module, it is now possible to disable paging links entirely on specific search routes. |
|
Backported from: 2024.05.R01 The Runtime Monitor charts in the Web Admin Console failed to load if a non-default context root was specified. This has been corrected. |
|
Backported from: 2024.05.R01 When the validation data seeding has a disable pattern of |
|
Backported from: 2024.05.R01 The Search Parameter Seeding: Disable Patterns will no longer disable custom search parameters which have been added to the database. |
|
Backported from: 2024.05.R01 When starting up multiple instances of a FHIR Storage (RDBMS) module at the same time (e.g. in a cluster), the search parameter seeding module could sometimes collide across the processes and cause some or all processes to fail to start. This has been corrected. |
|
Backported from: 2024.05.R01 When the FHIR Gateway module was making outgoing HTTP connections to target servers, it could get blocked waiting for a connection from an internal connection pool that was inadequately sized. This has been corrected. |
|
Backported from: 2024.05.R01 FHIR Gateway responses will now include an |
|
Backported from: 2024.05.R01 Gateway pagination service when configured with 100 targets was returning JWT tokens with size exceeding 30K. This has been fixed by compressing the JWT, which reduced it to the order of 10% of previous size. |
|
Backported from: 2024.05.R01 Gateway pagination was failing to set proper requests to target servers when more than one server needed to paginate to fulfill the first requested page. This is now fixed. |
Released | 2024-03-13 |
Codename | Apollo |
HAPI FHIR | Smile CDR 2024.02.R03 is based on HAPI FHIR 7.0.1, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Released | 2024-03-01 |
Codename | Apollo |
HAPI FHIR | Smile CDR 2024.02.R02 is based on HAPI FHIR 7.0.1, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Released | 2024-02-18 |
Codename | Apollo |
HAPI FHIR | Smile CDR 2024.02.R01 is based on HAPI FHIR 7.0.0, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
This release contains a large breaking change for authors of interceptors, custom camel processors, or other customer-provided beans. Internally, HAPI-FHIR and Smile CDR have swapped from using javax.*
to jakarta.*
packages. Please see the migration guide for more information. Without manual intervention, the majority of interceptors will fail at runtime unless they are upgraded.
en_US.UTF8
These are the new indexes that will be created:
CREATE INDEX idx_sp_string_hash_nrm_pattern_ops ON public.hfj_spidx_string USING btree (hash_norm_prefix, sp_value_normalized varchar_pattern_ops, res_id, partition_id);
CREATE UNIQUE INDEX idx_sp_uri_hash_identity_pattern_ops ON public.hfj_spidx_uri USING btree (hash_identity, sp_uri varchar_pattern_ops, res_id, partition_id);
Internal Smile CDR metrics have been disabled and deprecated. It is recommended to externalize Smile CDR metrics using Prometheus (to pull metrics from Smile CDR) and Grafana (to visualize the metrics). See Externalized metrics for more information.
This version of Smile CDR now requires a Java 17+ version of the Java JDK in order to run. |
|
This version of Smile CDR now uses the JavaEE 9+ APIs, which have the
|
|
Added ability to restore the configuration of a server to a given history restore point. Added the /{node_id}/restorePoints/{id}/restore endpoint. |
|
Added |
|
The CDA Exchange v2 module offers a new and improved solution for importing and exporting CDA documents. See the documentation for full details. This experimental module is not available to all clients. |
|
Added a Microsoft SQL Server JDBC URL option to the example in our documentation to trust the Server Certificate: trustServerCertificate=true |
|
In the experimental CDA exchange v2 module, CDA document import will now support documents that contain encapsulated data elements and will map as FHIR Attachment data type where applicable. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces CareTeam resources conforming to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces AllergyIntolerance resources conformant to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces Condition resources conforming to US Core 5.0.1. |
|
Add various improvements to the RTE schema generation including lowercase, underscores, correct column grouping and ordering among other enhancements. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces a Results section conforming to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces Encounter resources conforming to US Core 5.0.1. |
|
Added MDM support for R5 persistence module. |
|
Make CDA Exchange v2 partition aware. Namely, ensure Fhir JavaScript API methods now respect partition IDs for search()/read()/etc and neither cross the partition boundary nor error out. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces Note resources conforming to US Core 5.0.1. |
|
The CDA Exchange v2 module now supports import and exports of CDA note sections |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces MedicationRequest resources conforming to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces CarePlan and ServiceRequest resources conforming to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces Medical Equipment resources conforming to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces Procedure resources conforming to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now produces Immunization resources conforming to US Core 5.0.1. |
|
FHIR Gateway did not previously support a target endpoint that returns non-Bundle resources. This has now been resolved. |
|
The experimental CDA Exchange v2 module, when configured to use the US Core IG, will map between a CDA Social History section Birth Sex observation (2.16.840.1.113883.10.20.22.4.200:2023-05-01) and a FHIR extension (http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex) on the Patient resource. |
|
Providing the capability for clients to supply the FHIR Gateway module with custom Resource and system operation providers. Documentation regarding Gateway custom operation providers can be found [here].(/docs/fhir_gateway/custom_operations.html) |
|
The experimental CDA Exchange v2 module will render C-CDA R1.1 template ids where appropriate in generated CDA documents to indicate backward compatibility with earlier versions of the IG. |
|
Capability to perform terminology translate operation was added to Hl7V2 inbound interceptors by allowing them to autowire an |
|
Added an Hl7V2 inbound demo project showcasing the use |
|
Demo project and documentation was added to support use of BundleUtil in Hl7V2 interceptors. |
|
Added reference to example project showcasing the use of |
|
Added JPA configuration property to handle blocking of resource updates causing the resource to change Patient compartment and load interceptor to enforce that. |
|
Added transaction logging capability to camel smile and custom procedures. See the Camel Smile Processors Overview for details. |
|
Exposing the username/clientId of the user initiating a batch job through the Batch Job Status API. |
|
Added the ability to fetch persistence module id associated with MDM via MDMUI config endpoint. |
|
Authorization scripts on the SMART Outbound Security module can now add approved scopes to a session even if those scopes aren't declared on the client definition. |
|
The experimental CDA Exchange v2 module will now persist CCDs as-received for auditing purposes. A corresponding audit log can be found on an attempted CDA import operation, and the location of the resultant DocumentReference resource containing the CCD will be included in the endpoint response. |
|
The experimental CDA Exchange v2 module will now parse the narrative block text for linked text on import. Links that are referenced within a document section will be resolved in the FHIR resource(s). |
|
The experimental CDA Exchange v2 module will now map Vital Signs Organizer entries onto nested sections in the FHIR Composition to support user-defined grouping of Observations. |
|
Add a new boolean property for persistence module(s) to control resource filter based on status during package installation |
|
Added a Microsoft SQL Server JDBC URL option to the example in our documentation to trust the Server Certificate: trustServerCertificate=true |
|
Added a Terminology Troubleshooting Log that is useful for troubleshooting terminology mapping issues. |
|
Address a few small bugs in dqm persistence module, as well as bump clinical reasoning version that has breaking changes from hapi-fhir |
|
Previously, only beans of type |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now handles blood pressure panel vital signs Observaton resources conforming to US Core 5.0.1. |
|
In the experimental CDA exchange v2 module, the USCDI v1 plugin now handles blood oximetry panel vital signs Observaton resources conforming to US Core 5.0.1. |
|
Added the ability to handle custom matching script to the $member-match operation. |
|
Updated System to System Data Exchange module to register an interceptor that will populate the memberId, consentId, and consentResource on Bulk Export parameters. |
|
Added Consent services to Persistence module. Updated System to System Data Exchange module to work with this new Persistence module Consent Service to allow filtering on Bulk Export operations invoked via $member-match operations. |
|
Added the /Patient/$invoke-export endpoint. This endpoint will be available in the SystemToSystemDataExchange module. |
|
Added logic to create Task when $invoke-export is called. Added an interceptor to prevent modifying or deleting Task resources managed by the System 2 System module. |
|
Added the template apply operation in the experimental CDA Exchange v2 module |
|
The experimental CDA Exchange v2 module has been enhanced to support the scenarios where a patient is a member of their own care team or an author of their own goal. |
|
To improve the reliability of zero-downtime upgrade, a new environment variable CDR_UPGRADE_MODE has been introduced. When upgrading servers in a cluster, it is recommended that all of the old servers set CDR_UPGRADE_MODE to 'true'. This will prevent scheduled jobs from running on the old servers and pause all message processing from all broker channels (JMS Queues and Kafka topics) on those servers. Lastly it prevents old servers from being changed in the Web Admin Console. Once a server has been upgraded, CDR_UPGRADE_MODE should be unset so that normal operation can be resumed. |
|
Added new experimental module, System to System Data Exchange. This module is the home for all future System to System communication, including Payer to Payer flow. |
|
Updated consent validation for PDex auth flow to use consent.patient instead of identifier. |
|
Trying to create or update an OAuth client will fail if Authorization Code or Implicit Grant are selected as Grant Types but no Redirect URIs are specified. |
|
Added $member-match endpoint in accordance to PDex specification in System-to-System Data Exchange module. |
|
In the experimental CDA Exchange v2 module, when a field of the FHIR model has a data absent reason extension and the corresponding CDA field is mandatory, the CDA export operation will populate that field with a nullFlavor attribute. Also, the vocabulary mapping between the data absent reason code system and the null flavor code system has been refined. |
|
The CDA Exchange v2 module will now render a null flavour UNK in an exported CCD when the value of Patient.gender is "unknown" in FHIR. |
|
Deprecated module types can no longer be created via the Web Admin Console or the JSON Admin API. Configurations (DATABASE or PROPERTIES mode) that already have these module types are not affected. |
|
Added ability to instrument SmileCDR process with open telemetry java agent. The open telemetry instrumentation. is enabled by setting an environment variable called CDR_OTEL. |
|
Mongo internal transaction processing now supports nested transactions. |
|
Updated Smart Out security to add custom claims to the access token. Smile CDR also reserves any custom claims prefixed with "smile_". Attempts by third party scripts or interceptors to add custom claims prefixed with "smile_" is verboten. |
|
Token parsing in Smile has been updated to handle custom claims. All claims will now be added to the UserSessionDetailsJson. |
|
Added clarification on when you should consider upgrading Smile CDR using the smileutil migrate-database utility command, instead of allowing it to automatically perform the upgrade. |
|
The new, experimental CDA module has been renamed to CDA Exchange+. In addition, the display text in the IG Support drop list in the administrative interface has been updated to make it clearer which IGs are supported by each option. |
|
The experimental CDA Exchange v2 will store unstructured document bodies as Binary resources. |
|
Retrieving FHIR-id of resources in batch2 mode of evaluate-measure had poor performance, this improvement allows for query level return of ids without the need to return resources back in a bundle iterator, which is 2x faster |
|
In the experimental CDA Exchange v2 module, planned immunizations are now supported and will be persisted as medication requests. |
|
The CDA Exchange+ module's coverage of the US CDI 5.0.1 profile now accommodates additional varieties of missing data for |
|
In the experimental CDA Exchange v2 module, importing unsupported data types now results in the value being skipped, and where applicable a data absent reason is created. |
|
In the CDA Exchange+ module, when parsing a Device that is implanted as part of a Procedure, the deviceIdentifier field will be populated by precedence from the Device Identifier component of the UDI Organizer entry in the CDA document. |
|
In the experimental CDA Exchange v2 module, the USCDI v1 plugin has been updated to enforce cardinality rules in the Patient resource. |
|
Added additional metadata to $evaluate-measure batch2 MeasureReport to assist with UI. Corrected CQL documentation error. Version bumped Clinical Reasoning version, which included new operation $evaluate. Additional api definitions and configuration for CR operations: $care-gaps, $cql, $submit-data |
|
In the experimental CDA Exchange+ module, when attempting to map a code that does not match with one of the expected values in FHIR, a verbose error is logged and the mapping is skipped. |
|
A new Transaction Log module has been added which strictly outputs transaction logs to a remote broker such as Kafka or ActiveMQ. It follows the same configuration as the Cluster Manager's broker transaction log configuration. |
|
Add payer organization resources to payer bundle in prior auth crd module |
|
A new Persistence Module config diagnostic message has been added that writes out a WARNING message regarding the use of automatic upgrades on a PRODUCTION system. |
|
Log CQL response received in prior auth module |
|
The FHIR Gateway module will now allow multiple target definitions to use the same Resource ID Prefix value, if those targets are not used on the same route. |
|
The FHIR Gateway operation caching mechanism now caches FHIR read requests as well as the existing FHIR search and operation requests. |
|
The FHIR Gateway module now supports FHIR transaction operations. |
|
Log parameter object passed into CQL engine in CRD prior auth flow |
|
Additional telemetry data has been made available regarding hl7v2 inbound message processing when Smile CDR is run with open telemetry enabled. A parent span named 'smilecdr.hl7v2.inbound_message.process', and 2 metrics ('smilecdr.hl7v2.inbound_message.count' and 'smilecdr.hl7v2.inbound_message.error_count') are now being generated. |
|
When performing UPDATE operations through the FHIR Gateway module, the gateway currently first attempts a READ operation against each target in order to determine whether any of the target servers hold a resource with the ID being updated. This has been optimized so that this READ isn't performed if only one of the targets is capable of servicing the request, either because of configured resource ID prefix rules, or because of interceptor results. |
|
Support for JDK11 has been dropped. JDK17 is now the minimum supported version. |
|
Swapped from using |
|
The FHIR Gateway module caching mechanism now defaults to NONE (disabled) and must be manually enabled through configuration. |
|
Transaction Log broker messages and JSON representation will now show the transaction's GUID as a property. |
|
Previously when transaction logs were sent to Kafka, the Key of the message would be randomly generated, or set to the PID of the parent transaction log if available. Now, all implementations will use the transaction GUID as the key |
|
Internal Smile CDR metrics have been disabled and deprecated. It is recommended to use Externalized metrics instead. |
|
Changed the wording of roles and permissions header within the OpenID Connect Clients section on the Web Console |
|
Previously, if the cluster manager was configured to store Audit Events asynchronously, there was a bug where very high load could cause |
|
Previously, the HL7 v2.x inbound processor would continue transformations for RDE_O11 message structures where no ORDER groups were present. This has been fixed. |
|
Previously for mongoDB with version lower than 6, when sorted queries consumed more than 10Mb of memory, they were throwing an exception. This has been fixed for versions 4 and up. |
|
Smile CDR documentation for the HL7 v2.x SIU_S12 structure definition incorrectly identified support for the SERVICE and GENERAL_RESOURCE groups, and the AIS and AIG segments. This has been corrected. |
|
Edited WebAdminUI so that archived module does not appear in drop down menu. Also disabled the ability to add a user to an archived module. |
|
Previously in the experimental CDA Exchange+ when a call to $import-cda failed the server would return a 200 OK status code. This has been fixed. |
|
Previously, when multiple custom |
|
Previously, additional headers provided through a FHIR gateway pre-submit interceptor would not be forwarded to a target endpoint. This problem has been fixed. |
|
Previously, a bulk export operation initiated with a '_type' parameters provided with the request URL would ignore the provided parameters. This issue has been fixed. |
|
As per FHIR Spec Patient and Encounter resource types should not be present in the fhirContext array unless they contain a role other than 'launch', where the absence of a role property is semantically equivalent to a role of 'launch'. This fix ensures that these elements are not present in the fhirContext array and also changes the json serialization for the fields in the elements of the array so that the properties are printed correctly. |
|
Previously, the list of PKCE code challenge methods supported by the Smile CDR built-in authorization server was not returned by the OpenID Connect metadata endpoint ( |
|
Previously, restarting module DQM would throw an exception. This issue has been resolved. |
|
Previously LIKE queries against resources would perform poorly on PostgreSQL if the database locale/collation was not 'C'. This has been resolved by checking hfj_spidx_string.sp_value_normalized and hfj_spidx_uri.sp_uri column collations during migration and if either or both are non C, create a new btree varchar_pattern_ops on the hash values. If both column collations are 'C', do not create any new indexes. |
|
When attempting to 'Download Grafana JSON' from the Runtime > Monitors and Health Checks > Cluster Overview page an error was thrown. Now, the grafana JSON downloads successfully. |
|
In the experimental CDA Exchange v2 module, some of the default vocabulary mappings have been updated. |
|
Previously bulk export operation was returning an empty response when no resources matched the request, which didn't comply with HL7 HAPI IG. This has been corrected. |
|
MegaScale now supports loading Subscriptions from tenant shards, in addition to the default shard. |
|
Webadmin Cache was set to 365 days, this meant that users would not see updates unless they cleared their cache. This has been fixed by reducing the cache period to 1 hour. |
|
Previously, the HL7v2 Inbound module would not boot if realtime export through POINTCUT was enabled. This issue is fixed. |
|
Previously, the FHIR Gateway module diagnostic would cause FHIR Conformance request failure on the target FHIR server. This has been fixed. |
|
PROPERTIES_UNLOCKED propertysource resulted in an error when adding a new module and a loss of edits to a module. Both issues have been fixed. |
|
Previously, the experimental CDA Exchange v2 module was generating duplicate copies of certain elements in the Goals section on CDA export. The extra elements have been removed. |
|
Previously, the experimental CDA Exchange v2 module would throw an exception while formatting a Provenance resource if the recorded field is not populated. This has been fixed. |
|
Previously, the web admin console was displaying resolved token values instead of the tokens themselves. This has now been fixed but booleans and dropdown selects will still resolve and display properly. |
|
Previously, when restoring to a restore point it was possible to encounter an error when retrieving a config key from a module config key. This would occur as we were attempting to substring the key element out of the module config key, without fully validating that the provided key conformed to the expected format. This fix adds an additional check to ensure that the key starts with 'module.' before attempting the substring which prevents occurrence of StringIndexOutOfBoundsException. |
|
In the experimental CDA Exchange v2 module, the core mappings for |
|
When processing incoming HL7 v2.x messages, fields that are being converted to markdown have all punctuation characters escaped. This change fixes a problem with incorrect escaping of the comma character. |
|
In the experimental CDA Exchange v2 module, the mappings for the Result Organizer entry have been updated so that when exporting a document, the value of the status field will be derived from the statuses of the contained Observations rather than being directly mapped from the DiagnosticReport resource. |
|
Previously the experimental CDA Exchange v2 module did not set dataAbsentReason information on Observations when importing values with a nullFlavor. This has been fixed. |
|
Previously, if client used the HTTP Basic authentication scheme to get an access token from Smile CDR built-in authorization server, it would receive an access denied error. This issue has been fixed. |
|
Previously, the experimental CDA Exchange v2 module was not thread safe, and was encountering errors when trying to process multiple documents in parallel. This has been fixed. |
|
Swapped dependencies from |
|
MDM expansion of search and $everything queries in a multi-tenant server may include results from other tenants if mdm matches cross tenant boundaries. Also, POST $everything queries didn't allow MDM expansion. MDM expansion will now only include matches within the current tenant. The $everything operation now supports the |
|
Previously, the |
|
Previously module environment variables of type: JavaScript, integers, and JSON would not be resolved. This is now fixed. |
|
Previously, when removing a resource from the generated Bundle in the experimental CDA Exchange v2 module, a reference to that resource might be left behind in the Provenance resources. We now clean up these dangling references correctly. |
|
Previously, an exception was thrown during the FHIR Gateway module shutdown process. This issue is fixed. |
|
Previously, when encountering an entryRelationship element without a nested templateId, the CDA Exchange+ module would abort parsing and throw an exception. This has been fixed. The parser will now skip the invalid element and continue parsing with the next element. |
|
MongoDB previously threw an exception when a canonical reference was used in a resource. MongoDB does not support canonical references. This fix adds a simple check to check if the reference is canonical and if so, does not attempt to resolve the reference. |
|
The documentation now makes it clear that $trigger-subscription is not supported under MongoDB. |
|
Previously the new experimental CDA module parsing of note document was skipping some required fields. This has been fixed |
|
Previously trying to parse resources with attachment field with no content type in the new CDA plus module would throw an exception. This issue has been fixed. |
|
Previously, the Javascript documentation would indicate that any Javascript method which returned a Set-String or List-String as returning a List-String. This change fixes the auto-generated Javascript documentation to correctly identify API methods as returning a Set-String instead of List-String where appropriate. |
|
Previously the experimental CDA Exchange+ module set Provenance references on resources that might not exist in the bundle. This has been fixed. |
|
Previously in the experimental CDA Exchange+ module when importing CDA documents with mandatory elements omitted, the parsing would not set the data absent reason extension on those fields. This has now been fixed. |
|
Return an error response card if the CRD module is unable to process the resulting Request Group resource from the $apply operation |
|
When updating permissionEnum value from previous value of 'FHIR_OP_CQL_EVALUATE_MEASURE' to 'FHIR_OP_EVALUATE_MEASURE' there were unintended outages in webadmin console and errors generated for any users associated to the deprecated value. This fix updates deprecated value to correct value |
|
Previously, processing an |
|
Previously, the AppSphere application had 'document.write' script in the 'index.html'. This code is considered as vulnerable to cross-site scripting (XSS) attacks. The 'document.write' script code is removed from 'index.html'. |
|
Previously, obtaining an OAuth token would fail with a valid client secret if the OAuth client contained more than one secret. This has been fixed. |
|
Added the previously-deleted smart-apps-host ModuleTypeEnum back in. |
|
The FHIR Gateway module failed to perform search operations when authenticated using an OAuth2 Client Credentials grant type. This has been corrected. |
|
Previously, the CDA Exchange+ module was not de-duplicating Encounter resources correctly. This has been fixed. |
|
Previously, the CDA Exchange+ module might enter in infinite loop trying to parse a CD field with a comment embedded inside it. This has been fixed. |
|
Previously, the MDM UI application had 'document.write' script in the 'index.html'. This code is considered as vulnerable to cross-site scripting (XSS) attacks. The 'document.write' script code is removed from 'index.html'. |
|
Previously the default cache provider for the FHIR Gateway was set to CAFFEINE, instead of being disabled as per the documentation. This change sets the default value to NONE. |
|
A bug was introduced where all enum dropdowns in admin web panel were incorrectly displaying !MESSAGE! rather than the intended message, this has been fixed |
|
Related to 5592. Fix cross-site scripting vulnerability for any appSphere context. |
|
Previously if a module was added in |
|
Previously, a module that failed to perform environment substitution on a property value (#{env['username']}) during the module booting process would corrupt the module's properties. This issue has been fixed. |
|
Previously the experimental CDA Exchange+ module would not populate ServiceRequest requester and authoredOn fields when importing a planned act. This has been fixed. |
|
Previously, the CDA Exchange+ module was representing the issuer of the device identifier on a Device resource using an OID. This has been changed to use the equivalent URI. |
|
Previously, the experimental CDA Exchange+ module had an incorrect mapping for the Social History Observation status code. This has been fixed. |
|
Previously, PA CRD module used to query PractitionerRole via a TokenParam which caused issues retrieving the resource. This has been fixed. |
|
Fix issue where the edit module page in the web admin page does not display localized text for enums |
|
Fix issue where the authorship date was not being parsed when parsing fhir resources into CDA documents in the new CDA + module |
|
Moved the payer resources for the CQL context to its own parameter within the cql request and added validation for provider prefetch resources in the prior auth module. |
|
Previously, performing a search operation from a JavaScript environment with MDM search expansion enabled would raise an exception. This issue has been fixed. |
|
Previously, the experimental CDA Exchange+ module was creating an incorrect reference when a CDA Procedure Activity Procedure entry had an explicit relationship to an encounter defined elsewhere in the document. This has been fixed. |
|
Previously, the experimental CDA Exchange+ module was not correctly handling the scenario where an entry was accidentally or deliberately duplicated within a CDA document. The de-duplication algorithm has been enhanced to block by default the insertion of a resource into the generated bundle if it duplicates a resource that is already present. |
|
Previously some configurations including option to load scripts or routes from text or file definitions were considering text definition first, which made using file definition hard when default text existed. This has been fixed and now file definitions take precedence to text definitions. |
|
Previously, exceptions resulting from target invocation were not made available for processing by custom operation providers. This issue has been fixed. |
|
Fixes MeasureReport measureScoring bug impacting any measures currently using denominator-exception population will incorrectly calculate the score without following specification. This fix adds an extension to MeasureReport Groups to capture calculated denominator and numerator to bring transparency to the measureScore calculation and act as a dataSource of measureScore instead of behind the scenes calculations. This also required a change to measureReport aggregation and qpp-build transformation to account for new extension. This also includes a bug fix for individual patients processed via batch2 evaluate-measure where patient reference was being concatenated with resource string incorrectly. closes client tickets SMILE-7977, SMILE-7952, SMILE-7799 |
|
Previously, mapping a ServiceRequest Resource to an OBR segment would fail due to issues in converting dates from a FHIR to HL7v2 format. This has been fixed. |
|
Previously, an OAuth token request with an invalid token would wrongly return a 401 unauthorized error. This has been fixed by correctly returning a 400 bad request error. |
|
A regression in Smile CDR 2024.02.R01 meant that SAML token validation performed as part of the SMART on FHIR user authentication would fail. This issue is fixed. |
|
The Inline Storage Mode Below setting has been removed from the FHIR Storage (RDBMS) module, as it is no longer used. |
Released | 2024-01-31 |
Codename | Zed |
HAPI FHIR | Smile CDR 2023.11.R05 is based on HAPI FHIR 6.10.4, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Backported from: 2024.02.R01 Added the previously-deleted smart-apps-host ModuleTypeEnum back in. |
Released | 2024-01-17 |
Codename | Zed |
HAPI FHIR | Smile CDR 2023.11.R04 is based on HAPI FHIR 6.10.3, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
Released | 2024-03-01 |
Codename | Yucatán |
HAPI FHIR | Smile CDR 2023.08.R09 is based on HAPI FHIR 6.8.7, and includes all changes and fixes included in this version. Please see the HAPI FHIR ChangeLog for details about what has changed. |
This release removes LOB usage from most of the system for MSSQL and Postgres. Note that this release may not be used with oracle due to an existing issue with lob table usage. A future release will correct this.