Commit Graph

8753 Commits

Author SHA1 Message Date
longma1 a56603daa2
2480 partition aware subscription (#3218)
* some fixmes to start

* Added some FIXMEs

* added RequestPartitionId to reosurceDelivryMessage and ResourceModifiedMessage

* ResourceDeliveryMessage and ResourceModifiedMessage tests

* fixed issue with test missing partitionHelperSvc mocked bean

* Added tests and implemented SubscriptionMatchingSubscriber for partition aware subscription

* modified implementation of partitionId in CanonicalSubscription

* Moved PartitionablePartitionId, and refactored all calls to getUserData(Constants.RESOURCE_PARTITION_ID) and setUserData(Constants.RESOURCE_PARTITION_ID)

* Revert "Moved PartitionablePartitionId, and refactored all calls to getUserData(Constants.RESOURCE_PARTITION_ID) and setUserData(Constants.RESOURCE_PARTITION_ID)"

This reverts commit fe40fb9733.

* Got added partitionId to subscriptions, added changes to make SubscriptionMatchingSubscriberTest work

* added SubscriptionTriggering test, also added partition support to subscriptionLoader

* Changed implementation for storing partition id of subscriptions from messages, refactored tests to new implementation

* added all subscription systemRequestDetails with all partition to subscription reader

* refactored a generic system request details with default all partition request

* Added test for dao subscriptions, fixes to get the test working

* added partition support for latest version delivery

* added doc changes and changelog for multitenancy subscription

* cleanup and added partitioned subscription manually trigger test

* fixed mocked subscriptionDao

* added package-info for subscription module

* some code review changes

* removed AllPartitionSystemRequestDetail, added new text for multitenant subscription

* renamed method for code review

* version bump to 5.7.0PRE7

Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
2021-12-13 08:45:30 -07:00
jmarchionatto d6e543a478
Loop over new list to avoid ConcurrentModificationException in case a new hook is added while looping (#3233)
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
2021-12-13 08:14:28 -05:00
jamesagnew 4075c003f7 CHangelog for #3240 2021-12-12 18:09:38 -05:00
Patrick Werner 8e6785c2b4
bumped log4j version to newest version (#3240) 2021-12-12 18:07:13 -05:00
Ken Stevens d561577a9e
Ks 20211209 xml to java (#3236)
* try xml -> json

* Change from xml serialization to json serialization.  Also fix a deadlock in how the validation cache is used.

* changelog

* back out logback
change

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3236-change-validation-from-xml-to-java.yaml

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
2021-12-12 00:29:52 +00:00
VK-SMILECDR bd89cf022b
Improve mail service (#3230)
* move mail config to mail service constructor

* update subscription email sender

* added license text

* [2669] bump HAPI version to 5.7.0-PRE6-SNAPSHOT

* add changelog
2021-12-09 17:05:42 -05:00
Tadgh 9593b6b0b8
Rel 5 6 1 mergeback (#3228)
* 3138 externalized binary packages (#3139)

* Add test and impl

* Add changelog

* Fix test

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_6_0/3138-support-externalized-binaries.yaml

* add beans to test configs

* Typo

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/IBinaryStorageSvc.java

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

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/NullBinaryStorageSvcImpl.java

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

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

* 3131 - Added support for the lookup operation in the Remote Terminology code (#3134)

* Remove leading underscores from identifiers (#3146)

* Version bump

* License files

* version.yaml

* Add executeRawSql() method to Migrator (#3183)

* Add implementation, add test

* Add javadoc

* Add another helper function

* Bump version

* 3153 update unknowncodesystemwarningvallidationsupport to have configurable severities (#3155)

* 3153 updating the unknowncodesystemwarningvalidationsupport class

* 3153 updating version for smile

* 3153 update broken tests

* 3153 adding log

* 3153 cleanup

* 3153 cleanup

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

* Add backport info

* Avoid creating ResourcePersistentId for placeholder resources with null ID (#3158)

* Add check before mapping storage ID to resource ID in TransactionDetails.

* Add change log.

* Changed to instead prevent creation of ResourcePersistentId with null ID value.

* Changed to instead prevent ResourcePersistentId being created with null resource ID.

Co-authored-by: ianmarshall <ian@simpatico.ai>

* Fix bug loading packages in non-database mode (#3199)

* Add implementation

* Add changelog

* Add backports

* 3164 updating code review points (#3165)

* 3164 updating code review points

* 3164 updating code review points

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

* Add executeRawSqlStub (#3203)

Co-authored-by: Joanne Mendoza <joanne@smilecdr.com>

* Add new version

* begin with failing test

* fix bug

* change log

* change log

* Add backport informationm

* begin with failing test

* fix issue

* change log

* code review

* Add backport info. Add folder

* fixed

* Add test

* Update test

* Add backport info

* Add 5.5.4

* Remove jpaconstants

Co-authored-by: Kevin Dougan SmileCDR <72025369+KevinDougan-SmileCDR@users.noreply.github.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: IanMMarshall <49525404+IanMMarshall@users.noreply.github.com>
Co-authored-by: ianmarshall <ian@simpatico.ai>
Co-authored-by: Joanne Mendoza <joannemmendoza@gmail.com>
Co-authored-by: Joanne Mendoza <joanne@smilecdr.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: katie_smilecdr <katie@smilecdr.com>
2021-12-09 16:14:48 -05:00
Ken Stevens 9753b66610
2564 contained resource validation flag (#3225)
* First cut at multithreading bundle validation

* javadoc

* change test to a red-green test

* add daoconfig

* move bundle concurrency config from validationsupport to request validator

* Moved concurrent details from ValidationOptions to FhirValidator

* Remove bundleValidationThreadCount (it's set by creating an appropriate executor)

* validate threadpool prefixes

* FIXME cleanup

* reassign FIXMEs to JB

* only create the threadpool if it will be used

* Add the MdcTaskDectorator to all threadpools

* Add bundle path to concurrently validated bundle resource validation messages.

* Add test to check bundle entry path being added to validation messages

* Threaded validation of contained resources initial checkin

* FHIR validator refactored to maintain correct bundle path and async validation task

* Refactored to use validation complete invoke callback to support raw string resource or resource object

* switch from XML to JSON

* # Conflicts:
#	hapi-fhir-base/src/main/java/ca/uhn/fhir/validation/FhirValidator.java
#	hapi-fhir-validation/src/test/java/org/hl7/fhir/r4/validation/FhirInstanceValidatorR4Test.java

* Updated to use new HAPI-FHIR version

* merge 'validate_contains_change' into issue-3144-multi-threaded-bundle-validation

* Updated to use new HAPI-FHIR version

* Revert "Updated to use new HAPI-FHIR version"

This reverts commit 910b7f676b.

* Revert "merge 'validate_contains_change' into issue-3144-multi-threaded-bundle-validation"

This reverts commit c7d60fc3e6.

* Revert "Updated to use new HAPI-FHIR version"

This reverts commit aa8a7af455.

# Conflicts:
#	hapi-fhir-validation/src/test/java/org/hl7/fhir/r4/validation/FhirInstanceValidatorR4Test.java

* Fix Test dependencies after reverting changes.

* merge 'validate_contains_change' to 2564-contained-resource-validation-flag

* Disable threadpool prefix name validate check.

* merge master

* fix thread regexp

* pre-review cleanup

* change log

* fix test

* revert to XML as default validation serialization

* fix test

* fix test

Co-authored-by: Jaison B <jaisonb@gmail.com>
2021-12-08 15:18:54 -05:00
jamesagnew d481896d9b License header updates 2021-12-07 15:38:36 -05:00
jamesagnew 90d05a9ed4 Fix accidental commit 2021-12-07 14:55:16 -05:00
jamesagnew 8aef580aed Bump core library 2021-12-07 10:57:43 -05:00
Mark Iantorno d60d07b697
Validate contains change (#3209)
* wip

* The updated changes to the validator that were pulled in from the core dependencies are not backwards compat. Need to bump HAPI version.

* pointing to stable core version

* review feedback

* Add changelog

Co-authored-by: markiantorno <miantorno@pop-os.localdomain>
2021-12-06 11:25:00 -05:00
Ken Stevens c4ec767b9b Merge branch 'master' of github.com:hapifhir/hapi-fhir 2021-12-06 11:20:25 -05:00
Ken Stevens 3397bb6da3 remove reflection from test. 2021-12-06 11:19:50 -05:00
jamesagnew 2c2e31d7f4 Docs fix 2021-12-06 11:17:11 -05:00
Ken Stevens 66fa9e0d60 merge master 2021-12-06 10:57:40 -05:00
Ken Stevens 0dc6339f64 Merge branch 'master' of github.com:hapifhir/hapi-fhir 2021-12-06 08:55:47 -05:00
James Agnew b7bf10ced4
Missed commits from #3214 (#3222)
* Move graphql provider

* Version bump

* Moving things around

* More reworking

* Fix
2021-12-06 06:49:52 -05:00
Ken Stevens 7e04509f4c add test for authorization 2021-12-05 19:31:19 -05:00
James Agnew d072357c2a
Move graphql provider (#3214)
* Move graphql provider

* Version bump
2021-12-05 17:22:20 -05:00
tommyyama2020 2e72ec45c8
Update points.json (#3213)
added my entry for atlas
2021-12-04 11:40:54 -05:00
katiesmilecdr 2681560598
fixed (#3217)
* fixed

* Add test

* Update test

Co-authored-by: Tadgh <garygrantgraham@gmail.com>
2021-12-04 00:38:51 +00:00
Ken Stevens 0656037c8d
Ks 20211203 mdm possible match (#3216)
* begin with failing test

* fix issue

* change log

* code review
2021-12-03 19:44:25 +00:00
James Agnew 84a9609236
Avoid long pauses in CapabilityStatement generation (#3212)
* Avoid long pauses in CapabilityStatement generation

* Add changelog

* Test fix
2021-12-03 05:28:04 -05:00
Ken Stevens 2fbbf31431
Ks 20211202 fix major reindex bug (#3211)
* begin with failing test

* fix bug

* change log

* change log
2021-12-02 21:38:54 +00:00
James Agnew aa09e59255
Migrate to OpenAPI (#3206)
* Migrate to OpenAPI

* Update spring

* Test fix
2021-12-02 13:01:50 -05:00
JasonRoberts-smile 20f3420397
define constant for new text/xml+cda content type (#3207) 2021-12-02 14:00:52 +00:00
Ken Stevens 3e7eec4e9e fix race condition 2021-12-02 01:14:17 -05:00
jamesagnew 1a1243db34 Missing fix from #3197 2021-11-30 16:15:09 -05:00
jamesagnew 0099749a27 Bump thymeleaf version 2021-11-30 11:05:49 -05:00
jamesagnew 76685ad691 Refactor uitlity method for reuse 2021-11-29 09:58:12 -05:00
James Agnew aae53d6ec7
Improve loading performance (#3197)
* Synthea perf work

* Cleanup

* Work on performance

* Ongoing perf work

* More perf work

* Perf work

* Test fixes

* Updates

* Test fix

* Test fixes

* Clean up tests

* Test cleanup

* Cleanup

* Add test

* One more perf tweak

* Fixes

* Add changelog

* Add changelog

* License header update

* License header updates
2021-11-28 10:47:30 -05:00
Tadgh 7ef1d159ee
Fix bug loading packages in non-database mode (#3199)
* Add implementation

* Add changelog
2021-11-26 20:17:51 -05:00
Patrick 3363807931
Support https with elastic (#3192)
* 3138 externalized binary packages (#3139)

* Add test and impl

* Add changelog

* Fix test

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_6_0/3138-support-externalized-binaries.yaml

* add beans to test configs

* Typo

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/IBinaryStorageSvc.java

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

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/NullBinaryStorageSvcImpl.java

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

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

* 3131 - Added support for the lookup operation in the Remote Terminology code (#3134)

* Remove leading underscores from identifiers (#3146)

* Version bump

* License files

* version.yaml

* Support HTTPs

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
Co-authored-by: Kevin Dougan SmileCDR <72025369+KevinDougan-SmileCDR@users.noreply.github.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: ppalacin <patrick.palacin@i-atros.com>
2021-11-26 15:08:38 -05:00
jmarchionatto d496ca98ad
Issue 3172 support member match operation (#3187)
* Suppress unresolved maven properties errors to avoid IntelliJ complains

* Support for $member-match operation

* Add more reference cases

* Adjust tests

* Add test and handle missed condition

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
2021-11-26 14:20:14 -05:00
TipzCM 3743fbc62f
test fix (#3193)
* test fix

* review fixes

* minor tweak

* little cleareR

* Update hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/subscription/match/registry/SubscriptionCanonicalizer.java

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

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
2021-11-25 20:09:00 +00:00
Kevin Dougan SmileCDR 10cad65534
Add NULL-safe check on the myValidationSupportChain as well as a setter method in case it needs to be injected. (#3190) 2021-11-25 07:59:35 -05:00
Tadgh 41ef7cf961
Support multiple EID systems for MDM. (#3178)
* Add implementation, changelog, docs, and tests

* Fix potential NPE

* Use constant instead of *
2021-11-24 06:05:13 +00:00
Kevin Dougan SmileCDR 3c2b4bb397
3136 - Provide RemoteTerminologyServiceValidationSupport Implementation For Operation $validate-code (#3142)
* 3136 - Send validate-code requests to an Instance of IValidationSupport instead of directly to the DAO.

* 3136 - Added support for R4 validate-code calls to a Remote Terminology Server.

* Added more Unit Tests.

* Added NULL checks based on code analysis.

* Adding some cleanup code to the Unit Tests since some other unrelated Unit Tests were failing when running in an Azure Pipeline.

* Adding @Ignore to both of my Unit Test classes to try and see if this is the cause of other unrelated Unit Test failures in the Azure Pipeline.

* Commented out ALL CODE in my Unit Tests to see if this fixes the other Unit Tests.

* Added 1 Unit Tester called RemoteTerminologyServiceResourceProviderR4Test to see if it causes other Unit Test failures.

* Added a Unit Tester called ResourceProviderR4RemoteTerminologyTest with the code that creates a RemoteTerminologyServiceValidationSupport instance commented out for now, just to see if this allows all other Unit Tests to pass.

* Added a Unit test back in to verify how the RemoteTerminologyServiceValidationSupport works when inserted into the front of the IValidation chain. Lets see if this will mess up any other Unit Tests in the Azure Pipeline...

* Added an @AfterEach method to remove the RemoteTerminologyServiceValidationSupport instance from the ValidationSupportChain to see if it allows all the other Unit Tests to work as before.

* Added more Unit tests.

* Added more Unit Tests to increase code coverage.

* Added some NULL checks.

* Added a changelog for this feature add.

* Removed the decision logic in the REST APIs and also the isRemoteTerminologyServiceConfigured() method, and letting the ValidationSupportChain figure out how to perform the validate-code Operation.

* Removed a NULL check that was not needed.

* Reverting the previous change where I tried using the IValidationSupportChain for each and every incoming Operation request. Splitting the implementation between local and remote seems to be required at this time.
2021-11-23 10:39:56 -05:00
Kevin Dougan SmileCDR 35dedb8628
3176 - CQL doc fixes. (#3177) 2021-11-19 16:54:24 +00:00
Tadgh 0a64294467
Release 5.6.0 (#3174)
* 3138 externalized binary packages (#3139)

* Add test and impl

* Add changelog

* Fix test

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_6_0/3138-support-externalized-binaries.yaml

* add beans to test configs

* Typo

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/IBinaryStorageSvc.java

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

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/NullBinaryStorageSvcImpl.java

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

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

* 3131 - Added support for the lookup operation in the Remote Terminology code (#3134)

* Remove leading underscores from identifiers (#3146)

* Version bump

* License files

* version.yaml

Co-authored-by: Kevin Dougan SmileCDR <72025369+KevinDougan-SmileCDR@users.noreply.github.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
2021-11-19 15:24:44 +00:00
JP e3a5aaf298
Updated cql docs (#3175) 2021-11-19 09:02:23 -05:00
jmarchionatto 175958de5e
Issue 3108 terminology large codesystem deletion takes days to complete (#3160)
* Add indexes to foreign keys

* Add new version enum

* Add TermCodeSystem and TermCodeSystemVersion deletion job artifacts

* Add Propagation.NOT_SUPPORTED to allow starting jobs from transactional code

* New jobs artifacts

* Improve comments

* Restructure job configurations to avoid bean name collisions

* Restructure job configurations to avoid bean name collisions

* Use new offline deletion by job

* Test using multiple versions

* Retrieve only Pids

* Revert to master

* Maintain deferred functions synchronization as similar as possible to the way it was

* Bypass validations to allow calling an index same as a foreign key to make SchemaMigrationTest happy as H2 adds FK indexes automatically

* Adjust tests

* Add copyrights

* Add test

* Revert to delete CodeSystemVersions using deferred ITermDeferredStorageSvc

* Allow to wait for jobs tentatively

* Organize imports

* Fix tests

* Increase timeout to cover for possible additional heavy DB activity

* Add indexes to two remaining non-indexed foreign key fields to avoid much longer transactions which produce locks on heavy DB load

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3108-terminology-large-code-system-deletion-performance.yaml

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

* Remove opening stars from logging messages

* Relax index name checking logic to allow for indexes on FK columns to be called same as the FKs, to make SchemaMigrationTest happy even when H2 adds indexes to FKs automatically.

* Use static array to enumerate platforms which doesn't add indexes to foreign keys automatically.

* Cleanup also job executions when performing test artifact cleanup

* Adjust to property name change

* Add ABANDONED status to the list of waited job statuses to avoid test failures due to wait timeouts

* Add also UNKNOWN status to the list of waited job statuses to avoid test failures due to wait timeouts

* Filter job executions to be stopped

* Set trace to debug test problem

* Add STOPPED status to the list of waited job statuses to avoid test failures due to wait timeouts

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
2021-11-18 09:49:16 -05:00
TipzCM 0c3fb775df
3170 language portion of language code is case insensitive (#3171)
* 3170 language portion of language code is case insensitive

* 3170 adding changelog

* 3170 house keeping

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
2021-11-16 15:58:58 +00:00
TipzCM 7e291bb469
3163 refactor some base mdm stuff (#3166)
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
2021-11-16 10:47:44 -05:00
IanMMarshall 843517f7ba
Avoid creating ResourcePersistentId for placeholder resources with null ID (#3158)
* Add check before mapping storage ID to resource ID in TransactionDetails.

* Add change log.

* Changed to instead prevent creation of ResourcePersistentId with null ID value.

* Changed to instead prevent ResourcePersistentId being created with null resource ID.

Co-authored-by: ianmarshall <ian@simpatico.ai>
2021-11-15 16:36:30 -05:00
TipzCM 5cefa7a6cc
3168 added some nullcheck (#3169)
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
2021-11-15 20:30:41 +00:00
TipzCM 1478abac3a
3164 updating code review points (#3165)
* 3164 updating code review points

* 3164 updating code review points

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
2021-11-12 20:13:42 +00:00
michaelabuckley 1487e03037
Publish test jars during snapshot build (#3162)
* publish test-jar from hapi-fhir-storage

* Extract BaseDateSearchDaoTests up to hapi-fhir-storage.

Share a date search tests between JPA and Mongo.

* Use ITestDataBuilder for setup

* Move Mongo date cases into common set

* cleanup

* More cleanup

* naming

* fix equal case

* Use -DskipTests instead of the more agressive -Dmaven.test.skip
2021-11-12 15:40:24 +00:00
jamesagnew 2e6fb10df3 Merge branch 'master' of github.com:hapifhir/hapi-fhir 2021-11-11 15:05:37 -05:00