739 Commits

Author SHA1 Message Date
tadgh
a62adf2ca9
8.2.0 mergeback (#6982)
* 6564 default partition id bug (#6917)

* Revert "6564 default partition id bug (#6917)"

This reverts commit 62dc506fe93735f742badc70ca9425eb002cabbc.

* Fix canonicalizer concurrency exception (#6936)

* Add failing test

* Reduce concurrency likelihood by setting collection atomically

* changelog

* fix transaction partition override for post entries (#6931)

* pass in entry specific request details for POST entries in a transaction

* address code review comment

* added test cleanup to restore defaults

* restore unnamed mode in test

* Rel 8 2 changelogs (#6935)

* Once-over some changelogs

* wip

* Apply patch

* onceovering

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/8_2_0/6849-fix-fhir-chain-search-never-completing-with-count-param.yaml

Co-authored-by: Nathan Doef  <n.doef@protonmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/8_2_0/6769-upgraded-core-library.yaml

Co-authored-by: Nathan Doef  <n.doef@protonmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/8_2_0/6865-handle-dupe-resources-in-npm-packages.yaml

Co-authored-by: Nathan Doef  <n.doef@protonmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/8_2_0/6892-fix-patching-operation-fails-for-enumerated-fields.yaml

Co-authored-by: Nathan Doef  <n.doef@protonmail.com>

---------

Co-authored-by: Nathan Doef <n.doef@protonmail.com>

* guard recursion (#6943)

* guard recursion

* enhance test

* change log

* Automated Migration Testing (HAPI-FHIR) - updated test migration scripts for 8_2_0 (#6944)

* initialize requestdetails earlier in cache synchronizer (#6940)

* initialize RequestDetails earlier in BaseResourceCacheSynchronizer

* added change log

* update changelog description as suggested

* Improve Validator Performance For Large Terminologies (#6870)

* validator performance test harness

* Replace VersionConvertorFactory references with VersionCanonicalizer

* fix tests

* clean up duplicate code

* clean up duplicate code

* simplify DSTU2 branch

* Replace VersionConvertorFactory references with VersionCanonicalizer

* fix test

* clean up

* spotless

* test logging

* simplify convertToCanonicalVersionAndGenerateSnapshot

* move test harness to hapi fhir

* fix package structure

* clean up

* loaded terminology programmatically

* spotless

* refactor to add more test cases

* refactor to add more test cases

* add testcase that requires valueset expansion

* test validation using $validate and JpaValidationSupportChain

* start remote terminology test case

* refactor VersionSpecificWorkerContextWrapper

* fix broken cache key

* cache conversion from canonical

* clean up

* remote terminology test

* remote terminology test

* spotless

* clean up

* clean up

* clean up

* improve test stats

* clean up metrics

* clean up metrics

* log individual runs

* log concepts

* clean up

* fix test

* add assertions to verify caching

* changelogs

* cleanup

* logs

* add version canonicalizer to remote terminology validator worker context

* address code review comments 1

* address code review comments 2

* address code review comments 3

* Licenses

* fix broken link (#6956)

* Revert "Revert "6564 default partition id bug (#6917)"" (#6930)

* Revert "Revert "6564 default partition id bug (#6917)""

This reverts commit 0aa6f4d39995292fab0eee173ce46f2d9c4430d8.

* lazy load partitionsettings and subscription cannonicalizer

* version bump

* more default id fixes

* spotless

* review fixes round 1

* review fixes 2

* spotless

* adding comment

* fixing tests

* spotless

* adding more partition ids

* fixing tests

* spotless

---------

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

* Jd 20250428 fix search param ordinal date timing (#6914)

* fix and tests

* changelog

* remove todo

* fix param names

* remove unused/duplicated methods

* address review comments

---------

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

* version bump

* Bump spring-boot

* Temp fix release

* Updating version to: 8.2.1 post release.

* revert publish hack

* Compile fixes

* version bump

* bump again

* Remove dead dep

---------

Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: Gary <garygraham@simpatico.ai>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: Emre Dincturk <74370953+mrdnctrk@users.noreply.github.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: volodymyr-korzh <132366313+volodymyr-korzh@users.noreply.github.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
2025-05-25 20:24:20 -07:00
Ken Stevens
c844c3f576
Bundle operations take 2 (#6965)
* Revert "remove bundle merge changes from this branch (will revert in new branch)"

This reverts commit d113906aecc2a1e2a2c9483224b447e5f49c6cff.

* claude review

* changelog

* rename operation

* review feedback

* fix regression

* spotless

* fix regression

* cosmetic change to trigger new CI

* version bump

* Fix dumb bug in compile-against-cdr pipeline

---------

Co-authored-by: Ken Stevens <ken@smiledigitalhealth.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
2025-05-25 13:23:08 -07:00
Brenin Rhodes
383610cbf8
Remove deprecated CR code (#6975)
* remove deprecated CR code

* add changelog

* bump version
2025-05-24 16:05:03 -07:00
James Agnew
6f050ee96d
Improve circular snapshot generation detection (#6963)
* fix: prevent false circular dependency detection
feat: add test for circular dependency bug in R4 package installation
fixes #6928

* Add a changelog

* Ongoing work

* Take 2 at fixing #6928 - Circular dependency fix

* Test fixes

* Test cleanup

* Update

* Add changelog and get tests passing

* Remove redundant changelog

* Test fixes

* Cleanup

* Delete unused classes

* Fix canonicalizer concurrency exception (#6936)

* Add failing test

* Reduce concurrency likelihood by setting collection atomically

* changelog

* Cleanup

* Review comments

---------

Co-authored-by: Patrick Werner <pa.f.werner@gmail.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
2025-05-16 19:21:56 +00:00
tadgh
70870bad01
Clean build logs (#6955)
* Claudes attempt at warning removal

* Fix shading complaints

* Check for pom change and skip job if found

* Remove double DDL-Generation, quiet license changes

* Tidy javadocs

* Minor fixes for javadocs

* Remove deprecated usages

* TRy to get aggregate javadoc generation working

* Bump messgae and mvn version in enforcer

* Remove bad versions of javadoc

* Revert "Claudes attempt at warning removal"

This reverts commit ac4561c5ad0b0f521c66297d37811be3e8674587.

* wip

* Revert "TRy to get aggregate javadoc generation working"

This reverts commit 775355341267bcd69451567fc070af5473ae4baf.

* Unify lombok deps

* Correct source

* unify versions

* Fix JavaDoc syntax issues to resolve build warnings

Fix various JavaDoc syntax issues including:
- Correctly close HTML tags in URL links
- Properly escape angle brackets, special characters, and HTML elements
- Fix generic type parameters using proper escaping
- Update email address formatting

These changes ensure clean JavaDoc generation and eliminate build warnings.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* One more fix

* Fix JavaDoc ampersand issues for cleaner builds

- Wrapped URL parameters containing & with {@code }
- Replaced prose & with "and" in comments
- Fixed HTML entities in JavaDocs by using {@code }

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix JavaDoc warnings to ensure clean builds

- Fixed invalid @link tag in BaseValidationSupportWrapper.java
- Fixed incorrect closing parentheses in JavaDoc URL references in PrePopulatedValidationSupport.java
- Fixed invalid @link tags with 'this#' prefix in MdmRulesJson.java
- Removed invalid URL from @link tag in package-info.java
- Fixed incorrect syntax in JavaDoc link in MdmResourceFilteringSvc.java

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove FakeConnectionConnectionProvider, disable metadata checking during bootstrap

* Cleanup on the imports

* logs

* wip

* Skip compile-against-cdr if not needed

* Code review comments

* Spotless

* Add spotless prefix

* code review

* Fix bug

---------

Co-authored-by: Gary <garygraham@simpatico.ai>
Co-authored-by: Claude <noreply@anthropic.com>
2025-05-14 07:23:54 -07:00
jmarchionatto
5fe1fc0116
Rename new method fix wording and add test for new operation returning StringOutcome (#6957)
* Improve wording

* Rename method

* Suggested wording

* Add test

* Add test

* Fix warnings

* Increment version
2025-05-13 18:39:50 -04:00
Ken Stevens
f7ce2d19b3
mdm publisher (#6947)
* begin with failing test

* fixed

* spotless

* changelog

* fix intermittent in SubscriptionRestHookDstu3IT

* fix deadlocks

* hapi version bump

---------

Co-authored-by: Ken Stevens <ken@smiledigitalhealth.com>
2025-05-12 07:15:39 -07:00
tadgh
9fa6dca6e7
Revert "Prevent spurious circular-dependency warnings in SnapshotGeneratingValidationSupport (#6929)" (#6954)
This reverts commit 5ca9c6ce94da9ac16a6480e86bcff1059196d014.
2025-05-09 14:23:01 -07:00
Ken Stevens
095c12dd82
subscription broker cleanup (#6934)
* Pulsar subscription tests pass

* Pulsar subscription tests pass

* retry test passes

* headers test passes

* headers test passes

* gracefully close producer

* gracefully close producer

* FIXMEs

* FIXMEs

* FIXME

* organize imports

* spotless

* final review and changelog

* claude review

* claude review

* claude review

* bump poms

* fix test

---------

Co-authored-by: Ken Stevens <ken@smiledigitalhealth.com>
2025-05-07 13:09:03 -07:00
tadgh
75162c57f0
Merge pull request #6927 from hapifhir/rel_8_2_mb_take_2
Mergeback of 8.2.X release branch
2025-05-06 18:12:12 -07:00
Patrick Werner
5ca9c6ce94
Prevent spurious circular-dependency warnings in SnapshotGeneratingValidationSupport (#6929)
* fix: prevent false circular dependency detection
feat: add test for circular dependency bug in R4 package installation
fixes #6928

* Add a changelog

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2025-05-05 16:49:02 +00:00
Tadgh
4782d5e4bf Merge branch 'rel_8_2' into rel_8_2_mb_take_2 2025-05-02 10:31:57 -07:00
Nathan Doef
2fc20cd0a6
Replace VersionConvertorFactory references with VersionCanonicalizer In Validation Code (#6919)
* Replace VersionConvertorFactory references with VersionCanonicalizer

* fix tests

* clean up duplicate code

* clean up duplicate code

* simplify DSTU2 branch

* Replace VersionConvertorFactory references with VersionCanonicalizer

* fix test

* clean up

* spotless
2025-05-02 13:08:22 -04:00
Ibrahim Tallouzi
6f49864419
feat: Add full support for ValueSet filter operators in InMemoryTerminologyServerValidationSupport (#6904)
* feat: add full support for ValueSet filters in in-memory terminology validation

This adds support for all FHIR-defined ValueSet filter operators
(e.g. is-a, descendent-of, is-not-a, in, regex, exists, etc.) to the in-memory
terminology validator (InMemoryTerminologyServerValidationSupport).

Supports:
- Structural filters: is-a, descendent-of, is-not-a, generalizes, child-of, descendent-leaf
- Equality/regex/inclusion: equal (=), regex, in, not-in
- Existence: exists

Adds internal indexing for concept code/display fields to enable efficient traversal
and matching. Follows case-sensitivity rules defined by CodeSystem.

Also includes a full unit test suite for all filters, covering both code and display
properties where relevant.

Fixes issues where descendant-based filters were not honored during expansion in
tests relying on in-memory terminology (e.g. no JPA preload).

Fixes #4447, #6255

* fix(validation): error on filtered ValueSet includes against ignored CodeSystem

When a ValueSet include specifies filters (e.g. “is-a”) but the referenced CodeSystem is
configured as NOT_PRESENT/ignored, in-memory expansion cannot apply structural filters.
Add a guard to throw an ExpansionCouldNotBeCompletedInternallyException in this scenario
rather than silently returning an empty result.

* test(validation): expect in-memory validation to fail for delta-based hierarchy

Previously we asserted success on an in-memory hierarchy check, but the expander
cannot apply ISA filters against a NOT_PRESENT CodeSystem patched only via
`$apply-codesystem-delta-add`. Update the test to assert that
`validateCode(...)` returns a non-OK outcome containing “cannot apply filters”
for the in-memory pass, then continue to validate via the deferred/pre-expanded path.
2025-05-01 15:56:25 -04:00
James Agnew
c97567c167
Transaction processing improvements (#6874)
* Add junk ine

* Add extension for placeholder ID

* Cleanup

* Header

* Cleanup

* Spotless

* Better logging

* Fix transaction conditional URL prefetch on non-token params

* Drop a check

* Adjust query counts

* Improve performance

* Single token optimized

* Test fixes

* About to try to ensure we prefetch resource bodies for conditional create

* Test fixes

* Some test fixes

* Test fixes

* Test fixes

* Test fixes

* Work on tests

* Test fix

* Spotless

* Add docs

* Add test

* Add grouping

* Spotless

* Add size option to CMD

* Adjust consumer

* Cleanup

* Work on bulk import

* Spotless

* More work

* Add logging

* More diagnostics

* add logs

* Cleanup

* Fix premature finishing of bulk import command

* Add changelogs

* Test cleanup

* Test fixes

* Fix tests

* Test fix

* Spotless

* Cleanup

* Resolve conflicts

* Clean up

* Add to transaction response parser

* TransactionUtil parsing improvements

* Work on tests

* Test fix

* Test fixes

* Spotless

* Bug fix

* Build tweak

* Test cleanup

* Add some test logging

* Bump to trigger CI

* Try to address intermittent

* Address review comments

* Version bump

* License header
2025-04-29 22:03:03 -04:00
Ken Stevens
ec773ed84c
update broker api (#6804)
* first steps

* moving channel classes out of subscription

* initial rough-out done

* adding some legacy tests

* jpa subscription tests partially passing

* fix test regression

* fix test regression

* fix test regressions

* fix compile issues
fix test regressions

* rename legacy to spring messaging

* spotless

* hapi-fhir compiles

* fix test regression

* spotless

* first pass at ActiveMq

* fix test regressions

* spotless

* fix test regression

* add message type to listener and consumer and fix test regression

* spotless

* spotless

* compile

* fix test regression

* EmbeddedActiveMqBrokerTest WIP

* compiling

* compiling

* compiling

* compiling

* compiling

* distinguish between getMessageType() and getPayloadType()

* clean up Spring Messaging wrapper

* clean up Spring Messaging wrapper

* fix intermittent

* compiling

* hapi compile

* compiling

* FIXME

* FIXMEs

* moar FIXMEs

* jetbrains

* try new approach: dual interface implementation

* try new approach: dual interface implementation

* fix message type validation

* CdrKafkaListenerTest passes, but at what cost...?

* fix test

* spotless

* fix test regression

* gitignore

* license

* fix regression

* cleanup

* working on ChannelImportR4NoRetriableExceptionsDefinedIT

* merge master

* fixme

* fix Camel Broker regression. That one was a doozy!

* spotless

* CamelBrokerKafkaIT passes. What a tangled mess!

* fix regression

* fix regression

* port 7000

* FIXME

* FIXME

* FIXME

* FIXME

* FIXME move TestMessageListener

* FIXME CdrKafkaListenerTest

* fix test regression

* checkstyle

* initial refactoring

* fix tests

* introduce IHasPayloadMessageKey to consolidate code

* introduce IHasPayloadMessageKey to consolidate code

* spotless

* fix test

* Greatly simplified KafkaSender classes

* javadoc

* javadoc

* javadoc

* javadoc

* cleanup

* move retrying logic out of the consumer and into the listener

* fix test

* poms

* javadoc

* javadoc

* remove ICdrChannelConsumer

* consistent application of exception

* brains...

* remove ICdrChannelProducer

* fix test

* fix mock test

* fix test regression

* licenses

* final cdr review

* bump version

* final review cleanup

* cleanup and organize imports

* final review

* spotless

* FIXME

* bump pom

* fix merge gunk

* rename RawMessage to RawStringMessage

* rename RawMessage to RawStringMessage

* merge master, bump version

* rename test message listener

* review feedback

* review feedback

* review feedback

* spitless

---------

Co-authored-by: Ken Stevens <ken@smiledigitalhealth.com>
2025-04-29 10:30:47 -04:00
tadgh
6f5cc63243
Version bump, enum value, changelog folder (#6898)
* Version bump, enum value, changelog folder

* License updates

* Spotless

* wip

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2025-04-28 00:20:37 -07:00
James Agnew
e6da66d2c0 Update to latest corelib (#6845)
* Don't add hash to contained IDs

* Cleanup

* Test fix

* Fix some tests

* Test fixes

* Test fixes

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test fix

* Spotless

* Test fixes

* Test fix

* Spotless

* Add changelog

* Fix YAML

* Core bum

* License header

* Validation fixes

* Build fix

* Add docs

* Spotless

* Version bump

* Restore commented test
2025-04-24 10:03:49 -04:00
James Agnew
cdc7da6a73
Update to latest corelib (#6845)
* Don't add hash to contained IDs

* Cleanup

* Test fix

* Fix some tests

* Test fixes

* Test fixes

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test fix

* Spotless

* Test fixes

* Test fix

* Spotless

* Add changelog

* Fix YAML

* Core bum

* License header

* Validation fixes

* Build fix

* Add docs

* Spotless

* Version bump

* Restore commented test
2025-04-24 06:18:24 -04:00
Nathan Doef
4c60ab4ea9
Make Remote Terminology FHIR Client Configurable (#6832)
* make remote terminology client configurable

* spotless

* rename

* spotless

* address code review feedback
2025-04-18 22:28:28 -04:00
James Agnew
73199f66a8
Harden HAPI FHIR public server (#6873)
* Harden HAPI FHIR public server

* Add changelog

* Build fix

* Test fixes

* Add doc

* Test fix

* Address review comments
2025-04-17 15:50:54 -04:00
Nathan Doef
3605984144
Add Persistent User Data To Job Instance That Can Be Accessed When Chunks Are Processed (#6758)
* add user data to JobInstance

* add BATCH2_CHUNK_PRE_PROCESSED and BATCH2_CHUNK_PROCESSING_COMPLETED pointcuts

* add canSeeResource() processing to STORAGE_BULK_EXPORT_RESOURCE_INCLUSION

* spotless

* add BATCH2_CHUNK_PROCESSING_COMPLETED_NORMALLY and BATCH2_CHUNK_PROCESSING_COMPLETED_HANDLE_EXCEPTION hooks

* add authorizeRequest() method

* FIXMEs

* fix tests

* resolve fixme

* spotless

* remove fixme

* improve serialization logic

* clean up

* remove consent interceptor changes

* pointcuts changelog

* userdata changelog

* First cut at filter hooks

* Error checking if they dont run the runnable

* Working error checking if they dont run the runnable

* Sketch of new pointcut

* Cleanup warnings

* Convert to Supplier so we have a return value.

* Tidy

* remove old workchunk hooks and replace with BATCH2_CHUNK_PROCESS_FILTER

* spotless

* add Filter Hook Interceptor docs

* update changelogs

* cleanup

* add comment to docs

* add another changelog

* spotless

* code review comments 1

* code review comments 2

* Simplify api for filter hooks with runnable

* fix test

* clean up

* spotless

* bump version to 8.1.5-SNAPSHOT

* fix

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
2025-04-15 18:28:42 -07:00
Ken Stevens
556d016422
r4 topic subscription (#6829)
* begin with failing test

* test passes

* start roughing out R4 SubscriptionTopic registry

* start building topic test

* start building topic test. add r4 builder to help

* basic scenario appears to be working now

* include and revinclude failing test

* include and revinclude support added

* fix test regression

* clean up ISubscriptionTopicLoader

* sonar

* sonar

* review cleanup

* review cleanup

* spotless

* fix api

* fix api

* fix test

* consolidate code duplication

* spotless

* spotless

* need Basic searchparams for R4 SubscriptionTopic registry

* review feedback

* review feedback

* review feedback

* Update hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/topic/SubscriptionTopicPayloadBuilder.java

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

* Update hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/topic/SubscriptionTopicPayloadBuilder.java

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

* review feedback

* spotless

* bump version

---------

Co-authored-by: Ken Stevens <ken@smiledigitalhealth.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
2025-04-02 11:15:48 -04:00
James Agnew
2a09917624
Add partial parsing support (#6810)
* Some parser improvements

* Cleanup

* Work on tokenization

* Call presearch pointcut for conditional URL evaluation

* Clean up changelog

* Resolve fixmes

* Changelogs

* Add one more changelog

* Test fix

* Spotless

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/8_2_0/6810-call-presearch-interceptor-for-match-url-searches.yaml

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

* Address review comments

* Build fix

* Fix android issue

* Test fix

* Test fixes

* Bump core

* Test fixes

* Bump corelib

---------

Co-authored-by: tadgh <garygrantgraham@gmail.com>
2025-03-26 14:14:04 -04:00
jdar8
34e1206b46
version bump (#6824)
* version bump

* add lombok deps

* noop change

* fix list.of() issue

* remove unused import

* revert local ref prefix changes

* add todo comment for list of revert

* spotless changes

---------

Co-authored-by: jdar <justin.dar@smiledigitalhealth.com>
2025-03-25 18:20:33 -07:00
Michele Adduci
e1c4a327d0
Bump HAPI FHIR Core to 6.5.17 (#6769)
* Bumping Core to 6.5.11

* Bumped version of core to 6.5.13, fixed label of message

Signed-off-by: Michele Adduci <adduci.michele@gmail.com>

* Fixing parser for contained resources

* Fixed all the structure tests

* Fixed R4 Tests

* Bumped core to 6.5.15

* Fixed DSTU3 validation issue with update

* Fixed expected text from test

* Bump to 6.5.17

* Corrected expected error message for Slice R4 Tests

* Corrected expected error message for R4 JPA

---------

Signed-off-by: Michele Adduci <adduci.michele@gmail.com>
2025-03-25 11:01:13 -04:00
Abayomi Adebowale
18d50fd012
Fixed an issue where bundles containing an operation outcome from a search get blocked from access. (#6800)
* Merged master into branch

* Fixed an issue where bundles containing an operation outcome from a search get blocked from access.

* addressed comments

* ran 'mvn spotless apply'

* added a javadoc to AuthorizationInterceptor.toListOfResourcesAndExcludeOperationOutcomeBasedOnRestOperationType()

---------

Co-authored-by: Abayomi Adebowale <abayomi.adebowale@smiledigitalhealth.com>
2025-03-20 06:27:22 -04:00
VK-SMILECDR
421eb0c8e5
CDS hooks service group register unregister (#6785)
* add group service handling

* spotless

* bump version

* cleanup based on comments

* spotless
2025-03-11 20:57:32 +00:00
Michael Buckley
ecd0507315
Add lighter description to pointcut invoker (#6774)
* Hapi pointcuts in file
* Bump
2025-03-06 10:36:44 -08:00
TipzCM
41c2e49669
Validation with unknown profile (#6608)
* failing test for invalid profile during validation

* to address validation to fail for unknown profile

* updates to address bringing back the class name that was mistakenly dropped out

* updated the logic and some dependent test cases

* spotless:apply changes

* fixed the existing test cases that were failling due to invalid profile validation logic being added

* remove unnecessary comments

* added changelog

* added jira: SMILE-9129 to changelog

* addressing PR comments

* spotless:apply updates

* addressing code review suggestions

* code review updates

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
Co-authored-by: Buland Malik <bulandaltaf@gmail.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2025-02-24 08:22:35 -08:00
Tadgh
becbf1de78 Merge branch 'rel_8_0' into rel_8_0_mb 2025-02-04 10:39:25 -05:00
jmarchionatto
8d60820554
6662 remote terminology boolean properties as string (#6663)
* Add test for failing use case and fix by adding Boolean property for remote validation

* changelog

* Revert not yet supported change
2025-01-29 16:24:23 -05:00
Tadgh
9f81cdea32 bump to 8.1 snapshot 2025-01-23 06:05:29 -08:00
Justin McKelvy
3793d81d04
6629 clinical reasoning version bump 317 (#6631)
* version bump clinical-reasoning for testing integration

* changelog

* bump CR to release 3.17.0

* bump hapi to 7.7.18-SNAPSHOT

* removing invalid measure example
2025-01-22 18:22:05 -08:00
TipzCM
a23d77b174
store raw json to allow validation to be the same on create as in $validate (#6585)
store text raw resource
2025-01-07 16:44:18 -05:00
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
James Agnew
24abd6bd65
Startup and Testpage Overlay tweaks (#6578)
* Startup and Testpage Overlay tweaks

* Add changelog

* Account for review comments

* Test fix
2024-12-28 17:08:41 -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
Martha Mitran
803e8ca4f5
Small changes related to VersionSpecificWorkerContextWrapper and new tests (#6506) 2024-12-18 21:53:23 +00: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
Mangala Ekanayake
f1318915fe
[6463] use version in canonical url of StructureDefinition to identify it (#6534)
* [6463] use version in canonical url of StructureDefinition to identify it

* Add credit for #6534

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2024-12-06 16:00:23 -05:00
TipzCM
dc4e1c723f
6480 webjar dependencies (#6491)
* removing bootstrap 4 dep in favour of bootstrap 5

* accordions

* fixing some tabs

* radios

* some tweaks

* adding changelog

* updated version

* tweaks

* updating the webtest webclient for better es script support

* disabling tests in hapi

* unwrapping from transaction boundary

* bumping version

* config issue

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-12-06 12:31:19 -08:00
Tadgh
37020b1820
Contained device in narrowing (#6537)
* Tests

* Changelog

* remove shims

* more tests

* upgrade

* Remove fixme

* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java

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

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2024-12-06 04:56:41 +00:00
Ken Stevens
0a88c31cf3
mdm match_only mode (#6503)
* Started implementing mdm passive mode

* check subscriptions

* check kafka consumers

* switch boolean to enum

* hapi changelog

* renamed enum values per slack conversation

* checkstyle

* review feedback
move developers section out to developers.xml

* version bump

* revert moving developers out

* review feedback

* review feedback

---------

Co-authored-by: Ken Stevens <ken@smiledigitalhealth.com>
2024-12-03 12:36:54 -05:00
James Agnew
ea1d179b9a
Caching cleanup (#6522)
* Tests passing

* Cleanup

* Cleanupo

* Test fixes

* Test fix

* Cleanup

* Update hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/ValidationSupportChain.java

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

* Update hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/ValidationSupportChain.java

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

* Update hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/ValidationSupportChain.java

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

* Account for review comments

* Spotless

* Compile fix

* Test fixes

* Test cleanup

* Test cleanup

* Test fixes

* Resolve fixme

* Test fix

* Test fixes

* Test fixes

* Test fixes

* Fix

* Test fix

* Test fixes

* Test fixes

* Cache cleanup

* Work on caches

* Add changelog

* Compile fix

* Spotless

* Test fix

* Fix

* Cache cleanup

* Trying to figure out why Lucene tests are failing

* Test fix

* More cleanuo

* Test fix

* Test fix

* Address some review comments

* HAPI FHIR version bump

* Test fixes

* Cleanup

* Add assert

* Add check

* Test fixes

* Bulk export fix

* Test fixes

* Add some test logging

* Cleanup

* Cleanup

* Test cleanup

* Add test logging

* Attemped test fix

* Add testing method

* FIx build

* Attempted test fix

* Try to fix tests

* Restore fixme

* Spotless

* Test fix

---------

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2024-11-29 17:00:59 -05:00
James Agnew
362dc095ac
Streamline ValidationSupportChain (#6508)
* Tests passing

* Cleanup

* Cleanupo

* Test fixes

* Test fix

* Cleanup

* Update hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/ValidationSupportChain.java

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

* Update hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/ValidationSupportChain.java

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

* Update hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/ValidationSupportChain.java

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

* Account for review comments

* Spotless

* Compile fix

* Test fixes

* Test cleanup

* Test cleanup

* Test fixes

* Resolve fixme

* Test fix

* Test fixes

* Test fixes

* Test fixes

* Fix

* Test fix

* Test fixes

* Test fixes

* HAPI version bump

* Try to address intermittent

---------

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2024-11-27 17:45:17 -05:00
Tadgh
86c2c13e0f
7.6.0 Mergeback (#6494)
* 6323 resource creation deadlock (#6324)

* make map reads concurrent

* change log

* CUstom version number for guaranteed build determinism

* licenses

* Expand translation cache (#6341)

* Expand translation cache

* Add changelog

* Correction to #6341 (#6342)

* Contained bug (#6402)

* Contained bug

* more tests

* changelog, tests, implementation

* code review

* backwards logic

* Fix Questionnaire doc (#6400)

* fix reindex optimizeStorage=ALL_VERSIONS (#6421)

* fixing broken rename of last step of reindex (#6429)

* Fixes for the translation of parameter issues as part of the output for $validate-code operation. (#6438)

* 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

* Change Repository search interface from Map to Multimap (#6445)

Change Map to Multimap to support multiple and clauses.

* licenses

* fix interceptor hooks from requestDetails not getting called for STORAGE_PRECHECK_FOR_CACHED_SEARCH (#6436)

* fix interceptor hooks from requestDetails not getting called for STORAGE_PRECHECK_FOR_CACHED_SEARCH

* added unit tests and updated changelog

* added one more test case

* Add Adapter api (#6450)

Lightweight implementation of the adapter pattern.

* Bulk Import job status not changed after activation - failing test, fix, changelog (#6452)

* Update CR to 3.13.1 (#6433)

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

* Rel 7 6 CVE (#6446)

* Bump commons io

* Bump HS and Lucene, and hibernate

* Jetty bump for CVE

* Resolve CVES

* Bump with mismatch lucene

* Bump velocity template engine

* Revert bom bump

* wip

* Version bump

* move changelog, fix cve

* Bump commons-lang

* Replace imports

* wip

* fix HQL break

* remove dead code

* Fix changelog entry

* Bump org.hl7.fhir.core to 6.4.0 (#6454)

* Bump HAPI version + org.hl7.fhir.core to 6.4.0

* Apply spotless

* Correct a bug with duplicate parser IDs being assigned.  (#6456)

* Fix changelog entry

* wip

* compilation problem

* Correct tests

* changelog

* Update hapi-fhir-structures-r4/src/test/java/ca/uhn/fhir/parser/JsonParserR4Test.java

Co-authored-by: volodymyr-korzh <132366313+volodymyr-korzh@users.noreply.github.com>

* Correct a bug with duplicate parser IDs being assigned - test fixes

* Correct a bug with duplicate parser IDs being assigned - spotless

* Correct a bug with duplicate parser IDs being assigned - added test-utilities dependency to fhir-structures poms

* Correct a bug with duplicate parser IDs being assigned - test fixes

* Contained resources without assigned IDs are now assigned GUIDs - address comments

---------

Co-authored-by: volodymyr-korzh <132366313+volodymyr-korzh@users.noreply.github.com>
Co-authored-by: volodymyr <volodymyr.korzh@smilecdr.com>

* licenses

* ValueSet expansion fails if Hibernate Search configured to use Lucene - fixed incompatibility between Hibernate Search and Lucene versions (#6468)

* Change the migrator to avoid table locks when adding an index. (#6489)

* version bump

* Updating version to: 7.6.1 post release.

* Bump to 7.7.7.

* deadsapce

* Profile reference param (#6501)

* updated QueryStack to not throw error with _profile as a ReferenceParam

* update QueryStack

* remove warnings

* cleanup cast

* cleanup test

* add changelog

* cleanup imports

* updates per review feedback

* updates per review feedback

---------

Co-authored-by: taha.attari@smilecdr.com <taha.attari@smilecdr.com>

* move changelog

---------

Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: Brenin Rhodes <brenin@alphora.com>
Co-authored-by: Emre Dincturk <74370953+mrdnctrk@users.noreply.github.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: Martha Mitran <martha.mitran@smiledigitalhealth.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: volodymyr-korzh <132366313+volodymyr-korzh@users.noreply.github.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: volodymyr <volodymyr.korzh@smilecdr.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: Gary Graham <garygraham@smiledigitalhealth.com>
Co-authored-by: Taha <TahaAttari@users.noreply.github.com>
Co-authored-by: taha.attari@smilecdr.com <taha.attari@smilecdr.com>
2024-11-24 12:31:59 -08:00