Commit Graph

4278 Commits

Author SHA1 Message Date
James Agnew d4f1766ca5
Optimize transaction writes (#6460)
* Optimize transaction writes

* Cleanup

* Work on tests

* Work on fixes

* Fixes

* Fixes

* Test fixes

* Cleanup

* Cleanup

* Work on tests

* Work on tests

* Test fixes

* Test fixes

* Remove redundant test

* Test fixes

* Test fix

* Test fixes

* Test fixes

* Test fixes

* Add changelog

* Checkstyle fixes

* Test fixes

* Spotless

* Test cleanup

* Spotless

* Test fix

* Work on review comments

* Address review comments

* Test fixes

* Ongoing test cleanup work

* Work on tests

* Query count tests passing

* Test fixes

* Test fixes

* Rmove fixme

* Test cleanup

* Test fix

* Remove default method

* Service celanup

* Test fix

* version bump

* Test cleanup
2024-11-21 19:22:42 -05:00
James Agnew dea9706652
MDM Virtualization Interceptor (#6464)
* Work on virtualization

* Fixes

* Cleanup

* Fixes

* MDM virtualization

* Remove fixme

* Test cleanup

* Cleanup

* Version bump

* Fixes

* Cleanup

* Fixes

* WIP

* Test cleanup

* Spotless

* Checkstyle

* Spotless

* Address review comments

* Test fix

* Test fix

* Address review comments

* Version bump

* Version bump

* License header
2024-11-21 11:01:54 -05:00
VK-SMILECDR cbbba75d9a
6472 move cds hooks related classes to hapi fhir server package (#6473)
* moving CDS Hooks Json files

* spotless
2024-11-19 11:43:45 -05:00
jmarchionatto cdb0a9c480
Add tinder plugin to pluginManagement to allow to run generate-ddl from parent (#6192)
* Add tinder to parent project's pluginManagement

* Use specific version to avoid inheriting projects to replace by theirs

* Move dialects down to executing project because appendFile included in postgres dialect precludes to define it at the parent level

* Improve logging

* Use temporary project version

* Revert "Use temporary project version"

This reverts commit 24f5e648ed.

* Increment version

* Increment missed version

* Added headers

* Document new command

---------

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
2024-11-10 09:21:24 -05:00
dotasek ef78b46621
Bump org.hl7.fhir.core to 6.4.0 (#6410)
* Add missing implementations + update changed classnames

* Fix breaking test due to new validation rules

* Add changes.yaml

* Bump to HAPI version 7.7.1-SNAPSHOT

* Copyright autogen

***NO_CI***

* Bump to HAPI 7.7.2-SNAPSHOT
2024-11-07 13:10:58 -08:00
James Agnew 96e1c2a5db
Add extension for disabling search params (#6107)
* Combo permutations

* Work on combo

* Add tests

* Add changelog

* Spotless

* Test fix

* Drop label

* Add tests

* Spotles

* Work on disable code

* Cleanup

* CLeanup

* Cleanup

* Add changelog

* Test cleanup

* Review comments

* Spotless

* Compile fix

* Version bump

* Test fix

* Test fixes
2024-11-07 09:11:19 -05:00
Tadgh 9365ad9509
Revert "Fixes for the translation of parameter issues as part of the output f…" (#6441)
This reverts commit fca3ea4445.
2024-11-05 09:14:18 -08:00
Martha Mitran fca3ea4445
Fixes for the translation of parameter issues as part of the output for $validate-code operation. (#6423)
* Move the validation providers to the test utilities package such that they can be reused.

* Update IValidationSupport.CodeValidationIssue structure such that it meets the FHIR specification. Update RemoteTerminologyServiceValidationSupport and VersionSpecificWorkerContextWrapper translation for issues.

* New tests for issue translation. Move test class to a different package so that we can add another test class.

* Some simplification in the issue API to simplify building of issues.

* Fix compilation errors.

* Update providers to allow multiple responses and add  support for the fetchCodeSystem call through method find.

* Setup the first test for resource validation with remote terminology providers.

* Fix NullPointerException

* avoid calling validateCode for CodeSystem where system is null

* Keep old public API methods (and class name) in IValidationSupport and mark them as deprecated to avoid breaking dependencies.

* Revert local change to debug for duplicate errors.

* Add more test cases for resource validation. Throw exception to signal missing test setup to make it obvious.

* Simplify test setup.

* Add some more javadoc

* Add javadoc for the new test class

* Add more tests

* Address code review comments in IValidationSupport.

* Add changelog
2024-11-05 09:13:44 -08:00
Ibrahim e43c140a24
Refactor BaseHapiFhirDao.getOrCreateTag method to run in a separate thread for XA transaction compatibility (#6224)
* Fix typo in docs.

* Refactor the use of ConcurrentTaskScheduler to use the non-deprecated constructor.

* Refactor getOrCreateTag method to prevent transaction suspension for XA transaction compatibility

    The getOrCreateTag method previously used a propagation behavior that caused issues with
    XA transactions when using the PostgreSQL JDBC driver. The PGXAConnection does not support
    transaction suspend/resume, which made it incompatible with the existing propagation strategy
    'PROPAGATION_REQUIRES_NEW'.

    This refactor changes the getOrCreateTag logic to perform a lookup/write in a new transaction
    as before, but running in a separate thread, such that the main transaction is not suspended.
    The result is retrieved through a future.

    This change aims to improve compatibility and prevent transaction-related issues when using HAPI-FHIR with
    XA transactions and PostgreSQL.

    Closes #3412

* Refactor tag creation logic and handle concurrent access:

- Simplified tag creation by removing unnecessary transaction complexity, since we allow duplicate tags in hfj_tag_def from #4813
- Removed redundant retry logic based on updated DB constraints
2024-10-30 10:06:45 -04:00
James Agnew 71cb097aa6
Add author searchin to NPM package search (#6398)
* Add author searchin to NPM package search

* Add changelog

* License header

* Address review comments
2024-10-25 17:01:02 +00:00
Tadgh 443b59a78b
Bump For February Release (#6392)
* Bump Version

* new versions, new folder
2024-10-21 21:03:07 -07:00
Tadgh 60ed1fd225
Rel 7 4 mb 20241018 (#6385)
* use SearchParamater validator in package installer (#6112)

* Ensure ' ' is treated as '+' in timezones with offsets. (#6115)

* Use lockless mode when adding index on Azure Sql server (#6100)

* Use lockless mode when adding index on Azure Sql server

Use try-catch for Online add-index on Sql Server.
This avoids having to map out the entire matrix of Sql Server product names and ONLINE index support.
Warnings in docs, and cleanups

* make consent service dont call willSeeResource on children if parent resource is AUTHORIZED or REJECT (#6127)

* fix hfj search migration task (#6143)

* fix migration task

* changelog

* changelog

* code review

* spotless

---------

Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>

* Enhance migration for MSSQL to change the collation for HFJ_RESOURCE.FHIR_ID to case sensitive (#6135)

* MSSQL:  Migrate HFJ_RESOURCE.FHIR_ID to new collation:  SQL_Latin1_General_CP1_CS_AS

* Spotless.

* Enhance test.  Fix case in ResourceSearchView to defend against future migration to case insensitive collation.

* Remove TODOs.  Add comment to ResourceSearchView explaining why all columns are uppercase.  Changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_4_0/6146-mssql-hfj-resource-fhir-id-colllation.yaml

Code reviewer suggestion

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Code review fixes:  Make changes conditional on the collation including _CI_, otherwise, leave it alone.

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Common API for FHIR Data Access (#6141)

* Add initial interface for common FHIR API

* Fix formatting

* Update javadocs

* Address code review comments

* Add path value to _id search parameter and other missing search param… (#6128)

* Add path value to _id search parameter and other missing search parameters to IAnyResource.

* Adjust tests and remove now unnecessary addition of meta parameters which are now provided by IAnyResource

* Revert unneeded change

* _security param is not token but uri

* Add tests for new defined resource-level standard parameters

* Adjust test

---------

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>

* update to online (#6157)

* SEARCH_UUID should be non-null (#6165)

Avoid using constants in migrations because it creates false history.

* Handle 400 and 404 codes returned by remote terminology operation. (#6151)

* Handle 400 and 404 codes returned by remote terminology  operation.

* Some simplification

* Adjust changelog

* Add a comment to explain alternate solution which can be reused.

* fix concepts with no display element for $apply-codesystem-delta-add and $apply-codesystem-delta-remove (#6164)

* allow transaction with update conditional urls (#6155)

* Revert "Add path value to _id search parameter and other missing search param…" (#6171)

This reverts commit 2275eba1a0.

* 7 2 2 mb (#6160)

* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* 6051 bulk export security errors (#5915)

* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* refactor bulk export rule, add concept of appliestoallpatients, fix tests

* spotless

* Cahgnelog, tests

* more tests

* refactor style checks

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>

* Convert a few nulls to aggressive denies

* Change chain sort syntax for MS SQL (#5917)

* Change sort type on chains

* Change sort type on chains

* Test for MS SQL

* Comments

* Version bump

* Updating version to: 7.2.1 post release.

* Fix queries with chained sort with Lucene by checking supported SortSpecs (#5958)

* First commit with very rough solution.

* Solidify solutions for both requirements.  Add new tests.  Enhance others.

* Spotless.

* Add new chained sort spec algorithm.  Add new Msg.codes.  Finalize tests.  Update docs.  Add changelog.

* pom remove the snapshot

* Updating version to: 7.2.2 post release.

* cherry-picked pr 6051

* changelog fix

* cherry-picked 6027

* docs and changelog

* merge fix for issue with infinite cache refresh loop

* Use lockless mode when adding index on Azure Sql server (#6100) (#6129)

* Use lockless mode when adding index on Azure Sql server

Use try-catch for Online add-index on Sql Server.
This avoids having to map out the entire matrix of Sql Server product names and ONLINE index support.
Warnings in docs, and cleanups

* added fix for 6133

* failing Test

* Add fix

* spotless

* Remove useless file

* Fix claeaner

* cleanup

* Remove dead class

* Changelog

* test description

* Add test. Fix broken logic.

* fix quantity search parameter test to pass

* reverted test testDirectPathWholeResourceNotIndexedWorks in FhirResourceDaoR4SearchWithElasticSearchIT

* spotless

* cleanup mistake during merge

* added missing imports

* fix more mergeback oopsies

* bump to 7.3.13-snapshot

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>

* Patient validate operation with remote terminology service enabled returns 400 bad request (#6124)

* Patient $validate operation with Remote Terminology Service enabled returns 400 Bad Request - failing test

* Patient $validate operation with Remote Terminology Service enabled returns 400 Bad Request - implementation

* - Changing method accessibility from default to public to allow method overwriting. (#6172)

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* applying Taha Attari's fix on branch merging to rel_7_4 (#6177)

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Automated Migration Testing (HAPI-FHIR) V7_4_0 (#6170)

* Automated Migration Testing (HAPI-FHIR) - updated test migration scripts for 7_4_0

* Automated Migration Testing (HAPI-FHIR) - updated test migration scripts for 7_2_0

* To provide the target resource partitionId and partitionDate in the resourceLinlk (#6149)

* initial POC.

* addressing comments from first code review

* Adding tests

* adding changelog and spotless

* fixing tests

* spotless

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* applying patch (#6190)

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* cve for 08 release (#6197)

Co-authored-by: Long Ma <long@smilecdr.com>

* Search param path missing for _id param (#6175)

* Add path tp _id search param and definitions for _lastUpdated _tag, _profile and _security

* Add tests and changelog

* Increase snapshot version

* Irrelevant change to force new build

---------

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>

* Reverting to core fhir-test-cases 1.1.14; (#6194)

re-enabling FhirPatchCoreTest

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Fix $reindex job with custom partition interceptor based on resource type. Update reindex job to always run with urls. (#6185)

* Refactor logic to bring together partition related logic in batch2 jobs using IJobPartitionProvider. Update logic such that reindex job without urls will attempt to create urls for all supported resource types.

* Small changes and fix of pipeline error.

* Small change to enable mdm-submit to use PartitionedUrl in the job parameters

* Revert logback change. Fix dependency version generating errors in the pipeline.

* Spotless fix. Add test dependency back without version.

* Upgrade test dependency to another version

* Add javadoc for PartitionedUrl. Other small fixes and refactoring in tests.

* Spotless fix.

* Change to JobParameters to fix some of the tests.

* Small changes for code review in test

* Address code review comments.

* Revert change from bad merge.

* Address remaining code review comments

* 6188 subscription not marked as a cross partition subscription matches operation on resources in other partitions (#6191)

* initial failing test

* WIP

* fixing/adding tests

* added changelog

* spotless

* fixing tests

* Cleaning up tests

* addressing commetns from first code review.

* no-op to get pipelines going

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Resolve 6173 - Log unhandled Exceptions in RestfulServer (#6176) (#6205)

* 6173 - Log unhandled Exceptions in RestfulServer.

* Use placeholder for failed streams.

* Starting test for server handling.

* Got test working.

* Fixed use of synchronized keyword.

* Applied mvn spotless.

---------

Co-authored-by: Kevin Dougan <72025369+KevinDougan@users.noreply.github.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Partition aware transactions (#6167)

* Partition aware transactions

* Address review comments

* Test fixes

* Remove dead issue field

* Test fixes

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Add license header

* Attempt fix for npe (#6213)

* wip

* wip

* wip

* remove whitespace

* Add test

* changelog

* Version bump

* Updating version to: 7.4.1 post release.

* Backport for 7.4.2 (#6303)

* version bumps and change log

* cherry pick 6420

* various updates to changelogs

* build formatting changes

---------

Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>

* Updating version to: 7.4.3 post release.

* Backport for 7.4.3 (#6322)

* Composite unique search parameter with dateTime component does not reject resource duplication (#6318)

* Composite Unique Search Parameter with dateTime component does not reject resource duplication - failing tests

* Composite Unique Search Parameter with dateTime component does not reject resource duplication - implementation

* Composite Unique Search Parameter with dateTime component does not reject resource duplication - changelog and test fixes

* 2024.08.R03 backport - version bump

* merge conflicts

* conflicts

* Updating version to: 7.4.4 post release.

* bumping fhir core version (#6364)

* bumping fhir core version

* default methods

* adding changelog

* fixes

* remove commented out code

* version bump and some minor test fixes

* version bump

* changelog

* review fixes

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>

* Fix up folders, rewrite changelog

* Add support for response parameter issues for `validate-code` operation (#6360)

* Add support for response parameter issues for validate-code operation. Implement workaround for missing error for invalid codes by adding an issue when it is absent.

* address minor code review comments

* revert functionality of adding original code from remote validate-code call to the CodeValidationResult

* revert change to FhirInstanceValidatorR4Test

* Revert some of the code review addressal after responding.

* Remove populating message in success scenarios.

* Fix compilation failure in test after reverting method rename.

* Revert change to populate the code from the response again as it implies more refactoring.

---------

Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>

* Backport info

* resolution

* bad merge

* wip

* spotless

* duplicate changelog

* bad merges

* Fix NPE

* Test failure

* wip

---------

Co-authored-by: Emre Dincturk <74370953+mrdnctrk@users.noreply.github.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smiledigitalhealth.com>
Co-authored-by: JP <jonathan.i.percival@gmail.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: Martha Mitran <marthamitran@gmail.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: volodymyr-korzh <132366313+volodymyr-korzh@users.noreply.github.com>
Co-authored-by: Martha Mitran <martha.mitran@smiledigitalhealth.com>
Co-authored-by: Kevin Dougan <72025369+KevinDougan@users.noreply.github.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>
2024-10-21 09:07:28 -07:00
TipzCM 5b23e1bbec
fixing bug with fulltext and jpa search filters (#6374) 2024-10-17 14:46:21 +00:00
Brenin Rhodes 161a077f2a
Update Clinical Reasoning to 3.13.0 (#6358)
* Update Clinical Reasoning to 3.12.0

* Update to 3.13.0

* add stub for new not document parameter

* Add new client Timezone header and enhance JsonUtil to handle ZonedDateTime.

* Add StringTimePeriodHandler and test.  Add new code to DateUtils and new test class.  Inject StringTimePeriodHandler into MeasureOperationsProvider and CareGapsOperationProvider.   Change CareGapsOperationProvider to take String params instead of IPrimitiveType<Date>.

* Remove old LibraryEvaluationOperationProvider

* Fix test

* Fix tests

* Add $data-requirement parameters to docs

* Update docs for new measures timezone header.

* Add prefetchData parameter to $apply doc

* Add changelog

* Fix test

* Update snapshot version

* Add new $extract parameters to docs

* Remove old test

* fix test and properties for care-gaps

* Fix dstu3 config

* remove property for fhirserverurl

* update upgrade.md doc

* fix formatting of upgrade doc

* comment on measureidentifier param

* nonDocument parameter inclusion

* java doc on care-gaps

* No longer dead code.

* Spotless.

* Change CareGapsOperationProvider to R4 BooleanType.

* Update to release

* change log update

* change log edit

* cleanup

* Use existing bean

* spotless

* Ensure CollectDataOperationProvider uses StringTimePeriodHandler to convert periods.

* Spotless.

* Add tests for id

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_6_0/upgrade.md

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_6_0/upgrade.md

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_6_0/upgrade.md

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* cleanup and comments

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/clinical_reasoning/measures.md

Implement code reviewer suggestion on timezone docs

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/clinical_reasoning/measures.md

Implement code reviewer suggestion on timezone docs

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/clinical_reasoning/measures.md

Implement code reviewer suggestion on timezone docs

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/clinical_reasoning/measures.md

Implement code reviewer suggestion on timezone docs

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Code review feedback:  Add logging for StringTimePeriodHandler.

* Spotless.

* cleanup

* Code review feedback:  measures.md style changes.  Change code 2560 to 2561.

* Change error code.

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smiledigitalhealth.com>
Co-authored-by: Justin McKelvy <60718638+Capt-Mac@users.noreply.github.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
2024-10-17 08:38:42 -04:00
Nathan Doef 8f52f1c769
Fix Regression (#6376)
* failing test

* fix
2024-10-17 07:12:21 -04:00
James Agnew 4ab958a58f
Add hash identity token mode (#6375)
* Add hash identity token mode

* Spotless

* Test fix
2024-10-16 22:08:43 +00:00
Michael Buckley d4227baf2a
Add partition_id to search joins (#6325)
* Failing test

* cleanup

* revert partition in group by clause

* test update for new joins

* Give up on nullable join

:not joins require sub-selects
and the nullability can't
support an in(select ) clause.

Bring in flag, and set based on partition settings

* spotless

* changelog

* cleanup

* cleanup

* fixmes

* partitioned sql test

* get sort tested

* revert tests expecting nullable partition joins

* Fix result set parsing when coord-sort is present.

* Cleanup sql test

* Change to default select partition_id

Add sort test cases.

* Fix everything sql

* Fix everything sql

* Fix group-by on offset path

* More sql test fixups

* More sql test fixups

* Test case for cache key

* review feedback

* Revert to HFJ_RES_VER_PROV until we get the migration

* fix for everything from james

* fixme

* Revert column name

* Cleanup

* Test fix

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2024-10-16 15:19:20 -04:00
craig mcclendon 5462471579
fix for 6199 - search include on sqlserver fails (#6365)
* fix for 6199 - search include on sqlserver fails

* fix sql server tests to reflect new orderby col

* noop - force PR rebuild

* spotless formatting fix

* Add a test and rework to use in other SQL

* Fix offset

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2024-10-16 07:13:59 -04:00
TipzCM eadd8c6f0d
improved performance of date searching (#6353) 2024-10-15 16:56:35 -04:00
jdar8 96cc20dc0d
add delete partition pointcut (#6314)
Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>
2024-10-15 13:53:58 -06:00
Ken Stevens 6f94e228b0
batch2 new svc methods (#6310)
* started work on adding new methods

* started work on adding new methods

* review feedback. move dto from api to model

* checkstyle
2024-10-08 08:57:00 -04:00
TipzCM 62fa7ec787
value set expansion (#6286) 2024-10-01 13:52:39 -04:00
volodymyr-korzh fb7571185a
Composite unique search parameter with dateTime component does not reject resource duplication (#6318)
* Composite Unique Search Parameter with dateTime component does not reject resource duplication - failing tests

* Composite Unique Search Parameter with dateTime component does not reject resource duplication - implementation

* Composite Unique Search Parameter with dateTime component does not reject resource duplication - changelog and test fixes
2024-09-26 09:18:35 -06:00
Martha Mitran 20d3e6bb25
Fix missing qualifier search for reference search parameters (#6306)
* Fix missing qualifier search for reference search parameter. Reuse tests and run them for both indexing enabled and disabled.

* Fix edge case where the search parameter has multiple paths. Add a test. Fix some of the compile warnings in a test class.

* Fix test setup.
2024-09-24 23:46:38 +00:00
Aditya Dave 1fad912193
6262 cds hooks returns 400 when extension passed in the cdsservicerequestjson (#6274)
* fail test

* potential fix

* spotless

* alternative fix

* spotless

* remove the new method and replace usage for the old one

* spotless

* fix issue with context failing deserialization

* add validation for context, hook and hook instance

* spotless

* add message codes

* spotless

* changelog

* cleanup

* spotless

* bump version to 7.5.1-SNAPSHOT
2024-09-18 10:01:17 -04:00
dotasek d9f3ac1c3b
Bump org.hl7.fhir.core to 6.3.23 (#6266)
* Bump org.hl7.fhir.core to 6.3.23

* Fix breaking test (check for no value and null)

* Fix typo
2024-09-06 14:51:05 -04:00
Tadgh 070f24ad01
Support versioned docs (#6254)
* wip

* Add new stuff

* spotless

* logs

* wip

* Support forVersion

* test fixes
2024-09-05 14:29:57 -07:00
Ken Stevens 1e2d8b123e
improve match error (#6260)
* improve error message

* improve error message

* fix tests
2024-08-31 20:09:56 -04:00
Etienne Poirier 3e2d84d0f7
Query with FullText searching (_text) does not return expected result (#6217)
* sketch of scroll solution

* implementation of a scrolled search to handle Lucene large resultset.

* legacy code clean up

* adding changelog

* addressing comments from first code review

* adding more test

* correcting implementation after failing test

* no-op change to trigger pipeline

* no-op change to trigger pipeline again

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2024-08-19 14:53:50 -04:00
volodymyr-korzh 568c6d20db
rel_7_4 Merge-back (#6212)
* use SearchParamater validator in package installer (#6112)

* Ensure ' ' is treated as '+' in timezones with offsets. (#6115)

* Use lockless mode when adding index on Azure Sql server (#6100)

* Use lockless mode when adding index on Azure Sql server

Use try-catch for Online add-index on Sql Server.
This avoids having to map out the entire matrix of Sql Server product names and ONLINE index support.
Warnings in docs, and cleanups

* make consent service dont call willSeeResource on children if parent resource is AUTHORIZED or REJECT (#6127)

* fix hfj search migration task (#6143)

* fix migration task

* changelog

* changelog

* code review

* spotless

---------

Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>

* Enhance migration for MSSQL to change the collation for HFJ_RESOURCE.FHIR_ID to case sensitive (#6135)

* MSSQL:  Migrate HFJ_RESOURCE.FHIR_ID to new collation:  SQL_Latin1_General_CP1_CS_AS

* Spotless.

* Enhance test.  Fix case in ResourceSearchView to defend against future migration to case insensitive collation.

* Remove TODOs.  Add comment to ResourceSearchView explaining why all columns are uppercase.  Changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_4_0/6146-mssql-hfj-resource-fhir-id-colllation.yaml

Code reviewer suggestion

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Code review fixes:  Make changes conditional on the collation including _CI_, otherwise, leave it alone.

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Common API for FHIR Data Access (#6141)

* Add initial interface for common FHIR API

* Fix formatting

* Update javadocs

* Address code review comments

* Add path value to _id search parameter and other missing search param… (#6128)

* Add path value to _id search parameter and other missing search parameters to IAnyResource.

* Adjust tests and remove now unnecessary addition of meta parameters which are now provided by IAnyResource

* Revert unneeded change

* _security param is not token but uri

* Add tests for new defined resource-level standard parameters

* Adjust test

---------

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>

* update to online (#6157)

* SEARCH_UUID should be non-null (#6165)

Avoid using constants in migrations because it creates false history.

* Handle 400 and 404 codes returned by remote terminology operation. (#6151)

* Handle 400 and 404 codes returned by remote terminology  operation.

* Some simplification

* Adjust changelog

* Add a comment to explain alternate solution which can be reused.

* fix concepts with no display element for $apply-codesystem-delta-add and $apply-codesystem-delta-remove (#6164)

* allow transaction with update conditional urls (#6155)

* Revert "Add path value to _id search parameter and other missing search param…" (#6171)

This reverts commit 2275eba1a0.

* 7 2 2 mb (#6160)

* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* 6051 bulk export security errors (#5915)

* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* refactor bulk export rule, add concept of appliestoallpatients, fix tests

* spotless

* Cahgnelog, tests

* more tests

* refactor style checks

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>

* Convert a few nulls to aggressive denies

* Change chain sort syntax for MS SQL (#5917)

* Change sort type on chains

* Change sort type on chains

* Test for MS SQL

* Comments

* Version bump

* Updating version to: 7.2.1 post release.

* Fix queries with chained sort with Lucene by checking supported SortSpecs (#5958)

* First commit with very rough solution.

* Solidify solutions for both requirements.  Add new tests.  Enhance others.

* Spotless.

* Add new chained sort spec algorithm.  Add new Msg.codes.  Finalize tests.  Update docs.  Add changelog.

* pom remove the snapshot

* Updating version to: 7.2.2 post release.

* cherry-picked pr 6051

* changelog fix

* cherry-picked 6027

* docs and changelog

* merge fix for issue with infinite cache refresh loop

* Use lockless mode when adding index on Azure Sql server (#6100) (#6129)

* Use lockless mode when adding index on Azure Sql server

Use try-catch for Online add-index on Sql Server.
This avoids having to map out the entire matrix of Sql Server product names and ONLINE index support.
Warnings in docs, and cleanups

* added fix for 6133

* failing Test

* Add fix

* spotless

* Remove useless file

* Fix claeaner

* cleanup

* Remove dead class

* Changelog

* test description

* Add test. Fix broken logic.

* fix quantity search parameter test to pass

* reverted test testDirectPathWholeResourceNotIndexedWorks in FhirResourceDaoR4SearchWithElasticSearchIT

* spotless

* cleanup mistake during merge

* added missing imports

* fix more mergeback oopsies

* bump to 7.3.13-snapshot

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>

* Patient validate operation with remote terminology service enabled returns 400 bad request (#6124)

* Patient $validate operation with Remote Terminology Service enabled returns 400 Bad Request - failing test

* Patient $validate operation with Remote Terminology Service enabled returns 400 Bad Request - implementation

* - Changing method accessibility from default to public to allow method overwriting. (#6172)

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* applying Taha Attari's fix on branch merging to rel_7_4 (#6177)

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Automated Migration Testing (HAPI-FHIR) V7_4_0 (#6170)

* Automated Migration Testing (HAPI-FHIR) - updated test migration scripts for 7_4_0

* Automated Migration Testing (HAPI-FHIR) - updated test migration scripts for 7_2_0

* To provide the target resource partitionId and partitionDate in the resourceLinlk (#6149)

* initial POC.

* addressing comments from first code review

* Adding tests

* adding changelog and spotless

* fixing tests

* spotless

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* applying patch (#6190)

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* cve for 08 release (#6197)

Co-authored-by: Long Ma <long@smilecdr.com>

* Search param path missing for _id param (#6175)

* Add path tp _id search param and definitions for _lastUpdated _tag, _profile and _security

* Add tests and changelog

* Increase snapshot version

* Irrelevant change to force new build

---------

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>

* Reverting to core fhir-test-cases 1.1.14; (#6194)

re-enabling FhirPatchCoreTest

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Fix $reindex job with custom partition interceptor based on resource type. Update reindex job to always run with urls. (#6185)

* Refactor logic to bring together partition related logic in batch2 jobs using IJobPartitionProvider. Update logic such that reindex job without urls will attempt to create urls for all supported resource types.

* Small changes and fix of pipeline error.

* Small change to enable mdm-submit to use PartitionedUrl in the job parameters

* Revert logback change. Fix dependency version generating errors in the pipeline.

* Spotless fix. Add test dependency back without version.

* Upgrade test dependency to another version

* Add javadoc for PartitionedUrl. Other small fixes and refactoring in tests.

* Spotless fix.

* Change to JobParameters to fix some of the tests.

* Small changes for code review in test

* Address code review comments.

* Revert change from bad merge.

* Address remaining code review comments

* 6188 subscription not marked as a cross partition subscription matches operation on resources in other partitions (#6191)

* initial failing test

* WIP

* fixing/adding tests

* added changelog

* spotless

* fixing tests

* Cleaning up tests

* addressing commetns from first code review.

* no-op to get pipelines going

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Resolve 6173 - Log unhandled Exceptions in RestfulServer (#6176) (#6205)

* 6173 - Log unhandled Exceptions in RestfulServer.

* Use placeholder for failed streams.

* Starting test for server handling.

* Got test working.

* Fixed use of synchronized keyword.

* Applied mvn spotless.

---------

Co-authored-by: Kevin Dougan <72025369+KevinDougan@users.noreply.github.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Partition aware transactions (#6167)

* Partition aware transactions

* Address review comments

* Test fixes

* Remove dead issue field

* Test fixes

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Add license header

* rel_7_4 mergeback

---------

Co-authored-by: Emre Dincturk <74370953+mrdnctrk@users.noreply.github.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smiledigitalhealth.com>
Co-authored-by: JP <jonathan.i.percival@gmail.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: Martha Mitran <marthamitran@gmail.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: Martha Mitran <martha.mitran@smiledigitalhealth.com>
Co-authored-by: Kevin Dougan <72025369+KevinDougan@users.noreply.github.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
2024-08-14 15:03:35 -06:00
Michael Buckley 8d1529276b
SEARCH_UUID should be non-null (#6166)
* SEARCH_UUID should be non-null
Avoid using constants in migrations because it creates false history.

* comment
2024-07-26 17:55:17 +00:00
Michael Buckley cd43523afe
Mergeback 7_4 (#6158)
* use SearchParamater validator in package installer (#6112)

* Ensure ' ' is treated as '+' in timezones with offsets. (#6115)

* Use lockless mode when adding index on Azure Sql server (#6100)

* Use lockless mode when adding index on Azure Sql server

Use try-catch for Online add-index on Sql Server.
This avoids having to map out the entire matrix of Sql Server product names and ONLINE index support.
Warnings in docs, and cleanups

* make consent service dont call willSeeResource on children if parent resource is AUTHORIZED or REJECT (#6127)

* fix hfj search migration task (#6143)

* fix migration task

* changelog

* changelog

* code review

* spotless

---------

Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>

* Enhance migration for MSSQL to change the collation for HFJ_RESOURCE.FHIR_ID to case sensitive (#6135)

* MSSQL:  Migrate HFJ_RESOURCE.FHIR_ID to new collation:  SQL_Latin1_General_CP1_CS_AS

* Spotless.

* Enhance test.  Fix case in ResourceSearchView to defend against future migration to case insensitive collation.

* Remove TODOs.  Add comment to ResourceSearchView explaining why all columns are uppercase.  Changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_4_0/6146-mssql-hfj-resource-fhir-id-colllation.yaml

Code reviewer suggestion

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Code review fixes:  Make changes conditional on the collation including _CI_, otherwise, leave it alone.

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Common API for FHIR Data Access (#6141)

* Add initial interface for common FHIR API

* Fix formatting

* Update javadocs

* Address code review comments

---------

Co-authored-by: Emre Dincturk <74370953+mrdnctrk@users.noreply.github.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smiledigitalhealth.com>
Co-authored-by: JP <jonathan.i.percival@gmail.com>
2024-07-26 08:59:24 -04:00
Long Ma 406db339ce bump to 7.5.0-snapshot 2024-07-16 12:25:25 -06:00
Long Ma 0e8f474b51 revert 6e208f16ec 2024-07-16 12:24:19 -06:00
Long Ma 6e208f16ec bump to 7.5.0-snapshot 2024-07-16 10:43:14 -06:00
TipzCM 7e7aae6060
batching subscription msgs (#6084) 2024-07-16 09:22:35 -04:00
Justin McKelvy d2c12a7ac3
6083 clinical reasoning version bump v38 (#6089)
* version bump clinical reasoning

* specifying required patch type

* bumping to 7.3.11-SNAPSHOT

* fix file name

* remove default fhirPatch until bug fixed
2024-07-12 18:24:26 -07:00
volodymyr-korzh 6c446277e3
Patient everything operation with offset query parameter throws exception (#6085)
* Patient $everything operation with _offset query parameter throws exception - tests and implementation
* Patient $everything operation with _offset query parameter throws exception - added changelog
2024-07-11 15:24:54 -06:00
Ken Stevens 7e9faf84b8 change is unit tested 2024-07-10 17:52:40 -04:00
VK-SMILECDR e3f64c23a2
logback test extention assert (#6087)
* initial check-in

* HAPI logback test extension cleanup

* bump version

* revert mistake change

* changes based on review
2024-07-09 20:06:06 +00:00
Aditya Dave ce0160e7f9
cds hooks allow arbitrary strings for extensions (#6026)
* changes to context booter and basecdsservicejson

* cleanup CdsHooksContextBooter

* javadocs

* change JsonNode to CdsHooksExtension

* failing test for service extensions...

* fix extension serialization

* fix extension serialization

* failing test for request extensions not getting parsed...

* try adding a custom deserializer for extension

* try adding a custom deserializer for extension

* try adding a custom deserializer for extension

* wire up CdsServiceRegistryImpl

* fix wiring object mapper

* merge master

* get hook in deserializer

* create CdsServiceRequestJsonDeserializer..

* spotless

* fix for cds service feedback for  CdsHooksControllerTest.java

* spotless

* cleanup...

* spotless...

* docs

* enable tests for CdsHooksContextBooterTest

* more cleanup...

* refactor CdsServiceRequestJsonDeserializer

* apply suggestion

* spotless....

* fix checkstyle...

* spotless

* split custom extension classes into its own package for tests

* add changelog

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_4_0/6023-fix-allowing-arbitrary-json-for-cds-hooks-extensions.yaml

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_4_0/6023-fix-allowing-arbitrary-json-for-cds-hooks-extensions.yaml

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-server-cds-hooks/src/main/java/ca/uhn/hapi/fhir/cdshooks/api/json/CdsHooksExtension.java

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* fix comments

* rename

* fix the comment

* spotless

* version bump to 7.3.9-SNAPSHOT

---------

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2024-07-09 09:45:21 -04:00
Tadgh 3ffb695b6b
increase string value storage length to accomodate larger contains searches (#6037)
* wip test writing

* add test to ES suite as well

* wip

* Changelog

* spotless

* Address review comments

* Test corrections

* Fixes for tests

* Fix changelog
2024-07-09 06:54:24 +00:00
Luke deGruchy ef0aa11e00
Introduce TRM_CONCEPT_DESIG.VAL_VC column to replace VAL (#6080)
* Extend TRM_CONCEPT_DESIG.VAL column from 2,000 to 4,000 characters.

* Increase to 8,000 chars.  Add jira to changelog.

* Implement new design.   Still needs new/updated tests.

* Fix setter.

* Make both columns nullable.  Fix changelog.  Add better error message for HapiMigrator.

* Enhance test.

* Small code review suggestion.

* Cosmetic change to re-trigger build.
2024-07-08 18:19:33 +00:00
Etienne Poirier aafa445d19
Wrapping $meta-add and $meta-delete operation in transactionService execution to support partitioning (#6082)
* wrapping metaAdd/Delete operation in transactionService.execute to have the tenant acknowledged by Spring.

* spotless happiness.

* fixing broken test.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2024-07-08 07:33:02 -04:00
Martha Mitran ecef72729f
Add support for running the reindex job across resources in multiple partitions and all partitions (#6009)
* Cleanup and fix compile warnings

* Cleanup and enhance batch2 jobs to support running them across multiple partitions.

* Add some documentation and fix build in the pipeline.

* Fix tests

* Add support for RequestPartitionId.allPartitions as input to the IJobPartitionProvider. Add tests and fix one test. Add missing changelog.

* Separate basic partition provider logic so it can be reused by Mongo. Update documentation.

* Revert change to apply certain validation only for creates.

* Remove added logs

* spotless fix

* Address code review comments
2024-07-05 22:23:07 -07:00
James Agnew 5e519810ff
Combo Parameter Permutations (#6073)
* Combo permutations

* Work on combo

* Add tests

* Add changelog

* Spotless

* Test fix

* Drop label

* Add tests

* Spotles

* Account for review comments
2024-07-05 12:05:58 -04:00
TipzCM 90251b31ab
fixing issue with infinite cache refresh loop (#6045)
* fixing step 1

* spotless

* cleanup

* cleanup

* cleanup

* review fixes

* review fix

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-06-27 09:27:33 -04:00
James Agnew 7224245217
Combo SearchParameter improvements (#5885)
* Start supporting combo refs

* Work on error codes

* Add tests

* Work on tests

* Fixes

* CLeanup

* Add changelog

* Test fixes

* Test fix

* Clean up tests

* Test cleanup

* Work on tests

* Revert change

* Optimize storage

* Add tests

* Work on tests

* Update docs

* Spotless

* Test fixes

* Revert breaking change

* Merge

* Bump guava

* Address review comments

* Test fixes

* Test fix

* FIx tests

* Address review comments

* Spotless

* Test fix

* Revert change
2024-06-27 08:42:04 -04:00
Tadgh bd83bc17cd
6046 text does not work with r5 (#6051)
* Initial commit of failing test

* wip

* Hack a side-route to not use analyzed versions of the field

* spotless

* Add concept of contains for special

* Changelog, docs

* spotless

* another test

* wip

* refactor

* spotless
2024-06-26 23:20:15 +00:00
Luke deGruchy d4e3698f37
Handle conditional creates across partitions with duplicate search URLs by updating ResourceSearchUrlEntity (#5983)
* First commit.

* SQLs in test class work for Postgres.

* Refine DropPrimaryKeyTask.  Add migration code to do all operations except drop and add primary key.   Comment out stub test code to do all non drop and add primary key operations.  Add verification code to test to verify schema and record counts.

* Oracle drop primary key working.

* Oracle drop primary key working in test code.  Proper drop primary and add primary key tasks working in H2.

* Migration tests work on all 4 databases.

* Spotless.

* Fix compile error.

* Add hapi error codes for new Exceptions.

* Add another hapi error code.

* Cleanup TODOs.  Fix error codes.  Spotless.

* Add new partition conditional create test.  Fix bug from merging tasks class.  Add new unit Add changelog without hapi-fhir issue.

* Add test for conditional create with partitions.

* Fix TODOs.  Reverse unneeded changes.  Rename changelog.  Refinements.  Javadoc.

* Tweak changelog.

* Rename config key internally.  Spotless.

* Fix a newly introduced bug.  Cleanup.  Tweak changelog.

* Small fix.  Spotless.

* Fix compile error.

* Spotless.

* Address code review comments.

* Address more code review comments.

* Fix test.

* Fix test.
2024-06-25 12:11:47 -04:00