Update to 6.9.8
This commit is contained in:
8
pom.xml
8
pom.xml
@@ -14,7 +14,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>6.9.7-SNAPSHOT</version>
|
<version>6.9.8-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>hapi-fhir-jpaserver-starter</artifactId>
|
<artifactId>hapi-fhir-jpaserver-starter</artifactId>
|
||||||
@@ -132,6 +132,12 @@
|
|||||||
<artifactId>hapi-fhir-jpaserver-mdm</artifactId>
|
<artifactId>hapi-fhir-jpaserver-mdm</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- This dependency includes the CDS Hooks Server -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
<artifactId>hapi-fhir-server-cds-hooks</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
<!-- This dependency includes the OpenAPI Server -->
|
<!-- This dependency includes the OpenAPI Server -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
package ca.uhn.fhir.jpa.starter;
|
package ca.uhn.fhir.jpa.starter;
|
||||||
|
|
||||||
import ca.uhn.fhir.batch2.jobs.config.Batch2JobsConfig;
|
import ca.uhn.fhir.batch2.jobs.config.Batch2JobsConfig;
|
||||||
|
import ca.uhn.fhir.cr.common.IRepositoryFactory;
|
||||||
|
import ca.uhn.fhir.cr.repo.HapiFhirRepository;
|
||||||
|
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
||||||
import ca.uhn.fhir.jpa.batch2.JpaBatch2Config;
|
import ca.uhn.fhir.jpa.batch2.JpaBatch2Config;
|
||||||
import ca.uhn.fhir.jpa.starter.annotations.OnEitherVersion;
|
import ca.uhn.fhir.jpa.starter.annotations.OnEitherVersion;
|
||||||
|
import ca.uhn.fhir.jpa.starter.cdshooks.StarterCdsHooksConfig;
|
||||||
import ca.uhn.fhir.jpa.starter.common.FhirTesterConfig;
|
import ca.uhn.fhir.jpa.starter.common.FhirTesterConfig;
|
||||||
import ca.uhn.fhir.jpa.starter.cr.StarterCrDstu3Config;
|
import ca.uhn.fhir.jpa.starter.cr.StarterCrDstu3Config;
|
||||||
import ca.uhn.fhir.jpa.starter.cr.StarterCrR4Config;
|
import ca.uhn.fhir.jpa.starter.cr.StarterCrR4Config;
|
||||||
@@ -33,6 +37,7 @@ import org.springframework.web.servlet.DispatcherServlet;
|
|||||||
@Import({
|
@Import({
|
||||||
StarterCrR4Config.class,
|
StarterCrR4Config.class,
|
||||||
StarterCrDstu3Config.class,
|
StarterCrDstu3Config.class,
|
||||||
|
StarterCdsHooksConfig.class,
|
||||||
SubscriptionSubmitterConfig.class,
|
SubscriptionSubmitterConfig.class,
|
||||||
SubscriptionProcessorConfig.class,
|
SubscriptionProcessorConfig.class,
|
||||||
SubscriptionChannelConfig.class,
|
SubscriptionChannelConfig.class,
|
||||||
@@ -90,4 +95,9 @@ public class Application extends SpringBootServletInitializer {
|
|||||||
return registrationBean;
|
return registrationBean;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
IRepositoryFactory repositoryFactory(DaoRegistry theDaoRegistry, RestfulServer theRestfulServer) {
|
||||||
|
return rd -> new HapiFhirRepository(theDaoRegistry, rd, theRestfulServer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
182
src/main/java/ca/uhn/fhir/jpa/starter/cr/CrR4Config.java
Normal file
182
src/main/java/ca/uhn/fhir/jpa/starter/cr/CrR4Config.java
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
package ca.uhn.fhir.jpa.starter.cr;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
|
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||||
|
import ca.uhn.fhir.cr.common.IRepositoryFactory;
|
||||||
|
import ca.uhn.fhir.cr.config.ProviderLoader;
|
||||||
|
import ca.uhn.fhir.cr.config.ProviderSelector;
|
||||||
|
import ca.uhn.fhir.cr.r4.IActivityDefinitionProcessorFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.ICareGapsServiceFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.ICqlExecutionServiceFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.IMeasureServiceFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.IPlanDefinitionProcessorFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.IQuestionnaireProcessorFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.IQuestionnaireResponseProcessorFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.ISubmitDataProcessorFactory;
|
||||||
|
import ca.uhn.fhir.cr.r4.activitydefinition.ActivityDefinitionApplyProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.cqlexecution.CqlExecutionOperationProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.measure.CareGapsOperationProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.measure.MeasureOperationsProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.measure.MeasureService;
|
||||||
|
import ca.uhn.fhir.cr.r4.measure.SubmitDataProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.plandefinition.PlanDefinitionApplyProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.plandefinition.PlanDefinitionPackageProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.questionnaire.QuestionnairePackageProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.questionnaire.QuestionnairePopulateProvider;
|
||||||
|
import ca.uhn.fhir.cr.r4.questionnaireresponse.QuestionnaireResponseExtractProvider;
|
||||||
|
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||||
|
import org.opencds.cqf.fhir.cql.EvaluationSettings;
|
||||||
|
import org.opencds.cqf.fhir.cr.activitydefinition.r4.ActivityDefinitionProcessor;
|
||||||
|
import org.opencds.cqf.fhir.cr.cql.r4.R4CqlExecutionService;
|
||||||
|
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;
|
||||||
|
import org.opencds.cqf.fhir.cr.measure.r4.R4SubmitDataService;
|
||||||
|
import org.opencds.cqf.fhir.cr.plandefinition.r4.PlanDefinitionProcessor;
|
||||||
|
import org.opencds.cqf.fhir.cr.questionnaire.r4.QuestionnaireProcessor;
|
||||||
|
import org.opencds.cqf.fhir.cr.questionnaireresponse.r4.QuestionnaireResponseProcessor;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class CrR4Config {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
IMeasureServiceFactory r4MeasureServiceFactory(
|
||||||
|
IRepositoryFactory theRepositoryFactory, MeasureEvaluationOptions theEvaluationOptions) {
|
||||||
|
return rd -> new MeasureService(theRepositoryFactory.create(rd), theEvaluationOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
ISubmitDataProcessorFactory r4SubmitDataProcessorFactory(IRepositoryFactory theRepositoryFactory) {
|
||||||
|
return rd -> new R4SubmitDataService(theRepositoryFactory.create(rd));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
ICqlExecutionServiceFactory r4CqlExecutionServiceFactory(
|
||||||
|
IRepositoryFactory theRepositoryFactory, EvaluationSettings theEvaluationSettings) {
|
||||||
|
return rd -> new R4CqlExecutionService(theRepositoryFactory.create(rd), theEvaluationSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
CqlExecutionOperationProvider r4CqlExecutionOperationProvider() {
|
||||||
|
return new CqlExecutionOperationProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
ICareGapsServiceFactory careGapsServiceFactory(
|
||||||
|
IRepositoryFactory theRepositoryFactory,
|
||||||
|
CareGapsProperties theCareGapsProperties,
|
||||||
|
MeasureEvaluationOptions theMeasureEvaluationOptions,
|
||||||
|
@Qualifier("cqlExecutor") Executor theExecutor) {
|
||||||
|
return rd -> new R4CareGapsService(
|
||||||
|
theCareGapsProperties,
|
||||||
|
theRepositoryFactory.create(rd),
|
||||||
|
theMeasureEvaluationOptions,
|
||||||
|
theExecutor,
|
||||||
|
rd.getFhirServerBase());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
CareGapsOperationProvider r4CareGapsOperationProvider() {
|
||||||
|
return new CareGapsOperationProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
SubmitDataProvider r4SubmitDataProvider() {
|
||||||
|
return new SubmitDataProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
MeasureOperationsProvider r4MeasureOperationsProvider() {
|
||||||
|
return new MeasureOperationsProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
IActivityDefinitionProcessorFactory r4ActivityDefinitionProcessorFactory(
|
||||||
|
IRepositoryFactory theRepositoryFactory, EvaluationSettings theEvaluationSettings) {
|
||||||
|
return rd -> new ActivityDefinitionProcessor(
|
||||||
|
theRepositoryFactory.create(rd), theEvaluationSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
IPlanDefinitionProcessorFactory r4PlanDefinitionProcessorFactory(
|
||||||
|
IRepositoryFactory theRepositoryFactory, EvaluationSettings theEvaluationSettings) {
|
||||||
|
return rd -> new PlanDefinitionProcessor(
|
||||||
|
theRepositoryFactory.create(rd), theEvaluationSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
IQuestionnaireProcessorFactory r4QuestionnaireProcessorFactory(
|
||||||
|
IRepositoryFactory theRepositoryFactory, EvaluationSettings theEvaluationSettings) {
|
||||||
|
return rd -> new QuestionnaireProcessor(
|
||||||
|
theRepositoryFactory.create(rd), theEvaluationSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
IQuestionnaireResponseProcessorFactory r4QuestionnaireResponseProcessorFactory(
|
||||||
|
IRepositoryFactory theRepositoryFactory, EvaluationSettings theEvaluationSettings) {
|
||||||
|
return rd -> new QuestionnaireResponseProcessor(
|
||||||
|
theRepositoryFactory.create(rd), theEvaluationSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
ActivityDefinitionApplyProvider r4ActivityDefinitionApplyProvider() {
|
||||||
|
return new ActivityDefinitionApplyProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
PlanDefinitionApplyProvider r4PlanDefinitionApplyProvider() {
|
||||||
|
return new PlanDefinitionApplyProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
QuestionnaireResponseExtractProvider
|
||||||
|
r4QuestionnaireResponseExtractProvider() {
|
||||||
|
return new QuestionnaireResponseExtractProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
PlanDefinitionPackageProvider r4PlanDefinitionPackageProvider() {
|
||||||
|
return new PlanDefinitionPackageProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
QuestionnairePackageProvider r4QuestionnairePackageProvider() {
|
||||||
|
return new QuestionnairePackageProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
QuestionnairePopulateProvider r4QuestionnairePopulateProvider() {
|
||||||
|
return new QuestionnairePopulateProvider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ProviderLoader r4PdLoader(
|
||||||
|
ApplicationContext theApplicationContext, FhirContext theFhirContext, RestfulServer theRestfulServer) {
|
||||||
|
|
||||||
|
var selector = new ProviderSelector(
|
||||||
|
theFhirContext,
|
||||||
|
Map.of(
|
||||||
|
FhirVersionEnum.R4,
|
||||||
|
Arrays.asList(
|
||||||
|
MeasureOperationsProvider.class,
|
||||||
|
SubmitDataProvider.class,
|
||||||
|
CareGapsOperationProvider.class,
|
||||||
|
CqlExecutionOperationProvider.class,
|
||||||
|
ActivityDefinitionApplyProvider.class,
|
||||||
|
PlanDefinitionApplyProvider.class,
|
||||||
|
QuestionnaireResponseExtractProvider.class,
|
||||||
|
QuestionnairePackageProvider.class,
|
||||||
|
PlanDefinitionPackageProvider.class,
|
||||||
|
QuestionnairePopulateProvider.class)));
|
||||||
|
|
||||||
|
return new ProviderLoader(theRestfulServer, theApplicationContext, selector);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,18 +1,13 @@
|
|||||||
package ca.uhn.fhir.jpa.starter.cr;
|
package ca.uhn.fhir.jpa.starter.cr;
|
||||||
|
|
||||||
|
|
||||||
import ca.uhn.fhir.cr.config.r4.ApplyOperationConfig;
|
import ca.uhn.fhir.cr.repo.HapiFhirRepository;
|
||||||
import ca.uhn.fhir.cr.config.r4.CrR4Config;
|
|
||||||
import ca.uhn.fhir.cr.config.r4.ExtractOperationConfig;
|
|
||||||
import ca.uhn.fhir.cr.config.r4.PackageOperationConfig;
|
|
||||||
import ca.uhn.fhir.cr.config.r4.PopulateOperationConfig;
|
|
||||||
import ca.uhn.fhir.jpa.starter.annotations.OnR4Condition;
|
import ca.uhn.fhir.jpa.starter.annotations.OnR4Condition;
|
||||||
import ca.uhn.fhir.rest.server.RestfulServer;
|
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||||
import ca.uhn.fhir.rest.server.provider.ResourceProviderFactory;
|
import ca.uhn.fhir.rest.server.provider.ResourceProviderFactory;
|
||||||
import org.springframework.context.annotation.Conditional;
|
|
||||||
import org.springframework.context.annotation.Import;
|
|
||||||
|
|
||||||
import ca.uhn.fhir.cr.common.CqlThreadFactory;
|
import ca.uhn.fhir.cr.common.CqlThreadFactory;
|
||||||
|
import ca.uhn.fhir.cr.common.IRepositoryFactory;
|
||||||
|
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
||||||
import ca.uhn.fhir.jpa.starter.AppProperties;
|
import ca.uhn.fhir.jpa.starter.AppProperties;
|
||||||
import org.cqframework.cql.cql2elm.CqlCompilerOptions;
|
import org.cqframework.cql.cql2elm.CqlCompilerOptions;
|
||||||
import org.cqframework.cql.cql2elm.model.CompiledLibrary;
|
import org.cqframework.cql.cql2elm.model.CompiledLibrary;
|
||||||
@@ -38,11 +33,7 @@ import java.util.concurrent.Executors;
|
|||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@Conditional({ OnR4Condition.class, CrConfigCondition.class })
|
@Conditional({ OnR4Condition.class, CrConfigCondition.class })
|
||||||
@Import({ CrR4Config.class,
|
@Import(CrR4Config.class)
|
||||||
ApplyOperationConfig.class,
|
|
||||||
ExtractOperationConfig.class,
|
|
||||||
PackageOperationConfig.class,
|
|
||||||
PopulateOperationConfig.class})
|
|
||||||
public class StarterCrR4Config {
|
public class StarterCrR4Config {
|
||||||
private static final Logger ourLogger = LoggerFactory.getLogger(StarterCrR4Config.class);
|
private static final Logger ourLogger = LoggerFactory.getLogger(StarterCrR4Config.class);
|
||||||
|
|
||||||
@@ -57,6 +48,7 @@ public class StarterCrR4Config {
|
|||||||
|
|
||||||
return executor;
|
return executor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
CareGapsProperties careGapsProperties(AppProperties theAppProperties) {
|
CareGapsProperties careGapsProperties(AppProperties theAppProperties) {
|
||||||
var careGapsProperties = new CareGapsProperties();
|
var careGapsProperties = new CareGapsProperties();
|
||||||
@@ -75,6 +67,7 @@ public class StarterCrR4Config {
|
|||||||
}
|
}
|
||||||
return measureEvalOptions;
|
return measureEvalOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public EvaluationSettings evaluationSettings(
|
public EvaluationSettings evaluationSettings(
|
||||||
AppProperties theAppProperties,
|
AppProperties theAppProperties,
|
||||||
|
|||||||
Reference in New Issue
Block a user