* Fixed issue with delivering delete events Subscriptions
* Extracted deliverer class name to a constant, now shared across tests and interceptor class
* Added change log and doc changes
* moved the constant to a more appropriate place
Co-authored-by: Steven Li <steven@smilecdr.com>
* Make FulltextSearchSvcImpl optional bean for ValuesetOperationProvider
* wip
* wip
* wip fix test
* move to override in test class
* Test fixes
* Add failsafe to other projects which have ITs
* Fix test
* Fix test to use transaction
* Move subscription loading
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* SRP refactor maintenance
* SRP refactor maintenance
* cache jobDefinition in jobInstance when processing (rather than looking it up in a bunch of different places)
* begin with failing test
* test passes
* tests pass. still need to add a few more tests
* add comment to trigger new ci
* added positive and negative tests for new behaviour
* fix IJ warnings
* change log
* change log
* fix test race condition
* resolved feedback
* review feedback
* fix config settings for system-level expunge
* clean up expunge everything interface
* extract common system provider
* changelog
* version bump
* touch changelog to force a fresh pipeline
* re-enable publishing of checkstyle
* back out Gary's Sonatype change entirely
* adding version.yaml, updating version in pom.xml
* It is possible to write to a resource in a partition the user is not authorized to. (#3397)
* fixed
* remove sout
* add msg.code
* fix failed tests
* fix equal sign
* update msg code
* extract method
* Fix up code numbers
* Clean changelog
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* Revert final artifact version
* add graphql test (#3585)
* added graphql birthdate test
* fix variable name
* typo
* 3506 mdm log enhancement (#3543)
* Providing Fixme's to be reworked at a later time.
* Adding // FIXME Anna to assist our Austrian friend.
* Adding logging test as a first step in addressing issue #2822.
* hapifhir#3506 part 2: enhance logging for (un)successful MDM matching
hapifhir#3506 part 2: enhance logging for (un)successful MDM matching
* Update MdmMatchLinkSvc.java
#3506 move "narrowed down" log to different place
* #3506 added scores and tests
#3506 added scores and tests
* #3506 formatting
#3506 formatting
* #3506 create changelog file
#3506 create changelog file
* #3506 fix typo
#3506 fix typo
* #3506 fix part 3, minor formatting
#3506 fix part 3, minor formatting
* #3506 fix tests
#3506 fix tests
Co-authored-by: Etienne Poirier <etienne.poirier@smilecdr.com>
Co-authored-by: Anna <anna@MacBook-Pro.local>
* mdm matching (#3579)
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter… (#3551)
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/328
* Update HapiFhirJpaMigrationTasks.java
Corrected ordering
* Update HapiFhirJpaMigrationTasks.java
Moving index status to be last operation
* Revert "Update HapiFhirJpaMigrationTasks.java"
This reverts commit 37bfd3e66e.
* Moved to bottom
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
* begin with failing test
* fixed
* changelog
* add jira tag
* Update to 6 1 (#3582)
* added changelog folder, upped version
* version enum
* add a few more unit tests to assert proper NO_MATCH exclusion
* revert merge master doh! bad reflexes
* revert merge origin master
* unrevert revert. ugh what a pain
* merge recovery. fix poms.
* merge recovery. more reverting
* merge recovery. more reverting
* merge recovery. more reverting
* Revert "merge recovery. fix poms."
This reverts commit ae6e0ddb06.
* more revert revert reversions
* more revert revert reversions
* pre-review cleanup
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
Co-authored-by: Mark Iantorno <markiantorno@gmail.com>
* Fix regression of 3411 - _lastUpdated gets clobbered during $reindex job (#3586)
* When chunking for the reindex job, don't clobber the lastUpdated if provided by the caller.
* License
* Ks 20220508 log colour (#3592)
* don't use colours when output is redirected to a file
* change log
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter… (#3551) (#3594)
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/328
* Update HapiFhirJpaMigrationTasks.java
Corrected ordering
* Update HapiFhirJpaMigrationTasks.java
Moving index status to be last operation
* Revert "Update HapiFhirJpaMigrationTasks.java"
This reverts commit 37bfd3e66e.
* Moved to bottom
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
* 3584 case sensitive string elasticsearch (#3596)
* Fix for case-sensitive search with newer elasticsearch
* Test and fix ascii normalization too
* more test cases
* comments
* Docs update empi usecase (#3598)
* Update diagram for use case 5
* Add new page for database support
* Licnese
* Mb norm fix (#3604)
* Normalize query since wildcard searches aren't normalized in elastic
* Handle batch2 job cancellation (#3603)
* Handle batch2 job cancellation
* Add CANCELLED status
* Remove unuseful test
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Add batch2 interfaces to obtain recent instances (#3601)
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* changelog folder
* Documentation change, added warning log and change log for ticket (#3609)
Co-authored-by: Steven Li <steven@smilecdr.com>
* fix ne for lastUpdated search param (#3589)
* init/wip
* add implementation, add tests
* add checks and some refactoring
* refactor and simplify tests
* refactor
* get rid of some of the warnings
* add changelog
* remove my todos
* redo ne logic to account for less precise dates
* add tests
* refactoring
* rename to follow convention
Co-authored-by: Justin_Dar <justin.dar@smilecdr.com>
* Version bump
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: katiesmilecdr <88786813+katiesmilecdr@users.noreply.github.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: alackerbauer <33912849+alackerbauer@users.noreply.github.com>
Co-authored-by: Etienne Poirier <etienne.poirier@smilecdr.com>
Co-authored-by: Anna <anna@MacBook-Pro.local>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
Co-authored-by: michaelabuckley <michael.buckley@smilecdr.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: Justin_Dar <justin.dar@smilecdr.com>
Add support for _total, _count, and _offset to Lucene backend.
Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* implement GraphQLQueryBodyParameter and GraphQLQueryBody annotation
* GraphQLQueryBodyParameter to recognize application/graphql
* fix 500 error on method without @GraphQLQueryBody
* refactor to processGraphQlGetRequest and processGraphQlPostRequest
* add testGraphPostContentTypeJson and testGraphPostContentTypeGraphql to GraphQLR4RawTest
* fix imports
* implement GraphQL Connection
* add tests
* add cacheControlDirective and requestDetails to registerSearch
* fix tests and fix bugs
* set error code
* markers for new quantity hibernate search support
* Add quantity search
* Add normalized (canonical) quantity search
* Add comment
* Use double values instead of BigDecimal to avoid scaling
* Remove multiple case labels which are not supported until source version 14
* Remove switch rules which are not supported until source version 14
* Use constant for error message used in tests
* A failing test for multiple indexed quantity paths
* Disallow dirtying context for nested classes
* failing test for normalized units
* Make sp.value-quantity.quantity a nested structure to handle correlated queries for code and value.
Save units for canonical case and consider them when querying.
Collapse normalized sub-structure under *.quantity.
* Nest sp.value-quantity instead of sp.value-quantity.quantity for compatibility with other nested types (IE. token)
* Comment out debug statements
* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneClauseBuilder.java
Co-authored-by: Olivia You <46392181+oliviayou@users.noreply.github.com>
* Add test for nested correlated quantity query
* Address MR comments
* Add proper handling of or query predicates
* Use positive conditions for better readability
* Add tests to validate behavior of combined and and or clauses, including some making no sense but still syntactically correct.
* Only consider normalized quantity searching if ModelConfig search level is NORMALIZED_QUANTITY_SEARCH_SUPPORTED
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: Olivia You <46392181+oliviayou@users.noreply.github.com>
* committed changes discussed at tasking
* Changed the subscription message to store the request partition
* modified mdm subscription loader to create a cross partition subscription in the default partition if multitenancy is enabled
* Fix errors when running Multitenant IT for mdm
* Added partition id to mdm golden resource search and creating/updating golden resource
* added partition id column to the mdm link table
* Added partition id of the source resource to partition id column of the mdm link table
* broken build
* working -links, missing hapi tests
* Fixed the mdm link db table due to feedback
* added IT for create link mdm operation, also added changes to pass the IT
* Fixed test for create mdm links, added test for update mdm link on partitioned server
* changed mdmLink search from searchbyExample to criteriaBuilder, added partitionHelperSvc to determine partition
* added test for merge golden resource and search golden resource on partitioned server
* added unit test for not duplicate on partitioned and non-partitioned server
* added criteriabuilder search and tests
* code cleanup
* added partition support to -merge-golden-resources operation
* test cleanup
* fixed operations with multitenancy
* added test for mdm clear operation
* added waiting for batch job to finish in mdm clear operation test
* added query to dao to support partitioned server for mdm clear operation
* resolve mistake from merge conflict
* added mdm-submit operations, also fixed paging for -query
* added partitionIds constant
* fixed build issue where there was no Code.msg in mdm partition exceptions
* code review fixes
* fix broken test, also fix a bug where query link could not query by linkSource properly
* fix test stubbing
* bump hapi version to 6.0.0-PRE10-SNAPSHOT
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Long Ma <long@smilecdr.com>
* fix handling of common search parameters
* Revert "fix handling of common search parameters"
This reverts commit 89c45eebdc.
* Fix implementation, add test (#3378)
* Fix implementation, add test
* Tighten test
* Rip out dead modules
* Add changelog
* Jr 20220210 handle common search params in contained searches (#3377)
* fix handling of common search parameters
* add support for reference search parameters with multiple paths
* Issue 3357
* Version bump
* Fixed null pointer exception for re-loading subscription on cdr restart and when there's no partition id in the request, and added tests
* added changelogs for this fix
* Fix broken changelog file
* Can't specify specific resource type permissions for bulk export (#3376)
* deny user from exporting without perms
* add unit tests
* add changelog
Co-authored-by: olivia-you <olivia.you@smilecdr.com>
* Make migration donothing as it was added in error
* Remove ehcache
* Add version.yaml:
* Add to sources/javadocs for dist
* Fix typo
* fix up pom
* wip test removing checkstyle plugin from deployable pom
* remove test pom changes, instead just dont deploy to sonatype
* typo
* Version bump
* Add implementation, testing, and changelog
* Add backport info, make aware of 6_0_0
* add jira ref
* Fix test
* Add versionenum
* Bump dep for spring, add changelog, add versionenum, add changelog folder
* Actually do the version bump
* remove doubleimport
Co-authored-by: Jason Roberts <jason.roberts@smilecdr.com>
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: Mark Iantorno <markiantorno@gmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Olivia You <46392181+oliviayou@users.noreply.github.com>
Co-authored-by: olivia-you <olivia.you@smilecdr.com>
* Add versionenum, bump maven version
* failing tests
* more logs
* Add more test cases, not passing
* fixed the double chain with contained resource second case
* clean up a bit
* add tests for qualifiers
* force the resource table to be the root of the query if we might be traversing a contained reference
* tidy up
* tests for longer chains
* changelog
* code review feedback
* backport changelog
* Add version.yaml
* [2935] Escape "%" in like expression
* Add backport to changelog
* Bumping version number. Update VersionEnum to support 5.5.3
* Jr 20211013 chained references (#3079)
* Create index entries for outbound references of contained resources
* build query for chained reference
* fix case where the contained reference is an explicit id rather than a continued chain
* fix contained index to use path names not search param names
* make qualified search work
* cleanup and changelog
* code review
* fix broken tests
* add imports from bad merge
* Add forgotten import from merge
* Jr 20211018 chained references 2 (#3099)
* Create index entries for outbound references of contained resources
* build query for chained reference
* fix case where the contained reference is an explicit id rather than a continued chain
* fix contained index to use path names not search param names
* make qualified search work
* cleanup and changelog
* recurse while creating indexes on contained resources
* double link both contained
* longer contained subchains
* adding some failing test cases to illustrate the limitations of qualified searches
* clean up merge cruft
* changelog
* Jr 20211021 chained references 3 (#3107)
* Create index entries for outbound references of contained resources
* build query for chained reference
* fix case where the contained reference is an explicit id rather than a continued chain
* fix contained index to use path names not search param names
* make qualified search work
* cleanup and changelog
* recurse while creating indexes on contained resources
* double link both contained
* longer contained subchains
* adding some failing test cases to illustrate the limitations of qualified searches
* clean up merge cruft
* changelog
* create recursive resource links
* add test coverage for a more complicated case
* changelog
* remove unnecessary check for _contained flag
* fix broken tests
* Add backport information
* Bump version, add version enum
* begin with failing test
* fix bug
* change log
* change log
* Add backport information
* Improve performance of chained queries into contained resources (#3312)
* base restructuring of query
* fix unit tests
* suppress unnecessary resource type parameter
* pass the resource type used to fetch the search param as part of the chain, so later we do not need to guess what it was
* add query structure tests
* changelog
* fix test failures
* got one of the branches wrong in the 3-reference case
* Add backport info
* Bump version
* Fix errors due to merge
* Bump license year
* Add folder for release version
* Version bump
* Jr 20220210 handle common search params in contained searches (#3377)
* fix handling of common search parameters
* add support for reference search parameters with multiple paths
* Add backport info
* add new folder for version
* Add missing message
* New version enum, and folder
* Version bump
* Bump spring lib version
* Tidy versions
* Remove test
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Jason Roberts <jason.roberts@smilecdr.com>
Co-authored-by: katie_smilecdr <katie@smilecdr.com>
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
* moved classes
* Bump version
* licensing
* Repackage, fix messages
* reject empty streams
* Remove dead import
* Version bump
* Fix up test to actually return a data stream
* Move null binary svc to storage
* Improve batch2 error handling
* Build fixes
* Work on reindexing
* Test fixes
* Account for gzipped contents
* License header updates
* Register VS operations on public server
* Test fix
* Build fix
* Remove animal sniffer plugin
* Compile fix
* fix mongo date search with the NOT_EQUALS prefix
* add test & changelog
* add some unit tests
* rename unit test names to be more clear
Co-authored-by: olivia-you <olivia.you@smilecdr.com>
* Start working on reindex job
* Updates
* Ongoing work
* Ongoing work
* Work on reindex
* Reindex work
* Add logging
* Fix typo
* Test fix
* Test fix
* Address fixme
* Liocense header
* Resolve fixme
* Add logging
* Update logs
* Address review comments
* License header
* Test fixes
* Test fix
* Test fixes
* Test fix
* Version bump
* Version bump
* Add reindex-terminology batch command
* Handle number of thread throttling and concurrency with other terminology batch operations
* Add required dbcp2 dependency
* Fix test
* Improve ConnectionPoolInfoProvider setup. Handle maximum connections.
* Remove java higher version construction
* Remove unused config
* Add reindex terminology integration test.
Reset termConcept counters before pre-expanding, which otherwise accumulate if it was pre-expanded before.
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* fix handling of common search parameters
* Revert "fix handling of common search parameters"
This reverts commit 89c45eebdc.
* Fix implementation, add test (#3378)
* Fix implementation, add test
* Tighten test
* Rip out dead modules
* Add changelog
* Jr 20220210 handle common search params in contained searches (#3377)
* fix handling of common search parameters
* add support for reference search parameters with multiple paths
* Issue 3357
* Version bump
* Fixed null pointer exception for re-loading subscription on cdr restart and when there's no partition id in the request, and added tests
* added changelogs for this fix
* Fix broken changelog file
* Can't specify specific resource type permissions for bulk export (#3376)
* deny user from exporting without perms
* add unit tests
* add changelog
Co-authored-by: olivia-you <olivia.you@smilecdr.com>
* Make migration donothing as it was added in error
* Remove ehcache
* Add version.yaml:
* Add to sources/javadocs for dist
* Fix typo
* fix up pom
* wip test removing checkstyle plugin from deployable pom
* remove test pom changes, instead just dont deploy to sonatype
* typo
* Version bump
* Add implementation, testing, and changelog
* Add backport info, make aware of 6_0_0
* add jira ref
* Fix test
* Add versionenum
* Remove dups
* Remove unnecessary stuff
Co-authored-by: Jason Roberts <jason.roberts@smilecdr.com>
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: Mark Iantorno <markiantorno@gmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Olivia You <46392181+oliviayou@users.noreply.github.com>
Co-authored-by: olivia-you <olivia.you@smilecdr.com>
* Rely on context refresh event instead of postconstruct. Load bean lazily.
* Remove parent autowire
* Break termcodesystem circular dependency with new bean
* Break cycle between BaseTermReadSvcImpl and TermCodeSystemStorageSvcImpl
* move back into helper method
* Rip out scheduling and submission to spring batch away from BulkDataExportSvcImpl
* wip
* Fix bean naming
* Revert
* re-add autowiring
* Reformat
* docs and reformat
* Back out change
* feedback from review
* merge conflicts
* Enable search narrowing on large ValueSets
* ValueSet improvements
* Work on narrowing
* Work on narrowing
* Work on narrowing
* Work on narrowing
* Add test
* Work on narrowing interceptor
* Work on narrowing
* License headers
* Refactor code narrowing
* Add docs
* Version bump
* Test fix
* Test fixes
* Build fix
* Fixes
* Version bump
* Test fix
* License header updates
* Build fix
* Test fixes
* Test fix
* Test fix
* Docs fix
* Test fix
* Test fix
* Resolve fixme
* Bump
* Force a CI build
* Make CI happen again
* Added log to the create() and valiForUpload() methods in the PackageInstallerSvcImpl class
* Added helper methods to extract URL from SearchParameter.Tested and fixed log entries.
* Changelog entry
* Update 3384-Package-Install-added-logs-for-resources-validation.yaml
Co-authored-by: Kai Liu <kliu@Kais-MacBook-Pro.local>
* Work on new batch framework
* Work on new batch framework
* Work on new batch framework
* Work on batch
* Compile working
* Work on bulk import
* Adjust import
* Work
* Work on batch
* Bump version
* WOrk on new batch processes
* Work on bath
* Bump to PRE4
* Build fixes
* CLeanup
* Small tweak
* Add exception code
* Test fixes
* Test fixes
* Test fix
* Additional synchronization
* Add license headers
* Test fixes
* Test fixes
* Add changelogs
* Address PG
* Test fix
* Test fix
* Test fixes
* Review notes
* Work on tests
* Test fixes
* Test fix
* Work on tests
* Tets fix
* Test fixes
* Test fixes
* Add missing exception codes
* Test fix
* Test fixes
* More test fixing
* License headers
* Test fix
* Add new test logging
* Work on tests
* Test fixes
* Test fix
* Resolve fixme
* Try to avoid test failure
* Add import command
* Work on storage
* Fix error codes
* Fixes
* License header
* Build fix
* Build fixes
* Fix dep
* Refactor ValueSet expansion code to simplify property filtering by using new Hibernate search V6 nested classes capabilities; use generic hibernate search queries where possible (mostly everywhere but regex queries) and add R4 integration tests for both elastic and lucene.
* Refactor ValueSet expansion code to simplify property filtering by using new Hibernate search V6 nested classes capabilities; use generic hibernate search queries where possible (mostly everywhere but regex queries) and add R4 integration tests for both elastic and lucene.
* Add comment for trick
* Add codes to exception messages
* Add test specific for the fix
* Move changelog to current release. Add upgrade notice.
* Improve fail-fast method
* Update upgrade instructions
* Try luck with new exception codes
* Update hapi-fhir-storage/src/test/java/ca/uhn/fhir/jpa/search/ElasticsearchNestedQueryBuilderUtilTest.java
Add missed quote
Co-authored-by: michaelabuckley <michael.buckley@smilecdr.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: michaelabuckley <michael.buckley@smilecdr.com>
* Start working on graphql Schema
* Start testing
* Work on introspection
* Work on introspection
* Use integers for date ordinals
* Add changelog
* GraphQL updates
* Ongoing wrk
* Cleanup
* Bump core lib
* Add changelog
* Clean up dependencies
* CLeanup
* Add missing message
* Test fix
* Change to force CI
* Change token and reference search params to 'keyword' field type
* remove normalizer for keyword field
* WIP - refactor lastN operation to use hibernate search generated ES index.
* Add ES native aggregation builder for lastN
* added date search param support for searching resourcetable ES index
* * Added DateSearch parameterized tests to ElasticSearch test suite
* Added more tests cases for Date searches
* WIP refactor LastN test data to central generator class and use it for both hibernate-search and elastic search implementations.
* WIP fix lastNDataGenerator to avoid assertion errors.
* Fixed tests to run test suite on both existing lastN search implementation and newer extended lucene index based search.
* Cleanup json string to avoid carriage return noise
* Fix checkstyle issues
* Fix checkstyle Msg code issues
* Fix checkstyle Msg code issues
* Add more test case for GT, SA precision modifier
* Fix date precision test cases
* Fix Msg Code conflicts
* Add more logging
* Add way more loggging
* even more logging
* fix msg code conflicts
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* feat: added support for package.zgz uri in the "file:/" format
* added changelog entry
* add error code to thrown message
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* 3354 fixing flakey tests
* must fix code
* updating number again
* fixing test
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* Delete TestR4WithLuceneDisabledConfig
* Split off the ES and ESClient test configs
* move hibernate search config out to add-ins
* Use addIn for all R4
* Finish R4
* Finish R3
* Finish dstu2
* R5
* Remove property override, and docs
* Apply error code to error
* Fix test to match new error code
* Lighten test
* Disabling broken test.
* Initial design of adding exception codes to exceptions
* Initial design of adding exception codes to exceptions
* change int module name to string
* add comment
* shorten message
* shorten message
* added checkstyle
* developing checker
* completed checkstyle plugin and unit test for it
* fix NPE
* fix checker so it ignores throws on exceptions that aren't new
* change parameter order in InvalidResponseException
* accept Msg.code() in any parameter since some exceptions like MessageException have the message string as the second parameter
* exclude generated files
* BIG COMMIT added error codes to all exception throws
* example test fix
* Modified tests such that the assert statements would better match the message responses.
* Modified additional tests such that the assert statements would better match the message responses.
* fix test
* merge master
* merge master
* Fourth commit of modified tests such that the assert statements would better match the message response
* Changes made to modify assert statements such that they match the new errors which now use error codes. Also changed ResourceNotFoundException to include error codes in its messages.
* Modified assert messages to better match new error codes
* Time Zone changes DRAFT. Certain tests pass in intellij and fail during mvn install
* Modified assert messages to better match new error codes
* Added comments for time zone fixes. Previous commit comment on time zone fixes was incorrect. By invaliding caches, all tests on both intellij and mvn install passed.
* Reverted changes on azure-pipelines.yml
* updated hapi-fhir version for checkstyle module
* changes to azure-pipelines.yml
* changes to azure-pipelines.yml
* change to pom.xml to include hapi-fhir-checkstyle in ALLMODULES
* changes to azure-piplines (these changes are to be reverted after testing)
* reverted changes to azure-piplines
* reverted change where hapi-fhir-checkstyle was added to pom.xml (hapi-fhir)
* Attempted fix on checkstyle build error
* modified azure-piplines.yml to change maven repository for checkstyle build
* Attempted fix on checkstyle build error
* checkstyle config location change for hapi-depoloyable-pom. (will be reverted if it does not work)
* attempted dependency add for hapi-depoloyable-pom. (will be reverted if it does not work)
* reverted changes for hapi-deployable-pom
* add javadoc
* update last code
* Attempted fix on checkstyle build error
* Finished adding in missing error codes to pass Checkstyle checks
* Test pipelining
* Fixing errors and bumping version (as suggested by Gary)
* Merge
* Fixing Checkstyle error
* Attempted fix for date error
* Add error code onto assert statement
* Add in a couple more error codes
* Fixing assert statements
* Bump to static version for dependency
* Adding error code to message
* Adding error codes to exceptions
* Adding error codes to exceptions
* Change to work with cdr branch
* Update to faulty error message
* Merge changes
* allow checkstyle pom to deploy
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Simon Zuccherato <simon.zuccherato@smilecdr.com>
Co-authored-by: Predap <simon.zuccherato@gmail.com>
Co-authored-by: Predap <46201929+Predap@users.noreply.github.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* added settings for cross-partition to Dao and Model config
* modified subscription validator to validate cross partition subscriptions
* modify subscription matcher to allow matching on all partitions when subscription is set to cross partition
* added cross partition to canonicalSubscription
* end of day commit, changed how we are checking if default partition in subscription validator
* fixed issue with i memory matching for cross partition subscriptions
* added test for parsing legacy CanonicalSubscription
* added changelog and doc changes
* addressed comments in pr
* added assertdoesnotthrow
* test fixes, added new mocks
* added check for if resource can have extension before checking for extensions
* removed unnecessary semicolon
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Long Ma <long@smilecdr.com>
* Bump a number of versions
* Fixes
* Work on version bump
* Bump
* Test fix
* More version bumps
* Build fixes
* Test fixes
* Fixes
* Fixes
* Test fix
* Bump jacoco
* Test fix
* Test fix
* Test fix
* Build fix
* Build fix
* Remove versioned H2
* Build fix
* Avoid memory issue in validation tests
* JDK bump
* Restore compile with errorprone
* Force coloured output
* Force jansi
* Try again to force jansi
* Fix for hardcoded date that just passed
* Fixes to JPA
* Improve changelog
* Work on failing test
* Test fix
* Compile fix
* One more version bump
* Test fixes
* Allow Subscription to be configured to send delete messages
* Add tests and implement MR suggestions
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* some fixmes to start
* Added some FIXMEs
* added RequestPartitionId to reosurceDelivryMessage and ResourceModifiedMessage
* ResourceDeliveryMessage and ResourceModifiedMessage tests
* fixed issue with test missing partitionHelperSvc mocked bean
* Added tests and implemented SubscriptionMatchingSubscriber for partition aware subscription
* modified implementation of partitionId in CanonicalSubscription
* Moved PartitionablePartitionId, and refactored all calls to getUserData(Constants.RESOURCE_PARTITION_ID) and setUserData(Constants.RESOURCE_PARTITION_ID)
* Revert "Moved PartitionablePartitionId, and refactored all calls to getUserData(Constants.RESOURCE_PARTITION_ID) and setUserData(Constants.RESOURCE_PARTITION_ID)"
This reverts commit fe40fb9733.
* Got added partitionId to subscriptions, added changes to make SubscriptionMatchingSubscriberTest work
* added SubscriptionTriggering test, also added partition support to subscriptionLoader
* Changed implementation for storing partition id of subscriptions from messages, refactored tests to new implementation
* added all subscription systemRequestDetails with all partition to subscription reader
* refactored a generic system request details with default all partition request
* Added test for dao subscriptions, fixes to get the test working
* added partition support for latest version delivery
* added doc changes and changelog for multitenancy subscription
* cleanup and added partitioned subscription manually trigger test
* fixed mocked subscriptionDao
* added package-info for subscription module
* some code review changes
* removed AllPartitionSystemRequestDetail, added new text for multitenant subscription
* renamed method for code review
* version bump to 5.7.0PRE7
Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
* try xml -> json
* Change from xml serialization to json serialization. Also fix a deadlock in how the validation cache is used.
* changelog
* back out logback
change
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3236-change-validation-from-xml-to-java.yaml
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* move mail config to mail service constructor
* update subscription email sender
* added license text
* [2669] bump HAPI version to 5.7.0-PRE6-SNAPSHOT
* add changelog
* First cut at multithreading bundle validation
* javadoc
* change test to a red-green test
* add daoconfig
* move bundle concurrency config from validationsupport to request validator
* Moved concurrent details from ValidationOptions to FhirValidator
* Remove bundleValidationThreadCount (it's set by creating an appropriate executor)
* validate threadpool prefixes
* FIXME cleanup
* reassign FIXMEs to JB
* only create the threadpool if it will be used
* Add the MdcTaskDectorator to all threadpools
* Add bundle path to concurrently validated bundle resource validation messages.
* Add test to check bundle entry path being added to validation messages
* Threaded validation of contained resources initial checkin
* FHIR validator refactored to maintain correct bundle path and async validation task
* Refactored to use validation complete invoke callback to support raw string resource or resource object
* switch from XML to JSON
* # Conflicts:
# hapi-fhir-base/src/main/java/ca/uhn/fhir/validation/FhirValidator.java
# hapi-fhir-validation/src/test/java/org/hl7/fhir/r4/validation/FhirInstanceValidatorR4Test.java
* Updated to use new HAPI-FHIR version
* merge 'validate_contains_change' into issue-3144-multi-threaded-bundle-validation
* Updated to use new HAPI-FHIR version
* Revert "Updated to use new HAPI-FHIR version"
This reverts commit 910b7f676b.
* Revert "merge 'validate_contains_change' into issue-3144-multi-threaded-bundle-validation"
This reverts commit c7d60fc3e6.
* Revert "Updated to use new HAPI-FHIR version"
This reverts commit aa8a7af455.
# Conflicts:
# hapi-fhir-validation/src/test/java/org/hl7/fhir/r4/validation/FhirInstanceValidatorR4Test.java
* Fix Test dependencies after reverting changes.
* merge 'validate_contains_change' to 2564-contained-resource-validation-flag
* Disable threadpool prefix name validate check.
* merge master
* fix thread regexp
* pre-review cleanup
* change log
* fix test
* revert to XML as default validation serialization
* fix test
* fix test
Co-authored-by: Jaison B <jaisonb@gmail.com>
* wip
* The updated changes to the validator that were pulled in from the core dependencies are not backwards compat. Need to bump HAPI version.
* pointing to stable core version
* review feedback
* Add changelog
Co-authored-by: markiantorno <miantorno@pop-os.localdomain>
* Synthea perf work
* Cleanup
* Work on performance
* Ongoing perf work
* More perf work
* Perf work
* Test fixes
* Updates
* Test fix
* Test fixes
* Clean up tests
* Test cleanup
* Cleanup
* Add test
* One more perf tweak
* Fixes
* Add changelog
* Add changelog
* License header update
* License header updates
* 3136 - Send validate-code requests to an Instance of IValidationSupport instead of directly to the DAO.
* 3136 - Added support for R4 validate-code calls to a Remote Terminology Server.
* Added more Unit Tests.
* Added NULL checks based on code analysis.
* Adding some cleanup code to the Unit Tests since some other unrelated Unit Tests were failing when running in an Azure Pipeline.
* Adding @Ignore to both of my Unit Test classes to try and see if this is the cause of other unrelated Unit Test failures in the Azure Pipeline.
* Commented out ALL CODE in my Unit Tests to see if this fixes the other Unit Tests.
* Added 1 Unit Tester called RemoteTerminologyServiceResourceProviderR4Test to see if it causes other Unit Test failures.
* Added a Unit Tester called ResourceProviderR4RemoteTerminologyTest with the code that creates a RemoteTerminologyServiceValidationSupport instance commented out for now, just to see if this allows all other Unit Tests to pass.
* Added a Unit test back in to verify how the RemoteTerminologyServiceValidationSupport works when inserted into the front of the IValidation chain. Lets see if this will mess up any other Unit Tests in the Azure Pipeline...
* Added an @AfterEach method to remove the RemoteTerminologyServiceValidationSupport instance from the ValidationSupportChain to see if it allows all the other Unit Tests to work as before.
* Added more Unit tests.
* Added more Unit Tests to increase code coverage.
* Added some NULL checks.
* Added a changelog for this feature add.
* Removed the decision logic in the REST APIs and also the isRemoteTerminologyServiceConfigured() method, and letting the ValidationSupportChain figure out how to perform the validate-code Operation.
* Removed a NULL check that was not needed.
* Reverting the previous change where I tried using the IValidationSupportChain for each and every incoming Operation request. Splitting the implementation between local and remote seems to be required at this time.
* issue-1134 initial work on adding retry handler
* issue-1134 subdscription creation fixes
* issue-1134 update the test
* issue-1134 retry policy off canonicalsubscription
* issue 1134 base subscription changes
* add failing test
* issue 1134 retry configs on base parameters
* issue 1134 passing forward params
* issue-1134 added more tests for making sure subscriptions create their channels correctly
* issue-1134 updates to get the retry to channels
* issue-1134 updating channel factory
* issue-1134 remove the dlq since it's not defineable
* issue-3120 changelog added
* issue-3120 cleaning up
* issue-3120 test fix
* issue-3120 review fixes
* issue-3120 fixed bad master merge
* issue-3120 updates for new release
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* issue-1134 initial work on adding retry handler
* issue-1134 subdscription creation fixes
* issue-1134 update the test
* issue-1134 retry policy off canonicalsubscription
* issue 1134 base subscription changes
* add failing test
* issue 1134 retry configs on base parameters
* issue 1134 passing forward params
* issue-1134 added more tests for making sure subscriptions create their channels correctly
* issue-1134 updates to get the retry to channels
* issue-1134 updating channel factory
* issue-1134 remove the dlq since it's not defineable
* issue-3120 changelog added
* issue-3120 cleaning up
* issue-3120 test fix
* issue-3120 review fixes
* issue-3120 fixed bad master merge
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* Add failing test
* Tidy test for new tokenparam style
* Add removeByQualifier to SearchParameterMap
* Add new property binder for search terms
* Member move, add test for new parser
* whoops missed an add
* Passing test.
Introduced SearchParamTextWrapper to give a type for the binder.
Enhance FulltextSearchSvcImpl to understand TokenParams as well as StringParams.
* Add more to test, change analyzer for template
* Optimize imports
* Minor refactoring
* added eq and gt test cases
* added missing gt search param tests
* Search all CodeableConcepts
* Extract new LuceneRuntimeSearchParam to mediate indexing and searching.
* Fix up broken test with mock
* Add support for identifier type
* Bump for special maven package
* fix-me to todo
* Prevent version check
* FIx version for test
* DSTU2 does not support fluent path
* Don't accidentally strip SPs in DSTU2
* added lt tests
* Add some high-bound test cases
* More test cases and new compressed format
* More test cases
* More test cases
* Re-order columns for easier reading
* Comments
* Cleanup and comments
* Make support :text for all token SPs
* Make support :text for all token SPs
* Fixed incomplete date issue
* Set to the last millisecond 23:59:59.999
* Disabled 4 failed JVM/TZ related test cases
* add test for failing batch bug, remove bounding on queue
* remove parallelism from non-get batch operations
* Fix count for test
* New index layout
* Notes and cleanup
* Notes and cleanup
* remove the jetbrains
* Demote FIXME to WIP
* Change :text search to be lucene simple search and use standardAnalyzer.
* Change :text to require * for prefix match.
* add prefix negative test
* Bump version
* Added changelog
* Add more search parameters to lucene indexing (#3000)
* dirty the branch
* Add oversight to changelog
* Start using jpa indexing for es
* Correct negative search test
* Update templates, index tokens, write new test. TODO gotta modify SB
* Add test for code token search
* add comment
* Flesh out token search
* minor cleanup and comments
* Extract index handling from FulltextSearchSvcImpl
* D'oh. Actually use elastic to search.
* Move supported query check closer to query builder
* String search test before activating lucene
* Add string:exact to hibernate search.
* Add string:contains search
* cleanup
* demote fixmes to allow build to run.
* Add unmodified string search.
* empty stubs for quantity and reference
* Ignore magic search params in lucene index
* Support full-text on all FHIR releases
* Include reference lookups in ES
* Fix and/or logic in _text
* Test for string with space
* Cherry-pick the NoFT fix
* Disable advanced indexing in a bunch of tests of emitted sql.
* Stub changelog
* Fix :missing flag
* Move DaoConfig up to BaseJpaTest to share teardown
* Disable new indexing for partition test
* Add a different analyzer and field for default string search vs text
* checkstyle for a pre-build
* Index full prefix for string search when using Lucene
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_6_0/3000-Extend-lucene-indexing.yaml
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/HibernateSearchQueryBuilder.java
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* Review feedback.
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* Remove double-check
* Version bump
* Fix typo
Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
Co-authored-by: Long Ma <longma@Longs-MacBook-Pro.local>
Co-authored-by: Frank Tao <frankjtao@gmail.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* added eq and gt test cases
* added missing gt search param tests
* added lt tests
* Add some high-bound test cases
* More test cases and new compressed format
* More test cases
* More test cases
* Re-order columns for easier reading
* Comments
* Cleanup and comments
* Fixed incomplete date issue
* Set to the last millisecond 23:59:59.999
* Disabled 4 failed JVM/TZ related test cases
* Added changelog
Co-authored-by: Long Ma <longma@Longs-MacBook-Pro.local>
Co-authored-by: Frank Tao <frankjtao@gmail.com>
* Add tests. Add implementation in R4. Add changelog
* Wip partial fixup of other STU versions
* Updated usages of new patient type everything api
* Partial commit of incomplete documentation
* Remove docs
* Cut to token instead of string
* Bump hapi version due to breaking api changes
* NDJsonParser with one example test.
* Add test for empty NDJson, and fix bug for empty NDJson.
* Adds multi-Patient test, and fixes bug whereby all multi-line NDJSON would be put into the same line.
* Adds test for NDJson with newlines in it.
* Adds test for converting non-Bundle types to NDJSON failing.
* Confirm that we can only extract to Bundle types in test.
* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Documents behavior of the NDJsonParser in FhirContext.
* Attempt to fix failing build by using TestUtil to clear context in the manner of r4 parser tests instead of dstu
Also clean up indentation.
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Remove the unused dependency on net.sf.saxon:Saxon-HE
* Remove Saxon-HE dependency in hapi-fhir-jpaserver-base
* Remove unused comment in hapi-fhir-structures-dstu2.1/pom.xml
* Add versionenum, bump maven version
* failing tests
* more logs
* Add more test cases, not passing
* fixed the double chain with contained resource second case
* clean up a bit
* add tests for qualifiers
* force the resource table to be the root of the query if we might be traversing a contained reference
* tidy up
* tests for longer chains
* changelog
* code review feedback
* backport changelog
* Add version.yaml
* [2935] Escape "%" in like expression
* Add backport to changelog
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Jason Roberts <jason.roberts@smilecdr.com>
Co-authored-by: katie_smilecdr <katie@smilecdr.com>
* Migration finished
* Work on LOBS
* Add to ClobMigrated annotation
* Deal with lobs
* Work on new approach
* HAPI FHIR version bump
* Add changelog
* Add license header
* Fix intermittent
* CLeanup
* Cleanup
* Add test
* Test fixes
* Work on expansion errors
* Fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Work on fix
* Test fixes
* Test fixes
* Test fix
* Cleanup
* Test fixes
* Remove accidental commit
* Test fixes
* Version bump
* Add changelog
* Fixes
* Test fix
* Fix conflicts
* Try commenting out clearAllStaticFieldsForUnitTest to see what happens
* Rename clearAllStaticFieldsForUnitTest to randomizeLocaleAndTimezone and only do that
* first pass moving core storage classes to storage-api
* move term service apis
* nearly done
* rename hapi-fhir-storage-api to hapi-fhir-storage and move transaction processor
* rename hapi-fhir-storage-api to hapi-fhir-storage and move transaction processor
* create new SearchConstants class to store platform independent search constants
* move a couple of subscription services
* move transaction processor adapter to storage
* version bump
* move searchparam
* fix test
* fix compile includes
* fix text
* fix docs
* failed attempt to get it to work
* Use simplified FhirContext.forCached methods
* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Avoid dead SearchParameter links in CapabilityStatement
* Resolve fixmes
* Build fix
* Test fix
* Test fix
* Test fix
* Work on metadata
* Fixes
* Test fixes
* Test fix
* Test fix
* Test fixes
* Test fix
* Work on test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fix
* Fix params
* Resolve fixme
* Adjust changelogs
* Version bump to 5.6.0-PRE7
* Add license header
* Bump version to 5.6.0-PRE5-SNAPSHOT
* initial roughout of mdm clear batch job
* still roughing out classes
* finished first draft of reader
* most tests passing now
* all tests pass. now FIXMEs
* FIXMEs done. Time for regression.
* fix test
* changelog and docs
* fix test
* pre-review cleanup
* version bump
* move spring autowire deps for cdr
* move spring autowire deps for cdr
* finally got beans working phew
* rearrange method calls so persistence module can perform clear operation on its own
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_mdm/mdm_operations.md
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* review feedback
* review feedback
* Remove inheritance
* fix beans
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* Impl displayLanguage for $lookup - first cut
* Added original lookupCode method
* Added original lookupCode method to IFhirResourceDaoCodeSystem
* Added more test cases and changelog
* Start work on nonunique combo search params
* Work on SQL
* Version bump
* A fix
* Test fixes
* Fixes
* Undo version bump
* Test fixes
* Resolve fixme
* prepare to add $delete-expunge operation that will create a spring batch job
* Add operation
* Wire up jpa provider. Begin with failing test.
* Copy/paste bulk import job as a starting point.
FIXME with proposed design
* delete expunge job parameter validation with test
* implemented reader
stubbed processor, writer
* wip for master merge
* started implementing reader
* started implementing reader
* working with stubs
* happy path batch delete expunge is done
* Provider done but test not passing. Guessing batch infrastructure not running in that test.
* IT test works now
* add reader test
* Converted delete _expunge=true to use new batch job
* DeleteExpungeDaoTest passes
* Fix test
* Change batch size to integer
* rename search count to batch size
* Make delete expunge partition aware
* updated docs
* pre-review cleanup
* change log
* add partition id to SystemRequestDetails
* Make RequestPartitionId serializable
* Change delete expunge provider to use partition id instead of tenant name
* fix tests
* test pointcut gets called
* assert on pointcut calls
* Add resource type to STORAGE_PARTITION_SELECTED pointcut
* bump hapi-fhir version
move expunge provider parameters from JpaConstants to ProviderConstants
* bump hapi-fhir version
* copyrights
* restore deleteexpungeservice for mdm
* restore deleteexpungeservice for mdm
* fix test
* public constants
* convert instant to date
* Moved expunge constants to ProviderConstants
* final review
* disabling InMemoryResourceMatcherR5Test.testNowNextMinute() to see if I can get a clean test run
* fix tests
* fix tests
* fix tests
* fix tests
* review feedback
* review feedback
* review feedback
* review feedback
* review feedback
* review feedback
* improve logging
* bump version
* version bump
* recovering from failed merge
* unzip RequestListJson per Gary's suggestion. I didn't want to do it at first, but as usual Gary was right.
* fix serialization
* 2572 - Add master Branch changes related to backport of fix for #2171 for new 5.3.3 release.
* 2572 - Added some missing changelog folders for the v5.3.1 and v5.3.2 releases.
* 2572 - Added a missing backport changelog entry for the v5.3.1 release.
* 2572 - Added a missing VersionEnum entry for the V5_3_1 release.
* Start work on OpenAPI
* Fixes
* Work on OpenAPI
* Cleanup
* Cleanup
* More swagger work
* Build fix
* More work
* More work
* Add documentation
* Docs fixes
* Add changelog
* License updates
* Add API
* Cleanup
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_plain/openapi.md
Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>
* Work on scripts
* Add docs
* Compile fix
* Work on fixes
* Fix tests
* Test fix
* Test fix
* Build fix
* Tests
* Build fix
* Work on pipeline
* Version bump
* Test fix
* Version bump
* Test fix attempts
* Test fix
* Test fix
* Remove accidentally committed files
* Fixes
* Tets fixes
* Test fix
* Test fix
* Test fix
* Test fixes
* Test fixes
* Test fixes
* License header updates
* test fix
* Test fixes
* Test fix
* Test fixes
* Test fix
* Checkstyle bump
Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>