diff --git a/hapi-deployable-pom/pom.xml b/hapi-deployable-pom/pom.xml
index d4119a31327..5e53eca724d 100644
--- a/hapi-deployable-pom/pom.xml
+++ b/hapi-deployable-pom/pom.xml
@@ -5,7 +5,7 @@
ca.uhn.hapi.fhir
hapi-fhir
- 6.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../pom.xml
diff --git a/hapi-fhir-android/pom.xml b/hapi-fhir-android/pom.xml
index 442c14360d3..ece0037127c 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-base/pom.xml b/hapi-fhir-base/pom.xml
index 9ac7a201527..8230b4bef07 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-bom/pom.xml b/hapi-fhir-bom/pom.xml
index 68f115296da..d5a6c2c70d6 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
pom
HAPI FHIR BOM
@@ -12,7 +12,7 @@
ca.uhn.hapi.fhir
hapi-deployable-pom
- 6.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-checkstyle/pom.xml b/hapi-fhir-checkstyle/pom.xml
index 7887f8a846e..718fa973873 100644
--- a/hapi-fhir-checkstyle/pom.xml
+++ b/hapi-fhir-checkstyle/pom.xml
@@ -5,7 +5,7 @@
ca.uhn.hapi.fhir
hapi-fhir
- 6.9.6-SNAPSHOT
+ 6.9.7-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 47ca5a50880..a4701a94456 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.9.6-SNAPSHOT
+ 6.9.7-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 110ee60ccc3..9f3a84bf061 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../pom.xml
diff --git a/hapi-fhir-cli/pom.xml b/hapi-fhir-cli/pom.xml
index 8754f52a93f..2c6dd8583ab 100644
--- a/hapi-fhir-cli/pom.xml
+++ b/hapi-fhir-cli/pom.xml
@@ -5,7 +5,7 @@
ca.uhn.hapi.fhir
hapi-fhir
- 6.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../pom.xml
diff --git a/hapi-fhir-client-okhttp/pom.xml b/hapi-fhir-client-okhttp/pom.xml
index 26429d5be04..28b5ede3287 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-client/pom.xml b/hapi-fhir-client/pom.xml
index 6bc6c147294..0e8df018a33 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-converter/pom.xml b/hapi-fhir-converter/pom.xml
index 1fe94d51def..cfa706d8794 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-dist/pom.xml b/hapi-fhir-dist/pom.xml
index c4bfa2038ac..f5976ab3234 100644
--- a/hapi-fhir-dist/pom.xml
+++ b/hapi-fhir-dist/pom.xml
@@ -5,7 +5,7 @@
ca.uhn.hapi.fhir
hapi-fhir
- 6.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../pom.xml
diff --git a/hapi-fhir-docs/pom.xml b/hapi-fhir-docs/pom.xml
index e8dbbd5ec44..331d4b20add 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_0_0/5089-clinical-reasoning-measurerefactor.yaml b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_0_0/5089-clinical-reasoning-measurerefactor.yaml
new file mode 100644
index 00000000000..319e7177959
--- /dev/null
+++ b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_0_0/5089-clinical-reasoning-measurerefactor.yaml
@@ -0,0 +1,6 @@
+---
+type: add
+issue: 5089
+title: "Updating storage-cr module to latest CQL 3.0.0, latest cql engine improvements, and Clinical Reasoning operations
+to leverage repository api pattern. This will remove several dependencies from within hapi-fhir to make future maintenance
+simpler and performance more robust."
diff --git a/hapi-fhir-jacoco/pom.xml b/hapi-fhir-jacoco/pom.xml
index 91f789457c5..7e8139bd23c 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jaxrsserver-base/pom.xml b/hapi-fhir-jaxrsserver-base/pom.xml
index b0d39c3ee95..d39e783edf1 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpa/pom.xml b/hapi-fhir-jpa/pom.xml
index 6bd7106f74f..8c6b15cd275 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-base/pom.xml b/hapi-fhir-jpaserver-base/pom.xml
index 5d8acdb9386..f0789864dd9 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.9.6-SNAPSHOT
+ 6.9.7-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 85dca1a2dd2..aa1db0b0a66 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-hfql/pom.xml b/hapi-fhir-jpaserver-hfql/pom.xml
index 89c6b89493a..6362de695c2 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-ips/pom.xml b/hapi-fhir-jpaserver-ips/pom.xml
index 3929f01af72..88fef02fb1c 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-mdm/pom.xml b/hapi-fhir-jpaserver-mdm/pom.xml
index 8eb952e4f8f..521442039ec 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-model/pom.xml b/hapi-fhir-jpaserver-model/pom.xml
index 69ccc6d35b9..8e4fec76eb1 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-searchparam/pom.xml b/hapi-fhir-jpaserver-searchparam/pom.xml
index f56dfa29880..3fd487db90d 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-subscription/pom.xml b/hapi-fhir-jpaserver-subscription/pom.xml
index 4e5963dff28..5beeda86ad3 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.9.6-SNAPSHOT
+ 6.9.7-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 03e21455977..12677842d4b 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.9.6-SNAPSHOT
+ 6.9.7-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 207fc24c869..663c4258d5b 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.9.6-SNAPSHOT
+ 6.9.7-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 bcab6510d7c..7d27d009288 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.9.6-SNAPSHOT
+ 6.9.7-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 d10ffebffab..fd24ac730a3 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.9.6-SNAPSHOT
+ 6.9.7-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 d95a57e0c26..5ce759bc927 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.9.6-SNAPSHOT
+ 6.9.7-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 6c8616951a7..39be13b38d2 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml
index cf521cd6e29..e5b8861c32f 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../pom.xml
diff --git a/hapi-fhir-server-cds-hooks/pom.xml b/hapi-fhir-server-cds-hooks/pom.xml
index be1e670e44f..93e6f3d05a2 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-server-mdm/pom.xml b/hapi-fhir-server-mdm/pom.xml
index cdc1028078b..b541b0f0a2c 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-server-openapi/pom.xml b/hapi-fhir-server-openapi/pom.xml
index 786cb0cbc08..49c0ef80517 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-server/pom.xml b/hapi-fhir-server/pom.xml
index 548f1c89344..8bf19a63b51 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-serviceloaders/hapi-fhir-caching-api/pom.xml b/hapi-fhir-serviceloaders/hapi-fhir-caching-api/pom.xml
index 1c4ba4f7abb..3ce49430a7c 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.9.6-SNAPSHOT
+ 6.9.7-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 e12e860112c..11e3f12b2f8 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../pom.xml
@@ -21,7 +21,7 @@
ca.uhn.hapi.fhir
hapi-fhir-caching-api
- 6.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
diff --git a/hapi-fhir-serviceloaders/hapi-fhir-caching-guava/pom.xml b/hapi-fhir-serviceloaders/hapi-fhir-caching-guava/pom.xml
index 1fecff814ed..a149f89c490 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.9.6-SNAPSHOT
+ 6.9.7-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 943dd0a0ae8..31c40af7b65 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../../pom.xml
diff --git a/hapi-fhir-serviceloaders/pom.xml b/hapi-fhir-serviceloaders/pom.xml
index b565b77d00a..660ad79aacc 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.9.6-SNAPSHOT
+ 6.9.7-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 108aff5c5ea..f9079b8cfab 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.9.6-SNAPSHOT
+ 6.9.7-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 c1970bb0492..fb4d0312cc7 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.9.6-SNAPSHOT
+ 6.9.7-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 50522df7acf..dbe096cd8c5 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.9.6-SNAPSHOT
+ 6.9.7-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 a1e20c2b17b..2f669d15070 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.9.6-SNAPSHOT
+ 6.9.7-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 70522e2b08d..83374866bf0 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.9.6-SNAPSHOT
+ 6.9.7-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 a2c349642c0..01b07e351b5 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-spring-boot/pom.xml b/hapi-fhir-spring-boot/pom.xml
index 28d995ffe78..93c95a33faf 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../pom.xml
diff --git a/hapi-fhir-sql-migrate/pom.xml b/hapi-fhir-sql-migrate/pom.xml
index 29063cd2a8b..88816897c56 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.9.6-SNAPSHOT
+ 6.9.7-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 4acd856c343..4dddaeb11f5 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.9.6-SNAPSHOT
+ 6.9.7-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 e80aa46e9e2..428fe50b7e9 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-storage-batch2/pom.xml b/hapi-fhir-storage-batch2/pom.xml
index f9f63f922d2..6f750898ab8 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
diff --git a/hapi-fhir-storage-cr/pom.xml b/hapi-fhir-storage-cr/pom.xml
index 0294daede02..bf135680f03 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.9.6-SNAPSHOT
+ 6.9.7-SNAPSHOT
../hapi-deployable-pom/pom.xml
@@ -77,43 +77,12 @@
org.opencds.cqf.fhir
- cqf-fhir-api
+ cqf-fhir-cr
${clinical-reasoning.version}
- org.opencds.cqf.cql
- evaluator.fhir
- ${clinical-reasoning.version}
-
-
- ca.uhn.hapi.fhir
- org.hl7.fhir.r4
-
-
- ca.uhn.hapi.fhir
- org.hl7.fhir.r4b
-
-
- ca.uhn.hapi.fhir
- org.hl7.fhir.r5
-
-
- xpp3
- xpp3
-
-
- xpp3
- xpp3_min
-
-
- xmlpull
- xmlpull
-
-
-
-
- org.opencds.cqf.cql
- evaluator.spring
+ org.opencds.cqf.fhir
+ cqf-fhir-jackson
${clinical-reasoning.version}
@@ -124,40 +93,33 @@
xmlpull
xmlpull
-
-
-
- org.opencds.cqf.cql
- evaluator.plandefinition
- ${clinical-reasoning.version}
-
-
- xpp3
- xpp3_min
-
xmlpull
xmlpull
-
-
- org.opencds.cqf.cql
- evaluator.jackson-deps
- ${clinical-reasoning.version}
pom
+
+
+ org.opencds.cqf.fhir
+ cqf-fhir-cql
+ ${clinical-reasoning.version}
-
- xpp3
- xpp3_min
-
+
+ xpp3
+ xpp3_min
+
+
+ xmlpull
+ xmlpull
+
xmlpull
xmlpull
+ pom
-
org.ogce
xpp3
diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/BundleIterable.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/BundleIterable.java
deleted file mode 100644
index 0716e87f71d..00000000000
--- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/BundleIterable.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*-
- * #%L
- * HAPI FHIR - Clinical Reasoning
- * %%
- * Copyright (C) 2014 - 2023 Smile CDR, Inc.
- * %%
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * #L%
- */
-package ca.uhn.fhir.cr.common;
-
-import ca.uhn.fhir.rest.api.server.IBundleProvider;
-import ca.uhn.fhir.rest.api.server.RequestDetails;
-import org.hl7.fhir.instance.model.api.IBaseResource;
-
-import java.util.Iterator;
-import java.util.List;
-import javax.annotation.concurrent.NotThreadSafe;
-
-/**
- * This class leverages IBundleProvider Iterable to provide an iterator for processing bundle search results into manageable paginated chunks. This helped to avoid loading large result sets into lists
- **/
-@NotThreadSafe
-public class BundleIterable implements Iterable {
-
- private final IBundleProvider sourceBundleProvider;
- private final RequestDetails requestDetails;
-
- public BundleIterable(RequestDetails requestDetails, IBundleProvider bundleProvider) {
- this.sourceBundleProvider = bundleProvider;
- this.requestDetails = requestDetails;
- }
-
- @Override
- public Iterator iterator() {
- return new BundleIterator(this.requestDetails, this.sourceBundleProvider);
- }
-
- static class BundleIterator implements Iterator {
-
- private IBundleProvider bundleProvider;
-
- private int offset = 0;
- private int increment = 50;
- private List currentResourceList;
-
- private final RequestDetails requestDetails;
-
- private int currentResourceListIndex = 0;
-
- public BundleIterator(RequestDetails requestDetails, IBundleProvider bundleProvider) {
- this.bundleProvider = bundleProvider;
- this.requestDetails = requestDetails;
- initChunk();
- }
-
- private void initChunk() {
- this.currentResourceList = this.bundleProvider.getResources(offset, increment + offset);
- // next offset created
- offset += increment;
- // restart counter on new chunk
- currentResourceListIndex = 0;
- }
-
- private void loadNextChunk() {
- initChunk();
- }
-
- @Override
- public boolean hasNext() {
- // We still have things in the current chunk to return
- if (this.currentResourceListIndex < this.currentResourceList.size()) {
- return true;
- } else if (this.currentResourceList.size() == 0) {
- // no more resources!
- return false;
- }
-
- // We need our next chunk
- this.loadNextChunk();
- return this.hasNext();
- }
-
- @Override
- public IBaseResource next() {
- assert this.currentResourceListIndex < this.currentResourceList.size();
-
- var result = this.currentResourceList.get(this.currentResourceListIndex);
- this.currentResourceListIndex++;
- return result;
- }
- }
-}
diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CodeCacheResourceChangeListener.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CodeCacheResourceChangeListener.java
index 2ddc2d36457..8055ea1b1b4 100644
--- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CodeCacheResourceChangeListener.java
+++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CodeCacheResourceChangeListener.java
@@ -25,11 +25,11 @@ import ca.uhn.fhir.jpa.cache.IResourceChangeEvent;
import ca.uhn.fhir.jpa.cache.IResourceChangeListener;
import ca.uhn.fhir.rest.server.exceptions.ResourceGoneException;
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
-import org.cqframework.cql.elm.execution.VersionedIdentifier;
+import org.hl7.elm.r1.VersionedIdentifier;
import org.hl7.fhir.instance.model.api.IBaseResource;
import org.hl7.fhir.instance.model.api.IIdType;
import org.opencds.cqf.cql.engine.runtime.Code;
-import org.opencds.cqf.cql.evaluator.fhir.util.Reflections;
+import org.opencds.cqf.fhir.utility.Reflections;
import java.util.Collection;
import java.util.List;
diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CqlExceptionHandlingInterceptor.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CqlExceptionHandlingInterceptor.java
deleted file mode 100644
index fae68b2bdb6..00000000000
--- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CqlExceptionHandlingInterceptor.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*-
- * #%L
- * HAPI FHIR - Clinical Reasoning
- * %%
- * Copyright (C) 2014 - 2023 Smile CDR, Inc.
- * %%
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * #L%
- */
-package ca.uhn.fhir.cr.common;
-
-import ca.uhn.fhir.interceptor.api.Hook;
-import ca.uhn.fhir.interceptor.api.Interceptor;
-import ca.uhn.fhir.interceptor.api.Pointcut;
-import ca.uhn.fhir.rest.api.server.RequestDetails;
-import ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException;
-import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
-import org.opencds.cqf.cql.engine.exception.CqlException;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * This class represents clinical reasoning interceptor used for cql exception handling and logging
- **/
-@Interceptor
-public class CqlExceptionHandlingInterceptor {
-
- @Hook(Pointcut.SERVER_HANDLE_EXCEPTION)
- public boolean handleException(
- RequestDetails theRequestDetails,
- BaseServerResponseException theException,
- HttpServletRequest theServletRequest,
- HttpServletResponse theServletResponse)
- throws IOException {
-
- CqlException cqlException = getCqlException(theException);
- if (cqlException == null) {
- return true;
- }
-
- IBaseOperationOutcome operationOutcome = theException.getOperationOutcome();
- if (operationOutcome != null) {
- String cqlMessage = this.getCqlMessage(cqlException);
- switch (operationOutcome.getStructureFhirVersionEnum()) {
- case DSTU3:
- updateOutcome((org.hl7.fhir.dstu3.model.OperationOutcome) operationOutcome, cqlMessage);
- break;
- case R4:
- updateOutcome((org.hl7.fhir.r4.model.OperationOutcome) operationOutcome, cqlMessage);
- break;
- case R5:
- updateOutcome((org.hl7.fhir.r5.model.OperationOutcome) operationOutcome, cqlMessage);
- break;
- default:
- break;
- }
- }
-
- return true;
- }
-
- private void updateOutcome(org.hl7.fhir.dstu3.model.OperationOutcome theOperationOutcome, String theCqlCause) {
- theOperationOutcome.getIssueFirstRep().setDiagnostics(theCqlCause);
- }
-
- private void updateOutcome(org.hl7.fhir.r4.model.OperationOutcome theOperationOutcome, String theCqlCause) {
- theOperationOutcome.getIssueFirstRep().setDiagnostics(theCqlCause);
- }
-
- private void updateOutcome(org.hl7.fhir.r5.model.OperationOutcome theOperationOutcome, String theCqlCause) {
- theOperationOutcome.getIssueFirstRep().setDiagnostics(theCqlCause);
- }
-
- private String getCqlMessage(CqlException theCqlException) {
- String message = theCqlException.getMessage();
-
- if (theCqlException.getSourceLocator() != null) {
- message += "\nat CQL source location: "
- + theCqlException.getSourceLocator().toString();
- }
-
- if (theCqlException.getCause() != null) {
- message += "\ncaused by: " + theCqlException.getCause().getMessage();
- }
-
- return message;
- }
-
- private CqlException getCqlException(BaseServerResponseException theException) {
- if (theException.getCause() instanceof CqlException) {
- return (CqlException) theException.getCause();
- } else if (theException.getCause() instanceof InvocationTargetException) {
- InvocationTargetException ite = (InvocationTargetException) theException.getCause();
- if (ite.getCause() instanceof CqlException) {
- return (CqlException) ite.getCause();
- }
-
- if (ite.getTargetException() instanceof CqlException) {
- return (CqlException) ite.getTargetException();
- }
- }
-
- return null;
- }
-}
diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CqlForkJoinWorkerThreadFactory.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CqlForkJoinWorkerThreadFactory.java
deleted file mode 100644
index 230fc762fff..00000000000
--- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/CqlForkJoinWorkerThreadFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-
- * #%L
- * HAPI FHIR - Clinical Reasoning
- * %%
- * Copyright (C) 2014 - 2023 Smile CDR, Inc.
- * %%
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * #L%
- */
-package ca.uhn.fhir.cr.common;
-
-import java.util.concurrent.ForkJoinPool;
-import java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory;
-import java.util.concurrent.ForkJoinWorkerThread;
-
-/**
- * This class resolves issues with loading JAXB in a server environment and using CompletableFutures
- * https://stackoverflow.com/questions/49113207/completablefuture-forkjoinpool-set-class-loader
- **/
-public class CqlForkJoinWorkerThreadFactory implements ForkJoinWorkerThreadFactory {
-
- @Override
- public final ForkJoinWorkerThread newThread(ForkJoinPool thePool) {
- return new CqlForkJoinWorkerThread(thePool);
- }
-
- private static class CqlForkJoinWorkerThread extends ForkJoinWorkerThread {
-
- private CqlForkJoinWorkerThread(final ForkJoinPool thePool) {
- super(thePool);
- // set the correct classloader here
- setContextClassLoader(Thread.currentThread().getContextClassLoader());
- }
- }
-}
diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/ElmCacheResourceChangeListener.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/ElmCacheResourceChangeListener.java
index e23e3b00b3b..9f529f6ec87 100644
--- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/ElmCacheResourceChangeListener.java
+++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/ElmCacheResourceChangeListener.java
@@ -25,11 +25,11 @@ import ca.uhn.fhir.jpa.cache.IResourceChangeEvent;
import ca.uhn.fhir.jpa.cache.IResourceChangeListener;
import ca.uhn.fhir.rest.server.exceptions.ResourceGoneException;
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
-import org.cqframework.cql.elm.execution.Library;
-import org.cqframework.cql.elm.execution.VersionedIdentifier;
+import org.cqframework.cql.cql2elm.model.CompiledLibrary;
+import org.hl7.elm.r1.VersionedIdentifier;
import org.hl7.fhir.instance.model.api.IBaseResource;
import org.hl7.fhir.instance.model.api.IIdType;
-import org.opencds.cqf.cql.evaluator.fhir.util.Reflections;
+import org.opencds.cqf.fhir.utility.Reflections;
import java.util.Collection;
import java.util.List;
@@ -45,12 +45,12 @@ public class ElmCacheResourceChangeListener implements IResourceChangeListener {
org.slf4j.LoggerFactory.getLogger(ElmCacheResourceChangeListener.class);
private final IFhirResourceDao> myLibraryDao;
- private final Map myGlobalLibraryCache;
+ private final Map myGlobalLibraryCache;
private final Function myNameFunction;
private final Function myVersionFunction;
public ElmCacheResourceChangeListener(
- DaoRegistry theDaoRegistry, Map theGlobalLibraryCache) {
+ DaoRegistry theDaoRegistry, Map theGlobalLibraryCache) {
this.myLibraryDao = theDaoRegistry.getResourceDao("Library");
this.myGlobalLibraryCache = theGlobalLibraryCache;
this.myNameFunction = Reflections.getNameFunction(myLibraryDao.getResourceType());
diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/HapiFhirDal.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/HapiFhirDal.java
deleted file mode 100644
index c5ef4652067..00000000000
--- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/HapiFhirDal.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*-
- * #%L
- * HAPI FHIR - Clinical Reasoning
- * %%
- * Copyright (C) 2014 - 2023 Smile CDR, Inc.
- * %%
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * #L%
- */
-package ca.uhn.fhir.cr.common;
-
-import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
-import ca.uhn.fhir.jpa.searchparam.SearchParameterMap;
-import ca.uhn.fhir.rest.api.server.IBundleProvider;
-import ca.uhn.fhir.rest.api.server.RequestDetails;
-import ca.uhn.fhir.rest.api.server.SystemRequestDetails;
-import ca.uhn.fhir.rest.param.TokenParam;
-import ca.uhn.fhir.rest.param.UriParam;
-import org.hl7.fhir.instance.model.api.IBaseResource;
-import org.hl7.fhir.instance.model.api.IIdType;
-import org.opencds.cqf.cql.evaluator.fhir.dal.FhirDal;
-
-@SuppressWarnings("unchecked")
-/**
- * This class leverages DaoRegistry from Hapi-fhir to implement CRUD FHIR API operations constrained to provide only the operations necessary for the cql-evaluator modules to function.
- **/
-public class HapiFhirDal implements FhirDal {
-
- protected final DaoRegistry myDaoRegistry;
- protected final RequestDetails myRequestDetails;
-
- public HapiFhirDal(DaoRegistry theDaoRegistry) {
- this(theDaoRegistry, null);
- }
-
- public HapiFhirDal(DaoRegistry theDaoRegistry, RequestDetails theRequestDetails) {
- this.myDaoRegistry = theDaoRegistry;
- this.myRequestDetails = theRequestDetails;
- }
-
- @Override
- public void create(IBaseResource theResource) {
- this.myDaoRegistry.getResourceDao(theResource.fhirType()).create(theResource, myRequestDetails);
- }
-
- @Override
- public IBaseResource read(IIdType theId) {
- return this.myDaoRegistry.getResourceDao(theId.getResourceType()).read(theId, myRequestDetails);
- }
-
- @Override
- public void update(IBaseResource theResource) {
- this.myDaoRegistry.getResourceDao(theResource.fhirType()).update(theResource, myRequestDetails);
- }
-
- @Override
- public void delete(IIdType theId) {
- this.myDaoRegistry.getResourceDao(theId.getResourceType()).delete(theId, myRequestDetails);
- }
-
- // TODO: the search interfaces need some work
- @Override
- public Iterable search(String theResourceType) {
- var b = this.myDaoRegistry.getResourceDao(theResourceType).search(new SearchParameterMap(), myRequestDetails);
- return new BundleIterable(myRequestDetails, b);
- }
-
- @Override
- public Iterable searchByUrl(String theResourceType, String theUrl) {
- // version example "http://content.smilecdr.com/fhir/dqm/Library/ImmunizationStatusRoutine|2.0.1"
- if (theUrl.contains("|")) {
- String[] urlSplit = theUrl.split("\\|");
- String urlBase = urlSplit[0];
- String urlVersion = urlSplit[1];
-
- IBundleProvider versionResource = this.myDaoRegistry
- .getResourceDao(theResourceType)
- .search(
- SearchParameterMap.newSynchronous()
- .add("url", new UriParam(urlBase))
- .add("version", new TokenParam(urlVersion)),
- new SystemRequestDetails());
- return new BundleIterable(myRequestDetails, versionResource);
- } else {
- // standard example "http://content.smilecdr.com/fhir/dqm/Library/ImmunizationStatusRoutine"
- IBundleProvider standardResource = this.myDaoRegistry
- .getResourceDao(theResourceType)
- .search(
- SearchParameterMap.newSynchronous().add("url", new UriParam(theUrl)),
- new SystemRequestDetails());
- return new BundleIterable(myRequestDetails, standardResource);
- }
- }
-}
diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/HapiFhirRetrieveProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/HapiFhirRetrieveProvider.java
deleted file mode 100644
index 5b3d734a32a..00000000000
--- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/common/HapiFhirRetrieveProvider.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*-
- * #%L
- * HAPI FHIR - Clinical Reasoning
- * %%
- * Copyright (C) 2014 - 2023 Smile CDR, Inc.
- * %%
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * #L%
- */
-package ca.uhn.fhir.cr.common;
-
-import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
-import ca.uhn.fhir.model.api.IQueryParameterType;
-import ca.uhn.fhir.rest.api.server.RequestDetails;
-import ca.uhn.fhir.rest.api.server.SystemRequestDetails;
-import org.hl7.fhir.instance.model.api.IBaseResource;
-import org.opencds.cqf.cql.engine.fhir.retrieve.SearchParamFhirRetrieveProvider;
-import org.opencds.cqf.cql.engine.fhir.searchparam.SearchParameterMap;
-import org.opencds.cqf.cql.engine.fhir.searchparam.SearchParameterResolver;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.function.BiFunction;
-
-/**
- * This class provides an implementation of the cql-engine's RetrieveProvider
- * interface which is used for loading
- * data during CQL evaluation.
- */
-public class HapiFhirRetrieveProvider extends SearchParamFhirRetrieveProvider implements IDaoRegistryUser {
-
- private static final Logger logger = LoggerFactory.getLogger(HapiFhirRetrieveProvider.class);
-
- private final DaoRegistry myDaoRegistry;
- private final RequestDetails myRequestDetails;
-
- public HapiFhirRetrieveProvider(DaoRegistry theDaoRegistry, SearchParameterResolver theSearchParameterResolver) {
- this(theDaoRegistry, theSearchParameterResolver, new SystemRequestDetails());
- }
-
- public HapiFhirRetrieveProvider(
- DaoRegistry registry, SearchParameterResolver searchParameterResolver, RequestDetails requestDetails) {
- super(searchParameterResolver);
- this.myDaoRegistry = registry;
- this.myRequestDetails = requestDetails;
- }
-
- /**
- * The queryIterable class provides an Iterable to cycle through a series of search queries and results of those queries, implementation of this avoided loading all resources into a list.
- */
- static class QueryIterable implements Iterable