diff --git a/pom.xml b/pom.xml
index 356ab2c..e7c4f12 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
17
1
- 3.21.0
+ 3.22.0
diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java
index 80c7b21..9c9aeaa 100644
--- a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java
+++ b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java
@@ -1,6 +1,7 @@
package ca.uhn.fhir.jpa.starter;
import ca.uhn.fhir.context.FhirVersionEnum;
+import ca.uhn.fhir.jpa.api.config.JpaStorageSettings;
import ca.uhn.fhir.jpa.api.config.JpaStorageSettings.ClientIdStrategyEnum;
import ca.uhn.fhir.jpa.api.config.JpaStorageSettings.IdStrategyEnum;
import ca.uhn.fhir.jpa.model.entity.NormalizedQuantitySearchLevel;
@@ -36,6 +37,7 @@ public class AppProperties {
private Boolean mdm_enabled = false;
private String mdm_rules_json_location = "mdm-rules.json";
private boolean advanced_lucene_indexing = false;
+ private boolean search_index_full_text_enabled = false;
private boolean enable_index_of_type = false;
private Boolean allow_cascading_deletes = false;
private Boolean allow_contains_searches = true;
@@ -108,6 +110,8 @@ public class AppProperties {
private Integer pre_expand_value_sets_default_count = 1000;
private Integer pre_expand_value_sets_max_count = 1000;
private Integer maximum_expansion_size = 1000;
+ private JpaStorageSettings.StoreMetaSourceInformationEnum store_meta_source_information =
+ JpaStorageSettings.StoreMetaSourceInformationEnum.NONE;
private Map remote_terminology_service = null;
private Boolean match_url_cache_enabled = false;
@@ -289,6 +293,14 @@ public class AppProperties {
advanced_lucene_indexing = theAdvanced_lucene_indexing;
}
+ public boolean getSearch_index_full_text_enabled() {
+ return this.search_index_full_text_enabled;
+ }
+
+ public void setSearch_index_full_text_enabled(boolean theSearch_index_full_text_enabled) {
+ search_index_full_text_enabled = theSearch_index_full_text_enabled;
+ }
+
public Boolean getAllow_cascading_deletes() {
return allow_cascading_deletes;
}
@@ -760,6 +772,15 @@ public class AppProperties {
public void setIndex_storage_optimized(boolean theIndex_storage_optimized) {
index_storage_optimized = theIndex_storage_optimized;
+ }
+
+ public JpaStorageSettings.StoreMetaSourceInformationEnum getStore_meta_source_information() {
+ return store_meta_source_information;
+ }
+
+ public void setStore_meta_source_information(
+ JpaStorageSettings.StoreMetaSourceInformationEnum store_meta_source_information) {
+ this.store_meta_source_information = store_meta_source_information;
}
public static class Cors {
diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCdsCrService.java b/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCdsCrService.java
index 414993c..4319fa8 100644
--- a/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCdsCrService.java
+++ b/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCdsCrService.java
@@ -1,12 +1,11 @@
package ca.uhn.fhir.jpa.starter.cdshooks;
import ca.uhn.fhir.context.FhirVersionEnum;
+import ca.uhn.fhir.repository.IRepository;
import ca.uhn.fhir.rest.api.server.RequestDetails;
import ca.uhn.fhir.rest.api.server.cdshooks.CdsServiceRequestJson;
-import ca.uhn.hapi.fhir.cdshooks.api.ICdsConfigService;
import org.hl7.fhir.instance.model.api.IBaseParameters;
import org.hl7.fhir.instance.model.api.IPrimitiveType;
-import org.opencds.cqf.fhir.api.Repository;
import org.opencds.cqf.fhir.cr.hapi.cdshooks.CdsCrService;
import org.opencds.cqf.fhir.utility.adapter.IAdapterFactory;
@@ -15,9 +14,8 @@ import static org.opencds.cqf.fhir.utility.Constants.APPLY_PARAMETER_DATA;
public class UpdatedCdsCrService extends CdsCrService {
private final IAdapterFactory adapterFactory;
- public UpdatedCdsCrService(
- RequestDetails theRequestDetails, Repository theRepository, ICdsConfigService theCdsConfigService) {
- super(theRequestDetails, theRepository, theCdsConfigService);
+ public UpdatedCdsCrService(RequestDetails theRequestDetails, IRepository theRepository) {
+ super(theRequestDetails, theRepository);
adapterFactory = IAdapterFactory.forFhirContext(theRepository.fhirContext());
}
diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCrDiscoveryService.java b/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCrDiscoveryService.java
index f01873e..2bc82f0 100644
--- a/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCrDiscoveryService.java
+++ b/src/main/java/ca/uhn/fhir/jpa/starter/cdshooks/UpdatedCrDiscoveryService.java
@@ -1,11 +1,11 @@
package ca.uhn.fhir.jpa.starter.cdshooks;
+import ca.uhn.fhir.repository.IRepository;
import org.hl7.fhir.instance.model.api.IIdType;
-import org.opencds.cqf.fhir.api.Repository;
import org.opencds.cqf.fhir.cr.hapi.cdshooks.discovery.CrDiscoveryService;
public class UpdatedCrDiscoveryService extends CrDiscoveryService {
- public UpdatedCrDiscoveryService(IIdType thePlanDefinitionId, Repository theRepository) {
+ public UpdatedCrDiscoveryService(IIdType thePlanDefinitionId, IRepository theRepository) {
super(thePlanDefinitionId, theRepository);
maxUriLength = 6000;
}
diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java b/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java
index 4b79117..468f1f5 100644
--- a/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java
+++ b/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java
@@ -206,6 +206,7 @@ public class FhirServerConfigCommon {
jpaStorageSettings.setFilterParameterEnabled(appProperties.getFilter_search_enabled());
jpaStorageSettings.setHibernateSearchIndexSearchParams(appProperties.getAdvanced_lucene_indexing());
+ jpaStorageSettings.setHibernateSearchIndexFullText(appProperties.getSearch_index_full_text_enabled());
jpaStorageSettings.setTreatBaseUrlsAsLocal(new HashSet<>(appProperties.getLocal_base_urls()));
jpaStorageSettings.setTreatReferencesAsLogical(new HashSet<>(appProperties.getLogical_urls()));
@@ -258,6 +259,10 @@ public class FhirServerConfigCommon {
jpaStorageSettings.setBundleBatchPoolSize(appProperties.getBundle_batch_pool_size());
jpaStorageSettings.setBundleBatchPoolSize(appProperties.getBundle_batch_pool_max_size());
+ // Set store meta source information
+ ourLog.debug("Server configured to Store Meta Source: {}", appProperties.getStore_meta_source_information());
+ jpaStorageSettings.setStoreMetaSourceInformation(appProperties.getStore_meta_source_information());
+
storageSettings(appProperties, jpaStorageSettings);
return jpaStorageSettings;
}
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
index 240ed29..cff71e2 100644
--- a/src/main/resources/application.yaml
+++ b/src/main/resources/application.yaml
@@ -204,6 +204,7 @@ hapi:
### !!Extended Lucene/Elasticsearch Indexing is still a experimental feature, expect some features (e.g. _total=accurate) to not work as expected!!
### more information here: https://hapifhir.io/hapi-fhir/docs/server_jpa/elastic.html
advanced_lucene_indexing: false
+ search_index_full_text_enabled: false
bulk_export_enabled: false
bulk_import_enabled: false
# language_search_parameter_enabled: true
@@ -294,7 +295,8 @@ hapi:
# classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages',
# or will be instantiated via reflection using an no-arg contructor; then registered with the server
#custom-provider-classes:
-
+ # specify what should be stored in meta.source based on StoreMetaSourceInformationEnum defaults to NONE
+ # store_meta_source_information: NONE
# Threadpool size for BATCH'ed GETs in a bundle.
# bundle_batch_pool_size: 10
# bundle_batch_pool_max_size: 50
diff --git a/src/main/resources/cds.application.yaml b/src/main/resources/cds.application.yaml
index 8a734ae..2d98309 100644
--- a/src/main/resources/cds.application.yaml
+++ b/src/main/resources/cds.application.yaml
@@ -196,6 +196,7 @@ hapi:
### !!Extended Lucene/Elasticsearch Indexing is still a experimental feature, expect some features (e.g. _total=accurate) to not work as expected!!
### more information here: https://hapifhir.io/hapi-fhir/docs/server_jpa/elastic.html
advanced_lucene_indexing: false
+ search_index_full_text_enabled: false
bulk_export_enabled: false
bulk_import_enabled: false
# language_search_parameter_enabled: true
diff --git a/src/test/java/ca/uhn/fhir/jpa/starter/ElasticsearchLastNR4IT.java b/src/test/java/ca/uhn/fhir/jpa/starter/ElasticsearchLastNR4IT.java
index b827946..26f6b9d 100644
--- a/src/test/java/ca/uhn/fhir/jpa/starter/ElasticsearchLastNR4IT.java
+++ b/src/test/java/ca/uhn/fhir/jpa/starter/ElasticsearchLastNR4IT.java
@@ -52,6 +52,7 @@ import org.testcontainers.junit.jupiter.Testcontainers;
"hapi.fhir.lastn_enabled=true",
"hapi.fhir.store_resource_in_lucene_index_enabled=true",
"hapi.fhir.advanced_lucene_indexing=true",
+ "hapi.fhir.search_index_full_text_enabled=true",
"elasticsearch.enabled=true",
"hapi.fhir.cr_enabled=false",
diff --git a/src/test/resources/application.yaml b/src/test/resources/application.yaml
index f57c1e2..cf70d28 100644
--- a/src/test/resources/application.yaml
+++ b/src/test/resources/application.yaml
@@ -129,6 +129,7 @@ hapi:
### !!Extended Lucene/Elasticsearch Indexing is still a experimental feature, expect some features (e.g. _total=accurate) to not work as expected!!
### more information here: https://hapifhir.io/hapi-fhir/docs/server_jpa/elastic.html
advanced_lucene_indexing: false
+ search_index_full_text_enabled: false
# enforce_referential_integrity_on_delete: false
# This is an experimental feature, and does not fully support _total and other FHIR features.
# enforce_referential_integrity_on_delete: false