Commit Graph

9 Commits

Author SHA1 Message Date
James Agnew 5c4aae0b26
Partitioned ID Mode (#6391)
* Begin work on PK schema selector

* Work on generator

* Filter working

* Add tests

* Work on tests

* Work on contributor

* Work

* Tests passing

* Drop unneeded annotation

* Partition cleanup

* About to merge JpaPid

* Work on IDs

* Tests passing

* Working on query count tests

* Ongoing work

* Ongoing work

* Working on tests - Running but about to try removing
ResourceHistoryProvenanceEntity link

* More tests passing

* Fix some more tests

* Test fixes

* About to add partition ID to selector

* Most query count tests passing

* Work on tests

* Working on includes

* All conditional tests passing again

* About to modify joins in SQL builder

* Search generator refactored, and tests passing

* Tag tests done

* Work on tests

* Everything operation fixed

* Clean up PIDs for batch job

* Clean up search paging

* Work on expunge service

* Work on tests

* Test fixes

* Work on same transaction updates

* Work on JPA R4 tests

* Work on tests

* Fixes

* Work

* Test fix

* Work on tests

* Cleanup

* Test fixes

* Test fix

* Spotless

* License headers

* Test fix

* License headers

* Compile fix

* Test fix

* Test fix

* Test fixes

* Test fixes

* Cleanup

* Test fixes

* Test fixes

* Starting to address fixmes

* Spotless

* More test cleanup

* Test cleanup

* Test fixes

* Test fixes

* Spotless

* Test cleanup

* Test fix

* Deal with test failures

* Spotless

* Test fixes

* About to modify RESOURCE_LOOKUP cache

* Test cleanup

* Intermittent test fix

* Try to resolve intermittent

* More test work

* Test fixing

* Add tests

* Spotless

* Add troubleshooting logs

* Add test logging

* More test logging

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test cleanup

* Test cleanup

* Test fix

* Test fix

* Fixes

* Add tests

* Test cleanup

* Remove stale test

* Test fix

* Imports cleaniup

* Work on migrations

* Work on migrations

* Work on PKs

* Work on tests

* Cleanup

* Test fix

* Test fix

* Spotless

* Test fixes

* Test fix

* Test fixes

* Test fix

* t fix

* Test fixes

* Test fix

* Test fixes

* Add test method

* Test cleanup

* Test fixes

* Cleanup

* Test fixes

* Cleanup

* Test cleanup

* Test fix

* Add migrator support

* More test work

* Spotless

* Add header

* License header

* Test fix

* MDM test fixes

* Test fix

* Add tests

* Cleanup

* Compile fix

* Spotless

* Work on docs

* Cleanup

* Add partitioned test

* Work on tests

* Rename JpaPidValueTuples

* Test cleanup

* Test fixes

* Cleanup

* Cleanup

* Spotless

* Spotless

* Test fixes

* Test fixes

* Build fix

* test fix

* Test fixes

* Build fix

* Cleanup

* Merge master

* Cleanup

* Work on tests

* Test fixes

* i

* Cleanup

* Cleanup

* Cleanup

* Work on docs

* Work on cleanup

* Compile fix

* Test fix

* Spotless

* Compile fix

* Refactor for CDR work

* Disable test

* Add constants

* Vdersion bump

* Rename class and add error codes

* Compile fix

* DDL plugin tweak

* Test fix

* Add javadocs

* Cleanup

* Address review comments

* Plugin version bump

* Address review comments

* Test fixes

* Test cleanup

* Partitionable indexes

* Address fixmes

* Test fix

* Bump to force CI job

* Docs fix

* Fix typo

* Test fixes

* Docs fix

* Test cleanup

* Remove unused field

* Work on migration

* License headeer updates
2025-01-02 15:57:56 -05:00
Emre Dincturk 4feb489735
6486 implement patient merge (#6568)
* begin with failing test

* wpi merge operation provider

* wip code resolve references and some refactoring

* respect status code set in providers

* more validation and code to update resources after refs are updated

* added source-delete parameter and some validation tests on result-patient

* update test

* update test

* return target patient as output parameter, do not add replacedby link to target if src is to be deleted

* output definition

* ignore identifiers in ref, more unit tests, return target in preview mode

* output definition

* return input parameters in the merge operation output

* copy identifiers from source to target (no duplicate check)

* add shared identifier

* add shared identifier

* moar asserts

* moar asserts

* fixing result patient

* fixing result patient

* fixing result patient

* add duplicate check when copying source identifiers to target

* copy result-patient before passing it to service

* add preview to test

* update preview asserts

* move IReplaceReferencesSvc to storage-package, and call replaceReference in patient merge

* moar tests

* cleanup

* add task test

* add replace references test

* kebab-case replace references

* add sync -> async switch

* test

* test

* start migrating to stream

* validate result-patient does not have link to source if delete-source is true

* add update count to msg in preview mode

* spotless

* change page size -> batch size and create new default max in storage settings

* spotless

* switched to patch transaction

* switched to patch transaction

* switched to patch transaction

* switched to patch transaction

* strip version from returned task

* spotless

* spotless

* async replace references test passes

* align tests

* test small batch size

* do src and target updates in trx, add validation src is not already replaced

* start building batch 2
improve dao

* start building batch 2
improve dao

* start building batch 2
improve dao

* move test setup out to helper

* move replace references tests out

* switch helper to use dao

* incresed unit test coverage

* build out batch

* build out batch

* update test to add link to result-patient only if the source is not to be deleted

* batch passes test

* batch passes test

* batch passes test

* made patient-merge return the Task returned from replace references

* batch passes test

* batch passes test

* consolidate async and sync supporting methods into a single storage service

* consolidate async and sync supporting methods into a single storage service

* add merge batch job

* add merge batch job

* added FIXMES for ED

* added FIXMES for ED

* update test to not validate task in preview mode

* mark identfier copied from source to target as old

* copyright headers

* runMaintenancePass before checking merge task status, and renamed test method for merge

* fix test

* fix test

* default

* invoke async merge job in merge service

* starting work on new docs

* starting work on new docs

* document $replace-references

* separate default from max

* fixme

* moar fixme

* moar fixme

* ken last fixme

* return 202 status on async merge, update MergeBatchTest to do more validations

* async success message, inject mergeservice, add async merge unit tests

* make validatePatchResultBundle static again

* added test for adding reference while merge in progress, and merge error handler

* fixed

* fixed

* added error handler to replace references job

* review

* javadoc

* organize imports

* make ValidationResult immutable

* make ValidationResult immutable

* rename ReplaceReferencesRequest

* rename ReplaceReferencesRequest

* rename MergeResourceHelper

* rename MergeResourceHelper

* javadoc

* split merge validation service out from merge service

* split merge validation service out from merge service

* split merge validation service out from merge service

* review feedback

* review feedback

* rename param constants

* rename param constants

* remove IdentifierUtil for visibility

* remove IdentifierUtil for visibility

* final review of hapi side

* review feedback

* review feedback

* fix checkstyle errors, rename MergeOperationInputParameters and add Msg.code

* fix replace reference parameter type, and some copyright headers

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* move $merge into JPA R4

* move $merge into JPA R4

* still need to return 412

* still need to return 412

* return 412

* moar tests

* moar tests

* fix async batch size

* fix async batch size

* fix async batch size

* exception code

* exception code

* fix bean wiring

* fix bean wiring

* fix test

* fix test

* fix test

* fix test

* fix test

* bump pom versions

---------

Co-authored-by: Ken Stevens <ken@smiledigitalhealth.com>
2024-12-24 17:47:48 -05:00
Luke deGruchy 3594770bf6
Integrate with clinical-reasoning 3.15.0 (#6543)
* Integrate with clinical-reasoning master.

* Have IMeasureServiceFactory return R4MeasureEvaluatorSingle.

* Revert MeasureServiceFactory back to returning R4MeasureService.  Introduce R4MeasureEvaluatorSingleFactory to return a R4MeasureEvaluatorSingle.

* Update MeasureOperationsProvider to take an R4MeasureEvaluatorSingleFactory instead of an IMeasureServiceFactory.

* Delete obsolete unit test and copyright header.

* Add javadoc.

* Link to CR 3.15.0.

* Link to CR 3.15.0.

* Fix test failures.

* Add changelog and upgrade notes.

* Fix changelog with wrong issue number.

* Upgrade docs:  Specify reportTypes that will be accepted.

* Code review fixes.

* Bump to 7.7.14-SNAPS.
2024-12-19 14:31:08 -05:00
James Agnew a999cb32c5
Database Partition Mode Merge 3 (#6535)
* Start mods for round 2

* Work on changes

* Work on build

* Work on tests

* Test fixes

* Test fixes

* Test fixes

* Add dump

* potless

* Cleanup

* Cleanup

* Work on mock validation support

* Test fixes

* Test fixes

* Test fixes

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test fixes

* Test fixes

* Test fix

* Test fixes

* Remove redundant test

* Compile fixes

* Test fix

* Add javadocs

* Rename class

* Spotless

* Test fixes

* Compile fix

* Add test logging

* Add test logging

* Work on tracking down intermittent

* Intermittent test fix

* Add logging for another intermittent

* Merge master

* Cleanup

* Work on tests

* Work on tests

* Test fixes

* Test fix

* Test fixes

* Test fixes

* Cleanup

* Merge issues

* HAPI version bump

* Test fix
2024-12-10 21:14:58 -05:00
James Agnew 28d4f65d79
Add option to disable FullText indexing even if HS is enabled (#6426)
* Allow disabling fulltext indexing only

* Test fix

* Test fixes

* Test fix

* Test fix

* Compile fix

* Test fixes

* Fixes

* FIx job name

* Startup fix

* Add changelog

* Cleanup

* Cleanup

* Docs update

* Cleanup

* Tests

* Test fixes

* Cleanup

* Version bump
2024-12-10 13:01:13 -05:00
Michele Adduci 3a2f4e57ca
Updated dependencies and resolving CVEs, bumped SpringBoot to 3.3.5 (#6449)
* Updated dependencies, bumped SpringBoot to 3.3.5

* Fixing compilation issues, added changelog

* Fixing compilation issues, updated changelog, Postgres and Oracle drivers

* Fixing version conflicts for jboss-logging, fixing tests

* Test fix

* Spotless

* Add bumps

* Downgrading lucene

* Update changes.yaml

* HAPI version bump

* License headers

* Cleanup

* Build fixes

* Test fixes

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2024-12-09 06:41:45 -05:00
Tadgh 06580742d4 BUmp versions for new httpclient5 2024-12-06 12:44:24 -08:00
James Agnew 83381ac5f9
Add credit and docs for #6520 (#6542) 2024-12-06 13:56:12 -05:00
Ibrahim Tallouzi 43ce89cda6
Introduce hapi-fhir-client-apache-http5 module for Apache HttpClient 5 support (#6520)
* feat: Introduce hapi-fhir-client-apache-http5 module for Apache HttpClient 5 support

- Added a new module `hapi-fhir-client-apache-http5` to provide HAPI FHIR Client functionality using Apache HttpClient 5.
- Supports gradual migration from HttpClient 4 to HttpClient 5.
- Aligns with Spring Boot 3.0's adoption of HttpClient 5, enabling consistent HTTP client configuration for users of both libraries.

Key Changes:
- Integrated Apache HttpClient 5 for modern, high-performance HTTP requests.
- Ensured compatibility with existing `hapi-fhir-client` and `hapi-fhir-client-okhttp` modules.
- Added basic tests to validate functionality and coexistence of HttpClient 4 and 5.

Impact:
- Non-breaking change; the new module can be adopted independently.
- Facilitates eventual migration of HAPI FHIR to HttpClient 5 across the codebase."

* Add new error codes to the apache-httpclient5 client module.
2024-12-06 13:46:18 -05:00