* 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>
* 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
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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.
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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