Update to 6.9.8
This commit is contained in:
8
pom.xml
8
pom.xml
@@ -14,7 +14,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>6.9.7-SNAPSHOT</version>
|
||||
<version>6.9.8-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>hapi-fhir-jpaserver-starter</artifactId>
|
||||
@@ -132,6 +132,12 @@
|
||||
<artifactId>hapi-fhir-jpaserver-mdm</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</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 -->
|
||||
<dependency>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package ca.uhn.fhir.jpa.starter;
|
||||
|
||||
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.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.cr.StarterCrDstu3Config;
|
||||
import ca.uhn.fhir.jpa.starter.cr.StarterCrR4Config;
|
||||
@@ -33,6 +37,7 @@ import org.springframework.web.servlet.DispatcherServlet;
|
||||
@Import({
|
||||
StarterCrR4Config.class,
|
||||
StarterCrDstu3Config.class,
|
||||
StarterCdsHooksConfig.class,
|
||||
SubscriptionSubmitterConfig.class,
|
||||
SubscriptionProcessorConfig.class,
|
||||
SubscriptionChannelConfig.class,
|
||||
@@ -90,4 +95,9 @@ public class Application extends SpringBootServletInitializer {
|
||||
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;
|
||||
|
||||
|
||||
import ca.uhn.fhir.cr.config.r4.ApplyOperationConfig;
|
||||
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.cr.repo.HapiFhirRepository;
|
||||
import ca.uhn.fhir.jpa.starter.annotations.OnR4Condition;
|
||||
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||
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.IRepositoryFactory;
|
||||
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
||||
import ca.uhn.fhir.jpa.starter.AppProperties;
|
||||
import org.cqframework.cql.cql2elm.CqlCompilerOptions;
|
||||
import org.cqframework.cql.cql2elm.model.CompiledLibrary;
|
||||
@@ -38,11 +33,7 @@ import java.util.concurrent.Executors;
|
||||
|
||||
@Configuration
|
||||
@Conditional({ OnR4Condition.class, CrConfigCondition.class })
|
||||
@Import({ CrR4Config.class,
|
||||
ApplyOperationConfig.class,
|
||||
ExtractOperationConfig.class,
|
||||
PackageOperationConfig.class,
|
||||
PopulateOperationConfig.class})
|
||||
@Import(CrR4Config.class)
|
||||
public class StarterCrR4Config {
|
||||
private static final Logger ourLogger = LoggerFactory.getLogger(StarterCrR4Config.class);
|
||||
|
||||
@@ -57,6 +48,7 @@ public class StarterCrR4Config {
|
||||
|
||||
return executor;
|
||||
}
|
||||
|
||||
@Bean
|
||||
CareGapsProperties careGapsProperties(AppProperties theAppProperties) {
|
||||
var careGapsProperties = new CareGapsProperties();
|
||||
@@ -75,6 +67,7 @@ public class StarterCrR4Config {
|
||||
}
|
||||
return measureEvalOptions;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public EvaluationSettings evaluationSettings(
|
||||
AppProperties theAppProperties,
|
||||
|
||||
Reference in New Issue
Block a user