Commit Graph

630 Commits

Author SHA1 Message Date
jamesagnew f30999b053 License header updates 2021-01-01 15:07:23 -05:00
James Agnew 8f8c5c31f1
Add validation rules interceptor (#2264)
* Start work on validation rules interceptor

* Work on interceptor

* Add tests

* Work on validation interceptor

* Work on interceptor

* Test fix

* Documentation tweaks
2021-01-01 14:29:10 -05:00
Tadgh e79114e2ec
Un-revert the MDM changes, now that issues have been addressed (#2226)
* Backward compatibility changes

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

* Updated docs

* Removed mdm channel references

* Initial implementation

* fix coarseness bug. Fix tests. reinitialize silly bean

* Add forgotten json file

* Generic provider PoC

* Refactored provider to use BundleBuilder

* Removed version-specific MDM providers

* Addressed code review comments

* Fixed after merge

* Fixed docs

* MDM SVG for Update Use Cases

* Removed obsolete docs

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

* Add changelog

* Add bundle setter
2020-12-11 18:33:00 -05:00
Tadgh 0938d72b51
Revert "Remove all references to Person from EMPI." 2020-12-09 14:57:00 -05:00
Nick 52fd83c654 Merge remote-tracking branch 'origin/master' into gg_20201105-remove-person-references 2020-12-09 09:14:58 -05:00
jamesagnew 828573b467 Improve synchronization on HashMapResourceProvider 2020-12-09 05:53:47 -05:00
Nick fd90eb699f Review updates 2020-12-07 18:03:56 -05:00
Nick 5c40afb0c9 Updated doc headers 2020-12-03 16:11:10 -05:00
Nick 4352e0a61f Merge remote-tracking branch 'origin/master' into gg_20201105-remove-person-references 2020-12-03 11:28:21 -05:00
Tadgh a4b2fbd906
Merge pull request #2211 from bdenton/bd-20201202-fix-split-package
Split package: delete 'ca.uhn.fhir.rest.server' package from hapi-fhir-server-empi
2020-12-03 09:02:46 -05:00
James Agnew 1eae5db374
autoCreatePlaceholderReferenceTargets true breaks multitenancy (#2215)
* Fix #2209 - autoCreatePlaceholderReferenceTargets true breaks multi-tenancy

* Add changelog

* Address fixme
2020-12-03 08:53:37 -05:00
James Agnew 7627a86176
Improve version logging (#2213)
* Improve version logging

* Add changelog

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

* Work on partition improvements

* Partition updates

* Work on partitiong

* Test fixes

* Add docs

* Add changelog

* Resolve FIXME

* Test fixes

* Test fixes

* Test fixes

* Compile fix

* Fix compile error

* Test fix

* Test fixes
2020-11-30 17:59:52 -05:00
Nick Goupinets 8a7dc4e80b EMPI to MDM 2020-11-27 15:12:21 -05:00
Tadgh 953b662827 Merge branch '2161-refactor-empi' into gg_20201105-remove-person-references 2020-11-19 14:24:51 -05:00
Tadgh 3209faf2fb Rename package and module 2020-11-18 21:55:29 -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
Tadgh c0bef70e12 Add optional resource type to EMPI provider method 2020-11-13 16:42:09 -05:00
Tadgh 331acc1b55 Attempting to perform MDM on a new resource type 2020-11-11 14:15:35 -05:00
Tadgh ffbe35e2cd Partial refactor of Provider 2020-11-10 12:26:20 -05:00
Tadgh a67b3a8298 Fixed possible-matcher 2020-11-10 10:46:43 -05: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
jamesagnew 7903b2b577 License headers 2020-10-13 11:43:09 -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
Joel Schneider (NMDP) a32397d993
add CorsInterceptorTest (#2126)
* add simple CorsInterceptorTest

* add relevant exposedHeaders to custom CorsConfiguration

* use SLF4J Logger.info() instead of System.err.println(), and run the test assertions first

* Add logback-classic dependency to test scope, to enable SLF4J logging within unit tests.  (SLF4J defaults to NOP binding if no binding found on classpath, see also http://www.slf4j.org/codes.html#StaticLoggerBinder)
2020-10-12 17:38:31 -04:00
Josh Collins 844624b6dd
RDF Support in HAPI FHIR (#2118)
* RDF Support in HAPI FHIR

* Ability to read/write FHIR resources as RDF (turtle serialization)
* Test suite to test roundtrip-ability of RDF parser

* Add null checks to appease LGTM

* Correct null check logic
2020-10-12 17:16:00 -04:00
James Agnew d2aae361bf
Rewrite deferred interceptor callback framework (#2121)
* Rewrite deferred interceptor callback framework

* Improve deferred handling

* Null guard

* Test fix
2020-10-07 20:08:18 -04:00
jamesagnew edbd089092 Docs update 2020-10-06 05:52:22 -04:00
Tadgh 66a0115340 Missed a space 2020-09-30 11:13:40 -04:00
Tadgh ca52268249 Rename accessors, fix whitespace 2020-09-30 11:11:56 -04:00
Ken Stevens 09d09233ff
empi bugfixes and enhancements (#2104) 2020-09-29 17:27:43 -04:00
James Agnew 072e63be5a
Avoid a crash on double date chains (#2097)
* Avoid a crash on double date chains

* Add changelog

* Address coverage warning
2020-09-21 15:43:07 -04:00
Tadgh 45775c8660 Reuse constant 2020-09-16 15:29:04 -04:00
Tadgh ddfac72e8d Clean spacing 2020-09-16 15:27:03 -04:00
Tadgh 9d3a97a46f Default for int 2020-09-16 15:24:09 -04:00
Tadgh 558f7a5ccf Minor cleanup 2020-09-16 15:21:49 -04:00
Tadgh 4c5051a5d9 More refactor for custom headers and top level attributes 2020-09-16 15:05:44 -04:00
Tadgh 666113696b add attributes to HapiHeaders. Turns out deserialization makes a best guess, and doesnt respect types in Map<String,Object> 2020-09-16 14:06:54 -04:00
Tadgh cdc195bd0b Change to use long type for failure timestamps 2020-09-16 13:13:43 -04:00
Tadgh 74bba9dbcc Rename to ResourceOperationMessage 2020-09-15 18:57:55 -04:00
Tadgh ea64bea1b0 Refactor to use concrete class instead of parent 2020-09-15 15:27:21 -04:00
Tadgh a9fb849d49 Moved more into parent class, added javadocs for transactionId 2020-09-14 16:44:50 -04:00
Tadgh 6e0ef035e9 Rename constants. Remove dead comment 2020-09-14 15:35:58 -04:00
Tadgh f20c42a8bd Remove license claims, remove dead class 2020-09-14 13:48:44 -04:00
Tadgh 9a09a8abf3 Update todos 2020-09-14 13:41:11 -04:00
Tadgh 3e324355f2 Add javadocs 2020-09-14 13:28:36 -04:00
Tadgh 2e1f2a662a Move class to top level, add tests 2020-09-14 13:20:01 -04:00
Tadgh c3ddf59d6f Add HapiMessageHeaders to BaseJsonMessage class 2020-09-14 13:02:32 -04:00
Tadgh 28a9a53917 Rework to keep several things in subscription 2020-09-10 16:05:56 -04:00
Tadgh 2229233749 Move subscription models to legacy, except the ones that are subscription specific 2020-09-09 15:58:41 -04:00
jamesagnew 190f0ccb22 Add test for #2063 2020-09-01 14:12:57 -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 63ef2ce006
Fix #2012 - Always filter total from search results when consent interceptor in use (#2020)
* consent bug test

* Fix #2012 - Always filter total from search results when consent
interceptor in use

* Add changelog

* Address coverage issues

Co-authored-by: Jens Kristian Villadsen <46567685+jvitrifork@users.noreply.github.com>
Co-authored-by: jvi <jvi@trifork.com>
2020-08-07 09:16:02 -04:00
Tadgh 3b9f9e6cc3 Rename operation 2020-08-03 21:35:12 -07:00
Tadgh da30772a01 Remove dead methods, constants, and add a javadoc 2020-08-01 13:19:52 -07:00
Tadgh e67ee36492 Renamed and modified reset constant for better naming 2020-08-01 11:36:14 -07:00
Tadgh 90e96c1fb4 Fix bug caused by Persons with >1 historical version 2020-07-23 14:35:28 -07:00
Tadgh 9491a3e499 Add DSTU3 clear operation 2020-07-23 09:37:11 -07:00
Tadgh de9621602b Update provider and create test skeletons for empi batch run 2020-07-18 18:18:21 -07:00
Tadgh 62b5221c3f Move Empi Batch work to the BaseHapiResourceProvider, allowing manual EMPI runs on a server/type/ID basis. 2020-07-18 13:36:14 -07:00
Tadgh 6bb92717f5 Merge branch 'master' into batch-empi-job 2020-07-16 11:00:32 -07:00
Tadgh 31e9f140ad Fix operation name. Remove unnecessary beans 2020-07-16 09:48:58 -07:00
Ibrohim Kholilul Islam 5a79304893
Implement GraphQLQueryBodyParameter and GraphQLQueryBody annotation (#1896)
* implement GraphQLQueryBodyParameter and GraphQLQueryBody annotation

* GraphQLQueryBodyParameter to recognize application/graphql

* fix 500 error on method without @GraphQLQueryBody

* refactor to processGraphQlGetRequest and processGraphQlPostRequest

* add testGraphPostContentTypeJson and testGraphPostContentTypeGraphql to GraphQLR4RawTest

* fix imports
2020-07-16 09:25:26 -04:00
Tadgh c3b89b4ad5 Get basic tests running 2020-07-09 15:56:41 -07:00
Tadgh f82a53e6f9 Merge branch 'master' into batch-empi-job 2020-07-06 13:12:20 -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
Tadgh 25d8668f55 Add Basic provider method, skeleton of tests 2020-07-03 15:21:32 -07: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
jamesagnew 34c68e15af Add license headers 2020-06-14 19:10:36 -04:00
Ken Stevens d164e2d450
Empi 28 matchers (#1918)
* adding matchers

* reorganize resource matching api

* added precision sensitive date matcher

* stricter rules validation

* validate thresholds

* validate paths.  with FIXMES

* validate searchparams

* fix merge compile error

* add soundex, validate no duplicate names

* add normalize substring

* add exact field to matcher

* EXACT -> STRING, exact=true

* cleanup test method

* match test passes with fixmes

* fixed vector matching

* fixed vector matching

* updating documentation and fixing tests

* updated rules documentation with latest matchers

* updated rules documentation with latest matchers

* created eid page

* eid documentation

* pre-review cleanup

* clean up beans

* disentangling beans

* checkstyle

* noop to trigger CI

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi.md

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi.md

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi.md

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

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

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_rules.md

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

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
2020-06-14 17:15:56 -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
Ken Stevens 558f419955
Empi 54 not duplicate (#1900)
add operation to unduplicate persons
2020-06-05 12:21:09 -04:00
Ken Stevens 33753881e2
Empi 55 deactivate merged (#1883) 2020-06-03 13:12:01 -04:00
James Agnew 86ef0ec0e2
Correct transaction processing in multitenant server (#1884)
* Correct transaction processing in multitenant server

* # d codethe npm registry for updates every day (weekdays)
2020-06-03 10:37:47 -04:00
James Agnew c374383b37
Allow AuthorizationInterceptor to properly authorize GraphQL statements (#1864)
* Allow AuthorizationInterceptor to properly authorize GraphQL statements

* Add changelog
2020-05-22 20:40:37 -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 63ff0ede9c
Make diff operation work securely (#1859)
* Make diff operation work securely

* Build tweak

* FIx tests
2020-05-21 19:20:48 -04:00
James Agnew ce5ade53d9
Fix #1855 - StructureDefinition search not working (#1858) 2020-05-21 09:35:37 -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
jamesagnew cc92bd7b07 Revert "Start working on FHIRPatch"
This reverts commit b3f6e7d521.
2020-05-17 11:56:50 -04:00
jamesagnew b3f6e7d521 Start working on FHIRPatch 2020-05-17 11:44:06 -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
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
jamesagnew 78fa296f1f License header updates 2020-05-07 19:37:16 -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 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
gematik FuE 9ace4889bc
enhance constructor, so an existing InterceptorService could be passed in (#1749) 2020-05-01 07:36:45 -04:00
jamesagnew e439891ea2 Add test 2020-04-29 15:21:54 -04:00
Thomas Papke ea817de68a
Extend support for additional forwared headers x-forwarded-port and (#1788)
x-forwarded-prefix
2020-04-29 09:01:39 -04:00
jamesagnew 6226381595 Merge branch 'master' into ja_20200206_multitenancy 2020-04-21 20:54:56 -04:00
jamesagnew c7de85339c Work on review comments 2020-04-21 20:18:06 -04:00
James Agnew c716216b34
Adjust return type for fluent delete() operation (#1805)
* Add cascading delete to client

* Add changelog

* Client delete should return MethodOutcome

* Rerturn more appropriate type for delete operations

* Refactor cascade detection to be reusable
2020-04-21 15:23:11 -04:00
jamesagnew 4abebf2247 Docs cleanup 2020-04-21 09:28:52 -04:00
jamesagnew bbab016ca6 Rename config 2020-04-20 12:38:04 -04:00
jamesagnew 7248b4e18e Finish docs 2020-04-20 11:02:27 -04:00
jamesagnew e0b419354f Bump up hamcrest version and force the use of the latest version 2020-04-17 13:59:22 -04:00
jamesagnew 68f437177d Add license header 2020-04-17 09:49:03 -04:00
James Agnew 497757501b
Improve search method binding priority (#1802)
* Work on search method binding priority

* Work on method priority

* Work on binding priority

* Test fixes

* Add changelog

* Test fixes

* compile fix

* One more comple fix

* Test cleanup

* Test fix
2020-04-17 09:28:33 -04:00
James Agnew 8cdc3a72ce
Fix #1794 - Client ID and Server ID mode clash (#1795)
* Fix #1794 - Client ID and Server ID mode clash

* Try to track down intermittent test failure
2020-04-09 09:31:13 -04:00
jamesagnew b78205c218 Ongoing cleanup 2020-04-06 17:00:45 -04:00
jamesagnew 40d0c27ae3 Work on subscription cleanup 2020-04-05 18:43:27 -04:00
jamesagnew e1142f4043 Start work on subscription cleanup 2020-04-02 05:31:12 -04:00
Jafer Khan 0021561fb1 Raise an error on including invalid query string parameter(s) in read operations 2020-03-31 20:05:05 -04:00
James Agnew fe48313100
Add response size capturing interceptor (#1776)
* Work on capturing repsonse sizes

* Interceptor complete

* Add changelog

* Test fix
2020-03-30 11:24:10 -04:00
James Agnew eaaddaf7ca
Fix #1763 - Include bundle type in summary=count responses (#1773)
* Fix #1763 - Include bundle type in summary=count responses

* Test fix
2020-03-24 16:24:41 -04:00
jamesagnew 14316147c5 Resolve some docs issues 2020-03-23 10:34:12 -04:00
James Agnew c2ae5a8326
Add FHIRPath evaluation interceptor (#1769)
* Add FHIRPath evaluation interceptor

* Add changelog
2020-03-22 12:57:24 -04: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
James Agnew 64f07e4dc0
Includes performance enhancement (#1702)
* Includes performance enhancement

* Add changelog

* Test fix

* Fix typo

* A few coverage cleanups

* Test fix

* Fix changelog
2020-02-18 14:11:48 -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
James Agnew c5c1e3196b Resolve FIXMEs (#1705)
* Resolve FIXMEs

* Test fixes

* Test fixes

* Clean up unused code

* Add some test coverage

* Test fix

* Test fix

* Avoid intermittent
2020-02-09 08:39:46 -05:00
ttn 785997aade Resource methods in interfaces (default implementations) are now picked up when registering providers 2020-02-04 17:23:22 -05:00
James Agnew aad5a30a3d
Support count=0 (#1670)
* Support count=0

* Fix LGTM issue
2020-01-15 14:52:32 +08:00
jamesagnew 9c7f5e1b9b License header updates 2020-01-12 10:15:08 -05:00
Jennifer Chan e935c75025 Changed BaseResourceReturningMethodBinding to accept IBaseBundle as a bundle resource. 2020-01-02 14:39:29 -05:00
Jennifer Chan 0c83c1ce44 Changed BaseresourceReturningMethodBinding to accept IBaseBundle as a bundle resource. 2020-01-02 14:15:48 -05:00
James Agnew dfc14f5002 Fix compile 2019-12-18 18:35:27 -05:00
James Agnew e9811c6377 One more trim 2019-12-18 17:50:30 -05:00
James Agnew f2b7846973 Trim subrequest 2019-12-18 17:21:47 -05:00
James Agnew d277d3fed5 Docs updates 2019-12-10 16:10:09 -05:00
Jafer Khan 976740955c Make constructor of 'Verdict' public. Fixes gh-1621 2019-12-07 18:08:45 +05:00
James Agnew f58fba6f04
Some test cleanup (#1616)
* Some test cleanup

* Add test

* More test logging

* More docs cleanup

* Add test logging
2019-12-02 11:00:18 -05:00
James Agnew 5f803f7e68 Documentation updates 2019-11-26 02:00:22 -03: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
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 89b25ce828 License updates 2019-11-02 17:34:05 -04:00
Stig Rohde Døssing 80bfb9af37 Issue-1077: Make CapabilityStatementProvider use the closest common superclass of provided resources when generating rest.resource.profile, instead of always using the base definition. 2019-11-01 10:20:16 -04:00
jamesagnew 9d4df3e470 Add a test 2019-10-30 05:40:32 -04:00
jamesagnew ffb15682de Update license headers 2019-10-26 14:48:08 -04:00
James Agnew 2b3c775b77 Some cleanup and fix a test 2019-10-26 12:45:57 -04:00
James Agnew 9cc945b5bd Merge branch 'osgi-server-work' of https://github.com/bdenton/hapi-fhir into bdenton-osgi-server-work 2019-10-25 17:05:09 -04:00
James Agnew 74c03b5bb7 Add a test 2019-10-24 08:32:52 -04:00
James Agnew 91ec0a6922 Test fix 2019-10-24 08:32:52 -04:00
James Agnew 385a885abf Add ability for resource source to be specified by header 2019-10-24 08:32:52 -04:00
Anthony Sute 306b02e147 Additional tracing statements. 2019-10-22 20:41:52 -04:00
James Agnew 9e44049847 Allow for improved overriding of RestfulServer#newRequestDetails 2019-10-22 18:09:21 -04:00
James Agnew 9b94e4e26d
Allow uploading term deltas using CS resource (#1555)
* Work on accepting codesystem reources for delta operations

* Ongoing work on term uploader

* Restore the ability to use CodeSystem resources for the delta

* Add tests

* Fix NPE

* Test fixes
2019-10-22 17:11:39 -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
James Agnew 5dcbed0438 Fix foreign key handling when dropping tables 2019-10-17 15:52:35 -04:00
James Agnew 9a050461a8 Make cache timeout configurable 2019-10-15 09:34:48 -04:00
jvi 82a6221e5b Provided unit test for cache controlled metadata 2019-10-15 07:58:20 -05:00
jvi 6a2242656f Added evaluation of Cache-Control HTTP header 2019-10-15 07:58:20 -05:00
James Agnew 2725797610
Implement Terminology Delta Operations (#1536)
* 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

* Test fixes
2019-10-14 19:14:41 -04:00
bdenton f81aaa7f00 refactor "split" packages; create osgi bundle for server framework 2019-10-12 14:08:41 -07:00
jamesagnew 92c6b88964 Add test 2019-10-10 07:16:18 -04:00
James Agnew e656863a73
Correct bugs reported by LGTM (#1533)
* Correct bugs reported by LGTM

* Add some tests

* A few more updates

* YAML update

* Test fixes

* One more test fix

* Test fix
2019-10-09 19:26:57 -05:00
James Agnew 861ed36f00
Allow patches to be authorized for DSTU3 transactions (#1529)
* Allow patches to be authorized for DSTU3 transactions

* Add changelog
2019-10-08 14:29:27 -05:00
James Agnew 3c4c6f7925 Don't allow Content-Location header to dictate version for updates 2019-10-04 09:55:14 -04:00
jamesagnew 150c865f68 License header updates 2019-10-03 21:20:08 -04:00
Ken Stevens 94b8d6f84d FIXME 2019-10-03 12:17:37 -04:00
Ken Stevens d1deedf247 pre-review cleanup 2019-10-03 12:14:11 -04:00
Ken Stevens 566443d0fe move BundleUtil back 2019-10-03 12:05:26 -04:00
Ken Stevens 98c76a4d49 Test passes 2019-10-03 12:03:38 -04:00
Ken Stevens 29e7cdc476 Added ability to modify URLs in BundleUtil 2019-10-03 09:46:32 -04:00
Petro Mykhaylyshyn 8e9b7b590c [(servermethodbinding)] Fix method binding to handle special search names(_id:[modifier], _language:[modifier]) 2019-10-02 05:51:15 -04:00
James Agnew 066c9a7fb7 Improvements to AutohrizationInterceptor create handling 2019-09-30 15:07:23 -04:00
jamesagnew 5509478566 License header update 2019-09-30 10:13:09 -04:00
James Agnew 557a8ccc66
Add top level support for ElasticSearch (#1514)
* ElasticSearch work

* Add ElasticSearch properties builder

* Clean up POM

* Remove redundant project

* Try to troubleshoot embedded elasticsearch

* Another test attempt

* Add credentials to elasticsearch config

* Work on lastn

* Address review comments

* A couple of test fixes
2019-09-30 09:30:39 -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
James Agnew 57377f5557 Fix #1483 - Don't let RP methods handle a request with includes if the
method doesn't understand them
2019-09-25 10:54:37 -04:00
James Agnew 0b630f6851 Merge branch 'searchmethodbinding_test' of https://github.com/tuomoa/hapi-fhir into tuomoa-searchmethodbinding_test 2019-09-25 09:01:38 -04:00
James Agnew a989a746b0 Fix #1494 - Upgrade to new :recurse syntax for R4 include/revinclude
statements
2019-09-20 09:38:29 -04:00
James Agnew 6e98c02862 Fix #1495 - Avoid NPE in RuleBuilder 2019-09-20 08:57:01 -04:00
James Agnew eddb98084d Move PreferReturnEnum back to original location to avoid regressions 2019-09-19 15:48:58 -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
Tuomo Ala-Vannesluoma 2c3283fd34
Add test for search method binding matching 2019-09-12 13:36:56 +03:00
James Agnew 0843a2b02d Avoid leaking details when canSeeReource rejects a resource from consent
service
2019-09-10 11:14:44 -04:00
James Agnew 7e41951508 Create utility method for accessing the reqyest detail 2019-09-09 15:02:12 -04:00
James Agnew 7d162c50db Don't guess content type for create/put 2019-09-05 14:47:04 -04:00
James Agnew 9428430822
Add support for Resource.meta.source (#1438)
* 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
2019-08-21 11:17:43 -04:00
James Agnew afb682dfe9 Handle AuthorizationInterceptor rejection of by-type reads on the wrong type earlier in the process 2019-08-15 09:16:45 -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 b127867ef7 Fix responsehighlighterinterceptor to work with graphql 2019-08-13 18:00:30 -04:00
James Agnew 94c498a744 A but more tweaking to the graphql interceptor 2019-08-13 16:05:33 -04:00
James Agnew 01a6aa8f5b Test fix 2019-08-13 14:54:35 -04:00
James Agnew b4fece0ae9 Add interceptor hook for graphql calls 2019-08-13 14:46:50 -04:00
Stig Rohde Døssing bb20c2134b Issue-1387: Read version from resource meta when deciding whether to return 304 on read 2019-08-13 05:28:03 -04:00
James Agnew 0c9e5ec1ea
Support GraphQL for R3/4/5 (#1424)
* Work on grpahql enhanbcements

* Add some more chars to the sanitizer function

* Add changelog
2019-08-12 08:24:32 -04:00
James Agnew dd0cb10dbb
validate operation ignores parameter profile (#1417)
* This should be working now - need to check tests

* Add a changelog and some docs

* One more test fix

* Tests should be passing

* Fix compile

* Test fixes

* Ignore outdated DSTU2 validation test
2019-08-07 15:31:59 -04:00
James Agnew a4ca5374ec
Add terminology delta operations (#1401)
* 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
2019-07-29 17:46:42 -04:00
jamesagnew 8158292665 Allow operations to better work across multiple versions of FHIR 2019-07-26 05:46:37 -04:00
James Agnew 5bf4fa22e7 Allow patching in tranactions 2019-07-18 16:41:07 -04:00
James Agnew 87ab796309 Updates to validating interceptor 2019-07-18 12:57:30 -04:00
James Agnew 9fc10242b7 Convert validating intercwptors to use new framework 2019-07-18 08:25:35 -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 0fb8db11a2 Add new pointcut: PROCESSING_COMPLETED 2019-07-09 14:32:11 -04:00
James Agnew 9e7cabd464 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-07 14:59:57 -04:00
James Agnew 44a97f3621 Still fire appropriate interceptor methods if the cached
capabiliotystatement is being returned
2019-07-07 14:59:26 -04:00
jamesagnew 9fcbdb0cdc License header updates 2019-07-07 14:41:57 -04:00
James Agnew 73daec633f Test fix 2019-07-07 13:07:27 -04:00
James Agnew 34f7d4ddbd Refactor ServerConformanceProvider so that it no longer keeps any state 2019-07-07 12:57:31 -04:00
James Agnew 24536941c2 Test the new isEmpty() method on IBundleProvider 2019-07-05 17:15:02 -04:00
James Agnew 1c7c83cd8e Add an isEmpty() method to IBundleProvider 2019-07-05 16:16:39 -04:00
jamesagnew dff2fdd3cf GET RID OF TRAILING LICENSE HEADER SPACES ONCE AND FOR ALL
YESSSSSSSSSSSSS
2019-07-05 11:19:51 -04:00
jamesagnew e762ac9d10 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-04 09:01:35 -04:00
jamesagnew b3cb533ada Store details in RequestDetails 2019-07-04 09:01:17 -04:00
James Agnew f1848fb1ad Include version ID in response for deleted resource 2019-07-03 14:44:12 -04:00
James Agnew 56aaef641c Add request ID 2019-07-02 21:32:28 -04:00
jamesagnew 742389642d Add tests for delete conflicts and authorizationinterceptor 2019-07-01 10:49:38 -04:00
jamesagnew 5c0e54fb86 Improve processing of deletes in AuthorizationInterceptor 2019-06-29 14:40:51 -04:00
jamesagnew ccf491b3ae Add parent pom to BOM 2019-06-29 13:50:43 -04:00
James Agnew 1fd99dac63
Enable optional cascading deletes on JPA server (#1363)
* Start working on cascading deleets

* WOrk on cascading deletes

* Work on cascading deletes

* Enable cascading deletes

* Cascade deletes almost working

* FIx test

* Test fix
2019-06-28 17:32:39 -04:00
jamesagnew 6d8465abe6 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-06-27 18:23:54 -04:00
jamesagnew 5910131319 License header updates 2019-06-27 18:23:45 -04:00
James Agnew 53b47ed580 Ensure that parsed reesource is available to interceptors 2019-06-27 18:23:10 -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
James Agnew 4ad1808da3
Propagate RequestDetails to everything in JPA server (#1358) 2019-06-22 15:18:06 -05:00
James Agnew 2543f27697 Add a test 2019-06-21 15:38:16 -04:00
jamesagnew c7798fee48 Test fix 2019-06-18 05:40:00 -04:00
James Agnew 6724fd0348
Implement the $subsumes operation (#1344)
* Implement the $subsumes operation

* Fix #976
2019-06-17 17:31:24 -04:00
James Agnew b2e99cf035
Add support for conditional patch (#1348)
* Add support for conditional patch

* Add changelog

* Test fix
2019-06-17 16:12:05 -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
Ken Stevens 5752a6e2b3 reported issue with proposed fix that breaks tests (#1243)
* reported issue with proposed fix that breaks tests

* Fix spelling

* Merge my changes into this

* Correctly check referential integrity on deletes

* Add one more test
2019-06-04 20:40:20 -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 86aa71d570
Merge branch 'master' into deprecated 2019-05-29 21:42:02 -04:00
James Agnew 66a669949d Add docs - Fix #1309 2019-05-29 21:16:33 -04:00
James Agnew cb8634f26f
Ja interceptor callback fix (#1308)
* Interceptor callback fix

* Ensure that interceptor methods are called after a transaction
2019-05-14 18:47:11 -04:00
James Agnew 2e50bf6bb0 Un-deprecate a method that should not have been deprecated 2019-05-04 09:49:18 -04:00
James Agnew f3f5c570b1 A couple of compile glitches 2019-04-24 21:35:49 -04:00
James Agnew 5a9fa4e549 Interceptor tweaks 2019-04-24 21:19:47 -04:00
James Agnew 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -04:00
James Agnew c8f2e4bbc9 Return HTTP 400 for missing body on POST and PUT 2019-04-14 12:32:09 -04:00
Drew Mitchell ce44c35afc Add @Deprecated annotation to IServerInterceptor::outgoingResponse(RequestDetails, IBaseResource, HttpServletRequest, HttpServletResponse) to match comment. 2019-03-18 21:35:36 -04:00
jamesagnew 64facdab0a Disabling test logging 2019-03-06 16:14:32 -05:00
James Agnew 3972e17e62 Add "is trusted" property to server exceptions 2019-03-01 13:58:13 -05:00
James Agnew 94f9ffa977 Avoid paging links when offset is artificially set very high 2019-02-25 20:44:22 -05:00
James Agnew c6fcb4fcbf Allow canonical subscription to hold multiple extensions with the same
URL
2019-02-16 15:28:39 -05:00
James Agnew 485335e975 Allow terminology service to work without having Lucene enabled for
simple ValueSet expansions
2019-02-14 20:47:28 -05:00
James Agnew 810f1ad969 Improvements to elements parameter as well as adding attributes to
RequestDetails
2019-02-07 16:45:59 -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
James Agnew 4498335ae5 Elements query cleanup 2019-02-05 14:16:47 -05:00
jamesagnew d4af1ee2a3 Add tests and license headers 2019-02-04 16:34:39 -05:00
James Agnew e401ec86e4
Enhanced elements (#1192)
Squashed merge: Add elements exclude mode

* Start working on elements enhancement

* Work on elements projection

* Work on elements filter

* Feature is now working

* Just some cleanup

* Address compile issues
2019-02-03 16:41:33 -05:00
James Agnew 9cf64f78d0 Deprecate a bad setter on RetfulServer, fix a paging issue, and add a
disabled unit test to the subscription matcher
2019-01-21 14:46:17 -05:00
jamesagnew cd1e0e881c Add headers 2019-01-19 18:31:17 -05:00