
Smile CDR 2025.02.R01 and HAPI FHIR 8.0.0 (Code Name: Transfiguration)
February Quarterly Product Release
In our February 2025 Quarterly Product Release webinar, we covered some great new updates Smile CDR 2025.02.R01 and HAPI FHIR 8.0.0 (Code Name: Transfiguration). Check out the recording below and learn about the latest enhancements.
Smile CDR 2025.02.R01
FEATURE # 1
- Population Measure evaluation will process all records and flag source records that caused errors instead of killing long running jobs.
FEATURE # 2
- In dQM UI, users can search submission per Organization Identifier.
FEATURE # 3
- Care-gap capability expansion for prospective-gaps and multi-measure processing
FEATURE # 4
- TLS end-to-end termination
- Backend
- Significant Quality enhancements to tighten requirements around what Measures and Libraries are able to be processed.
- Simplification of testing objects to make debugging of issues easier for end users to parse.
- Group level specification of basis, scoring types, improvement notation.
- Care-gap capability expansion for prospective-gaps and multi-measure processing.
- Care-gap patient attribution now mirrors $evaluate-measure.
- Tightening of care-gap resource requirements.
- Significant Testing coverage expansion to tighten code for specific use cases and provide robust error handling.
- Population Measure evaluation will process all records and flag source records that caused errors instead of killing long-running jobs.
- Auto-download latest CMS specification for QPP submission checks.
- Front End
- Manage submissions.
- Delete on measurement set.
- Update on measurement set.
- Search submission per Org identifier.
- Clear state management.
- Evaluation
- Multi-measure evaluation.
- Rolling 12 months evaluation period.
- Current full calendar year.
- Select measure by program library.
- Select measure by CMS program and/or specialty.
- Auto select patient attribution of participant profile.
- Inclusion of 'Timezone' configuration for impacting measurement period.
- Submit
- Filter available measures in program library by program membership (MIPS selected, only MIPS measures).
- Include MVP, PCF program submission capability.
- Infra
- TLS E2E termination.
- Narrative templates have now been added for all resource types for resources created by the CDA Exchange+ module.
- When processing Immunization sections in CDA documents, Encounter and Note resources may now be produced.
- It is now possible to supply custom narrative generation templates to replace the built-in ones for generated documents.
- Exporting C-CDA discharge summary documents is now supported.
- A new operation has been added which can be used to generate a CDA document based on a FHIR Bundle or Composition resource.
- A new configuration setting provides fine grained control over which resources are persisted during the CDA export process.
- A new operation called $replace-references has been added. This operation can be used to replace all references to one resource with references to a different resource for data cleanup purposes.
- It is now possible to configure a global prefix to use on the names of all broker channels created/accessed by the Smile CDR broker (ActiveMQ/Kafka).
- When viewing transaction logs, it is now possible to filter by module ID.
- The delete operation is now much improved through the FHIR gateway: header processing is more consistent with other operations, and the server will pick the most appropriate target response to return to the original client.
- It is now possible to configure a global consent service for the FHIR Gateway, which applies consent directives to all requests prior to any target server processing.
- A new interceptor pointcut FHIRGW_TRANSACTION_POST_SELECT_ROUTE has been added and is invoked after selecting a route for FHIR transaction processing,
- The version of Apache Camel shipped with Smile CDR has been upgraded from 4.4.1 to 4.8.2.
- A new processor has been added to the Camel module for providing manual commits to Kafka based processing routes.
- The Camel BundleProcessor component now has parameters for automatic retry, and for switching automatically from transaction mode to batch mode on a final retry attempt.
- The documentation now includes a section describing module dependencies for module documentation.
- A new page in the documentation provides a "Development Forecast", showing big ticket items currently scheduled for development in upcoming releases.
- The MRG segment is now processed for ADT^A06 and ADT^A07 messages.
- The AL1-6 (AllergyIntolerance Identification Date/Time) is now processed.
- The subscription processing pipeline has been made more resilient when faced with payloads exceeding the broker's maximum message size. Instead of failing to deliver, a pointer is now placed on the message queue so that the subscription can succeed.
- New OTEL metrics have been added for tracking successful and failed authentication attempts.
- It is now possible to perform a search against multiple MegaScale partitions, as long as those partitions all map to a single physical database.
- When performing a federated OIDC login, Smile CDR will now supply a PKCA challenge to the federated provider.
- It is now possible to configure the size of the validation support data memory caches, and monitor their state using OpenTelemetry.
We are actively working on an upgrade to our home-grown documentation platform. Some changes are complete and others are still in progress.
- Smile/HAPI: Online documentation now includes the option to select a specific release
- Smile/HAPI: The search box has been redesigned to provide modern full-text search with weighted contextual results
- Smile CDR: Documentation is being reorganized to include guides and tutorials, and make it easier to learn how to implement common patterns.
- Smile CDR: A development forecast page now shows planned major features in the upcoming release.
Partitioning has been a part of our repository design since 2020. A primary goal was backwards database compatibility, so changes were limited.
This release introduces Database Partition Mode, which is a non-backwards compatible schema with a schema designed for underlying database sharding/partitioning.
- Partition IDs are a part of all DB primary keys
- Partition columns are used on all WHERE and JOIN clauses supplied to the database
- Database Partition Mode can only be used for new deployments. Migration may be possible in the future, but existing mode will continue to be fully supported.
- HAPI FHIR tests and supports native Postgresql partitioning. A sample schema is available. MSSQL will be tested/added in May release.
- Smile CDR tests and supports Azure Cosmos for Postgres. Amazon Aurora Postgresql Limitless will be tested/added in May release.
- Partitioning support for PARTITION_DATE is being deprecated. Please let us know if this is critical to you.
- This is a brand new feature with a few (minor) known issues, expect significant hardening to occur during the May release cycle.
Using FHIR Transaction Bundles is the best way to load large amounts of data into a FHIR repository.
- For Bundles containing many references to resources not found in the same bundle: These references are now pre-fetched in a single batch at the start.
- IDs for previously seen resources are more aggressively cached. This helps scenarios where multiple Bundles have outgoing references to the same common resources.
- In Mass Ingestion mode, the previous resource body is no longer pre-fetched.
- Deleted resources can no longer be "un-deleted" when deletions are disabled. This allows better caching of resource identity.
- Two FK constraints on the resource link table have been removed, as they caused significant contention on Postgresql under heavy write load.
- When updating resources in VERSIONED tag mode, a redundant lookup has been optimized out.
- The dedicated provenance table (for indexing meta.source) has been disabled by default. A new column on another table was added one year ago to replace this table, for better performance.
- If you use the _source search parameter on data written over a year ago, you may need to perform a reindex.
- Validation support modules ValidationSupportChain and CachingValidationSupport have been merged. This allows more optimized caching which significantly improves performance for many validation workloads.
- Several memory caches have been replaced by slots in the dedicated MemoryCacheService.
In this release:
- Large-scale data ingestion for Bundles of unrelated resources has been benchmarked with a 2x speed improvement.
- Large-scale data ingestion for Bundles of related resources has been benchmarked with a 1.2x speed improvement.
- Complex validation workloads have been benchmarked with a 2x speed improvement.
- Complex validation workloads using a remote terminology server have been benchmarked with a 10x speed improvement.
- Traditionally consent is managed using the ConsentInterceptor. This is a highly flexible API for implementing consent rules, but requires significant development to use.
- Smile CDR 2025.02 introduces the Consent Module, which is a configuration-driven consent service using FHIR Consent resources to apply consent directives.
- A complete tutorial is available which shows how to set up a Consent Module with a demo UI for patient self-management of personal consent directives.
Data Management: Deduplication
- This release introduces the $merge operation, which is a powerful new tool in the toolbox for data management
Two strategies for data management:
MDM
- Creates links between equivalent records and leaves them intact.
- Useful for scenarios where multiple sources can produce equivalent records and both are valid.
Merge
- Deletes a resource in favour of a different resource, and re-points any references to the old resource at the new resource.
- Useful for scenarios where duplicate data was created in error.
- This release introduces the ability to create an MDM Virtualized Endpoint.
- This is a FHIR endpoint in front of an MDM-enabled repository where the linked records are automatically rationalized and the client is unaware of the MDM complexity behind the API.
- A new extension has been added to SearchParameter which allows a newly created SearchParameter to be indexed but not used for searches until it has been fully indexed.
- The primary use case is for use when a new Combo Search Parameter has been created, so that it is not used until it has been fully indexed.
- The FullText engine can now be configured to index terminology but not resource FullText contents (previously this was all-or-nothing).
- When searching for very large numbers of results (e.g. over 100k results), result deduplication has been moved into the database for better efficiency.
- A Tag definitions are now resolved in same thread as resource create/update. This should improve write performance for heavy tag workloads. Thanks to Ibrahim Tallouzi (Trifork A/S) for the contribution!
- Subscription processing can now be submitted synchronously for lower-latency subscription processing. Thanks to Michal Sevcik for the contribution!
- The BalpAuditCaptureInterceptor now emits one AuditEvent per resource owner. Thanks to Jens Villadsen (Trifork A/S) for the contribution!
- A new FHIR REST client based on Apache HttpClient 5.x has been added. This will likely become the default client in a future release of HAPI FHIR. Thanks to Ibrahim Tallouzi (Trifork A/S) for the contribution!
- The JpaPersistedValidationSupport module which is used to fetch conformance resources from the JPA repository for validation purposes can now support versioned URLs. Thanks to Mangala Ekanayake for the contribution!
- The R4 Device resource is now considered a part of the Patient compartment by the authorization services, $everything processing, etc. This resource isn't in the Patient compartment in the base FHIR specification, but several implementation guides and test suites require it to be, leading to confusion.
- The NPM package registry can now search by Package Author and Package Version attributes
- 3 new interceptor pointcuts have been added to the CDA Hooks module, allowing for custom logic before and after PreFetch requests.
FEATURE ENHANCEMENTS:
- Prior Authorization Submission enabling updates to existing submissions.
- Prior Authorization Clinical Document Exchange (CDEX) - support the ability for provider to submit attachments or complete questionnaires for additional information/documentation.
Did You Miss Our Last Webinar?
In our latest webinar Beyond Regulations: Empowering Healthcare with Smile’s Advanced Solutions, we explored the CMS 0057F rules and took a step beyond the regulations. David Chisholm & Eric Rutledge walked us through the journey and explored how Smile's solutions aligned with healthcare regulations and enhanced customer workflows.