Commit Graph

483 Commits

Author SHA1 Message Date
Ken Stevens 520400d6ea
added IPagingProvider.canSearchByOffset() (#2281)
* init rev

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

* fix refactoring error

* add @Nonnull to BundleLinks parameter

* null check

* fix test

* cleanup

* fix refactoring

* final cleanup

* review feedback

* review feedback

* review feedback
2021-01-11 20:42:41 -05:00
Nick 9338a4e73e Survivorship 5 2021-01-08 19:25:25 -05:00
jamesagnew d20b07c78e Update license headers 2021-01-01 15:50:24 -05:00
jamesagnew f30999b053 License header updates 2021-01-01 15:07:23 -05:00
James Agnew 8f8c5c31f1
Add validation rules interceptor (#2264)
* Start work on validation rules interceptor

* Work on interceptor

* Add tests

* Work on validation interceptor

* Work on interceptor

* Test fix

* Documentation tweaks
2021-01-01 14:29:10 -05:00
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