* Avoid dead SearchParameter links in CapabilityStatement
* Resolve fixmes
* Build fix
* Test fix
* Test fix
* Test fix
* Work on metadata
* Fixes
* Test fixes
* Test fix
* Test fix
* Test fixes
* Test fix
* Work on test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fix
* Fix params
* Resolve fixme
* Adjust changelogs
* Version bump to 5.6.0-PRE7
* Add license header
* Bump version to 5.6.0-PRE5-SNAPSHOT
* initial roughout of mdm clear batch job
* still roughing out classes
* finished first draft of reader
* most tests passing now
* all tests pass. now FIXMEs
* FIXMEs done. Time for regression.
* fix test
* changelog and docs
* fix test
* pre-review cleanup
* version bump
* move spring autowire deps for cdr
* move spring autowire deps for cdr
* finally got beans working phew
* rearrange method calls so persistence module can perform clear operation on its own
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_mdm/mdm_operations.md
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* review feedback
* review feedback
* Remove inheritance
* fix beans
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* Start work on nonunique combo search params
* Work on SQL
* Version bump
* A fix
* Test fixes
* Fixes
* Undo version bump
* Test fixes
* Resolve fixme
* 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
* Work on changes
* Work on perf
* Work on testing
* Work on perf
* Work on perf
* Work on fix
* Work on perf
* Ongoing work
* Add changelog
* Additional docs
* Test fixes
* Address review comments
* Test fix
* 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>
* 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
* 2543 - Fix issue where versionned references are not being returned properly.
* 2543 - Added changelog entries for this fix plus a previous fix for 2533.
* 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
* Added index to improve the performance
* Added index for FORCED_ID
* Added comments for the index of while 'missing' is supported.
* Updated comments
* Moved the migration script to V5_4_0
* 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
* 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>
* 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
* Bump jaxb-runtime from 2.3.1 to 3.0.0
Bumps jaxb-runtime from 2.3.1 to 3.0.0.
Signed-off-by: dependabot[bot] <support@github.com>
* Bump jaxb-runtime from 2.3.1 to 3.0.0
Bumps jaxb-runtime from 2.3.1 to 3.0.0.
Signed-off-by: dependabot[bot] <support@github.com>
* Add jakarta bindings
* Dependency cleanup
* More depndency cleanup
* Work on deps
* Replace transaction annotation
* Cleanup
* Another fix
* Build fix
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
* 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
* 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>
* 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
* 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>
* 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
* Add auto retry of transactions
* Experiment in Maven build
* Transaction autoretry
* Work on transaction retries
* Work on transaction retry
* Work on transaction retry
* Fix tests
* Avoid version conflicts
* Add changelog
* Resolve LGTM issue
* FIx transaction scope error
* Test fixes
* Test fix
* Test fixes
* Test fix
* Test fixes
* Add tests for validation errors
* Work on validation errors
* Bump core version
* Fix validation errors
* Test fixes
* Add changelog
* Test fix
* Test fix
* Test fix
* 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
* 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>
* 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
* 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
* 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
* Add migration tasks for new indexes. Add new indexes to ResourceIndexedSearchParamDate
* fix dates on task, remove redundant index
* Today is not the 20th
* Fix incorrectly named migration indexes
* out of order indexes
* Start work on subscription cleanup
* Work on subscription cleanup
* Work on subscriptions
* Subscription cleanup
* More work on subscriptions
* Queue factory cleanup
* Work on subscription cleanup
* Subscription cleanup
* Work on subscription cleanup
* Work on subscription cleanup
* Work on subscription cleanup
* Ongoing cleanup
* Subscription work
* Tests passing
* Move resource provider factory
* Test fixes
* Address review changes
* One more change
* Test fixes
* 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
* 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
* Fix expunge issue when no tags present
* Add changelog
* Try to clean up POMs that are failing CI
* Rework dependencies
* Roll back change that did not work
* 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
* 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
* Version bumps
* FIx build issues
* Address a few Semmle issues
* Work on tests
* Some test fixes
* Test fix
* Fix deletions
* Test fix
* Fix intermittent test failure
* One more dependency bump
* Add some test logging
* Remove bad import
* Add some tests
* Test updates
* 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
* 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
* Work on indexing source
* Work on tests
* Refactor query count tests
* Unit test fixes
* Add some tests
* DAO fix
* Fix compile error
* Unit test fix
* Cleanup
* Test fix
* Fix compile error
* One more test fix
* Start work on delta operations
* Add changelog
* Some build fixes
* Move upload terminology command to CodeSystem resource
* Updates
* Some test fixes
* Add changelog
* Some test fixes
* More test fixes
* Test fix
* Add additional tests
* Transaction boundary fixes
* Start work on changing over
* Update tests
* More test fixes
* Work on generalizing binary access provider a bit
* Add expunge capability to binary storage, and also support actual binary
resources
* Work on binary provider
* Get the DB bound binary storage service working
* Test fixes
* Compile fix
* Fix compile error
* Test fix
* Test tweak
* Trying to figure out an intermittent failure
* Work on tests
* More work on tests
* Another test fix
* Ongoing work on core structures suport
* Ongoing work on this merge
* Ongoing work to clean up structures
* Credit for #1179
* Address compile issues
* Latest changes
* Work on parallel execution
* Work on getting tests passing
* Add H2 to migrator
* Test fix
* Start working on this
* Ongoing fixes to H2 branch
* Work on fixing tests
* Updated fixes
* Some test fixes
* More work on H2 migration
* Fixes to try and get the H2 migration building
* Test seem to be passing!
* Tweaks to locale randomization
* Add changelog
* 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
* 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
* move expunge out
* move to prototype
* turns parameters into fields
* cleanup control flow
* moved transactions outside of loops
* add expungeeverything
* moved daos out
* add expungeThreadCount
* add expungeBatchSize
* added partition runner to run in separate threads
* all done. just need to consolidate test code.
* Moar tests
* consolidated pointcutlatch into hapi-fhir-jpaserver-model
* final cleanup
* update javadoc
* change log
* failing test
* added delete
also @Transactional
* remove unused parameter
* fix compile
* race condition
(cherry picked from commit e1940d2fb20838859a205f2b96c833b0ce9f05eb)
# Conflicts:
# hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/expunge/PartitionRunnerTest.java
* ja feedback
* ja feedback
* 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
* Use a single IN clause for OR reference searches
* Add changelog
* One more attempt at getting the free port util to actually work... sigh
* One more tweak to free ports
* Bundle fix
* fix bug in ResourceIndexSearchParamQuantity
Move transaction boundary around SubscriptionMatcherInterceptor so it can be overridden in subclass
Lots of CRLF changes from a mvn -P DIST
* FIXME
* Avoid paging links when offset is artificially set very high
* Ongoing fixes
* Adding logging and clean up transaction processing
* Add changelog
* More work on queries
* Keep working on getting tests passing
* More test fixes
* More work on tests
* More test works
* One more test attempt
* Ongoing fixes
* One more change
* FIxes to search algorithm
* Add changelog
* Clean up for review
* Fixed NPE in token matcher when system is not null and value is null
* test opposite (null system not null value)
* added null protection to all matchers
* Address review comments
* Address broken test
* Trying to resolve DB ordering issues
* 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
Squashed commit adding subscription debug logger
* Work on subscription debug logger
* Add subscription logging interceptor
* Remove unneeded variables
* A bit of cleanup
* Tweak the output logs a bit
* Address review comments
* 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
* 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