Commit Graph

268 Commits

Author SHA1 Message Date
James Agnew a93d06c25f
Restrict bulk export download to specific user (#5052)
* Work

* Bulk export partitioning fixes

* Changelog fixes

* cleanup

* Work on security

* Compile fixes

* Work

* Test fix

* Work

* Add changelog

* License header changes

* Test fix

* Test fix

* Fixes

* Version bump

* Test fix

* Fix accidental change
2023-07-05 12:48:15 -04:00
Ken Stevens 9a6288c363
fix hapi paging regression (#5057)
* fix regression

* change log

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-07-04 18:43:43 +00:00
Ken Stevens 2c6cd60526
bundle paging cleanup (#5044)
* extracted ResponseBundleBuilder and started writing unit tests.  Currently at 71% coverage.

* asert bundle entries

* assert first entry id

* unknown size

* coverage up to 78%

* test filter nulls

* test null id check

* up to 91% test coverage

* 96% test coverage

* 98% test coverage.  this is final state

* fix cyclic dep

* switch to record

* split up large method

* split up large method

* consolidate params

* consolidate params

* IntelliJ Warnings

* cleanup

* cleanup

* extract methods

* extract methods

* param names

* variable name

* formatting

* extract method

* cleanup

* javadoc

* upstream consolidation

* parameter names

* TODO

* TODO

* review feedback

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-07-01 04:23:32 +00:00
James Agnew 6e0651e261
Bulk export partitioning fixes (#5039)
* Work

* Bulk export partitioning fixes

* Changelog fixes

* cleanup

* Compile fixes

* Test fix

* Add JIRA note

* Version bump

* Drop unneeded tag
2023-06-29 08:34:32 -04:00
volodymyr-korzh 1f44ac1092
GenericClient POST paging support (#5013)
* GenericClient POST paging support - implementation and test

* GenericClient POST paging support - fixes

* GenericClient POST paging support - fixes

* GenericClient POST paging support - failed tests fix

* GenericClient POST paging support - HAPI version bump
2023-06-22 15:28:47 -04:00
TipzCM d7bdabb91b
nickname svc refatoring (#5006)
* nickname svc refatoring

* moving things around

* cleanup

* gitignore

* removing factory

* added changelog

* version bump

* fixing test

* fix test

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2023-06-22 08:26:47 -04:00
Luke deGruchy e5699bcbfc
Add auto-generated headers to Java files. (#4999) 2023-06-16 13:53:20 -04:00
TipzCM 65ae1785e8
mdm-clear will now use batch-size parameter (#4985)
* using delete expunge service

* test fixing

* update version

* review points

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2023-06-15 20:32:21 -04:00
volodymyr-korzh e28398fc4c
4888 Add validation for composite SearchParameter components types (#4909)
* Added unit tests for composite SearchParameter validator

* Added validation for composite SearchParameter components

* validation for composite SearchParameter components - fixes

* Modified tests

* fixed string in setDefinition

* validation for composite SearchParameter components - fixed validation and Unit tests

* validation for composite SearchParameter components - added method getActiveSearchParameterByComponentDefinition and unit tests

* validation for composite SearchParameter components - minor fixes

* validation for composite SearchParameter components - remove getActiveSearchParameterByComponentDefinition method

* validation for composite SearchParameter components - optimise import

* validation for composite SearchParameter components - fix changelog

* validation for composite SearchParameter components - improved validation logic

* validation for composite SearchParameter components - improved validation logic (remove unused lines)

* validation for composite SearchParameter components - improved validation logic

* validation for composite SearchParameter components - improved validation logic

* validation for composite SearchParameter components - fixed validation logic

* validation for composite SearchParameter components - added test for uri and number combo search

* validation for composite SearchParameter components - added test for uri and number combo search

* validation for composite SearchParameter components - validation logic fix

* validation for composite SearchParameter components - fixes

* validation for composite SearchParameter components - fixes

* validation for composite SearchParameter components - test fixes

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2023-06-08 11:00:27 -04:00
TipzCM 0a7f97adb7
4917 refactor nicknaming hapi with version bump (#4955)
* refactoring 1

* refactoring step 2

* refactoring matches

* cleanup

* fixing some tests

* fixing more tests

* remove dbugcode

* adding the nickname factory

* code review fixes

* review fixes

* put default to prevent breaking

* refactor review fixes

* more review points

* more review points

* review points

* review points

* more review changes

* review points

* review points

* adding bean

* updating version

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2023-06-06 09:00:14 -04:00
Ken Stevens b84e8c0bcc
Canonicalize R4 topic subscriptions (#4913)
* WIP

* add canonicalizer for R4 topic subscriptions

* test R4 topic subscription registration

* Add support for R4 Subscription Topic Backport

* FIXME

* add filter matching support

* add simpler signature

* add resource type matching to filter

* review feedback

* fixed

* changelog

* test both ways

* add bundle test

* change how toplevel is detected since in some contexts the parent state can be a non-null pre-resource state

* added logs

* changelog

* fix v2 issues

* Clean up WIP comments

* Switch to in-memory event numbers (instead of always 1)

* Final WIP cleanup

* Msg.code

* review feedback

* review feedback

* review feedback

* review feedback

* back out import changes

* back out import changes

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-05-29 05:32:22 +00:00
James Agnew 46857711c9
Delete expunge with cascade (#4931)
* Delete expunge with cascade

* Work

* Workgin

* Version bump hibernate

* Start working on delete cascade

* Work on delete expunge

* Test fixes

* Test fixes

* Add changelog

* Work on cascade

* Fixes

* Test work

* Test fixes
2023-05-27 11:07:59 -04:00
Tadgh 805e80e61f
6.6.0 Mergeback (#4924)
* Force Verify tests

* fix ITs (#4809)

* fix RestHookTestR5IT

* fix intermittent

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>

* Fix migrator error on Oracle (#4814)

* Fix Oracle SQL error

* Add changelog

* Update clinical reasoning version (#4816)

* Update clinical reasoning version

* Update version

* Update version

* Clean-up and more wireup of evaluationSettings

* Add changelog

---------

Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>

* Opening the care-gaps endpoint for GET. (#4823)

Co-authored-by: Chalma Maadaadi <chalma@alphora.com>

* added version to mdm golden resource tag (#4820)

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

* Update the changelog for 4697 to be more descriptive (#4827)

* Update the changelog for 4697 to be more descriptive

* Futher tweaks of the changelog

* Fixes a bug with tags.  (#4813)

* Test, fix

* Drop constraint, add migration

* Add changelog

* Fix userSelected null vs false

* Fix merge

* Fix up checkstyle whining

* One more failure

* Fix test

* wip

* changelog clarity

Co-authored-by: James Agnew <jamesagnew@gmail.com>

* change index

---------

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

* fix migration issue (#4830)

Co-authored-by: Ken Stevens <ken@smilecdr.com>

* Create correct version enum

* Remove superfluous migration

* fixing test (#4835)

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>

* email subscription, throw NullPointerException (#4790)

* fix bug

* Favoring constructor initialization to autowiring.

* enhancing test.

* Making class LoggingEmailSender available outside of the hapi-fhir-japserver-uhnfhirtest module.

* Passing all tests.

* adding changelog.

* Bumping version to 6.5.20-SNAPSHOT

* addressing code review comment.

---------

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

* Add docs for CR operations (#4855)

* Add docs for CR operations

* Correct changelog and javadoc for $package

* Add documentation for $apply parameters

* Add additional documentation for $package

* Cleanup

* Cleanup

* Cleanup

* Address review comments

* Add documentation for $care-gaps operation. (#4862)

* Add documentation for -gaps.

* addressing the comments.

---------

Co-authored-by: Chalma Maadaadi <chalma@alphora.com>

* 4853 validation does not error when display is not the same as the display defined in the codesystem 2 (#4854)

* added failing test

* implemented the solution

* changed test name

* added change log

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/6_6_0/4853-validation-does-not-error-when-display-is-not-the-same-as-the-display-defined-in-the-codesystem-2.yaml

Co-authored-by: James Agnew <jamesagnew@gmail.com>

---------

Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>

* fixing patient everything operator (#4845)

* fixing patient everything operator

* review fix

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>

* fix link

* Move image file

* Bundle resources containing over 100 references to the same Organization will fail with HAPI-2207 (#4871)

* Add failing unit test.

* Fix JpaId Long equality comparison to use ! equals() instead of !=, which fails for different instances of the same Long value.

* Add changelog.

* added warn message and test (#4848)

* added warn message and test

* code review fixes

---------

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

* Issue 4804 full table scan on mpi link during mdm clear (#4805)

* version bump for next release  (#4793)

* version bump

* Bump to correctnumber

* Version Enum and folder

* Remove interim from list

* wip

* Fix operation on nested type-choices in FhirPatch implementation (#4783)

* Fix operation on nested type-choices in FhirPatch implementation

* Add credit for #4783

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>

* #4468 fix previous link offset no cache pagination (#4489)

* #4468 Add test reproducing the issue

* #4468 Fix previous link for no cache offset pagination

* #4468 Use unchecked URI parsing

* Credit for #4489

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>

* Changelog and data generating test

* Add MdmLink index

* Avoid double link deletion

* Use ThreadLocal safely

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Zach Smith <85943952+zachdoctolib@users.noreply.github.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: Aleksej Parovysnik <100864000+alparodev@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>

* Fix erroneous batch 2 $export 75% complete count when the job is COMPLETE (#4859)

* Add failing unit test.

* Add conditional logic to the InstanceProgress progress percentage to disregard the incomplete count if this is called from the reduction step.  This is to get around a race condition in which a work chunk is QUEUED and not yet complete when the reduction step calculates the progress.

* Add final.

* Add changelog.

* disable wars (#4877)

Co-authored-by: Ken Stevens <ken@smilecdr.com>

* 4868 fix paging hapi (#4870)

* fixing some offset and adding a test

* fixing the offset paging

* Removing duplicate

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Aleksej Parovysnik <100864000+alparodev@users.noreply.github.com>

* 4875-binary-access-write-doest-trigger-STORAGE-BINARY-ASSIGN-BLOB-ID-PREFIX-pointcut (#4876)

* Add failing test

* Add failing test

* Fix and changelog

* Pass content type parameter

* Back to auto wiring the context

* Invoke interceptor only when getting blobId, not also when storing it

* Avoid breaking implementers

* Address review comment

* Add new exception Msg code

* Fix broken test

---------

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

* Fix batch job (bulk export) processed record count (#4879)

* Remove racy stats recalc.

* Throw 404 when requesting $export of non-existent Group or Patient (#4890)

* Remove default implementation intended only for interim backwards compatibility (#4894)

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

* Rule apply patient export (#4893)

* Test, fix, and changelog

* Better partition resolution

* Add checks based on rule applier

* Fix ordering failure due to hash set

* Allow empty auth interceptor

* Fix up operation type on invocation

* Add more tests, make hack implementation for patient instance level operation

* Tighten test name

* Changelog

* Default method

* remove dead method

* Remove dead autowire

---------

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

* cve pom changes (#4898)

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

* backport subscription topic bean cleanup (#4904)

* 4891 bulk export do not recurse unasked for resources (#4895)

* updating tests

* fixing bulk export to not fetch resources not requested

* cleanup

* cleanup

* more warning suppressing

* adding error code

* blah

* fix test

* review fixes

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>

* lowers log level to remove bootup noise (#4908)

* CVE rel 6 6 (#4907)

* cve pom changes

* bump javax.el to jakarta.el

---------

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

* Issue 4905 post binary failure invoking interceptor for pointcuts storage preshow resources (#4906)

* Initial failing test

* Avoid applying binary blob id prefix multiple times

* Remove recently introduced method not needed anymore

---------

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

* Enhance LogbackCaptureTestExtension (#4869)

* repro bug with test, fix bug

* ken informed me he resolved this bug on master, so i'm switching to use his solution

* disable wars

* review feedback

* review feedback

* review feedback again

---------

Co-authored-by: josie <josie.vandewetering@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>

* Resolve 4863 from release branch searchparametercanonicalizer does not account for search parameters for custom resources types when converting dstu23 into runtimesearchparam (#4887)

* Modified canonicalizeSearchParameterDstu2 and 3, now correctly detect search parameters for custom resources

* Canonicalizers now correctly handle search parameters for custom resources

* created changelog

* Modification based on comments:
- remove Resource from target field when there are custom resource types
- fixed changelog typo
- removed unnecessary variable providesMembershipInCompartments

* Added tests for the SearchParameterCanonicalizer to test if base and target of RuntimeSearchParam is set as expected for DSTU2, DSTU3, R4, R4B, and R5 resources

* Fixed typo and removed commented code

* re-ordered init methods

* Update changelog

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

* modifications following first code review.

---------

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

* License

* Remove _lastUpdated filtering of _revincludes. (#4899)

Remove _lastUpdated filtering of _revincludes.

* 4910-dm-migration-error-for-oracle-19c (#4916)

* Remove all_constraints references which break in oracle 19c

* Add changelog

---------

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

* 4873 empty fhirid causes missing resource (#4874)

* add check for empty fhirid string and add test

* add test for populateid

* changelog

* version bump

* version bump

* reverse version bump

* Back to 6.5.21-SNAPSHOT.

---------

Co-authored-by: justindar <justin.dar@smilecdr.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>

* Fix include canonical url performance (#4919)

Use hash_identity for canonical join

* License

* Version bump

* Fix failure in test

* Licenses

* Review comments for pipeline

* Dead entry

* other typo

---------

Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: Brenin Rhodes <brenin@alphora.com>
Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>
Co-authored-by: chalmarm <44471040+chalmarm@users.noreply.github.com>
Co-authored-by: Chalma Maadaadi <chalma@alphora.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Sam Gunter <123124187+samguntersmilecdr@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: Zach Smith <85943952+zachdoctolib@users.noreply.github.com>
Co-authored-by: Aleksej Parovysnik <100864000+alparodev@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: Josie <80289977+pepsiofficial@users.noreply.github.com>
Co-authored-by: josie <josie.vandewetering@smilecdr.com>
Co-authored-by: TynerGjs <132295567+TynerGjs@users.noreply.github.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: justindar <justin.dar@smilecdr.com>
2023-05-20 20:38:35 -07:00
David d94627c382
4847 allow filtering batch jobs by status (#4849)
* Add method to get all jobs of a certain status

* add queries

* add tests

* Refactor so extra parameter is not added

* Version bump

* Fix broken test

* Revert accidental change to pom unrelated to version

---------

Co-authored-by: David Chen <david.chen@smilecdr.com>
2023-05-18 14:46:44 -04:00
James Agnew 1c66e57465
Update resource provenance indexing strategy (#4883)
* Add migration

* Update indexes

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java

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

* Address review comments

* Test fixes

* Test fixes

* Test fix

---------

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
2023-05-18 13:23:57 -04:00
Ken Stevens 55940bdf27
Add PreviousVersion service with tests (#4902)
* started writing PreviousVersionReader

* started writing PreviousVersionReader

* moar tests

* add partitioning to the test

* switch subscription to use previous version reader

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-05-16 22:59:47 -04:00
James Agnew 05defb58c5
Server fixes from Connectathon 32 (#4838)
* NPM test cleanup

* fix imports

* Ongoing cleanup

* Rework memory queue

* Reindex cleanup

* Cleanup

* Clean up

* Test fixes

* Test fixes

* Test fixes

* Test fix

* Test fix
2023-05-15 08:28:55 -04:00
James Agnew 483ddca3be
Transaction with delete then update should not fail (#4831)
* Fixed

* Test fixes

* Add test

* Ongoing work

* Work on xactx

* Cleanup

* Changelog cleanup

* Resolve fixme

* Rework broken APIs

* Version bump

* Add license headers

* License header update

* License

* rk on fixes

* Test fixes

* Address review comments

* Test fixes

* Add license headers

* License header
2023-05-15 07:41:40 -04:00
Ken Stevens 4313dc9958
pointcut exceptions (#4822)
* enforce no exceptions on the invoking thread in PointCutLatch

* comment

* Msg.code

* Catch exceptions outside of await block

* fix migration issue

* Refactor PointcutLatch and add tests

* fix tests

* fix tests

* fix tests

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test!

* fix test!

* fix test

* fix test

* clean up latch error formatting

* fix test

* fix test

* fix test

* fix test

* fix test

* fix tests

* fix test

* fix test

* Remove hapi-fhir-jpaserver-uhnfhirtest from build as it is crashing CI

* fix test

* fix intermittent

* A SNAPSHOT dependency on an upstream module was added to HAPI FHIR, which changed and caused some downstream tests to break.

* fix intermittent

* Add Maven enforcer plugin for CR dependencies

* Make maven enforcer conditional on CI builds

* Remove hapi-fhir-jpaserver-uhnfhirtest from build as it is crashing CI

* improve test logging

* pre-review cleanup

* review feedback

* remove hapi-fhir-base-test-jaxrsserver-kotlin from the build

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>
2023-05-11 22:31:38 -04:00
JasonRoberts-smile 0475cb682f
Jr 20230502 fhir patch test coverage (#4841)
* add tests for fhir patch

* extract constants

* extract some methods

* isolate add operation

* isolate delete operation

* isolate replace operation

* isolate move operation

* clean up integer handling

* enumeration creation

* improve variable naming

* code review feedback
2023-05-11 16:40:57 -04:00
Ken Stevens 224b7f6206
SubscriptionTopic part3 (#4817)
* Force Verify tests

* wip

* merge troubleshooting rel_6_6 troubleshooting changes

* fix ITs (#4809)

* fix RestHookTestR5IT

* fix intermittent

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>

* post-merge cleanup

* fix test

* fix mock test

* fix wiring

* fix mock test

* fix test

* use IBaseResource.isDeleted()

* fixmes

* cleanup

* change log

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-05-09 16:29:21 -04:00
James Agnew a3c33d2a53
Add BasicAuditEventLogging (BALP) Interceptor (#4787)
* Begin work on BALP interceptor

* Work on BALP

* Basic profile

* Work on BALP

* Add BALP

* Work on balp

* Add update and delete

* Work on BALP

* Add logging

* Tests

* Modify test server

* Work on docs

* Add documentation

* Add changelog

* Fix #4728 - Typos in docs

* Test fixes

* Move changelog

* Update hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/balp/BalpAuditCaptureInterceptor.java

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

* Resolve PR comments

* Test fixes

---------

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
2023-05-03 15:46:22 +00:00
Zach Smith 9c1d235f90
Fix operation on nested type-choices in FhirPatch implementation (#4783)
* Fix operation on nested type-choices in FhirPatch implementation

* Add credit for #4783

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2023-05-01 09:52:34 +00:00
Tadgh 9a095cc2d7
version bump for next release (#4793)
* version bump

* Bump to correctnumber

* Version Enum and folder

* Remove interim from list

* wip
2023-04-30 15:01:28 -04:00
Luke deGruchy 79c96dc1bb
Port changes to master from release branch 6_4 (#4785)
* Start porting changes to master that were lost from the release branch.

* Add remainder of tag changes from release branch.

* Changelog changes.

* Fix schema migration.

* Remove duplicate lines.

* Update core to 6.0.1.

* Fixes for new core.

* Bump to snapshot 19 to mirror James' changes.

* Fix migration tasks.

* Fix some of the tests due to the core upgrade.

* Fix rest of tests.
2023-04-28 19:56:02 +00:00
James Agnew e2e5ff6bb8
Version bump HAPI FHIR (#4788) 2023-04-28 19:30:51 +00:00
James Agnew 69a79e39a1
Subscription retriggering enhancements (#4758)
* Work on forward porting reindex optimize storage

* Subscription retriggering performance enhancements

* Adjust readmes

* Add a test

* Add test

* Cleanup

* Test cleanup

* Add comment

* Add changelogs

* Test fixes

* Test fixes

* Bump size

* Fixes

* Test logging

* Restore forkcount

* Test fix

* Test fix

* Version bump

* Clean up changelogs

* Address review comment
2023-04-28 12:06:38 -04:00
James Agnew e2717bd63a
Bump corelib to FHIR R5 Final (#4727)
* Core bump

* Build build issues

* Bump core

* Cleanup

* Cleanup

* Resolve intermittent

* Work on core

* Add failing test for a check

* Test fixes

* Fixes

* DOn't mangle subscriptions

* Fix

* License headers

* Build fixes

* Version bump

* Compile fixes

* Fix compile issues
2023-04-28 06:28:22 -04:00
longma1 2171ad04a2
3924 mdm match resources across partitions and storing golden resources on a specific partition (#4770)
* added mdm search all partition for golden resource functionality

* added mdm partition setting

* build header fix

* test fixes and added missing side effect of allowing cross partition links on opeartions

* added changelog, also test fixes

* fixed changelog to an actual yaml file

* review fixes,  also simplified tests

* reverted one test because the original test schenario was correct

* added setting clearing in afterEach method so test dont fail while run in maven

* bump to pre-15

---------

Co-authored-by: Long Ma <long@smilecdr.com>
2023-04-28 02:15:35 -06:00
David 457b39bac1
Fix $mdm clear doesn't expunge golden record resources (#4767)
* Failing test

* Add method to expunge collection of deleted resources

* Failing test passes

* Add changelog

* Version bump

* Forgot to commit change

* Update test

* Check type validity

* Fix broken tests

---------

Co-authored-by: David Chen <david.chen@smilecdr.com>
2023-04-27 21:35:27 -06:00
JasonRoberts-smile ae1e7400dd
delete operation removes element from list (#4782)
* delete operation removes element from list

* changelog
2023-04-28 00:01:28 +00:00
Tadgh 78b3b148ba
Support `_exportId` for bulk exports. (#4781)
* Full implementation, test, changelogs

* Add changelogs

* Add default method

* Update hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/WriteBinaryStep.java

Co-authored-by: James Agnew <jamesagnew@gmail.com>

* Code Review Comments

* Compilation failures

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2023-04-27 21:46:09 +00:00
James Agnew f9de5c918e
Apply fixes to review comments for #4772 (#4780)
* Add post-fetch filtering to bulk export

* Add changelog

* Add validator

* Test fixes

* Test fix

* Review comments for #4772

* Commit fix
2023-04-27 14:23:01 +00:00
James Agnew 855e10a62d
Add post-fetch filtering to bulk export (#4772)
* Add post-fetch filtering to bulk export

* Add changelog

* Add validator

* Test fixes

* Test fix
2023-04-26 17:05:03 -04:00
Ken Stevens 6b9af3291e
R5 Subscriptions (#4748)
* comments from conversation with Gino

* rewrite R5 subscription canonicalization.  Expect the r5 subscription tests to fail now

* SubscriptionTopicR5Test passes now

* R4B tests pass now

* first two tests in RestHookTestR5Test now pass.  just need to convert the rest

* third test passes

* fourth test passes

* tests pass up to line 294

* wow what a marathon.  Turns out when we stripped the version we didn't remove it from the meta version.

* passes up to 427

* RestHookTestR5Test tests pass up to line 582

* RestHookTestR5Test tests pass up to line 591
Added SubscriptionTopicRegisteringSubscriber

* RestHookTestR5Test tests pass up to line 591
Added SubscriptionTopicRegisteringSubscriber

* RestHookTestR5Test tests pass up to line 636
Added SubscriptionTopicValidatingInterceptor

* RestHookTestR5Test tests pass up to line 689

* RestHookTestR5Test tests pass up to line 758

* 4 failures left

* woohoo all tests pass

* all tests pass and no PointCutLatch errors

* Msg.code

* changelog

* checkstyle

* fix some tests

* compile issue

* fix test

* fix regression

* fix test

* R5 currently runs tests in multiple threads, so change the sensitive one to an IT

* licenses

* review feedback

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-26 17:01:00 +00:00
michaelabuckley 8813d9beda
Batch stabilization (#4647)
* Use java event names for work chunk transitions.

* Cherry-pick d5ebd1f667 from rel_6_4

Avoid fetching work-chunk data (#4622)

* add end time to reduction step (#4640)

* add end time to reduction step

* add changelog

---------

Co-authored-by: Long Ma <long@smilecdr.com>
(cherry picked from commit 37f5e59ffc)

* Cancel processing

Provide error message in cancelled jobs, and avoid transitions in final states.

* Apply tx boundary to starting job and first chunk.

* cleanup

* Apply tx boundary to work chunk processing

* Delete BatchWorkChunk

* Introduce events for job create, and chunk dequeue

* Apply tx boundary to chunk handler

* Move instance cancellation to database

* tx boundary around stats collection and completion

* tx boundary around stats collection and completion

* Extend tx boundary to error, fail, and cancel

* Move failure into status calc

* ERROR is not an "ended" state.

* Revert generics cleanup to avoid noise

* Avoid sending gated chunks twice.

* Make no-data path safer.  Cleanup

* Fix mock test for step advance.

* Delete unsafe updateInstace() call

* Cleanup

* Changelog and notes

* Fix cancel boundary.  Cleanups

* Cleanup

* Sort mongo chunks for stable paging.

Other cleanup

* Document error handling

* Cleanup

* Update hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/Batch2JobHelper.java

Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>

---------

Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>
2023-04-25 15:47:23 -07:00
TipzCM 1c0addafeb
transaction bundle multi-threading issues (#4739)
* a solution for trying to avoid multi-thread issues for transaction bundle processing

* cleanup

* using retries

* mnor tweaks

* checking in

* changes

* updating changelog

* some minor tweaks

* cleanup

* flip if

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-20 18:43:37 +00:00
Ken Stevens 9e741cb145
remove enabled flag and instead only create the subscription topic beans in the fhir versions that use them (#4737)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-18 10:20:43 -04:00
Etienne Poirier 88459d0d00
4657 method name is inconsistent with the method behavior (#4659)
* Test implementation

* providing method getMessageKeyOrDefault();

* providing changelog

* preping codereview.

* Deprecating method getMessageKeyOrNull in favor of getMessagekey()

* updating comments following code review.

* Bumping version to 6.5.13-SNAPSHOT

* passing all tests.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2023-04-17 10:41:08 -04:00
James Agnew 7bdbda9ef0
Improve Subscription Retriggering Efficiency (#4742)
* Improve subscription efficiency

* Reduce number of queries

* Add changelog

* Fix ITs

* Review comments

* Test fix
2023-04-17 08:18:57 -04:00
James Agnew 869b6c306a
Allow transaction with conditional create and patch in same bundle (#4735)
* Allow transaction with conditional create and patch in same bundle

* Add changelog

* Cleanup
2023-04-13 15:51:46 -04:00
Ken Stevens cc9d1b992d
fix subscription module restart bug (#4734)
* fix subscription module restart bug

* changelog

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-13 17:06:04 +00:00
Ken Stevens b88ccbc7b0
R4B SubscriptionTopic support (#4724)
* add tests for r4b subscriptions

* begin with failing test

* prepare for SubscriptionTopicLoader

* backwards compatibility

* subscription topic registry done

* topic matching is working

* all but delivery is working now

* yay test passes with FIXMEs

* FIXME -> WIP

* switch notification to bundle

* message codes

* fixme

* disable services for fhir versions below R4B

* fix regression

* fix intermittent

* this change will likely break some other tests

* try a safer option

* fix tests

* fix intermittent (I hope)

* unit test

* improve logic around topic subscription categorization

* moar test

* moar test

* changed to support both r4b and r5

* moar test

* cleanup for test

* moar test

* moar test

* moar test

* changelog

* comment

* Msg.code

* fix mock

* add update test

* fix test cleanup

* tracking link for version converter issue

* review

* fix test

* fix test

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-12 00:44:08 +00:00
James Agnew e500b23fe6
Instance level reindex operations (#4699)
* Reindex improvements

* Work

* Work on reindex

* Test fixes

* Generator now working

* Add instance reindex

* Work

* Build fixes

* Build fix

* Fixes

* Add changelog

* Test fixes

* Resolve checkstyle fix

* Version bump

* Address review comments

* Resolve imports

* Address review comments

* Test fix
2023-04-06 17:00:41 -04:00
James Agnew a2bc9a7212
Partition aware search cleanup (#4706)
* Partition aware search cleanup

* Compile fixes

* Build fixes

* HAPI FHIR version bump

* License

* License header

* Tests
2023-04-02 11:50:20 -04:00
Ken Stevens 4fbeeccda4
enable some disabled tests (#4662)
* enabled test

* added explanations to disabled tests

* added explanations to disabled tests

* yay enabled another one

* yay enabled another one

* testEverythingWithLargeSet2 failing intermittently

* fix intermittent regression introduced by splitting test class

* test passes

* need to document

* updated documentation

* prereview cleanup

* change log

* cleanup

* cleanup

* added breaking changes

* update changelog and breaking changes upgrade document to reverse the change to always return 200 per the spec.

* back out documentation change

* update documentation

* fix tests

* dstu2

* dstu3

* fix r4 validation warning test

* changelog

* hapi-fhir version bump to 6.5.10-SNAPSHOT

* fix cdr test

* fix tests

* remove accidental commit

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-02 08:47:16 -04:00
Justin McKelvy 9066ad618e
Bug cql engine paging (#4664)
* WIP paging

* iterable HapifhirRetrieveProvider

* Bundle iterating action

* cr config update

* adding paging functionality for search in cr

* updating BundleIterable logic and removing paging references

* add measureeval threaded config into cr

* update properties

* adding hapi change log 4663

* version bump for hapi

* update exception with msg.code, move copyright

* exorcism of paging provider from cr

* updating IT tests for terminology evaluatemeasure

* unit test, javadocs, removed reflection code

* added comments for explanation

* fix javadoc, iterable.size instead of method

* update from master

---------

Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>
Co-authored-by: justin.mckelvy <justin.mckelvy@smilecdr.com>
2023-03-31 11:09:50 -04:00
James Agnew e69fe05e96
Re-enable "Flush SP cache after SP change" (#4635)
* Revert "Revert "Flush SP cache after SP change (#4566)" (#4614)"

This reverts commit 9492999ed6.

* Additions for performance

* HAPI version bump

* Test logging improvement

* Test fixes

* Test fix

* Test fix

* Compile fix

* Fix

* License headers

* Test fix
2023-03-29 19:57:57 -04:00
IanMMarshall b2c0a48915
4610 enable partitioning in bulk export (#4682)
* Initial commit adding support for partition awareness to Bulk Export.

* Additional cleanup and remove references in tests to "all partitions".

* Additional cleanup and remove references in tests to "all partitions".

* More cleanup, test fixes and additional checking to validate partition accesses.

* Additional changes to ensure checking of partition during polling operations.

* Add change log.

* More cleanup.

* Change recommended in code review.

---------

Co-authored-by: ianmarshall <ian@simpatico.ai>
2023-03-27 14:22:30 -04:00
James Agnew bcc1ca7593
Transaction SQL Optimization (#4679)
* Start work optimizing transaction

* Tons of test cleanup

* Cleanup

* More optimization

* Optimize

* Many tests fixed

* Work on test fixes

* Optimization done, now doing cleanup

* Cleanup

* Add docs

* Test fixes

* Test fix

* License headers

* Test fix

* Test cleanup

* Test fix
2023-03-24 10:29:56 -04:00