Commit Graph

2265 Commits

Author SHA1 Message Date
Kevin Dougan SmileCDR 2308d8f44b
Merge CQL Initial Implementation Into master (#2330)
* CQL initial implementation
2021-01-29 16:35:38 -05:00
Nick Goupinets 3be480c9f0 Merge remote-tracking branch 'origin/master' into ng_20201218_survivorship_poc 2021-01-27 16:47:40 -05:00
James Agnew 909d9f742c
Enable Auto-reference versions in JPA (#2323)
* Automatic reference versions

* Auto reference versions

* resolve fixmes

* Add changelog

* Test fixes

* Test fixes

* Resolve fixmes

* Work on versioning

* Add support for _includes

* Update headers

* Change visibility

* One more tweak

* One more API tweak

* Fixes

* Account for review comments

* Fix errorprone reported issue

* Test fix

* Test fixes

* Test fixes
2021-01-27 14:49:10 -05:00
Nick Goupinets 04db4ed229 Merge remote-tracking branch 'origin/master' into ng_20201218_survivorship_poc 2021-01-26 09:18:20 -05:00
Frank Tao 1d1ebcf5e8
Improved DateQuery and removed 'OR' in the SQL (#2302)
* improved DateQuery and removed 'OR' in the SQL

* improved DateQuery and removed 'OR' in the SQL

* Date handling cleanup (#2316)

* Date handling cleanup

* Fix codecov

* One more fix

* Fix tests

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2021-01-23 17:53:18 -05:00
James Agnew 522efc87d9
Reusable interceptor service (#2318)
* Reusable interceptor service

* Azure fix
2021-01-22 19:17:08 -05:00
Nick 82e52750e7 Merge branch 'master' into ng_20201218_survivorship_poc 2021-01-21 09:00:28 -05:00
James Agnew 14b0688f69
Bump core version to 5.2.16 (#2308)
* Bump core library version

* Test fix

* Build fixes

* Some test fixes

* One more bit of docs

* Build fix

* Test fix

* Test fix

* Docs fix
2021-01-21 05:30:23 -05:00
Nick 4b53ef3920 Merge remote-tracking branch 'origin/master' into ng_20201218_survivorship_poc 2021-01-20 14:59:38 -05:00
Tadgh 159128109b Add versionenum value 2021-01-20 10:49:08 -05:00
Nick ae9d4a191f Merge remote-tracking branch 'origin/master' into ng_20201218_survivorship_poc 2021-01-19 11:34:01 -05:00
James Agnew 874b16207f
Bundle.entry.resource.id should not be stripped on POST from client #2297 (#2303) 2021-01-19 11:12:42 -05:00
Nick b00f47ef81 Merge remote-tracking branch 'origin/master' into ng_20201218_survivorship_poc 2021-01-18 09:25:58 -05:00
dependabot[bot] 391a6d1a3f
Bump ph-schematron from 5.2.0 to 5.6.5 (#2184)
* Bump ph-schematron from 5.2.0 to 5.6.5

Bumps [ph-schematron](https://github.com/phax/ph-schematron) from 5.2.0 to 5.6.5.
- [Release notes](https://github.com/phax/ph-schematron/releases)
- [Commits](https://github.com/phax/ph-schematron/compare/ph-schematron-parent-pom-5.2.0...ph-schematron-parent-pom-5.6.5)

Signed-off-by: dependabot[bot] <support@github.com>

* Fix compile error

* Build fix

* Add test logging

* Test fix

* Resolve classpath duplicates

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2021-01-17 14:27:26 -05:00
Eric Prud'hommeaux 8b338cd168
rework r4 RDF tests to skip fewer examples (#2159)
+ relative URL resolution in RDFParser
+ test non-DomainResources in RDFParserTest
~ factor/organize RDFParserTest
~ avoid EXTERNAL shapes (for now) in shex-java
- disable the bundle-response.json example as it is apparently malformed
+ added urn:-guard to PreResourceStateHl7Org.wereBack ID update
2021-01-16 19:15:39 -05:00
James Agnew 1dc4fb2206
Make quantity indexes use double datatype (#2290)
* Make quantity indexes use double datatype

* Add changelog

* Test fixes

* Test fixes

* Disable test
2021-01-16 18:44:15 -05:00
Nick 57662eedb3 Merge remote-tracking branch 'origin/master' into ng_20201218_survivorship_poc 2021-01-12 09:22:38 -05:00
jamesagnew 5b5023e6ac License headers 2021-01-11 21:00:12 -05:00
Ken Stevens 520400d6ea
added IPagingProvider.canSearchByOffset() (#2281)
* init rev

* added IPagingProvider.canSearchByOffset()
consolidated parameters in bundle link methods

* fix refactoring error

* add @Nonnull to BundleLinks parameter

* null check

* fix test

* cleanup

* fix refactoring

* final cleanup

* review feedback

* review feedback

* review feedback
2021-01-11 20:42:41 -05:00
Nick 5aa85c7e17 Survivorship 6 2021-01-11 17:22:06 -05:00
Tadgh efc6809ea6
Replacing Hibernate Search 5 with Hibernate Search 6 (#2190)
* Beginning work on converting to hibernate search 6
* replace all out of date properties
* replace all POM references to old versions
* remove the shaded ES jars as HS6 supports 7.9
* Convert "Bridges" to RoutingBinder and RoutingBridge
* Modernize all indexing annotations
* Begin refactoring of search queries (wip)

* Fix spatial API changes, work on BaseTermReadSvcImpl

* Most of the way through the various filter property conversions

* Finished i think with BaseTermReadSvcImpl

* Compiling, but definitely broken

* Start test compilation failures

* All tests compiling (i think)

* remove suggest keywords operation

* Fix bootstrap errors, still have to deal with transient fields

* Rollback CR

* More refactoring, got IDs baked back into docs

* Fix coord util, fix a few more fields which require projection

* merge fixes

* begin refactor of valuesetexpansion tests

* fix another test

* Update tests

* remove todos, add TestContainers

* Fix descendant in

* Add testcontainers, fix another test

* fix more tests, replace embedded es

* Rip out embedded elastic, replace with TestContainer

* merge conflicts for new analyzers

* Bump to CR2 for hibernate search 6. Add forgotten CLI dep. Add backwards compatible codecs

* Remove dead deps, update testcontainer

* Remove java-hamcrest

* Pull asserts up, refactor tests to pass in RP tests

* Update V2 check

* Remove suggest keyword tests

* Split line for testing

* Fix perhaps one of the dumbest programming mistakes in my career so far

* Refactor tests which no longer rely on a strict known order

* Fix up test config, disable log test temporarily

* Remove log4j from being transitively pulled in. re-enable test

* Update log4j exclusions with new bridge. Update test to check for core class

* Move dependency to root pom in dep management section

* Update changelog, add changelog for HS6 with ES requirements. Remove dead comment

* update testst, remove todos

* Add hibernate props provider method, add elastic regexp query

* Add todo for high level client builder

* Modify ElasticsearchRestClientFactory to support HTTPS hosts

* Remove protocol extraction from rest url

* do we even need to index this...?

* remove purge of non-indexed resources

* Add longer timeout to testcontainers

* Add task to add docker CLI to azure pipeline via task, for testcontainers

* WIP remove this

* Dont update version

* Add test for duplicate termconcepts

* Use real hibernate ORM methods

* merge issues

* Add partitionsettigns bean to match master

* Trying to debug testcontainers on azure...

* Trying to debug testcontainers on azure...

* Run even on previous failure

* Fix testcontainer port binds

* Add full text logs attaching, and test reporting

* I love yaml

* Remove comment

* Refactor delta remove to not do a once-over traversal and flatten all children pre-delete. Resolves transaction commit boundary issue

* Modify TX beheaviour

* wip

* Rework to use config and mocked beans for partition-aware lastN

* rework to not use beans and just inject vars i need for test, keps test envs cleaner

* update azure pipeline to only copy test results

* Remove erroneous publish

* Always get test logs

* Make it so indexing works,

* Add todos

* revert deleteByPid

* Work on test fixes

* Test fixes

* Test fixes

* Another test fix

* Test fix

* Work on tests

* Test fixes

* All tests passing locally

* Fix test failure

* FIx build error

* Rename usages of HibernateDialectProvider -> HibernatePropertiesProvider

* Update ngram of token filters

* Tidying

* subvert the purpose of hibernate elastic props builder to inject template

* dead space

* Rename changed class

Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2021-01-05 17:56:59 -05:00
jamesagnew d20b07c78e Update license headers 2021-01-01 15:50:24 -05:00
jamesagnew f30999b053 License header updates 2021-01-01 15:07:23 -05:00
James Agnew 8f8c5c31f1
Add validation rules interceptor (#2264)
* Start work on validation rules interceptor

* Work on interceptor

* Add tests

* Work on validation interceptor

* Work on interceptor

* Test fix

* Documentation tweaks
2021-01-01 14:29:10 -05:00
Bill Denton 84d9854e24
OSGi manifest maintenance (#2217)
* manifest cleanup and delete Fragment-Host

* make hapi-fhir-server-empi into an OSGi bundle
2020-12-18 16:48:44 -05:00
James Agnew f228b4a167
Fix an error parsing extensions with a value type of UUID (#2258) 2020-12-18 10:57:31 -05:00
jamesagnew c745fb2561 Avoid deprecated method 2020-12-18 08:49:20 -05:00
Tadgh e79114e2ec
Un-revert the MDM changes, now that issues have been addressed (#2226)
* Backward compatibility changes

* Revert "Revert "Remove all references to Person from EMPI.""

* Updated docs

* Removed mdm channel references

* Initial implementation

* fix coarseness bug. Fix tests. reinitialize silly bean

* Add forgotten json file

* Generic provider PoC

* Refactored provider to use BundleBuilder

* Removed version-specific MDM providers

* Addressed code review comments

* Fixed after merge

* Fixed docs

* MDM SVG for Update Use Cases

* Removed obsolete docs

Co-authored-by: Nick <nick.goupinets@smilecdr.com>
Co-authored-by: Nick Goupinets <73255752+nvg-smile@users.noreply.github.com>
2020-12-17 10:12:53 -05:00
jamesagnew ab64aa540f Fix #2248 - Wrong import for Validate 2020-12-14 09:19:30 -05:00
James Agnew 81f6fe9106
Support IBaseBundle as parameetr type for @Transaction method (#2237)
* Support IBaseBundle as parameetr type for @Transaction method

* Add changelog

* Add bundle setter
2020-12-11 18:33:00 -05:00
James Agnew e4d6c51290
Allow plus symbol in email address match url (#2224)
* Allow plus symbol in email address match url

* Add changelog
2020-12-09 21:52:03 -05:00
Tadgh 0938d72b51
Revert "Remove all references to Person from EMPI." 2020-12-09 14:57:00 -05:00
Nick d3c0944388 Merge remote-tracking branch 'origin/master' into gg_20201105-remove-person-references 2020-12-07 22:02:45 -05:00
James Agnew fd528a0f7d
Improve error message on unsupported resource type (#2221)
* Improve error message on unsupported resource type

* Add changelog
2020-12-07 17:35:51 -05:00
Nick f5f7f2df14 Merge remote-tracking branch 'origin/master' into gg_20201105-remove-person-references 2020-12-07 11:55:51 -05:00
James Agnew d958764d49
Partition data leaks across searches (#2220)
* Partition data leaks across searches

* Add changelog

* Resolve FIXME

* Add test logging

* Test fix

* Test fix
2020-12-06 16:32:07 -05:00
Nick 4352e0a61f Merge remote-tracking branch 'origin/master' into gg_20201105-remove-person-references 2020-12-03 11:28:21 -05:00
Tadgh a4b2fbd906
Merge pull request #2211 from bdenton/bd-20201202-fix-split-package
Split package: delete 'ca.uhn.fhir.rest.server' package from hapi-fhir-server-empi
2020-12-03 09:02:46 -05:00
James Agnew 7627a86176
Improve version logging (#2213)
* Improve version logging

* Add changelog

* Test fixes
2020-12-02 21:19:04 -05:00
Bill Denton 01ca7f3746 move TransactionLogMessage to hapi-fhir-rest-server bundle (as per
feedback)
2020-12-02 17:22:31 -08:00
Bill Denton 53bd271717 Split package: delete 'ca.uhn.fhir.rest.server' package from
hapi-fhir-server-empi
2020-12-02 13:24:07 -08:00
Nick Goupinets d63c580e82 Merge remote-tracking branch 'origin/master' into gg_20201105-remove-person-references 2020-12-01 13:18:42 -05:00
James Agnew c309737166
Allow reading from multiple partitions (#2198)
* Partitioning rework

* Work on partition improvements

* Partition updates

* Work on partitiong

* Test fixes

* Add docs

* Add changelog

* Resolve FIXME

* Test fixes

* Test fixes

* Test fixes

* Compile fix

* Fix compile error

* Test fix

* Test fixes
2020-11-30 17:59:52 -05:00
Ken Stevens 3d3242cf9a
Resource change listener (#2191)
* init rev

* fix build

* Tweaked the POM config settings and also added some dependency exclusions (commented out for now).

* More re-factoring of the CQL Unit Tests.

* Removed a LogMessages.html file and a minor Unit Test change.

* Unit Tests.

* added debug logging to troubleshoot the dao that has no name

* added debug logging to troubleshoot the dao that has no name

* workaround to get past null dao resourceName issue

* fix jsons to get test to pass.  Test still fails with library id problem

* gitignore

* gitignore

* test passes!  Woohoo!

* undo troubleshooting logging

* added timer and logging.

* added asserts and time multiple evaluations and measure the average

* readme

* adding explanations

* added more explanatory notes

* measure 2 patients

* move pom to use cqf snapshot

* roughed out cache

* roughed out cache

* Added code to VersionChangeCache class.

* added tests

* added polling test

* wrote init version

* wrote init version

* optimized versioncache

* worked on getting tests to pass

* redesigned interfaces

* all tests pass

* fixmes

* fixmes

* rename param

* Added Unit Tests.

* javadoc

* Fixed the 2-Patient Unit Test.

* More Unit Test work.

* make ResourceVersionMap immutable

* Fixed a Unit Test that was failing intermittently by adding a new way to refresh the cache.

* Use a new method called doRefreshAllCaches(0) to force a refresh and have all Listeners called immediately.

* Cleaned up IVersionChangeListenerRegistry interface to make methods more clear and resolved all Unit Tests.

* disabled tests

* disabled tests

* removed unused test method

* fixed refresh logic and added asserts

* moved cache so it can be used by searchparamregistry

* Updated the Cql Unit Tests to be properly configured for Dstu3 or R4.

* started rewriting SearchParamRegistryImpl to use new cache
added init method to listener interface

* added fixmes

* adding tests

* tests pass

* added tests

* Fixed the way CqlProviderFactory Autowires Beans so it can work with both Dstu3 and R4 contexts.

* moar tests

* fix test

* work tests

* reverting unneccessary refactors

* undo unneccessary import changes to reduce MR size

* undo unneccessary import changes to reduce MR size

* Unit Test fixes...more to come...

* add unregister

* fix tests

* Changed ResourceVersionCache to use a Map of Maps.

* searchparam test

* test passes

* resolved fixme

* fixmies

* strengthen test asserts

* More Unit Test changes and added some FIMXME items.

* changed from long to changeresult

* renamed VersionChange -> ResourceChange

* fixed delete bug

* organize imports

* fix test

* add update test

* add test reset function

* fix stack overflow

* fix startup race condition (might still be intermittent)

* found the problem.  delete doesn't work because we can't look up the deleted resource to find out what its name is

* fixed regression

* abandoned idea of incrementally updating searchparam registry.  Rebuilding every time--it doesn't change that often.

* fix test

* begin with failing test

* test passes

* fixmes and javadoc

* fix test

* fixme

* fix test

* whack-a-mole.  Either subs pass or cql passes.  Something's fishy with the FhirContext

* fix subscription test initialization

* fix method name

* Re-factored the CqlProvider Unit Tests.

* changed ResourceChange API

* add interface

* add interface

* fix test

* add schedule test

* add doc

* init rev

* FIXME

* modify FhirContext change

* change fhirContext.getResourceTypes to lazy load

* converted subscriptions

* converted subscriptions

* begin with failing test

* test passes

* fix test

* test coverage

* test coverage

* test coverage

* test coverage

* good coverage now

* pre-review cleanup.  I think I found a bug.

* moved cache into listener entry
tests pass with fixmes

* fix test

* fix test

* fix test

* fixme

* FIXMEs

* merge cache and registry

* method reorg

* javadoc

* javadoc done.  all FIXMEs resolved.

* change log

* changes needed by cdr

* spring config cleanup

* james feedback

* james feedback

* might not work. Try moving resourcechangeconfig into searchparam config

* merge ResourceChangeListenerRegistryConfig.java into SearchParamConfig

* fix test

* fix SubscriptionLoader

* fix SubscriptionLoader

* create ResourceVersionMap from resources

* added cache handle interface

* fix test

* javadoc

* fix test

* fix test

* James feedback: clone searchparametermap

* fix startup

* fix test

* fix test

* fix intermittent

* pre-review cleanup

* FIXME

* final FIXME yay!

* Address a couple of my own reviw comments

Co-authored-by: Kevin Dougan <kevin.dougan@smilecdr.com>
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2020-11-29 19:42:40 -05:00
James Agnew 1e5def260c
Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
Nick Goupinets 2a3b72db17 Merge remote-tracking branch 'origin/master' into gg_20201105-remove-person-references 2020-11-27 16:54:04 -05:00
Nick Goupinets 8a7dc4e80b EMPI to MDM 2020-11-27 15:12:21 -05:00
James Agnew fb8658da70
Always apply vs filters correctly (#2195)
* Always apply valueset filters correctly

* Test fix

* Testfix

* Test fix

* Add changelog

* Test fix
2020-11-24 18:12:02 -05:00
James Agnew 8b65db0c98
Improve error message on unique constraint violation (#2182)
* Improve error message on unique constraint violation

* Add changelog

* Test fixes

* Test fix
2020-11-19 21:20:59 -05:00
Tadgh 953b662827 Merge branch '2161-refactor-empi' into gg_20201105-remove-person-references 2020-11-19 14:24:51 -05:00