
Smile CDR 2025.08.R01 and HAPI FHIR 8.4.0 (Code Name: Amplification)
August Quarterly Product Release
On August 21st at 11:00am EST, join us on our YouTube Channel to learn about Smile CDR 2025.08.R01 and HAPI FHIR 8.4.0. Some of the great things coming your way include:
Smile CDR 2025.08.R01
Narrative
- FHIR Storage modules can now be configured with a narrative generator module, and will automatically attempt to generate narratives for resources stored in the repository.
RTE
- A new operation has been added ($sdh.bootstrap-rte) which populates all historical data in a repository into a configured Realtime Export database
Tokenization
- Detokenization requests now include a reference to the tokenization rule being applied
Security
- SMART login screens can now be configured with a custom logo when no custom skin is being used
- JavaScript callback functions in auth scripts calling FHIR servers can now perform OIDC authentication
- When performing an OIDC auth flow, if the state parameter contained escaped characters, these were incorrectly unescaped before being returned to the client
- Support for authenticating to database infrastructure on Azure using Microsoft Entra Authentication has been added
- The Group and List resources have been removed from the Patient compartment definition used for $export and authorization rule processing (also HAPI)
- When performing a CODAP authentication, better error messages are produced if the CODAP request has an invalid "requested record" or "requesting practitioner" entry
Camel
- Each step in a camel route is now automatically added as a step in the generated transaction log entry when transaction logging is enabled
CDA
- Each step of the CDA Exchange Export flow can now be individually addressed from Camel routes
- Several mapping issues in the Plan of Treatment section have been addressed
- A bug could cause Provenance resources for imported CDA documents to sometimes pick the incorrect author for a section if different sections had different authors
- When importing a CDA document, medication dosages specified as ranges (intervals in CDA) are now supported
- CDA now creates Device resources fully conformant with the US Core 5.0.1 device rules
- A new operation called $sdh.cda-to-fhir can be invoked to perform a CDA-to-FHIR conversion, including from Camel routes
- The Patient.deceased[x] field will now be populated when processing a CDA document indicating this status
- Observations for Basic Occupation and Basic Industry are now created and populated in the Social History section in conformance with the ONC C-CDA companion guide.
MDM
- MDM can now be configured to ignore golden resource records during conditional match processing
- A new operation called $sdh.mdm-bundle-match can now be used to perform matching on an entire Bundle of FHIR resources. This operation can also be called from Camel routes.
Gateway
- The FHIR Gateway module can now handle the Encounter/$everything operation
- The FHIR Gateway module can now handle the $davinci-data-export operation
- The FHIR Gateway now supports proxying $bulk-export operations from non-Smile FHIR servers
- A new interceptor hook has been added which is invoked after each target performs a FHIR read operation
Validation
- Configuration settings have been added to change the severity of specific validation issue types
When invoking $validate, the OperationOutcome will now have OperationOutcome.issue.expression populated - The logic for automatically generating snapshots needed for validation is now able to handle circular dependencies correctly where all nodes in the circle require snapshot generation
- When validating on partitioned systems, the request details context is now passed through the validation chain meaning that resource references can be succesfully followed during validation.
- The $validate-code operation now supports validation against CodeableConcept and Coding instances
- A new interceptor has been added that allows validation result messages to be adjusted in severity based on configured rules
Contribution
- HTTP HEAD requests to /metadata are now supported. Thanks to Jens Villadsen!
- Streaming Binary resources containing FHIR resource payloads sometines used the incorrect content type. Thanks to Quentin Ligier!
- When importing NPM packages, the installation spec can now be configured to include additional folders from the package. Thanks to Jens Villadsen!
- It was not possible to restore a previously deleted resource in a FHIR transaction. Thanks to Fouad Sfarijlani for reporting, and Michael Sevcik for designing a fix!
- The in-memory ValueSet expander now supports manhy more features previously only supported by the JPA ValueSet pre-expander. Thanks to Ibrahim Tallouzi!
- The logic for generating geographic bounding boxes (e.g. for Location?near= queries) has been redesigned for greater accuracy. Thanks to Patrick Werner!
- The $export batch job now supports the _until parameter. Thanks to Mads Swensson!
Storage
- When automatically creating placeholder reference targets, the ID of the placeholder will be added in an extension on the returned Operation Outcome
- A new table has been added to denormalize resource type names. This will eventually replace columns in various tables containing this information
- It is now possible to perform an HTTP PATCH with history rewrite
- Two new operations, $hapi.fhir.replace-references and $hapi.fhir.undo-replace-references can be used to replace all references to one resource with references to another resource. The second operation can be used to undo these changes
- A new operation called $hapi.fhir.undo-merge has been added, which undoes the effects of a previously invoked Patient/$merge operation
Search
- It is now possible to perform chained searches chaining on the _tag SearchParameter
- The _content and _text SearchParameters can now be selectively enabled for specific resource types by modifying the SP definition
- A new interceptor pointcut can be used to influence, modify, or even remove indexing text supporting the _content and _text SPs
- A bug in escaping logic meant that it was not possible to search for a string containing two consecutive backslash characters
Misc
- The $reindex operation can now reindex deleted resources. This supports storage optimization
- HAPI FHIR snapshots are now published to Maven Central instead of Sonatype OSS (which has been disabled)
Performance
- Processing for _include and _revinclude has been streamlined to examine whether the given search parameter can support canonical references, and not search for these if they can not be supported
- When invoking a FHIR transaction with a very large number of resources, a CPU bottleneck in resource ID resolution could cause unnecessary slowdown
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.