Commit Graph

602 Commits

Author SHA1 Message Date
Ken Stevens 0b05c730fb
don't create a channel if subscriptions are disabled. (#2733)
* don't create a channel if subscriptions are disabled.

* review feedback

* fix test

* fix intermittent

* fix intermittent
2021-06-19 00:00:16 -04:00
James Agnew 8b205b23d0
Fix history paging (#2741)
* Fix history paging

* Add changelog

* Add license header
2021-06-18 17:47:51 -04:00
Ken Stevens 134631fdee
Convert delete expunge to use Spring Batch (#2697)
* prepare to add $delete-expunge operation that will create a spring batch job

* Add operation

* Wire up jpa provider.  Begin with failing test.

* Copy/paste bulk import job as a starting point.
FIXME with proposed design

* delete expunge job parameter validation with test

* implemented reader
stubbed processor, writer

* wip for master merge

* started implementing reader

* started implementing reader

* working with stubs

* happy path batch delete expunge is done

* Provider done but test not passing.  Guessing batch infrastructure not running in that test.

* IT test works now

* add reader test

* Converted delete _expunge=true to use new batch job

* DeleteExpungeDaoTest passes

* Fix test

* Change batch size to integer

* rename search count to batch size

* Make delete expunge partition aware

* updated docs

* pre-review cleanup

* change log

* add partition id to SystemRequestDetails

* Make RequestPartitionId serializable

* Change delete expunge provider to use partition id instead of tenant name

* fix tests

* test pointcut gets called

* assert on pointcut calls

* Add resource type to STORAGE_PARTITION_SELECTED pointcut

* bump hapi-fhir version
move expunge provider parameters from JpaConstants to ProviderConstants

* bump hapi-fhir version

* copyrights

* restore deleteexpungeservice for mdm

* restore deleteexpungeservice for mdm

* fix test

* public constants

* convert instant to date

* Moved expunge constants to ProviderConstants

* final review

* disabling InMemoryResourceMatcherR5Test.testNowNextMinute() to see if I can get a clean test run

* fix tests

* fix tests

* fix tests

* fix tests

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* improve logging

* bump version

* version bump

* recovering from failed merge

* unzip RequestListJson per Gary's suggestion.  I didn't want to do it at first, but as usual Gary was right.

* fix serialization
2021-06-15 10:36:05 -04:00
jamesagnew 376a84d213 Version bump 2021-06-14 13:12:34 -04:00
James Agnew dc627dc019
Add bulk export authorization layer (#2712)
* Add bulk export authorization layer

* Add docs

* Version bump

* Authorize any

* Add bulk export - all

* Address lgtm issue
2021-06-06 20:47:43 -04:00
James Agnew a2950324ef
Avoid SQL based transaction dupe check (#2688)
* Avoid SQL based transaction dupe check

* Add changelog

* Test fixes

* Test fixes
2021-05-30 20:26:36 -04:00
James Agnew 24b3f0f30d
Enable mass ingestion mode (#2681)
* Work on fixes

* Work on counts

* Enable mass ingestion mode

* Add changelog

* Test fix

* Test fix

* Test fixes

* Fixes

* Test fix

* Test fix
2021-05-27 18:43:51 -04:00
jamesagnew d70bbad6f1 Expand access 2021-05-27 12:15:37 -04:00
James Agnew c8c596aff4
Fix date search on period with no end (#2676)
* Add test

* Working test

* Update test

* Account for date fixes

* Add changelog

* Add setting

* Test fixes

* Test fix
2021-05-26 21:03:53 -04:00
James Agnew 7a83c76e65
Add validation suppression mode (#2675)
* Add validation suppression mode

* Add changelog

* Compile fix
2021-05-26 17:41:48 -04:00
James Agnew 2c722e64c2
Add support for including qualified star syntax (#2672)
* Add support for including qualified star syntax

* Add changelog

* Add docs

* Build fix
2021-05-23 16:50:37 -04:00
jamesagnew 2068372998 Version bump 2021-05-07 17:43:54 -04:00
James Agnew 970a9884f0
Avoid tag definition constraint (#2620)
* Avoid tag definition constraint failure

* Version bumps

* Add changelog

* Avoid guava issue

* Test fix

* Test fix

* Bump pom
2021-05-01 17:16:15 -04:00
James Agnew 95d7ba6fa8
Streamline Search SQLs (#2576)
* Streamline SQL queries

* SQL query tidying

* Add changelog

* Test fixes

* Tests passing

* Ongoing work

* Test fixes

* Test fixes

* Build fix

* Cleanup

* Fixes
2021-04-28 10:29:09 -04:00
James Agnew 2ba1005762
OpenAPI Support (#2560)
* Start work on OpenAPI

* Fixes

* Work on OpenAPI

* Cleanup

* Cleanup

* More swagger work

* Build fix

* More work

* More work

* Add documentation

* Docs fixes

* Add changelog

* License updates

* Add API

* Cleanup

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_plain/openapi.md

Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>

* Work on scripts

* Add docs

* Compile fix

* Work on fixes

* Fix tests

* Test fix

* Test fix

* Build fix

* Tests

* Build fix

* Work on pipeline

* Version bump

* Test fix

* Version bump

* Test fix attempts

* Test fix

* Test fix

* Remove accidentally committed files

* Fixes

* Tets fixes

* Test fix

* Test fix

* Test fix

* Test fixes

* Test fixes

* Test fixes

* License header updates

* test fix

* Test fixes

* Test fix

* Test fixes

* Test fix

* Checkstyle bump

Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>
2021-04-25 15:40:50 -04:00
Nick Goupinets 4e266462ec Bumped up version due to breaking changes 2021-04-20 16:17:27 -04:00
James Agnew ca2088f3ad
Add framework for Bulk Import (#2538)
* Start work on bul;k import

* Work on bulk import

* Have batch working

* Working

* Working

* More work

* More work on bulk export

* Address fixmes

* License header updates

* Test fixes

* License header updates

* Test fix

* Test fix

* Version bumps

* Work on config

* Test cleanup

* One more version bump

* Version bump

* CLeanup

* A few additions

* Test fixes

* Test fix

* Test fix

* Migration fix

* Test fix

* Test fix
2021-04-14 17:41:32 -04:00
James Agnew a6cbf7eebd
Add support for hierarchycal valueset expansion (#2525)
* Add support for hierarchycal valueset expansion

* Add changelog

* Add tests

* Cleanup

* Test fix

* Test fixes
2021-04-06 17:36:54 -04:00
James Agnew b617c7690d
Search Parameter Infrastructure Cleanup (#2522)
* Search param service cleanup

* Work on collapsing search param

* Search param cleanup

* Work on build

* Test fix

* Test fixes

* Ongoing work

* Test fix

* Compile fix

* Test fixes

* Test fix

* Test fix

* License header updates

* Remove fixme

* Cleanup

* Cleanup
2021-04-05 17:40:10 -04:00
James Agnew 0bf746f23b
Add support for revincludes to CapabilityStatement generator (#2521)
* Add support for revincludes to CapabilotyStatement generator

* Add changelog

* Fixes

* Test fix

* Test fixes

* Test fix

* Test fix

* More fixes to CS cache

* Test fix

* Test fix

* Test fix
2021-04-05 08:29:04 -04:00
James Agnew 049097e5b4
Improve CapabilityStatement Generation (#2511)
* Start work

* Work on testing

* Version bump

* Test fix

* Compile fix

* Test Fixes

* Test fix

* Test fix

* Compile fix

* Tst fix

* Test fix

* Test fix

* Test fix
2021-03-30 05:48:03 -04:00
Diederik Muylwyk b720c32c1d Version bump 2021-03-29 18:23:16 -04:00
James Agnew dc41d5ad61
Add terminology mapping and display population interceptors (#2488)
* Start work on code mapping interceptors

* Work on generation

* Add terminology mapping and display population interceptors

* Add changelog

* License header updates

* Test fixes

* Fix typo

* Interceptor fixes

* License header update

* Test fixes

* Mapping fixes

* Version bump

* License header updates

* Add null tests

* Add null guard

* Intermittent fix
2021-03-21 12:03:57 -04:00
James Agnew d857048207
Preserve meta values in stored resources (#2481)
* Fix #1731

* Test fix

* Test fixes

* Avoid intermittent failure
2021-03-17 09:23:22 -04:00
James Agnew 807d9d53f0
Improve performance for large transactions (#2462)
* Performance tweaks

* Work on processing speed

* Disable no longer relevant tests

* Work on performance

* Work on tests

* Work on large transaction performance

* Add changelog

* Perf tweaks

* Test fixes

* Resolve FIXME

* Fixes

* Test cleanup

* Fix broken changelog entry
2021-03-09 18:16:02 -05:00
James Agnew be50a46d76
Tweaks to contained searches (#2461)
* Tweaks to contained searches

* Add changelog

* Build fix
2021-03-09 11:51:30 -05:00
Frank Tao bf8e890a0c
Supported contained resource search (#2441)
* POC for indexing on contained resource - test case may failed

* Test contained url

* Add a spt to handle contained flag

* Added search option for contained resource

* Impl contained resource search

* fixed typo

* Reworked on creating index based on the review comments

* Added changelog

* Added more test cases

Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2021-03-09 06:50:23 -05:00
Diederik Muylwyk 6cc8a5ce4d
Fix HasParam#doGetQueryParameterQualifier() (#2460)
* Fix HasParam#doGetQueryParameterQualifier(); add changelog entry

* Fix bad test in SearchParameterMapTest
2021-03-09 06:28:40 -05:00
Ken Stevens 7d769e3b05
Issue 2332 create via put for implementationguide that references some placeholders (#2423)
* begin with failing test

* fixed.  test passes.

* documentation and changelog

* added ConceptMap

* review feedback
2021-02-26 09:44:48 -05:00
Kevin Hartmann 26a385a595 Merge remote-tracking branch 'origin/master' into kh-20200222-search-list 2021-02-24 10:29:38 -05:00
Kevin Hartmann 1eab2caf9f Added _list as a valid parameter in MatchUrlService
Wrote tests for and/or/both processing in FhirResourceDaoSearchListTest.
2021-02-24 10:27:22 -05:00
Patrick Werner cf1f2f27db
added nullchecks to prevent NPE (#2417)
* added nullchecks to prevent NPE
fixes #2171

* Add test from #2171 and changelog

Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2021-02-24 10:09:04 -05:00
Ken Stevens 0e314a9382
fix searchparam not found failure at startup (#2408)
* reproduced and fixed issue reported by Adi

* undoing rearrange
2021-02-22 15:09:59 -05:00
James Agnew 3eda19c65a
Version bump (#2400)
* Version bump

* Docs changes

* Docs tweaks

* Docs tweak

* Spelling fixes

* Docs tweaks
2021-02-18 11:07:49 -05:00
jamesagnew 919c1dbddc Version bump to 5.3.0 2021-02-17 07:10:13 -05:00
Jari Maijenburg 0ec64cfab1
Fixed bug where AND resource search-params were matched as OR params (#2365)
* Fixed bug where AND resource search-params were matched as OR params

* Added InMemoryResourceMatcher test to test searching in a period
2021-02-08 10:23:07 -05:00
Mike G f61cb163ae refactor and modify for prefix and suffix 2021-02-01 12:11:11 -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
Ken Stevens 749934d5f1
fixed name text indexing (#2309)
* fixed name text indexing

* fixed name text indexing
2021-01-22 15:39:26 -05:00
jamesagnew 4913c33fdf Test fix 2021-01-17 07:24:00 -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
Frank Tao f6d4a40388
UCUM Service Support (#2261)
* Added UcumServiceUtil

* Removed ucum-essense.xml

* Added ucum service existing test cases passed

* Added more test cases

* Merge branch 'master' into ft-ucum-support

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.

* Added back extractReferenceParamsAsQueryTokens

* Added changelog and migration script

* Added length for the string type

* Moved UCUM util to hapi-fhir-jpaserver-model

* Renamed UCUM support to Normalized Quantity Search Support

* Moved setNormalizedQuantitySearchNotSupported to AfterEach

* Changed migrate task to 530

* Removed comments

* Fixed in memory search issue and added more test cases

* Fixed the version order

* License header updates

* Updated based on review comments

* Updated the migration task based on review comments

* Fixed RES_TYPE with type String and length 100

* Changed myParamsQuantityNormalizedPopulated type to Boolean class
2021-01-10 21:05:24 -05:00
jamesagnew 12d366c86e License header updates 2021-01-05 18:13:14 -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 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
James Agnew 30b6244988
Avoid blocking on shutdown (#2206) 2020-12-02 08:44:06 -05:00
jamesagnew 74aed5d107 License headers 2020-11-29 20:53:19 -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
jamesagnew 0c31741eec Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
jamesagnew 4d441ad7f2 Version bump to 5.2.0 2020-11-18 06:30:20 -05:00
James Agnew 228e75b501
Bump core to latest versions (#2154)
* Bump core to latest versions

* Compile fix

* Bump to non snapshot core library
2020-11-03 15:43:37 -05:00
James Agnew 5e8ec8d6f3
Resolve crash in InMemory SP resolver for empty source (#2150)
* Resolve crash in InMemory SP resolver for empty source

* Add changelog
2020-10-28 14:30:32 -04:00
James Agnew 8000d2d0cf
SQL Join Rework (#2086)
* switched to adding annotations.  Just did a test with Token, but the sql looks clean.

* switched to adding annotations.  Just did a test with Token, but the sql looks clean.

* added the other six index links

* trying different annotations

* Start testing

* Update resources on package install

* Add changelog

* Join rework

* CLean up SQL builder

* Add docs

* SP rework

* Join work

* Work on params

* Work on refactor

* Work on chains

* Work on joins

* Rework queries

* Work on queries

* Many more tests passing

* Refs test

* Work on sorting

* Work on tests

* More joins work

* Work on tests

* Work on queries

* Tests passing

* More test fixes

* Test fixes

* Work on SQL

* Tests passing

* Add some tests

* Add some tests

* License headers

* Use entity manager to get datasourcd

* One more fix

* Model cleanup

* Ongoing work

* Fixes

* Fixes

* Work on joins

* Ongoing fixes

* Merge conflict

* Cleanup

* clean up unused fields

* Work on join

* COmpile fix

* Rework querying

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/HibernateDialectProvider.java

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

* Address review comments

* Resolve fixmes

* Test fix

* Test fixes

* Test fix

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2020-10-26 05:24:26 -04:00
Ken Stevens 3b91873b7c
delete expunge (#2131)
Added delete _expunge=true
2020-10-20 17:21:50 -04:00
Tuomo Ala-Vannesluoma 1435540320
Improve synchronous searching by providing offset & limit support (#2059)
* Improve synchronous searching by providing offset & limit support

Add support for offset querying which leverages paging at the query level
Add configuration for search default page size and search maximum page size
If using offset, always use synchronous searching to avoid extra database insert/update etc.
When using offset, only calculate count if it's wanted
Validate params closer to provider and handle size if search returned "all" (or last)

* Review and test fixes

Comment _offset as nonstandard parameter
Make synchronous search always count the total value (for now)
Fix issue with FulltextSearchSvcImpl mutating param map
Dirty fix for BaseJpaTest (not sure how to fix the including resources issue)

* Remove temporary count querying fix for synchronous loads

* Fix offsetting of everything operations, do not drop zero offset

* Fix jpa test default and maximum page size, add some fixmes to tests before resolved

* Ignore one failing test, fix others

* Fix Dereferenced variable may be null

* Fix everything paging in R4 by adding DISTINCT if synchronous load is used

Also fix assertion of size when hitting fetchSizeDefaultMaximum

* Add documentation about offset annotation and paging

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2020-10-12 17:42:03 -04:00
James Agnew 2134d40f1c
Account for timezones in lastUpdated search (#2113)
* Add test

* Fix

* Add changelog

* Test fixes

* Test fix

* Test fixes

* Resolve fixme

* Test fixes

* Remove debug logs

* Try to get CI tests passing again
2020-10-09 07:52:46 -04:00
James Agnew ef4f3df945
Don't install draft package contents (#2099)
* Don't install draft package contents

* Add changelog

* Add changelog
2020-09-22 09:44:36 -04:00
James Agnew 437e81fc65
Support multiple updates of one resource in a transaction (#2050)
* Support multiple updates of one resource in a transaction

* Test update

* Add changelog

* Test fix
2020-08-25 05:55:54 -04:00
jamesagnew 92718c7ef2 Version bump to 5.2.0-SNAPSHOT 2020-08-12 10:23:46 -04:00
jamesagnew 5fb7bd5156 Version bump to 5.1.0 2020-08-11 17:43:24 -04:00
James Agnew e61b39fc30
Force a flush of the SearchParameter cache sooner when SPs change (#2030)
* Force a flush of the SearchParameter cache sooner when SPs change

* Add changelog

* Test fixes
2020-08-09 19:30:59 -04:00
Tadgh ed618613a6 Add type-based filtering to filter service. Add tests 2020-08-06 10:58:37 -07:00
James Agnew f356c7c385
Migrate to JUnit5 (#1952)
* Work on junit

* Work on junit 5

* Work on junit 5

* Bump errorprone vcersion

* Work on tests

* Junit 5 tweaks

* Fixes

* Work on tests

* Work on junit5

* Work on tests

* Test fixes

* Work on junit5

* Test work

* Get junit5 working

* Test fix

* Work on tests

* WOrk on tests

* Work on tests

* fixes

* Compile fix

* One more tweak

* Compile fix

* Add changelog

* Fix compile error

* Compile fix
2020-07-04 18:28:16 -04:00
jamesagnew ef86d26357 License header updates 2020-07-02 12:07:02 -04:00
Ken Stevens 714bd6216e
Empi 70 phonetic indexing (#1941)
* start with failing test

* test passes with fixmes

* javadoc and config

* pre-review cleanup

* generalize encoding

* test passes, but indexing needs to be optimized

* test passes, but indexing needs to be optimized

* step 1 of optimization.  big refactor of all predicates

* step 2 of optimization: determine phonetic encoder at time of RuntimeSearchParam creation

* integrated new phonetic encoders into empi

* phonetic search implemented

* IT passes

* pre-review cleanup

* final pre-review cleanup

* final pre-review cleanup

* Fix compile error

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2020-06-30 17:36:54 -04:00
jamesagnew 2cdef055aa Missed commit on #1951
Squashed commit of the following:

commit f820135996
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 14:29:24 2020 -0400

    Address review comments

commit 11c4f9defb
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 09:38:16 2020 -0400

    Fix LGTM warning

commit b650fdb9ea
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 09:20:52 2020 -0400

    Test fix

commit 6ebcceeb5c
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 18:49:01 2020 -0400

    Add changelog

commit 4a1d7383b0
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 18:46:52 2020 -0400

    Bundle transmission

commit 88bd4abf0c
Merge: 7cde945281 25fc747b9f
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 17:31:23 2020 -0400

    Merge branch 'master' into ja_20200617_subscription_send_bundles

commit 7cde945281
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 17:10:33 2020 -0400

    Work on seed bundles

commit ed2e62752e
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 09:39:10 2020 -0400

    Work on subscriptions

commit 52addcff59
Merge: 64a9eaa4de bf8de84801
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Sat Jun 27 18:09:23 2020 -0400

    Merge branch 'master' into ja_20200617_subscription_send_bundles

commit 64a9eaa4de
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Wed Jun 17 18:32:17 2020 -0400

    Start work

commit f74eba5397
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Wed Jun 17 18:28:18 2020 -0400

    Terser should create correct Enumeration on create
2020-06-30 14:31:40 -04:00
James Agnew fa4bbe3685
Allow search criteria as subscription delivery mechanism (#1951)
* Terser should create correct Enumeration on create

* Start work

* Work on subscriptions

* Work on seed bundles

* Bundle transmission

* Add changelog

* Test fix

* Fix LGTM warning
2020-06-30 14:29:09 -04:00
James Agnew 6825d2fcf0
Reduce DB roundtrips for revincludes (#1937)
* Reduce DB roundtrips for revincludes

* Add changelog
2020-06-23 16:26:04 -04:00
James Agnew b8da4f0140
Add package support (#1911)
* Begin rework of package management

* Work on NPM

* Work on package management

* Work on NPM

* NPM rework

* Work on NPM

* NPM package rework

* Updates

* Updates

* Add license

* Work on package server

* Work on package importing

* Work on package management

* Package rework

* Work on packages

* Work on package manager

* Work on pkgs

* NPM work

* NPM rework

* Work on package cache

* Work on NPM

* Work on NPM

* Package fixes

* Add tests

* Tweaks

* Test fixes

* Add changelog

* Avoid snapshot dep
2020-06-10 05:30:20 -04:00
ianmarshall 78b7f091ec Merge remote-tracking branch 'remotes/origin/master' into im_2020601_lastn_code_text_filter
# Conflicts:
#	hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/search/lastn/LastNElasticsearchSvcMultipleObservationsIT.java
2020-06-04 16:55:18 -04:00
Ken Stevens 60e420aaa3
resolves #1838 (#1839)
* Added %today that works like %now but with date precision instead of dateTime precision.
2020-06-04 09:52:41 -04:00
ianmarshall 8d5232bced Merge remote-tracking branch 'remotes/origin/master' into im_2020601_lastn_code_text_filter 2020-06-02 21:28:10 -04:00
jamesagnew 75a74bdd38 License headers 2020-06-02 18:20:56 -04:00
ianmarshall 2e709a50c0 Enable filtering $lastn operation by Observation effective date. 2020-06-02 16:37:07 -04:00
ianmarshall f48214deda Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java
2020-05-29 23:54:11 -04:00
ianmarshall a4811f1508 Changes per code review. 2020-05-29 23:47:44 -04:00
James Agnew 7f72305f57
Improve Period range indexing (#1873)
* Fix #1871 - Handle period range searches better

* Add changelog

* FIx tests

* Add test logging

* Address review comments
2020-05-28 08:56:43 -04:00
ianmarshall a63d90c1f5 Additional cleanup and test fixes. 2020-05-25 18:36:04 -04:00
ianmarshall 1e554731bb Additional cleanup and test fixes. 2020-05-25 18:25:25 -04:00
ianmarshall 4d378ee0ed Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java
#	hapi-fhir-jpaserver-base/pom.xml
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/ISearchParamExtractor.java
2020-05-22 17:04:01 -04:00
Tadgh d1b963321a
MVP EMPI implementation (#1857)
EMPI Initial Implementation (still plenty of known gaps)
2020-05-22 15:03:20 -04:00
James Agnew 5b2181a563
Implement FHIR Patch (#1850)
* Start working on FHIRPatch

* More work on fhirpatch

* Work on FHIR Patch

* Add patch

* Test fixes

* Test fixes

* Get tests fixed

* Chnage to trigger a build

* Compile fix

* Dependency version fixes

* Test fix

* COmpile fix

* Try to fix build

* Test fix attempt

* Another build attempt

* Another build tweak

* Cleanup
2020-05-20 19:43:55 -04:00
ianmarshall d2b54d6203 Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/SearchBuilder.java
2020-05-19 15:20:06 -04:00
ianmarshall 6a27192a96 Fixed sorting with chunked and paged queries. 2020-05-19 14:48:26 -04:00
jamesagnew 52c8e3551c Version bump to 5.1.0-SNAPSHOT 2020-05-15 14:43:32 -04:00
jamesagnew fe0e07a313 Bump to 5.0.1 2020-05-15 05:47:01 -04:00
James Agnew 79a064dfd9
Optimize chain sql paths (#1844)
* Start cleanup

* Almost workinf

* Possibly working!!

* Fixes

* Test fix

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/predicate/querystack/QueryRootStack.java

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

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/predicate/querystack/QueryRootStack.java

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

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/predicate/querystack/QueryRootStack.java

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

* Address review comments

* Add changelog

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2020-05-15 05:36:12 -04:00
ianmarshall 529e1e1f5e Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch 2020-05-14 12:09:24 -04:00
jamesagnew 1d13e29ac0 Version bump to 5.1.0-SNAPSHOT 2020-05-12 20:04:20 -04:00
jamesagnew d631ecff4a Prepare for 5.0.0 2020-05-12 11:49:18 -04:00
ianmarshall e56cb049f7 Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch 2020-05-08 09:19:44 -04:00
ianmarshall c290fa3493 Fixes to enable $lastn to return more than 32K records. 2020-05-08 09:19:14 -04:00
James Agnew 6cc07b6689
Make binary storage work for bulk export (#1836)
* Make binary storage work for bulk export

* Add changelog

* Build fixes

* Test fix

* Test fix

* Test fix
2020-05-07 19:20:22 -04:00
James Agnew b67509d7ff
Transaction write performance fix (#1832)
* Performance fix for transactions

* Test fix

* Fixes

* Add docs

* Test fixes
2020-05-07 10:56:41 -04:00
ianmarshall 1e882d640d Merging with latest from Master. 2020-05-05 17:35:22 -04:00
ianmarshall 4cced40b54 Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java
2020-05-05 17:19:32 -04:00
ianmarshall 4db5beeabf Additional changes to enable processing of lastn operations with large numbers of parameters. 2020-05-05 16:53:47 -04:00
James Agnew a77aa6a28e
Multitenancy Ticket 2 - #1813 (#1821)
* Work on multitenancy

* Second ticket started

* More multitenancy work

* Work on tenancy security

* Work on multitenancy

* Test fixes

* Add docs

* cs tweak

* Multitenancy fixes

* Add debug log

* Fix build

* Add headers

* Add partition selection interceptor hook

* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/api/Constants.java

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

* Account for review comments

* Resolve FIXMES

* Work on tests

* Test fixes

* A bit more cleanup

* Work on multitenancy

* Update hapi-fhir-docs/src/main/java/ca/uhn/hapi/fhir/docs/ClientExamples.java

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/client/examples.md

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

* Address review comments

* Allow disabling text modifier indexing

* Add changelog

* Docs fixes

* Address review comment

* Resolve merge conflicts

* Merge master

* Compile fix

* Test fix

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2020-05-05 15:12:15 -04:00
James Agnew 35c2b7a2c1
Allow disabling text modifier indexing (#1831)
* Allow disabling text modifier indexing

* Add changelog

* Address review comment

* Resolve merge conflicts
2020-05-05 12:16:55 -04:00
James Agnew dada217966
Clean up hash code calculation (#1830)
* Clean up hash code calculation

* Test fixes

* Test fix

* Test fixes

* Compile fix

* Test fix
2020-05-05 11:11:24 -04:00
Tadgh 8f8a8a3dc2 Merge branch 'master' into date-match-bug 2020-04-29 16:17:50 -07:00
ianmarshall 3e49e5615f Fixing merge conflicts after merge from Master. 2020-04-25 22:14:55 -04:00
ianmarshall dd749791db Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java
2020-04-24 16:55:45 -04:00
ianmarshall 0e45db0ba9 More cleanup and test fixes. 2020-04-24 16:23:59 -04:00
ianmarshall 197bf2b6a8 Further refinements and test fixes. 2020-04-23 23:21:45 -04:00
jamesagnew c7de85339c Work on review comments 2020-04-21 20:18:06 -04:00
jamesagnew bbab016ca6 Rename config 2020-04-20 12:38:04 -04:00
ianmarshall 540375a7eb Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch 2020-04-17 17:39:27 -04:00
jamesagnew 25cdbb15c2 Work on multitenancy 2020-04-16 15:33:48 -04:00
jamesagnew cd06137745 Work on multitenancy 2020-04-15 22:12:28 -04:00
jamesagnew d822867a4a Merge branch 'master' into ja_20200206_multitenancy 2020-04-15 22:12:20 -04:00
James Agnew f95f619bdc
Correct two JPA processing bugs (#1801)
* Work on search params on contained

* Add workaround for stored decimals with leading decimal point

* Add changelog

* Cleanup

* Test fix

* Test fix

* One more test fix
2020-04-15 14:22:47 -04:00
ianmarshall 925bbbbcdc Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-cli/hapi-fhir-cli-api/src/main/java/ca/uhn/fhir/cli/RunServerCommand.java
#	hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/dstu3/BaseDstu3Config.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/r4/BaseR4Config.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/r5/BaseR5Config.java
#	pom.xml
2020-04-13 18:35:15 -04:00
jamesagnew 982b54df57 Work on multitenancy 2020-04-13 11:50:49 -04:00
jamesagnew c26a5553e9 Multitenancy work 2020-04-12 20:47:32 -04:00
jamesagnew e55ccf88fc Work on multitenancy 2020-04-10 20:01:59 -04:00
jamesagnew 7c6024fa14 More work on subscriptions 2020-04-03 07:43:21 -04:00
jamesagnew e1142f4043 Start work on subscription cleanup 2020-04-02 05:31:12 -04:00
ianmarshall f819c91530 Initial implementation of lastn operation. 2020-03-31 21:55:57 -04:00
jamesagnew a5257f0fa8 Add new indexing extractor method 2020-03-19 20:22:30 -04:00
Tadgh 3eb09b15f0 Merge branch 'master' into bugfix/1752-support-chained-parameters-inside-reverse-chained-parameter 2020-03-17 10:32:43 -07:00
James Agnew 22413911bf
Validation api changes (#1719)
* Validation enhancements

* Work on validation api reworking

* Keep working on validation API

* Keep working on new term API

* Work on validation api

* Ongoing work on validation

* Work on integrating validation

* Work on validation API

* Add to validation API

* Work on validation

* Work on API

* Work on validation

* Work on validation API

* Work on validation API

* Work on validation api

* Work on validation API

* Work on validation api

* Validation API changes

* Work on API

* More work on validationo API

* Work on validation API

* FIxes

* WOrk on validation api

* Work on validation API

* Tests passing!

* More cleanup

* More validation API changes

* Fix intermittent test failure

* Package reorg

* Validation API work

* Work on doocumentation

* Work on API

* More work on new validation API

* Fix errorprone-reported error

* Test fixes

* Documentation updates

* Documentation tweaks

* Work on API

* Bean name adjustments

* Build fixes

* Some test fixes
2020-03-17 13:28:59 -04:00
Tadgh 4777d75e6b Merge branch 'master' into bugfix/1752-support-chained-parameters-inside-reverse-chained-parameter 2020-03-13 18:40:11 -07:00
James Agnew 1dc5d89013
Optmize forced ID resolution (#1754)
* Add forced ID caching

* Work on id optimization

* Test fixes

* More optimization work

* Add some docs

* Work on docs

* Test fixes

* Test fixes

* Test fixes

* Address review comments

* Compile fix
2020-03-12 17:12:50 -04:00
Tadgh 59d1603597 Some variable renaming. Adds some questions. 2020-03-09 13:51:47 -07:00
jamesagnew 202b9c9a51 License header 2020-03-08 07:23:57 -04:00
Tadgh aca4bcfaad Minor refactoring for readability 2020-03-06 14:22:31 -08:00
Ken Stevens ccd983ab42 review feedback: code improvement 2020-03-03 13:46:23 -05:00
Ken Stevens 705735b9c0 review feedback: javadoc 2020-03-03 13:29:10 -05:00
Ken Stevens 4e1be80525 fixme 2020-03-02 21:39:28 -05:00
Ken Stevens 27dcafe4f2 all but unit tests 2020-03-02 21:27:50 -05:00
Ken Stevens 24acb57f3b began with failing test.
test now passes.
2020-03-02 17:56:25 -05:00
Gary Graham b1d7072c42 Add precision checker for ordinal date returning on DateRangeParam 2020-02-26 22:22:42 -05:00
Gary Graham f86a4c9fa1 Add date ordinals to subscription matching checker 2020-02-26 17:05:23 -05:00
James Agnew cb9906580e
Index canonical references (#1728)
* Index canonical references

* Add changelog

* Fix compile error

* Add whitespace
2020-02-25 21:45:46 -05:00
Gary Graham a1b6e37395 Fix bug with Period bounds not counting as first value 2020-02-25 17:03:50 -05:00
Gary Graham 3ec772b527 rework ResourceIndexedSearchParamDate constructor to support incoming string values 2020-02-25 14:06:36 -05:00
James Agnew 60f16dd91d
Update to 4.3.x core JAR (#1715)
* Added optionality for adding resource fetcher

* Added coverage that proves invocations

* Bumped version of fhir.core to latest version. Added wrapping of AssumeValidRestReferences

* Added optionality for adding resource fetcher

* Added coverage that proves invocations

* Bumped version of fhir.core to latest version. Added wrapping of AssumeValidRestReferences

* Start working on converter

* Account for compile errors

* Test fix

* Work no validator

* Work on getting core working

* Add some test coverage

* Many test fixes

Co-authored-by: Jens Kristian Villadsen <46567685+jvitrifork@users.noreply.github.com>
2020-02-17 14:28:29 -05:00
jamesagnew ddc7b601ee Version bump to 4.3.0-SNAPSHOT 2020-02-16 19:23:22 -05:00
jamesagnew 4fd80cfca7 Bump to 4.2.0 2020-02-16 19:00:15 -05:00
Ken Stevens 63f2f38689 reinstate near param count validation 2020-02-02 21:21:37 -05:00
Ken Stevens c10d44327c fix in-memory matcher 2020-02-02 17:52:09 -05:00
Ken Stevens decb47dfc2 remove unused block 2020-02-02 16:56:25 -05:00
Ken Stevens 74948737a7 pre-review cleanup 2020-02-01 20:18:42 -05:00
Ken Stevens fb1eb7ca8f parking wip 2020-02-01 13:58:27 -05:00
Ken Stevens 2bc3181218 ensure in-memory matching location search for Dstu3 falls back to a db search 2020-01-25 13:30:26 -05:00
Ken Stevens 2c53468177 fix test 2020-01-24 21:11:37 -05:00
Ken Stevens c87f8e0f4a tested near anti-meridian 2020-01-24 18:55:32 -05:00
Ken Stevens 72ccd76ed0 prepping for antimeridian test 2020-01-24 14:37:28 -05:00
Ken Stevens 39c7642d8c fix test 2020-01-24 09:27:20 -05:00
Ken Stevens b465a7b781 final cleanup 2020-01-23 19:20:51 -05:00
Ken Stevens 01bc941f5f Optimize imports 2020-01-23 19:15:30 -05:00
Ken Stevens e6f5af01ed convert degrees to kilometers for near calculation 2020-01-22 16:55:19 -05:00
Ken Stevens 9413e8f198 r4 works. But distance calculation still needs to be fixed. 2020-01-22 11:59:03 -05:00
Ken Stevens 6cebb56f13 testing complete. Now just need pre-review cleanup. 2020-01-21 17:06:19 -05:00
Ken Stevens 3cb9a9f4a2 added asserts 2020-01-21 15:45:41 -05:00
Ken Stevens b463929c28 parse nearDistance into a special search parameter field so it's available when we're adding the near parameter 2020-01-21 15:38:25 -05:00
Ken Stevens 299e1e35e1 removed coordextractor and moved to token (looks cleaner and more in line with how the other ones are parsed) 2020-01-21 11:06:40 -05:00
Ken Stevens dd137a0a30 Coord extraction implemented 2020-01-21 10:17:49 -05:00
James Agnew c0e929dacb
Copy identifiers to placeholder resources (#1675)
* Copy identifiers to placeholder resources

* Add tests

* Maven cleanup

* Still messing around with azure

* Adding to logging

* More azure work

* One more attempt

* More messing around with azure

* Test fix

* Another caching attempt

* More work on azure pipeline

* Fix pipeline file

* Keep working on pipeline

* More work on azure

* More azure

* More azure work

* More azure
2020-01-21 06:09:06 +09:00
James Agnew 1390ea3c06
Update FHIR R5 structures to 4.2.0 version (#1665)
* Work on upgrading core

* Work on R5 updates

* Work on core updates

* Test fix

* Update model version properties file for R5

* Bump core version

* Test fixes

* Add 4.2.0-SNAPSHOT version to versions page in docs
2020-01-14 10:27:01 +08:00
jamesagnew 9c7f5e1b9b License header updates 2020-01-12 10:15:08 -05:00
Ken Stevens 2d0c30f7a2 fix test 2019-12-20 15:46:55 -05:00
Ken Stevens 625f967688 ready for review 2019-12-20 14:56:44 -05:00
James Agnew 0a21ab6941 Use datasource for migrator 2019-12-18 14:23:46 -05:00
Ken Stevens 993d8220d1 review feedback 2019-12-02 11:18:52 -05:00
Ken Stevens f92c2bb5f9 ensure only one @PostConstruct method to make order explicit 2019-11-29 11:46:03 -05:00
Ken Stevens 37eef4e3e4 rename schedule interface methods 2019-11-29 11:04:35 -05:00
Ken Stevens 8c4ffc024d Merge remote-tracking branch 'remotes/origin/master' into ks-20191119-scheduler 2019-11-25 16:40:40 -05:00
James Agnew 27749f4e23
Support chained HAS (#1605) 2019-11-24 06:29:56 +01:00
James Agnew 51b608188b
Some CI surefire improvements (#1602)
* Some CI surefire improvements

* Build tweak

* More tweak

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* One more CI attempt

* Update azure-pipelines.yml for Azure Pipelines

* Tweak command line

* Another build test fixc

* More build cleanup
2019-11-23 19:51:02 +01:00
James Agnew a2f77b23d2
Fix #1583 - Index local refs in canonical types (#1593)
* Fix #1583 - Index local refs in canonical types

* Add fix to pre-expansion

* Test fix

* Rework ID handling

* Test fixes

* Fix test
2019-11-23 16:32:37 +01:00
Ken Stevens 6f9cd56c81 moved scheduler up to hapi-server 2019-11-20 14:30:24 -05:00
Ken Stevens 8fca468e1f remove boolean from scheduling API 2019-11-19 10:13:22 -05:00
James Agnew 74159dcb26
Work on refactoring how PIDs work (#1580)
* Start work on refactoring how PIDs work

* Some test fixes

* Test fixes

* Test fixes

* Restore accidentally deleted line

* One more tweak

* Rework resource link extraction

* Test fix

* Split out transaction processor

* Updates

* Test fix

* Test fixes

* Test fixes

* Clean up LGTM warning

* Fix compile failure

* One more test fix

* Fix LGTM issue

* Add spot for metadata

* Add test logging

* Remove testing code

* More test logging

* Add some test logging

* Attempty to fix intermittent test failure

* Improve exception tracking

* Work on simplifying search param registry

* Fix compile

* Fix compile errors

* Fix two test bugs
2019-11-17 14:35:19 -05:00
Ken Stevens f11d939131 oops 2019-11-14 14:55:02 -05:00
Ken Stevens 25c094e38a skip trying to populate resources in search result bundle if no resources were found 2019-11-14 14:55:02 -05:00
James Agnew 497a96ae68 Version bump for next round of development 2019-11-12 22:09:21 -05:00
jamesagnew f99ad981b5 Version bump to 4.1.0 2019-11-12 16:08:20 -05:00
jamesagnew 9c93d5d7f7 Test fixes 2019-11-04 07:04:26 -05:00
James Agnew 78a323f105 Test fixes 2019-11-03 21:20:22 -05:00
James Agnew 9672dac827 Fir build 2019-11-03 19:15:53 -05:00
James Agnew f481e11ad5 Update migration tasks 2019-11-03 18:49:47 -05:00
James Agnew c3c67966fd Test fix 2019-11-03 14:37:14 -05:00
James Agnew d937889878 Resolve startup issue 2019-11-03 14:08:59 -05:00
James Agnew ac51098cb3 Version bump H2 2019-11-02 23:48:14 -04:00
James Agnew b8837e810d One more startup fix 2019-11-02 23:17:02 -04:00
James Agnew 49b8083e15 One more startup attempt 2019-11-02 22:48:56 -04:00
James Agnew f8cbd27957 Fix startup issue 2019-11-02 22:45:13 -04:00
James Agnew e96500d54f Add a test 2019-10-30 15:51:46 -04:00
jamesagnew b13de41e9f Merge branch 'ja_20190928_rationalize_search_param_extractor' of github.com:jamesagnew/hapi-fhir into ja_20190928_rationalize_search_param_extractor 2019-10-30 13:46:42 -04:00
James Agnew 090bb30c89 Test fix 2019-10-30 10:38:51 -04:00
James Agnew d3e66680f0 Add some testing 2019-10-30 09:49:40 -04:00
James Agnew 16cfcc87c8 Work on extractor 2019-10-30 08:57:51 -04:00
jamesagnew 541fbf3ec1 Work on tests 2019-10-30 05:32:30 -04:00
James Agnew 493ec707ca A few more fixes 2019-10-28 17:00:23 -04:00
James Agnew 5954b131df Work on tests 2019-10-27 21:58:04 -04:00
jamesagnew 51a0006548 Work on rationalizing search param extractor 2019-10-27 20:04:33 -04:00
James Agnew d18550b96f Merge branch 'master' into ja_20190928_rationalize_search_param_extractor 2019-10-27 18:00:31 -04:00
James Agnew 817f9ae36e Merge branch 'master' into ja_20190928_rationalize_search_param_extractor 2019-10-27 17:25:20 -04:00
James Agnew 6580c98ed7 Work on extractor 2019-10-26 16:56:12 -04:00
jamesagnew ffb15682de Update license headers 2019-10-26 14:48:08 -04:00
Ken Stevens 4a2ed62357 review feedback 2019-10-24 20:25:16 -04:00
Ken Stevens 08472c1e3f ready to merge 2019-10-24 17:56:15 -04:00
Ken Stevens 5379ab8c2c implement in-memory match 2019-10-24 17:53:02 -04:00
Ken Stevens 4fa849a3e5 pre-review cleanup 2019-10-24 16:43:47 -04:00
Ken Stevens 43f17534bb commiting with FIXMEs so James can review 2019-10-24 16:40:53 -04:00
James Agnew 74c03b5bb7 Add a test 2019-10-24 08:32:52 -04:00
Ken Stevens 2e7876b682 Merge remote-tracking branch 'remotes/origin/ks-binary-storage-NP-check' into ks-better-inmemory-error 2019-10-22 09:33:47 -04:00
James Agnew 73961072a6
Handle invalid chains on custom search params (#1553)
* Handle invalid chains on custom search params

* Add some more tests

* One more test fix
2019-10-21 21:21:33 -04:00
Ken Stevens 347a66c429 improve in-memory error messages 2019-10-21 16:44:52 -04:00
James Agnew bfbc73caaf
Auto externalize binary contents (#1550)
* Auto externaliZe binary attachments

* Work on externalization

* Auto externalize binary content

* Work on tests

* Fix alert
2019-10-19 09:01:00 -04:00
Tuomo Ala-Vannesluoma 9eddecaee7 Refactor indexed param creation to single method 2019-10-18 07:03:02 -04:00
Tuomo Ala-Vannesluoma efcde45bb7 Fix length for normalized value 2019-10-18 07:03:02 -04:00
James Agnew 12a74e6cbc
Fix term uploads and validate against valueset recalculation (#1540)
* Start refactoring terminology delta operations

* Work on delta operations

* Work on concept saving

* Split term services into smaller services

* Work on term delta operations

* Work on term svcs

* Work on term operations

* More work on delta uploader

* Add a test

* Wrk on term service

* Fix compile error

* Some refactoring

* Test fix

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test fixes

* Work on delta

* Work on tests#

* Test fixes

* Improve resequencing logic

* Build test

* More testing

* More build testing

* More work on tests

* CHange test logging

* Fix term service PID issue

* Update src/changes/changes.xml

Co-Authored-By: Diederik Muylwyk <diederik.muylwyk@gmail.com>

* Address review comment

* Some cleanup

* Test fix

* Fix some tests

* Work on upload command

* Test fixes

* Work on validation fixes

* Work on validation against pre-expansion

* Work on direct validation

* A bit of cleanup

* Add some javadoc

* Force another build

* Test fixes

* Fix tests

* Fix tests
2019-10-15 21:31:29 -04:00
James Agnew 8b2ab51bc6
Handle canonical questionnaire refs in validator (#1544)
* Handle canonical questionnaire refs in validator

* FIx changelog

* Fix canonical reference

* Build tweak

* Change to trigger a build
2019-10-15 20:27:53 -04:00
James Agnew 1618ccc14c FIx compile error 2019-10-15 20:06:11 -04:00
James Agnew fdcf5f5d73 Add a test 2019-10-15 18:16:22 -04:00
James Agnew 836fac9a30 Ensure that JPA PRESHOW interceptor broadcasts don't include expunged
resources
2019-10-03 15:49:03 -04:00
Ken Stevens 98c76a4d49 Test passes 2019-10-03 12:03:38 -04:00
James Agnew a1bf50685d Work on cleanup 2019-09-30 21:40:41 -04:00
James Agnew c0eb662a21 Rationalize search param extractor 2019-09-28 19:23:21 -04:00
James Agnew 8657afb01e
Fix intermittent test failures regarding search (#1509)
* Add some logging

* Add more test logging

* Work on some test logging

* Fix compile error

* Work on codecov

* Work on codecov

* Remove test debug messages
2019-09-25 20:15:21 -04:00
jamesagnew 473fa3456e Work on adding codecov 2019-09-25 14:12:42 -04:00
James Agnew 4a751cbfc5
Integrate Bulk Export (#1487)
* Start working on subscription processor

* Work on new scheduler

* Test fixes

* Scheduler refactoring

* Fix test failure

* One more test fix

* Updates to scheduler

* More scheduler work

* Tests now all passing

* Ongoing work on export

* Ongoing scheduler work

* Ongoing testing

* Work on export task

* Sync master

* Ongoing work

* Bump xml patch version

* Work on provider

* Work on bulk

* Work on export scheduler

* More test fies

* More test fixes

* Compile fix

* Reduce logging

* Improve logging

* Reuse bulk export jobs

* Export provider

* Improve logging in bulk export

* Work on bulk export service

* One more bugfix

* Ongoing work on Bulk Data

* Add changelog
2019-09-17 16:01:35 -04:00
Ken Stevens c974e9283b added search % now test 2019-09-10 10:11:09 -04:00
Ken Stevens abef4455eb done 2019-09-09 17:22:07 -04:00
Ken Stevens 7cfbf710fe Merge remote-tracking branch 'remotes/origin/master' into ks-in-memory-date-compare
# Conflicts:
#	src/changes/changes.xml
2019-09-09 14:46:25 -04:00
Ken Stevens 9e83f1d40a changelog 2019-09-09 14:22:42 -04:00
Ken Stevens cdbe527456 date comparison for in-memory matcher works now 2019-09-09 11:44:44 -04:00
Ken Stevens 02b8e14a7a first part of test passes now 2019-09-07 10:24:18 -04:00
Ken Stevens 15098109c8 start with failing test 2019-09-06 18:33:33 -04:00
James Agnew 718fcb28a5 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-09-06 14:58:03 -04:00
James Agnew 722c7a8211 Work on GraphQL updates 2019-09-06 14:56:17 -04:00
Ken Stevens fa62ab9c9e Merge remote-tracking branch 'remotes/origin/master' into ja_20190822_1440_infinispan_query_cache
# Conflicts:
#	hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java
#	src/changes/changes.xml
2019-09-04 13:31:00 -04:00
James Agnew f59bdc4afe Reuse FHIRPath across JPA requests 2019-08-29 14:13:31 -04:00
James Agnew 956bb39327 Resolve an inefficient regex expression 2019-08-29 13:59:31 -04:00
James Agnew 84836aed84 Fix accidental typo 2019-08-20 08:39:46 -04:00
James Agnew ce879b3863 Fix versioned API incompatibility with GraphQL 2019-08-20 08:35:27 -04:00
jamesagnew 54657214de FIx issue uploading US Core resources 2019-08-17 18:11:52 -04:00
jamesagnew e1b43d811f Version bump to 4.1.0-SNAPSHOT 2019-08-14 14:06:06 -04:00
jamesagnew 3f22456b0f Bump version to 4.0.0 2019-08-14 11:06:26 -04:00
James Agnew 6aa7916ba7
Merge pull request #1415 from jamesagnew/ks-inmemory-id-match
in-memory id match
2019-08-07 08:31:38 -04:00
James Agnew 60eab3ad70
Add support for R5 resources (#1416)
* Work so far on R5 support

* Add support for R5

* Docs changes
2019-08-06 17:30:31 -04:00
Ken Stevens f9e86b5c83 revert public method 2019-08-06 15:38:23 -04:00
Ken Stevens 15e549f345 Add remaining cases to test 2019-08-06 15:25:22 -04:00
Ken Stevens c11d719957 Fix bug when in-memory matcher compares long id to string id 2019-08-06 15:17:09 -04:00
Ken Stevens 13a83567ae Start with failing test. 2019-08-06 15:04:27 -04:00
James Agnew 55c0d5b604
Add binary storage for Attachments (#1386)
* Have this working now

* Add utility method

* Build fixes

* Add changelog
2019-07-17 18:31:17 -04:00
James Agnew 642e62a563 Improve toString method 2019-07-11 18:17:13 -04:00
jamesagnew dff2fdd3cf GET RID OF TRAILING LICENSE HEADER SPACES ONCE AND FOR ALL
YESSSSSSSSSSSSS
2019-07-05 11:19:51 -04:00
James Agnew 2a473d1825 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-05 09:03:23 -04:00
James Agnew 2a6436af23 Rename columns in code mapping 2019-07-05 09:03:03 -04:00
Ken Stevens 2b1ed16f68 Apply the same fix we used for Dstu3 2019-07-04 13:58:20 -04:00
James Agnew 10d969c514
Add Consent Service (#1359)
* Initial consent svc

* Ongoing consent svc work

* Add docs

* Ongoing consent service work

* Work on consent service

* More work on consent svc

* License header updates

* Ongoing consent svc work

* Some test fixes

* Some test fixes

* More work on consent svc

* Tests working

* Test fix

* Propagate RequestDetails to everything in JPA server

* More interceptor tweaks

* Fix compile error

* One more tweak to captured SQL

* Ongoing interceptor tweaks

* Ongoing interceptor tweaks

* More interceptor tweaks

* Interceptor tweaks

* Tweaks to tests

* Fix tests

* Test fix

* Raise warnings when encoding extensions with missing values

* Consent service work

* More interceptor tweaks

* Consent interceptor tweaks

* Add logging to test
2019-06-27 16:35:29 -04:00
jamesagnew e76b1dacb3 License header updates 2019-06-22 18:31:16 -04:00
jamesagnew 0fbde2a4e5 Fix #1352 - Don't fail to create observation with a value type of
SampledData
2019-06-22 16:43:25 -04:00
James Agnew 4ad1808da3
Propagate RequestDetails to everything in JPA server (#1358) 2019-06-22 15:18:06 -05:00
jamesagnew 087c53286c License header updates 2019-06-14 18:43:55 -04:00
Ken Stevens 19dd7ebc2e try excluding stress tests from build 2019-06-13 15:21:03 -04:00
Ken Stevens 2bf680509b
DeleteConflict hook, SearchableHashMapResourceProvider, and in-memory searching (#1341)
* Make IBundle list interface more flexible

* Make matchResourceLinks visible

* Make matchResourceLinks visible

* Pull in-memory matching functionality out of subscription module into dedicated classes in searchparam module

* Added more accessors to version independent resource classes

* improved forcedid matching (needs to be verified by James)
filter out nulls from HashMapProvider.searchAll() (hopefully no tests depend on this)

* add AnyComposition

* cleanup of Any classes

* create searchparam config so people can use that module without using subscriptions

* create searchparam config so people can use that module without using subscriptions

* fix broken test

* added derivedFrom

* renamed daoRegistry.getResourceDaoIfExists to getResourceDaoOrNull
also added method to add a new dao to the registry and retrieve registered types

* TokenParam.equals

* add error check to searchable hashmap resource provider

* added support for R4

* add successor to measure

* delete conflict hook
start with failing test

* test passes.
hook is called.

* added delete conflict hook
all delete conflict tests pass

* added javadoc

* Performance test

* test bad interceptor case

* typo

* rename criteria matcher

* added support for multiple topics

* fix method name

* add effective period

* Temporarily excluding StressTest from build to try to get Travis under time limit

* change log

* review feedback

* review feedback

* review feedback
2019-06-13 13:59:51 -04:00
James Agnew c2aec5c1a9 Respect the _total parameter for all JPA searches 2019-06-09 05:44:49 -04:00
James Agnew be06c2ee19 Correctly index timing events 2019-05-31 16:42:45 -04:00
James Agnew 50a8c66bf5 Version bump to 4.0.0-SNAPSHOT 2019-05-30 17:13:03 -04:00
jamesagnew 73aa53be8f Release 3.8.0 2019-05-30 16:50:04 -04:00
James Agnew 9e9a1ed06d ndle special params correctly 2019-04-25 13:25:57 -04:00
James Agnew b8e24ed01c Refactoring the registry a bit 2019-04-25 10:19:51 -04:00
jamesagnew abd53c0cbe License header updates 2019-04-24 21:20:11 -04:00
James Agnew 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -04:00
Ken Stevens a57e50317d
Websocket cleanup (#1275)
* fix bug in websocket subscription (It wasn't destroying the channel when there are no subscribers)

* add support for removing channel.  Also synchronize removal (there was a race condition between sync and queue)

* keep deprecated method for backwards compatibility

* make websocket endpoint configurable

* make websocket context path configurable

* make websocket context path configurable

* trying mvn clean test instead of mvn clean install to see if the build goes faster

* that didn't work at all.  reverting.

* change log
2019-04-17 15:03:35 -04:00
jamesagnew 08a9844066 Work on #1280 2019-04-17 09:10:17 -04:00
James Agnew 380644d19d Add a bit of logging for search parameters when they can't be found 2019-04-14 12:32:09 -04:00
James Agnew 87c0b3778b More work on threadlocal interceptors 2019-03-22 09:54:02 -04:00
James Agnew d1667487c2 Clean up unique composite search params 2019-03-21 21:57:38 +01:00
Ken Stevens be4863133e
Pointcut parameters and Retrier log (#1236)
* Fixed a pointcut parameter list and log an exception that was being swallowed by Retrier

* Documentation clarification
2019-03-11 17:31:03 -04:00
James Agnew 48c10bddc5
Narrative Generator refactoring (#1219)
* Starting work on this

* Working on narrative templates

* Work on new narrative system

* Account for some failing tests due to refactoring of narrative mode

* Another test fix

* More test fixes

* One more test fix

* Work on searches

* Address review comments
2019-02-27 14:59:57 -05:00
James Agnew 14e04085ae Try for a test fix and a bit of cleanup 2019-02-16 16:11:33 -05:00
James Agnew 09920ad545 Reduce thread contention during tests 2019-02-15 14:18:34 -05:00
Ken Stevens f34926bb18
fixed a bug matching long ids in searchparams (#1203)
* fixed a bug matching long ids in searchparams
2019-02-09 13:45:51 -05:00
Ken Stevens f40614a1aa fixed bug in in-memory matching for reference id when searchparam has two components 2019-02-08 16:37:08 -05:00
James Agnew 0f8c8d18e2 Bump version to 3.8.0-SNAPSHOT 2019-02-06 20:02:28 -05:00
jamesagnew 207015c3af Version bump to 3.7.0 2019-02-05 21:36:38 -05:00
jamesagnew d4af1ee2a3 Add tests and license headers 2019-02-04 16:34:39 -05:00
Ken Stevens 9280cde491
Subscription only registers active (#1189)
* Fixed a bug in standalone subscription subscriber:  It was adding REQUESTED subscriptions to the active subscription registry.  (Only ACTIVE subscriptions should be added.)
2019-02-01 10:14:46 -05:00
jamesagnew 503d1d8aff Subscription NPE fix 2019-01-26 18:42:01 -05:00
James Agnew 38d03ea99a
Invalid ids in subscription queue (#1175)
* Start work on this

* Work on interceptors

* Attempt fix

* Avoid environment dependency

* Test fixes

* One more test fix

* One more build tweak

* Lots of cleanup

* A bit more cleanup

* Still more cleanup

* Some test fixes

* Add legacy methods temporarily

* Don't auto-scan interceptor beans

* One more test fix

* rsolve merge conflicts

* Address review comments
2019-01-23 21:17:47 -05:00
James Agnew 3e84173180 Merge branch 'master' into ja-subscription-interceptors 2019-01-18 17:52:23 -05:00
jamesagnew a584e15251 Add headers 2019-01-14 14:58:27 -05:00
Ken Stevens 4f5640e541
Resilient searchparamregistry (#1165)
SearchParamRegistry and SubscriptionRegistry now both poll retrying connection to the server. This will help in particular in the scenario where the subscriptions are managed in a standalone server that depends on a FHIR Server being available to pull search parameters and subscriptions from.
2019-01-14 11:39:28 -05:00
James Agnew 8beccab9ab Merge branch 'master' into test-openjdk-11 2019-01-09 10:48:57 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -05:00
James Agnew 14a132a937 Squashed commit of the following:
commit 9659655830
Author: James Agnew <jamesagnew@gmail.com>
Date:   Thu Dec 27 17:54:25 2018 -0500

    Finish sync

commit 70da25b76f
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Thu Dec 27 10:32:51 2018 -0500

    Work on RI4 sync
2018-12-27 17:58:47 -05:00
jamesagnew 4599a10180 Merge branch 'master' into test-openjdk-11 2018-12-23 14:19:59 -05:00
jamesagnew f0eda57048 Add missing dependency to search param project 2018-12-21 07:06:32 -05:00
Ken Stevens 84a34eb3c9
Subscription module support (#1147)
* Reorganizing packages and dependencies to support standalone subscription running within a CDR container where all hapi modules are on the classpath.

Moved Subscription registry out of interceptor and introduced SubscriptionLoader

* Created ActiveSubscription and moved cache bits into it

* Moved ExecutorQueue stuff out into its own class

* Add test and supporting code to validate SubscriptionConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION behaviour

* Added SubscriptionCheckingSubscriber

* Moved a few beans to @ComponentScan

* Replaced use of beanFactory with concrete factory classes

* Switched test to use subscribablechannel

* Added SubscriptionLoaderFhirClientTest

* Confirm that our SubscriptionProviderFhirClient works with a live fhir client

* Register interceptors with DaoConfig instead of RestServer.
Also, Rename @VisibleForTesting methods with ForUnitTest

* Fix triggering service so it uses new subscriptionmatcherinterceptor

* Renamed "Database" classes to "Dao"

* processing -> matching naming change
2018-12-18 13:09:06 -05:00
James Agnew f978bc3039 Always apply new search params to any resource reindexing 2018-12-14 13:43:25 -05:00
jamesagnew 3a3b81a6a8 Preparing things for OpenJDK 11 2018-12-08 17:52:48 -05:00
James Agnew cbaa39fd63
Try to reuse index rows in JPA server (#1133)
* Try to reuse index rows in JPA server

* Address review comments

* One more test fix

* One more test
2018-12-05 19:25:59 -05:00
jamesagnew 82f40f0423 License header updates 2018-12-03 05:22:10 -05:00
Ken Stevens 6baee4dc3f
Standalone subscription (#1125) 2018-11-30 17:19:16 -05:00