From b5c028f80ad6ff8442ab1f21a29cabfdcdaa7337 Mon Sep 17 00:00:00 2001 From: Justin McKelvy <60718638+Capt-Mac@users.noreply.github.com> Date: Wed, 3 Jan 2024 10:16:08 -0700 Subject: [PATCH] Add Evaluate Library operation and bump CR (#5570) * add evaluateLibrary operation * add tests and constants for operations * move off snapshot * code review comments * version bump to 6.11.8-SNAPSHOT * spotless edit --- hapi-deployable-pom/pom.xml | 2 +- hapi-fhir-android/pom.xml | 2 +- hapi-fhir-base/pom.xml | 2 +- hapi-fhir-bom/pom.xml | 4 +- hapi-fhir-checkstyle/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-api/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-app/pom.xml | 2 +- hapi-fhir-cli/pom.xml | 2 +- hapi-fhir-client-okhttp/pom.xml | 2 +- hapi-fhir-client/pom.xml | 2 +- hapi-fhir-converter/pom.xml | 2 +- hapi-fhir-dist/pom.xml | 2 +- hapi-fhir-docs/pom.xml | 2 +- .../5569-upgrade-clinical-reasoning.yaml | 4 + hapi-fhir-jacoco/pom.xml | 2 +- hapi-fhir-jaxrsserver-base/pom.xml | 2 +- hapi-fhir-jpa/pom.xml | 2 +- hapi-fhir-jpaserver-base/pom.xml | 2 +- .../pom.xml | 2 +- hapi-fhir-jpaserver-hfql/pom.xml | 2 +- hapi-fhir-jpaserver-ips/pom.xml | 2 +- hapi-fhir-jpaserver-mdm/pom.xml | 2 +- hapi-fhir-jpaserver-model/pom.xml | 2 +- hapi-fhir-jpaserver-searchparam/pom.xml | 2 +- hapi-fhir-jpaserver-subscription/pom.xml | 2 +- hapi-fhir-jpaserver-test-dstu2/pom.xml | 2 +- hapi-fhir-jpaserver-test-dstu3/pom.xml | 2 +- hapi-fhir-jpaserver-test-r4/pom.xml | 2 +- hapi-fhir-jpaserver-test-r4b/pom.xml | 2 +- hapi-fhir-jpaserver-test-r5/pom.xml | 2 +- hapi-fhir-jpaserver-test-utilities/pom.xml | 2 +- hapi-fhir-jpaserver-uhnfhirtest/pom.xml | 2 +- hapi-fhir-server-cds-hooks/pom.xml | 2 +- hapi-fhir-server-mdm/pom.xml | 2 +- hapi-fhir-server-openapi/pom.xml | 2 +- hapi-fhir-server/pom.xml | 2 +- .../server/provider/ProviderConstants.java | 11 +- .../hapi-fhir-caching-api/pom.xml | 2 +- .../hapi-fhir-caching-caffeine/pom.xml | 4 +- .../hapi-fhir-caching-guava/pom.xml | 2 +- .../hapi-fhir-caching-testing/pom.xml | 2 +- hapi-fhir-serviceloaders/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../hapi-fhir-spring-boot-samples/pom.xml | 2 +- .../hapi-fhir-spring-boot-starter/pom.xml | 2 +- hapi-fhir-spring-boot/pom.xml | 2 +- hapi-fhir-sql-migrate/pom.xml | 2 +- hapi-fhir-storage-batch2-jobs/pom.xml | 2 +- .../pom.xml | 2 +- hapi-fhir-storage-batch2/pom.xml | 2 +- hapi-fhir-storage-cr/pom.xml | 2 +- .../ca/uhn/fhir/cr/config/r4/CrR4Config.java | 21 +++- .../measure/MeasureOperationsProvider.java | 2 +- .../cr/r4/ICqlExecutionServiceFactory.java | 2 +- .../r4/ILibraryEvaluationServiceFactory.java | 9 ++ .../CqlExecutionOperationProvider.java | 5 +- .../LibraryEvaluationOperationProvider.java | 107 ++++++++++++++++++ .../r4/measure/CareGapsOperationProvider.java | 3 +- .../r4/measure/MeasureOperationsProvider.java | 2 +- .../cr/r4/measure/SubmitDataProvider.java | 3 +- .../CrDstu3MeasureOperationProviderIT.java | 3 +- .../ca/uhn/fhir/cr/r4/CareGapsProviderIT.java | 5 +- ...est.java => CpgOperationProviderTest.java} | 96 +++++++++++----- .../cr/r4/R4MeasureOperationProviderIT.java | 41 +++---- .../fhir/cr/r4/SubmitDataServiceR4Test.java | 2 - hapi-fhir-storage-mdm/pom.xml | 2 +- hapi-fhir-storage-test-utilities/pom.xml | 2 +- hapi-fhir-storage/pom.xml | 2 +- hapi-fhir-structures-dstu2.1/pom.xml | 2 +- hapi-fhir-structures-dstu2/pom.xml | 2 +- hapi-fhir-structures-dstu3/pom.xml | 2 +- hapi-fhir-structures-hl7org-dstu2/pom.xml | 2 +- hapi-fhir-structures-r4/pom.xml | 2 +- hapi-fhir-structures-r4b/pom.xml | 2 +- hapi-fhir-structures-r5/pom.xml | 2 +- hapi-fhir-test-utilities/pom.xml | 2 +- hapi-fhir-testpage-overlay/pom.xml | 2 +- .../pom.xml | 2 +- hapi-fhir-validation-resources-dstu2/pom.xml | 2 +- hapi-fhir-validation-resources-dstu3/pom.xml | 2 +- hapi-fhir-validation-resources-r4/pom.xml | 2 +- hapi-fhir-validation-resources-r4b/pom.xml | 2 +- hapi-fhir-validation-resources-r5/pom.xml | 2 +- hapi-fhir-validation/pom.xml | 2 +- hapi-tinder-plugin/pom.xml | 2 +- hapi-tinder-test/pom.xml | 2 +- pom.xml | 4 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- 93 files changed, 328 insertions(+), 148 deletions(-) create mode 100644 hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_0_0/5569-upgrade-clinical-reasoning.yaml create mode 100644 hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ILibraryEvaluationServiceFactory.java rename hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/{cqlexecution => cpg}/CqlExecutionOperationProvider.java (98%) create mode 100644 hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cpg/LibraryEvaluationOperationProvider.java rename hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/{CqlExecutionOperationProviderTest.java => CpgOperationProviderTest.java} (67%) diff --git a/hapi-deployable-pom/pom.xml b/hapi-deployable-pom/pom.xml index e0fdc9defbd..91c0c5019fa 100644 --- a/hapi-deployable-pom/pom.xml +++ b/hapi-deployable-pom/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-android/pom.xml b/hapi-fhir-android/pom.xml index ee1c47560a0..bbd0604b5f5 100644 --- a/hapi-fhir-android/pom.xml +++ b/hapi-fhir-android/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-base/pom.xml b/hapi-fhir-base/pom.xml index 0b400e33354..b8bc743ae09 100644 --- a/hapi-fhir-base/pom.xml +++ b/hapi-fhir-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-bom/pom.xml b/hapi-fhir-bom/pom.xml index 39b230f2ea5..d97e2a1b8ce 100644 --- a/hapi-fhir-bom/pom.xml +++ b/hapi-fhir-bom/pom.xml @@ -4,7 +4,7 @@ 4.0.0 ca.uhn.hapi.fhir hapi-fhir-bom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT pom HAPI FHIR BOM @@ -12,7 +12,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-checkstyle/pom.xml b/hapi-fhir-checkstyle/pom.xml index 22eba74f131..326e23e0365 100644 --- a/hapi-fhir-checkstyle/pom.xml +++ b/hapi-fhir-checkstyle/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml index aa68ece2aeb..3e86d67292d 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml index a1d5071ed88..eb48a0b77f3 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-fhir-cli - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-cli/pom.xml b/hapi-fhir-cli/pom.xml index dbcfdedd285..df7007a6bf7 100644 --- a/hapi-fhir-cli/pom.xml +++ b/hapi-fhir-cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-client-okhttp/pom.xml b/hapi-fhir-client-okhttp/pom.xml index 78bda8b4a32..6a41866b841 100644 --- a/hapi-fhir-client-okhttp/pom.xml +++ b/hapi-fhir-client-okhttp/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-client/pom.xml b/hapi-fhir-client/pom.xml index 8dfd0a83790..6274e089dfb 100644 --- a/hapi-fhir-client/pom.xml +++ b/hapi-fhir-client/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-converter/pom.xml b/hapi-fhir-converter/pom.xml index 9589ca5d79c..cba5c537148 100644 --- a/hapi-fhir-converter/pom.xml +++ b/hapi-fhir-converter/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-dist/pom.xml b/hapi-fhir-dist/pom.xml index e896e8c4bf0..063774252a9 100644 --- a/hapi-fhir-dist/pom.xml +++ b/hapi-fhir-dist/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-docs/pom.xml b/hapi-fhir-docs/pom.xml index 53b477e73d8..1ddc4a28853 100644 --- a/hapi-fhir-docs/pom.xml +++ b/hapi-fhir-docs/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_0_0/5569-upgrade-clinical-reasoning.yaml b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_0_0/5569-upgrade-clinical-reasoning.yaml new file mode 100644 index 00000000000..44c25c9e298 --- /dev/null +++ b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_0_0/5569-upgrade-clinical-reasoning.yaml @@ -0,0 +1,4 @@ +--- +type: add +issue: 5569 +title: "Upgrade Clinical Reasoning version for latest bug fixes and available operations. Add $evaluate library operation." diff --git a/hapi-fhir-jacoco/pom.xml b/hapi-fhir-jacoco/pom.xml index 96c394d0795..5fd49f8045d 100644 --- a/hapi-fhir-jacoco/pom.xml +++ b/hapi-fhir-jacoco/pom.xml @@ -11,7 +11,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jaxrsserver-base/pom.xml b/hapi-fhir-jaxrsserver-base/pom.xml index ce646c625d0..d703b9e9233 100644 --- a/hapi-fhir-jaxrsserver-base/pom.xml +++ b/hapi-fhir-jaxrsserver-base/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpa/pom.xml b/hapi-fhir-jpa/pom.xml index 80afed07c9f..9cfa3af4c4a 100644 --- a/hapi-fhir-jpa/pom.xml +++ b/hapi-fhir-jpa/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-base/pom.xml b/hapi-fhir-jpaserver-base/pom.xml index f8b5642bab5..b2211b2d49b 100644 --- a/hapi-fhir-jpaserver-base/pom.xml +++ b/hapi-fhir-jpaserver-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml b/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml index 646a34bf07a..09f0b0f584f 100644 --- a/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml +++ b/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-hfql/pom.xml b/hapi-fhir-jpaserver-hfql/pom.xml index 254e53aa47f..3d9fdc9eb35 100644 --- a/hapi-fhir-jpaserver-hfql/pom.xml +++ b/hapi-fhir-jpaserver-hfql/pom.xml @@ -3,7 +3,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-ips/pom.xml b/hapi-fhir-jpaserver-ips/pom.xml index c284d9ed955..f79a2f0e696 100644 --- a/hapi-fhir-jpaserver-ips/pom.xml +++ b/hapi-fhir-jpaserver-ips/pom.xml @@ -3,7 +3,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-mdm/pom.xml b/hapi-fhir-jpaserver-mdm/pom.xml index 94bd39c91a2..d8a16bc7e52 100644 --- a/hapi-fhir-jpaserver-mdm/pom.xml +++ b/hapi-fhir-jpaserver-mdm/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-model/pom.xml b/hapi-fhir-jpaserver-model/pom.xml index 5000d617b40..9407ddabe0a 100644 --- a/hapi-fhir-jpaserver-model/pom.xml +++ b/hapi-fhir-jpaserver-model/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-searchparam/pom.xml b/hapi-fhir-jpaserver-searchparam/pom.xml index 20a05eaa091..7fda0f0b3d2 100755 --- a/hapi-fhir-jpaserver-searchparam/pom.xml +++ b/hapi-fhir-jpaserver-searchparam/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-subscription/pom.xml b/hapi-fhir-jpaserver-subscription/pom.xml index dca57d868d6..e251aff6596 100644 --- a/hapi-fhir-jpaserver-subscription/pom.xml +++ b/hapi-fhir-jpaserver-subscription/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-dstu2/pom.xml b/hapi-fhir-jpaserver-test-dstu2/pom.xml index d168f8148a2..936f840c8d1 100644 --- a/hapi-fhir-jpaserver-test-dstu2/pom.xml +++ b/hapi-fhir-jpaserver-test-dstu2/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-dstu3/pom.xml b/hapi-fhir-jpaserver-test-dstu3/pom.xml index b23b2ed48f0..fbac5083f6f 100644 --- a/hapi-fhir-jpaserver-test-dstu3/pom.xml +++ b/hapi-fhir-jpaserver-test-dstu3/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-r4/pom.xml b/hapi-fhir-jpaserver-test-r4/pom.xml index fbcdfb36f6e..15b0316f0b2 100644 --- a/hapi-fhir-jpaserver-test-r4/pom.xml +++ b/hapi-fhir-jpaserver-test-r4/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-r4b/pom.xml b/hapi-fhir-jpaserver-test-r4b/pom.xml index fc9a0d3a742..2a04f3b5e9e 100644 --- a/hapi-fhir-jpaserver-test-r4b/pom.xml +++ b/hapi-fhir-jpaserver-test-r4b/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-r5/pom.xml b/hapi-fhir-jpaserver-test-r5/pom.xml index eb2a7a64796..3251e1bf21f 100644 --- a/hapi-fhir-jpaserver-test-r5/pom.xml +++ b/hapi-fhir-jpaserver-test-r5/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-utilities/pom.xml b/hapi-fhir-jpaserver-test-utilities/pom.xml index 225aae4f29f..385fede23e6 100644 --- a/hapi-fhir-jpaserver-test-utilities/pom.xml +++ b/hapi-fhir-jpaserver-test-utilities/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml index 0409211c054..22222bd2b2c 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml +++ b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-server-cds-hooks/pom.xml b/hapi-fhir-server-cds-hooks/pom.xml index dd01ffff387..c820f6e99fb 100644 --- a/hapi-fhir-server-cds-hooks/pom.xml +++ b/hapi-fhir-server-cds-hooks/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server-mdm/pom.xml b/hapi-fhir-server-mdm/pom.xml index 6e163215517..37a51383e4e 100644 --- a/hapi-fhir-server-mdm/pom.xml +++ b/hapi-fhir-server-mdm/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server-openapi/pom.xml b/hapi-fhir-server-openapi/pom.xml index dfe33aeeb93..44b39c3abb6 100644 --- a/hapi-fhir-server-openapi/pom.xml +++ b/hapi-fhir-server-openapi/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server/pom.xml b/hapi-fhir-server/pom.xml index 3a521cd7eae..ceca880b052 100644 --- a/hapi-fhir-server/pom.xml +++ b/hapi-fhir-server/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/provider/ProviderConstants.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/provider/ProviderConstants.java index 01e36c75f12..bd8ee964093 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/provider/ProviderConstants.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/provider/ProviderConstants.java @@ -104,13 +104,16 @@ public class ProviderConstants { public static final String OPERATION_MDM_SUBMIT_OUT_PARAM_SUBMITTED = "submitted"; public static final String MDM_BATCH_RUN_CRITERIA = "criteria"; public static final String MDM_BATCH_RUN_RESOURCE_TYPE = "resourceType"; - /** - * CQL Operations - */ - public static final String CQL_EVALUATE_MEASURE = "$evaluate-measure"; + /** * Clinical Reasoning Operations */ + public static final String CR_OPERATION_EVALUATE_MEASURE = "$evaluate-measure"; + + public static final String CR_OPERATION_CARE_GAPS = "$care-gaps"; + public static final String CR_OPERATION_SUBMIT_DATA = "$submit-data"; + public static final String CR_OPERATION_EVALUATE = "$evaluate"; + public static final String CR_OPERATION_CQL = "$cql"; public static final String CR_OPERATION_APPLY = "$apply"; public static final String CR_OPERATION_R5_APPLY = "$r5.apply"; diff --git a/hapi-fhir-serviceloaders/hapi-fhir-caching-api/pom.xml b/hapi-fhir-serviceloaders/hapi-fhir-caching-api/pom.xml index 717dc503b22..c328868c019 100644 --- a/hapi-fhir-serviceloaders/hapi-fhir-caching-api/pom.xml +++ b/hapi-fhir-serviceloaders/hapi-fhir-caching-api/pom.xml @@ -7,7 +7,7 @@ hapi-fhir-serviceloaders ca.uhn.hapi.fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-serviceloaders/hapi-fhir-caching-caffeine/pom.xml b/hapi-fhir-serviceloaders/hapi-fhir-caching-caffeine/pom.xml index 4892de65b91..c1b667b9647 100644 --- a/hapi-fhir-serviceloaders/hapi-fhir-caching-caffeine/pom.xml +++ b/hapi-fhir-serviceloaders/hapi-fhir-caching-caffeine/pom.xml @@ -7,7 +7,7 @@ hapi-fhir-serviceloaders ca.uhn.hapi.fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml @@ -21,7 +21,7 @@ ca.uhn.hapi.fhir hapi-fhir-caching-api - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT diff --git a/hapi-fhir-serviceloaders/hapi-fhir-caching-guava/pom.xml b/hapi-fhir-serviceloaders/hapi-fhir-caching-guava/pom.xml index 4ac7744f800..b845bfb8fbb 100644 --- a/hapi-fhir-serviceloaders/hapi-fhir-caching-guava/pom.xml +++ b/hapi-fhir-serviceloaders/hapi-fhir-caching-guava/pom.xml @@ -7,7 +7,7 @@ hapi-fhir-serviceloaders ca.uhn.hapi.fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-serviceloaders/hapi-fhir-caching-testing/pom.xml b/hapi-fhir-serviceloaders/hapi-fhir-caching-testing/pom.xml index 68182ea7940..ba0125c4ec7 100644 --- a/hapi-fhir-serviceloaders/hapi-fhir-caching-testing/pom.xml +++ b/hapi-fhir-serviceloaders/hapi-fhir-caching-testing/pom.xml @@ -7,7 +7,7 @@ hapi-fhir ca.uhn.hapi.fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../../pom.xml diff --git a/hapi-fhir-serviceloaders/pom.xml b/hapi-fhir-serviceloaders/pom.xml index 45d0307e9d7..559cfaecd11 100644 --- a/hapi-fhir-serviceloaders/pom.xml +++ b/hapi-fhir-serviceloaders/pom.xml @@ -5,7 +5,7 @@ hapi-deployable-pom ca.uhn.hapi.fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml index 4e76a3e78e7..9e4dcb2601c 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml index 2b50aacd7ef..e82e507dac9 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT hapi-fhir-spring-boot-sample-client-apache diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml index 4f5bae777e6..838d9f90469 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml index 6ac1fcffe05..16c63315cb3 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml index 213031cf9f9..5164cdc9199 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml index 4c620fb3e24..374d492042a 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/pom.xml b/hapi-fhir-spring-boot/pom.xml index 08ebc710049..2c0136df1af 100644 --- a/hapi-fhir-spring-boot/pom.xml +++ b/hapi-fhir-spring-boot/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-sql-migrate/pom.xml b/hapi-fhir-sql-migrate/pom.xml index 5152c3ba85f..da1704aaaca 100644 --- a/hapi-fhir-sql-migrate/pom.xml +++ b/hapi-fhir-sql-migrate/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-batch2-jobs/pom.xml b/hapi-fhir-storage-batch2-jobs/pom.xml index a7f5d8ecbaf..a3c24bb15b3 100644 --- a/hapi-fhir-storage-batch2-jobs/pom.xml +++ b/hapi-fhir-storage-batch2-jobs/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-batch2-test-utilities/pom.xml b/hapi-fhir-storage-batch2-test-utilities/pom.xml index 38658c74f86..024d5fdac80 100644 --- a/hapi-fhir-storage-batch2-test-utilities/pom.xml +++ b/hapi-fhir-storage-batch2-test-utilities/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-batch2/pom.xml b/hapi-fhir-storage-batch2/pom.xml index 42541c03098..6c7eaaaaed8 100644 --- a/hapi-fhir-storage-batch2/pom.xml +++ b/hapi-fhir-storage-batch2/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-cr/pom.xml b/hapi-fhir-storage-cr/pom.xml index 9ff0f31d888..3067454328b 100644 --- a/hapi-fhir-storage-cr/pom.xml +++ b/hapi-fhir-storage-cr/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/config/r4/CrR4Config.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/config/r4/CrR4Config.java index 7edeccf819c..716055860e1 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/config/r4/CrR4Config.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/config/r4/CrR4Config.java @@ -27,15 +27,18 @@ import ca.uhn.fhir.cr.config.ProviderSelector; import ca.uhn.fhir.cr.config.RepositoryConfig; import ca.uhn.fhir.cr.r4.ICareGapsServiceFactory; import ca.uhn.fhir.cr.r4.ICqlExecutionServiceFactory; +import ca.uhn.fhir.cr.r4.ILibraryEvaluationServiceFactory; import ca.uhn.fhir.cr.r4.IMeasureServiceFactory; import ca.uhn.fhir.cr.r4.ISubmitDataProcessorFactory; -import ca.uhn.fhir.cr.r4.cqlexecution.CqlExecutionOperationProvider; +import ca.uhn.fhir.cr.r4.cpg.CqlExecutionOperationProvider; +import ca.uhn.fhir.cr.r4.cpg.LibraryEvaluationOperationProvider; import ca.uhn.fhir.cr.r4.measure.CareGapsOperationProvider; import ca.uhn.fhir.cr.r4.measure.MeasureOperationsProvider; import ca.uhn.fhir.cr.r4.measure.SubmitDataProvider; import ca.uhn.fhir.rest.server.RestfulServer; import org.opencds.cqf.fhir.cql.EvaluationSettings; -import org.opencds.cqf.fhir.cr.cql.r4.R4CqlExecutionService; +import org.opencds.cqf.fhir.cr.cpg.r4.R4CqlExecutionService; +import org.opencds.cqf.fhir.cr.cpg.r4.R4LibraryEvaluationService; import org.opencds.cqf.fhir.cr.measure.CareGapsProperties; import org.opencds.cqf.fhir.cr.measure.MeasureEvaluationOptions; import org.opencds.cqf.fhir.cr.measure.r4.R4CareGapsService; @@ -72,11 +75,22 @@ public class CrR4Config { return rd -> new R4CqlExecutionService(theRepositoryFactory.create(rd), theEvaluationSettings); } + @Bean + ILibraryEvaluationServiceFactory r4LibraryEvaluationServiceFactory( + IRepositoryFactory theRepositoryFactory, EvaluationSettings theEvaluationSettings) { + return rd -> new R4LibraryEvaluationService(theRepositoryFactory.create(rd), theEvaluationSettings); + } + @Bean CqlExecutionOperationProvider r4CqlExecutionOperationProvider() { return new CqlExecutionOperationProvider(); } + @Bean + LibraryEvaluationOperationProvider r4LibraryEvaluationOperationProvider() { + return new LibraryEvaluationOperationProvider(); + } + @Bean ICareGapsServiceFactory careGapsServiceFactory( IRepositoryFactory theRepositoryFactory, @@ -118,7 +132,8 @@ public class CrR4Config { MeasureOperationsProvider.class, SubmitDataProvider.class, CareGapsOperationProvider.class, - CqlExecutionOperationProvider.class))); + CqlExecutionOperationProvider.class, + LibraryEvaluationOperationProvider.class))); return new ProviderLoader(theRestfulServer, theApplicationContext, selector); } diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/dstu3/measure/MeasureOperationsProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/dstu3/measure/MeasureOperationsProvider.java index afbd57ba6bf..17bb97d317b 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/dstu3/measure/MeasureOperationsProvider.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/dstu3/measure/MeasureOperationsProvider.java @@ -65,7 +65,7 @@ public class MeasureOperationsProvider { * autopopulated HAPI. * @return the calculated MeasureReport */ - @Operation(name = ProviderConstants.CQL_EVALUATE_MEASURE, idempotent = true, type = Measure.class) + @Operation(name = ProviderConstants.CR_OPERATION_EVALUATE_MEASURE, idempotent = true, type = Measure.class) public MeasureReport evaluateMeasure( @IdParam IdType theId, @OperationParam(name = "periodStart") String thePeriodStart, diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ICqlExecutionServiceFactory.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ICqlExecutionServiceFactory.java index 8708eebe155..e346648d4d0 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ICqlExecutionServiceFactory.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ICqlExecutionServiceFactory.java @@ -20,7 +20,7 @@ package ca.uhn.fhir.cr.r4; import ca.uhn.fhir.rest.api.server.RequestDetails; -import org.opencds.cqf.fhir.cr.cql.r4.R4CqlExecutionService; +import org.opencds.cqf.fhir.cr.cpg.r4.R4CqlExecutionService; @FunctionalInterface public interface ICqlExecutionServiceFactory { diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ILibraryEvaluationServiceFactory.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ILibraryEvaluationServiceFactory.java new file mode 100644 index 00000000000..5ade2781cdb --- /dev/null +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/ILibraryEvaluationServiceFactory.java @@ -0,0 +1,9 @@ +package ca.uhn.fhir.cr.r4; + +import ca.uhn.fhir.rest.api.server.RequestDetails; +import org.opencds.cqf.fhir.cr.cpg.r4.R4LibraryEvaluationService; + +@FunctionalInterface +public interface ILibraryEvaluationServiceFactory { + R4LibraryEvaluationService create(RequestDetails theRequestDetails); +} diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cqlexecution/CqlExecutionOperationProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cpg/CqlExecutionOperationProvider.java similarity index 98% rename from hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cqlexecution/CqlExecutionOperationProvider.java rename to hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cpg/CqlExecutionOperationProvider.java index 0e52b2a3960..ba2d0c36b7f 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cqlexecution/CqlExecutionOperationProvider.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cpg/CqlExecutionOperationProvider.java @@ -17,13 +17,14 @@ * limitations under the License. * #L% */ -package ca.uhn.fhir.cr.r4.cqlexecution; +package ca.uhn.fhir.cr.r4.cpg; import ca.uhn.fhir.cr.r4.ICqlExecutionServiceFactory; import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.rest.annotation.Operation; import ca.uhn.fhir.rest.annotation.OperationParam; import ca.uhn.fhir.rest.api.server.RequestDetails; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; import org.hl7.fhir.r4.model.BooleanType; import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.Endpoint; @@ -112,7 +113,7 @@ public class CqlExecutionOperationProvider { * is a CQL system-defined or FHIR-defined type, the result is returned * as a {@link Parameters} Parameters resource */ - @Operation(name = "$cql") + @Operation(name = ProviderConstants.CR_OPERATION_CQL) @Description( shortDefinition = "$cql", value = diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cpg/LibraryEvaluationOperationProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cpg/LibraryEvaluationOperationProvider.java new file mode 100644 index 00000000000..d972193ca4e --- /dev/null +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/cpg/LibraryEvaluationOperationProvider.java @@ -0,0 +1,107 @@ +package ca.uhn.fhir.cr.r4.cpg; + +import ca.uhn.fhir.cr.r4.ILibraryEvaluationServiceFactory; +import ca.uhn.fhir.rest.annotation.IdParam; +import ca.uhn.fhir.rest.annotation.Operation; +import ca.uhn.fhir.rest.annotation.OperationParam; +import ca.uhn.fhir.rest.api.server.RequestDetails; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; +import org.hl7.fhir.r4.model.Bundle; +import org.hl7.fhir.r4.model.Endpoint; +import org.hl7.fhir.r4.model.IdType; +import org.hl7.fhir.r4.model.Library; +import org.hl7.fhir.r4.model.Parameters; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +public class LibraryEvaluationOperationProvider { + @Autowired + ILibraryEvaluationServiceFactory myLibraryEvaluationServiceFactory; + /** + * Evaluates a CQL library and returns the results as a Parameters resource. + * + * @param theRequestDetails the {@link RequestDetails RequestDetails} + * @param theId the library resource's Id + * @param theSubject Subject for which the library will be evaluated. + * This corresponds to the context in which the + * library + * will be evaluated and is represented as a relative + * FHIR id (e.g. Patient/123), which establishes both + * the context and context value for the evaluation + * @param theExpression Expression(s) to be evaluated. If no expression + * names + * are provided, the operation evaluates all public + * expression definitions in the library + * @param theParameters Any input parameters for the expression. + * {@link Parameters} Parameters defined in this + * input will be made available by name to the CQL + * expression. Parameter types are mapped to CQL as + * specified in the Using CQL section of the CPG + * Implementation guide. If a parameter appears more + * than once in the input Parameters resource, it is + * represented with a List in the input CQL. If a + * parameter has parts, it is represented as a Tuple + * in the input CQL + * @param theData Data to be made available to the library + * evaluation. This parameter is exclusive with the + * prefetchData parameter (i.e. either provide all + * data as a single bundle, or provide data using + * multiple bundles with prefetch descriptions) + * @param thePrefetchData ***Not Yet Implemented*** + * @param theDataEndpoint An {@link Endpoint} endpoint to use to access data + * referenced by retrieve operations in the library. + * If provided, this endpoint is used after the data + * or prefetchData bundles, and the server, if the + * useServerData parameter is true. + * @param theContentEndpoint An {@link Endpoint} endpoint to use to access + * content (i.e. libraries) referenced by the + * library. If no content endpoint is supplied, the + * evaluation will attempt to retrieve content from + * the server on which the operation is being + * performed + * @param theTerminologyEndpoint An {@link Endpoint} endpoint to use to access + * terminology (i.e. valuesets, codesystems, and + * membership testing) referenced by the library. If + * no terminology endpoint is supplied, the + * evaluation will attempt to use the server on which + * the operation is being performed as the + * terminology server + * @return The results of the library evaluation, returned as a + * {@link Parameters} resource + * with a parameter for each named expression defined in the library. + * The value of + * each expression is returned as a FHIR type, either a resource, or a + * FHIR-defined + * type corresponding to the CQL return type, as defined in the Using + * CQL section of + * this implementation guide. If the result of an expression is a list + * of resources, + * that parameter will be repeated for each element in the result + */ + @Operation(name = ProviderConstants.CR_OPERATION_EVALUATE, idempotent = true, type = Library.class) + public Parameters evaluate( + RequestDetails theRequestDetails, + @IdParam IdType theId, + @OperationParam(name = "subject") String theSubject, + @OperationParam(name = "expression") List theExpression, + @OperationParam(name = "parameters") Parameters theParameters, + @OperationParam(name = "data") Bundle theData, + @OperationParam(name = "prefetchData") List thePrefetchData, + @OperationParam(name = "dataEndpoint") Endpoint theDataEndpoint, + @OperationParam(name = "contentEndpoint") Endpoint theContentEndpoint, + @OperationParam(name = "terminologyEndpoint") Endpoint theTerminologyEndpoint) { + return myLibraryEvaluationServiceFactory + .create(theRequestDetails) + .evaluate( + theId, + theSubject, + theExpression, + theParameters, + theData, + thePrefetchData, + theDataEndpoint, + theContentEndpoint, + theTerminologyEndpoint); + } +} diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsOperationProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsOperationProvider.java index 105003f8022..b7773290243 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsOperationProvider.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsOperationProvider.java @@ -25,6 +25,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.rest.annotation.Operation; import ca.uhn.fhir.rest.annotation.OperationParam; import ca.uhn.fhir.rest.api.server.RequestDetails; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; import org.hl7.fhir.instance.model.api.IPrimitiveType; import org.hl7.fhir.r4.model.CanonicalType; import org.hl7.fhir.r4.model.Measure; @@ -97,7 +98,7 @@ public class CareGapsOperationProvider { shortDefinition = "$care-gaps operation", value = "Implements the $care-gaps operation found in the Da Vinci DEQM FHIR Implementation Guide which is an extension of the $care-gaps operation found in the FHIR Clinical Reasoning Module.") - @Operation(name = "$care-gaps", idempotent = true, type = Measure.class) + @Operation(name = ProviderConstants.CR_OPERATION_CARE_GAPS, idempotent = true, type = Measure.class) public Parameters careGapsReport( RequestDetails theRequestDetails, @OperationParam(name = "periodStart", typeName = "date") IPrimitiveType thePeriodStart, diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java index b61c422ded1..c7cd5fbed34 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java @@ -63,7 +63,7 @@ public class MeasureOperationsProvider { * autopopulated HAPI. * @return the calculated MeasureReport */ - @Operation(name = ProviderConstants.CQL_EVALUATE_MEASURE, idempotent = true, type = Measure.class) + @Operation(name = ProviderConstants.CR_OPERATION_EVALUATE_MEASURE, idempotent = true, type = Measure.class) public MeasureReport evaluateMeasure( @IdParam IdType theId, @OperationParam(name = "periodStart") String thePeriodStart, diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/SubmitDataProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/SubmitDataProvider.java index 0e486a533ce..dd2045dc129 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/SubmitDataProvider.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/SubmitDataProvider.java @@ -25,6 +25,7 @@ import ca.uhn.fhir.rest.annotation.IdParam; import ca.uhn.fhir.rest.annotation.Operation; import ca.uhn.fhir.rest.annotation.OperationParam; import ca.uhn.fhir.rest.api.server.RequestDetails; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; import org.hl7.fhir.instance.model.api.IBaseResource; import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.IdType; @@ -70,7 +71,7 @@ public class SubmitDataProvider { shortDefinition = "$submit-data", value = "Implements the $submit-data operation found in the FHIR Clinical Reasoning Module per the Da Vinci DEQM FHIR Implementation Guide.") - @Operation(name = "$submit-data", type = Measure.class) + @Operation(name = ProviderConstants.CR_OPERATION_SUBMIT_DATA, type = Measure.class) public Bundle submitData( RequestDetails theRequestDetails, @IdParam IdType theId, diff --git a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/dstu3/CrDstu3MeasureOperationProviderIT.java b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/dstu3/CrDstu3MeasureOperationProviderIT.java index e66a2a8bfad..6232949ded8 100644 --- a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/dstu3/CrDstu3MeasureOperationProviderIT.java +++ b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/dstu3/CrDstu3MeasureOperationProviderIT.java @@ -2,6 +2,7 @@ package ca.uhn.fhir.cr.dstu3; import ca.uhn.fhir.cr.dstu3.measure.MeasureOperationsProvider; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; import org.hamcrest.Matchers; import org.hl7.fhir.dstu3.model.Bundle; import org.hl7.fhir.dstu3.model.DateType; @@ -82,7 +83,7 @@ public class CrDstu3MeasureOperationProviderIT extends BaseCrDstu3TestServer { } return ourClient.operation().onInstance(measureId) - .named("$evaluate-measure") + .named(ProviderConstants.CR_OPERATION_EVALUATE_MEASURE) .withParameters(parametersEval1) .returnResourceType(MeasureReport.class) .execute(); diff --git a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CareGapsProviderIT.java b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CareGapsProviderIT.java index 566b13bcff0..295e05758e1 100644 --- a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CareGapsProviderIT.java +++ b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CareGapsProviderIT.java @@ -1,5 +1,6 @@ package ca.uhn.fhir.cr.r4; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -69,7 +70,7 @@ class CareGapsProviderIT extends BaseCrR4TestServer parameters.addParameter("measureId", "ColorectalCancerScreeningsFHIR"); var result = ourClient.operation().onType(Measure.class) - .named("$care-gaps") + .named(ProviderConstants.CR_OPERATION_CARE_GAPS) .withParameters(parameters) .returnResourceType(Parameters.class) .execute(); @@ -84,7 +85,7 @@ class CareGapsProviderIT extends BaseCrR4TestServer // 7. Provider runs care-gaps again result = ourClient.operation().onType("Measure") - .named("care-gaps") + .named(ProviderConstants.CR_OPERATION_CARE_GAPS) .withParameters(parameters) .execute(); diff --git a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CqlExecutionOperationProviderTest.java b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CpgOperationProviderTest.java similarity index 67% rename from hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CqlExecutionOperationProviderTest.java rename to hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CpgOperationProviderTest.java index 559e2024e50..9f56c02ba2f 100644 --- a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CqlExecutionOperationProviderTest.java +++ b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/CpgOperationProviderTest.java @@ -1,7 +1,7 @@ package ca.uhn.fhir.cr.r4; -import ca.uhn.fhir.cr.r4.cqlexecution.CqlExecutionOperationProvider; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; import org.hl7.fhir.r4.model.BooleanType; import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.Condition; @@ -12,12 +12,11 @@ import org.hl7.fhir.r4.model.OperationOutcome; import org.hl7.fhir.r4.model.Parameters; import org.hl7.fhir.r4.model.Patient; import org.hl7.fhir.r4.model.Period; +import org.hl7.fhir.r4.model.StringType; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import java.io.IOException; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.opencds.cqf.fhir.utility.r4.Parameters.booleanPart; import static org.opencds.cqf.fhir.utility.r4.Parameters.canonicalPart; import static org.opencds.cqf.fhir.utility.r4.Parameters.parameters; @@ -28,43 +27,66 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -public class CqlExecutionOperationProviderTest extends BaseCrR4TestServer{ - @Autowired - CqlExecutionOperationProvider myCqlExecutionProvider; +public class CpgOperationProviderTest extends BaseCrR4TestServer{ @BeforeEach - void setup() throws IOException { + void setup() { var reqDeets = setupRequestDetails(); loadResource(Library.class, "SimpleR4Library.json", reqDeets); loadResource(Patient.class, "SimplePatient.json", reqDeets); loadResource(Observation.class, "SimpleObservation.json", reqDeets); loadResource(Condition.class, "SimpleCondition.json", reqDeets); } - public Parameters runCqlExecution(Parameters parameters){ - var results = ourClient.operation().onServer() - .named("$cql") - .withParameters(parameters) - .execute(); - return results; - } @Test - void testSimpleDateCqlExecutionProvider() { + void cqlExecutionProvider_testSimpleDate() { + // execute cql expression on date interval Parameters params = parameters(stringPart("expression", "Interval[Today() - 2 years, Today())")); Parameters results = runCqlExecution(params); assertTrue(results.getParameter("return").getValue() instanceof Period); } @Test - void testSimpleArithmeticCqlExecutionProvider() { + void cqlExecutionProvider_testSimpleArithmetic() { + // execute simple cql expression Parameters params = parameters(stringPart("expression", "5 * 5")); Parameters results = runCqlExecution(params); assertTrue(results.getParameter("return").getValue() instanceof IntegerType); assertEquals("25", ((IntegerType) results.getParameter("return").getValue()).asStringValue()); } - @Test - void testReferencedLibraryCqlExecutionProvider() { - var test = ourClient.read().resource(Library.class).withId("SimpleR4Library").execute(); + @Test + void evaluateLibraryProvider_testLibraryWithSubject() { + // evaluate library resource for a subject + var params = new Parameters(); + params.addParameter("subject", new StringType("Patient/SimplePatient")); + + Parameters report = runEvaluateLibrary(params, "SimpleR4Library"); + + assertNotNull(report); + assertTrue(report.hasParameter("Initial Population")); + assertTrue(((BooleanType) report.getParameter("Initial Population").getValue()).booleanValue()); + assertTrue(report.hasParameter("Numerator")); + assertTrue(((BooleanType) report.getParameter("Numerator").getValue()).booleanValue()); + assertTrue(report.hasParameter("Denominator")); + assertTrue(((BooleanType) report.getParameter("Denominator").getValue()).booleanValue()); + } + + @Test + void evaluateLibraryProvider_testSimpleExpression() { + // evaluate expression for subject from specified library resource + var params = new Parameters(); + params.addParameter("subject", new StringType("Patient/SimplePatient")); + params.addParameter("expression", "Numerator"); + + Parameters report = runEvaluateLibrary(params, "SimpleR4Library"); + assertNotNull(report); + assertTrue(report.hasParameter("Numerator")); + assertTrue(((BooleanType) report.getParameter("Numerator").getValue()).booleanValue()); + } + + @Test + void cqlExecutionProvider_testReferencedLibrary() { + // execute cql expression from referenced library on subject Parameters libraryParameter = parameters( canonicalPart("url", ourClient.getServerBase() + "/Library/SimpleR4Library|0.0.1"), stringPart("name", "SimpleR4Library")); @@ -79,9 +101,10 @@ public class CqlExecutionOperationProviderTest extends BaseCrR4TestServer{ } @Test - void testDataBundleCqlExecutionProvider() throws IOException { + void cqlExecutionProvider_testDataBundle() { + // execute cql expression from library over data from bundle with no subject Parameters libraryParameter = parameters( - canonicalPart("url", this.ourClient.getServerBase() + "/Library/SimpleR4Library"), + canonicalPart("url", ourClient.getServerBase() + "/Library/SimpleR4Library"), stringPart("name", "SimpleR4Library")); //var data = loadBundle(Bundle.class,"SimpleDataBundle.json"); var data = (Bundle) readResource("SimpleDataBundle.json"); @@ -96,7 +119,8 @@ public class CqlExecutionOperationProviderTest extends BaseCrR4TestServer{ } @Test - void testDataBundleCqlExecutionProviderWithSubject() { + void cqlExecutionProvider_testDataBundleWithSubject() { + // execute cql expression from library over data from bundle with subject Parameters libraryParameter = parameters( canonicalPart("url", ourClient.getServerBase() + "/Library/SimpleR4Library"), stringPart("name", "SimpleR4Library")); @@ -112,7 +136,8 @@ public class CqlExecutionOperationProviderTest extends BaseCrR4TestServer{ } @Test - void testSimpleParametersCqlExecutionProvider() { + void cqlExecutionProvider_testSimpleParameters() { + // execute inline cql date expression with input valuemv Parameters evaluationParams = parameters( datePart("%inputDate", "2019-11-01")); Parameters params = parameters( @@ -124,7 +149,8 @@ public class CqlExecutionOperationProviderTest extends BaseCrR4TestServer{ } @Test - void testCqlExecutionProviderExpression() { + void cqlExecutionProvider_testExpression() { + // execute cql expression from referenced library Parameters libraryParameter = parameters( canonicalPart("url", ourClient.getServerBase() + "/Library/SimpleR4Library"), stringPart("name", "SimpleR4Library")); @@ -143,9 +169,12 @@ public class CqlExecutionOperationProviderTest extends BaseCrR4TestServer{ } @Test - void testErrorExpression() { + void cqlExecutionProvider_testErrorExpression() { + // execute invalid cql expression Parameters params = parameters(stringPart("expression", "Interval[1,5]")); + Parameters results = runCqlExecution(params); + assertTrue(results.hasParameter()); assertTrue(results.getParameterFirstRep().hasName()); assertEquals("evaluation error", results.getParameterFirstRep().getName()); @@ -155,4 +184,19 @@ public class CqlExecutionOperationProviderTest extends BaseCrR4TestServer{ ((OperationOutcome) results.getParameterFirstRep().getResource()).getIssueFirstRep().getDetails() .getText()); } + + public Parameters runCqlExecution(Parameters parameters){ + + return ourClient.operation().onServer() + .named(ProviderConstants.CR_OPERATION_CQL) + .withParameters(parameters) + .execute(); + } + public Parameters runEvaluateLibrary(Parameters parameters, String libraryId){ + + return ourClient.operation().onInstance("Library/" + libraryId) + .named(ProviderConstants.CR_OPERATION_EVALUATE) + .withParameters(parameters) + .execute(); + } } diff --git a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/R4MeasureOperationProviderIT.java b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/R4MeasureOperationProviderIT.java index d822fe1ad1a..6cca834e17f 100644 --- a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/R4MeasureOperationProviderIT.java +++ b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/R4MeasureOperationProviderIT.java @@ -1,5 +1,6 @@ package ca.uhn.fhir.cr.r4; +import ca.uhn.fhir.rest.server.provider.ProviderConstants; import org.hl7.fhir.r4.model.DateType; import org.hl7.fhir.r4.model.IdType; import org.hl7.fhir.r4.model.MeasureReport; @@ -11,6 +12,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import java.util.NoSuchElementException; import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -30,7 +32,7 @@ class R4MeasureOperationProviderIT extends BaseCrR4TestServer { parametersEval.addParameter("subject", subject); var report = ourClient.operation().onInstance("Measure/" + measureId) - .named("$evaluate-measure") + .named(ProviderConstants.CR_OPERATION_EVALUATE_MEASURE) .withParameters(parametersEval) .returnResourceType(MeasureReport.class) .execute(); @@ -41,7 +43,7 @@ class R4MeasureOperationProviderIT extends BaseCrR4TestServer { } @Test - void testMeasureEvaluate_EXM130() throws InterruptedException { + void testMeasureEvaluate_EXM130() { loadBundle("ColorectalCancerScreeningsFHIR-bundle.json"); runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "Individual", null); } @@ -59,22 +61,13 @@ class R4MeasureOperationProviderIT extends BaseCrR4TestServer { var returnMeasureReport = runEvaluateMeasure("2022-01-01", "2022-12-31", patientId, measureId, "Individual", null); for (MeasureReport.MeasureReportGroupPopulationComponent population : returnMeasureReport.getGroupFirstRep() - .getPopulation()) { - switch (population.getCode().getCodingFirstRep().getCode()) { - case "initial-population": - assertEquals(initialPopulationCount, population.getCount()); - break; - case "denominator": - assertEquals(denominatorCount, population.getCount()); - break; - case "denominator-exclusion": - assertEquals(denominatorExclusionCount, population.getCount()); - break; - case "numerator": - assertEquals(numeratorCount, population.getCount()); - break; - } - } + .getPopulation()) + switch (population.getCode().getCodingFirstRep().getCode()) { + case "initial-population" -> assertEquals(initialPopulationCount, population.getCount()); + case "denominator" -> assertEquals(denominatorCount, population.getCount()); + case "denominator-exclusion" -> assertEquals(denominatorExclusionCount, population.getCount()); + case "numerator" -> assertEquals(numeratorCount, population.getCount()); + } Observation enrolledDuringParticipationPeriodObs = null; Observation participationPeriodObs = null; @@ -148,7 +141,7 @@ class R4MeasureOperationProviderIT extends BaseCrR4TestServer { } @Test - void testLargeValuesetMeasure() { + void testLargeValuesetMeasure() throws NoSuchElementException { this.loadBundle("largeValueSetMeasureTest-Bundle.json"); var returnMeasureReport = runEvaluateMeasure("2023-01-01", "2024-01-01", null, "CMSTest", "population", null); @@ -160,10 +153,12 @@ class R4MeasureOperationProviderIT extends BaseCrR4TestServer { .getPopulation().stream().filter(x -> x.hasCode() && x.getCode().hasCoding() && x.getCode().getCoding().get(0).getCode().equals(populationName)) .findFirst(); - - assertEquals(population.get().getCount(), expectedCount, - String.format("expected count for population \"%s\" did not match", populationName)); - + assertTrue(population.isPresent(), String.format("population \"%s\" not found in report", populationName)); + assertEquals( + expectedCount, + population.get().getCount(), + String.format("expected count for population \"%s\" did not match", populationName) + ); } diff --git a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/SubmitDataServiceR4Test.java b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/SubmitDataServiceR4Test.java index a9c13bdcd79..59b0726c871 100644 --- a/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/SubmitDataServiceR4Test.java +++ b/hapi-fhir-storage-cr/src/test/java/ca/uhn/fhir/cr/r4/SubmitDataServiceR4Test.java @@ -19,8 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired; import static org.junit.jupiter.api.Assertions.assertNotNull; public class SubmitDataServiceR4Test extends BaseCrR4TestServer { - @Autowired - IRepositoryFactory myRepositoryFactory; @Autowired ISubmitDataProcessorFactory myR4SubmitDataProcessorFactory; diff --git a/hapi-fhir-storage-mdm/pom.xml b/hapi-fhir-storage-mdm/pom.xml index 6612210e842..46cd15f4a67 100644 --- a/hapi-fhir-storage-mdm/pom.xml +++ b/hapi-fhir-storage-mdm/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-test-utilities/pom.xml b/hapi-fhir-storage-test-utilities/pom.xml index d58ac7db8c2..a833ecf16c6 100644 --- a/hapi-fhir-storage-test-utilities/pom.xml +++ b/hapi-fhir-storage-test-utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage/pom.xml b/hapi-fhir-storage/pom.xml index c2be7451e3a..538224bd99d 100644 --- a/hapi-fhir-storage/pom.xml +++ b/hapi-fhir-storage/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-dstu2.1/pom.xml b/hapi-fhir-structures-dstu2.1/pom.xml index 0ca9230dac6..e9546ce0098 100644 --- a/hapi-fhir-structures-dstu2.1/pom.xml +++ b/hapi-fhir-structures-dstu2.1/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-dstu2/pom.xml b/hapi-fhir-structures-dstu2/pom.xml index 4532fb82ccf..57009001f92 100644 --- a/hapi-fhir-structures-dstu2/pom.xml +++ b/hapi-fhir-structures-dstu2/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-dstu3/pom.xml b/hapi-fhir-structures-dstu3/pom.xml index f4cfda0fd24..cd6622ac00a 100644 --- a/hapi-fhir-structures-dstu3/pom.xml +++ b/hapi-fhir-structures-dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-hl7org-dstu2/pom.xml b/hapi-fhir-structures-hl7org-dstu2/pom.xml index 91c113e8e84..12fa5c87f89 100644 --- a/hapi-fhir-structures-hl7org-dstu2/pom.xml +++ b/hapi-fhir-structures-hl7org-dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r4/pom.xml b/hapi-fhir-structures-r4/pom.xml index f2d1ae5e412..ff864b34ad1 100644 --- a/hapi-fhir-structures-r4/pom.xml +++ b/hapi-fhir-structures-r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r4b/pom.xml b/hapi-fhir-structures-r4b/pom.xml index 937f228073f..e463de3be1d 100644 --- a/hapi-fhir-structures-r4b/pom.xml +++ b/hapi-fhir-structures-r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r5/pom.xml b/hapi-fhir-structures-r5/pom.xml index 2c4111ad99a..0e9d2957b28 100644 --- a/hapi-fhir-structures-r5/pom.xml +++ b/hapi-fhir-structures-r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-test-utilities/pom.xml b/hapi-fhir-test-utilities/pom.xml index dcbb597eae8..f76f5b9e7d2 100644 --- a/hapi-fhir-test-utilities/pom.xml +++ b/hapi-fhir-test-utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-testpage-overlay/pom.xml b/hapi-fhir-testpage-overlay/pom.xml index e16f86ae51f..5c7e56048d7 100644 --- a/hapi-fhir-testpage-overlay/pom.xml +++ b/hapi-fhir-testpage-overlay/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-validation-resources-dstu2.1/pom.xml b/hapi-fhir-validation-resources-dstu2.1/pom.xml index 83a66052cab..2e306bdfb5b 100644 --- a/hapi-fhir-validation-resources-dstu2.1/pom.xml +++ b/hapi-fhir-validation-resources-dstu2.1/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-dstu2/pom.xml b/hapi-fhir-validation-resources-dstu2/pom.xml index 8ada6af4694..b9a0b70867e 100644 --- a/hapi-fhir-validation-resources-dstu2/pom.xml +++ b/hapi-fhir-validation-resources-dstu2/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-dstu3/pom.xml b/hapi-fhir-validation-resources-dstu3/pom.xml index c40a055b673..bbebbc250a1 100644 --- a/hapi-fhir-validation-resources-dstu3/pom.xml +++ b/hapi-fhir-validation-resources-dstu3/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-r4/pom.xml b/hapi-fhir-validation-resources-r4/pom.xml index 09851ccaae7..89c6fd3225f 100644 --- a/hapi-fhir-validation-resources-r4/pom.xml +++ b/hapi-fhir-validation-resources-r4/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-r4b/pom.xml b/hapi-fhir-validation-resources-r4b/pom.xml index 6f76cc68bfa..585f375bc09 100644 --- a/hapi-fhir-validation-resources-r4b/pom.xml +++ b/hapi-fhir-validation-resources-r4b/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-r5/pom.xml b/hapi-fhir-validation-resources-r5/pom.xml index 8d2eb9d4a2a..1378d7f914e 100644 --- a/hapi-fhir-validation-resources-r5/pom.xml +++ b/hapi-fhir-validation-resources-r5/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation/pom.xml b/hapi-fhir-validation/pom.xml index d9c0db5bf70..7f0b3f84ac8 100644 --- a/hapi-fhir-validation/pom.xml +++ b/hapi-fhir-validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-tinder-plugin/pom.xml b/hapi-tinder-plugin/pom.xml index 9168501c763..067088ad509 100644 --- a/hapi-tinder-plugin/pom.xml +++ b/hapi-tinder-plugin/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/hapi-tinder-test/pom.xml b/hapi-tinder-test/pom.xml index 476c18dfb17..6368bb3355d 100644 --- a/hapi-tinder-test/pom.xml +++ b/hapi-tinder-test/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 9c188328297..d2786f8fec3 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ ca.uhn.hapi.fhir hapi-fhir pom - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT HAPI-FHIR An open-source implementation of the FHIR specification in Java. @@ -992,7 +992,7 @@ 1.0.8 - 3.0.0-PRE12 + 3.0.0-PRE14 5.4.1 diff --git a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml index 2909352b306..96b10385a35 100644 --- a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml +++ b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../../pom.xml diff --git a/tests/hapi-fhir-base-test-mindeps-client/pom.xml b/tests/hapi-fhir-base-test-mindeps-client/pom.xml index 6fa67a8ec2a..9d439c89c43 100644 --- a/tests/hapi-fhir-base-test-mindeps-client/pom.xml +++ b/tests/hapi-fhir-base-test-mindeps-client/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../../pom.xml diff --git a/tests/hapi-fhir-base-test-mindeps-server/pom.xml b/tests/hapi-fhir-base-test-mindeps-server/pom.xml index 55eed794a47..c6668f4dfd5 100644 --- a/tests/hapi-fhir-base-test-mindeps-server/pom.xml +++ b/tests/hapi-fhir-base-test-mindeps-server/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.11.7-SNAPSHOT + 6.11.8-SNAPSHOT ../../pom.xml