Integrate with clinical-reasoning 3.15.0 (#6543)

* Integrate with clinical-reasoning master.

* Have IMeasureServiceFactory return R4MeasureEvaluatorSingle.

* Revert MeasureServiceFactory back to returning R4MeasureService.  Introduce R4MeasureEvaluatorSingleFactory to return a R4MeasureEvaluatorSingle.

* Update MeasureOperationsProvider to take an R4MeasureEvaluatorSingleFactory instead of an IMeasureServiceFactory.

* Delete obsolete unit test and copyright header.

* Add javadoc.

* Link to CR 3.15.0.

* Link to CR 3.15.0.

* Fix test failures.

* Add changelog and upgrade notes.

* Fix changelog with wrong issue number.

* Upgrade docs:  Specify reportTypes that will be accepted.

* Code review fixes.

* Bump to 7.7.14-SNAPS.
This commit is contained in:
Luke deGruchy 2024-12-19 14:31:08 -05:00 committed by GitHub
parent 6cbe11402f
commit 3594770bf6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
93 changed files with 12389 additions and 188 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-bom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<packaging>pom</packaging>
<name>HAPI FHIR BOM</name>
@ -12,7 +12,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-cli</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -0,0 +1,5 @@
---
type: add
issue: 6550
title: "Upgraded the Clinical Reasoning module to the latest release of 3.15.0. Many caregaps request errors that
previously resulted in HTTP status code of 500 now result in 400 instead."

View File

@ -0,0 +1,4 @@
---
type: add
issue: 6550
title: "Upgrade the Clinical Reasoning module to the latest release of 3.15.0. CMPI now supports the delete operation"

View File

@ -0,0 +1,6 @@
---
type: add
issue: 6550
title: "Upgrade the Clinical Reasoning module to the latest release of 3.15.0. Please review associated ticket
for detailed list of changes which including changes to error handling, measure scoring and support for
Organization subjects."

View File

@ -11,7 +11,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -3,7 +3,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -3,7 +3,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
@ -21,7 +21,7 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-caching-api</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
</dependency>
<dependency>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>hapi-deployable-pom</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
</parent>
<artifactId>hapi-fhir-spring-boot-sample-client-apache</artifactId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -32,8 +32,9 @@ import ca.uhn.fhir.cr.r4.ICareGapsServiceFactory;
import ca.uhn.fhir.cr.r4.ICollectDataServiceFactory;
import ca.uhn.fhir.cr.r4.ICqlExecutionServiceFactory;
import ca.uhn.fhir.cr.r4.IDataRequirementsServiceFactory;
import ca.uhn.fhir.cr.r4.IMeasureServiceFactory;
import ca.uhn.fhir.cr.r4.ISubmitDataProcessorFactory;
import ca.uhn.fhir.cr.r4.R4MeasureEvaluatorSingleFactory;
import ca.uhn.fhir.cr.r4.R4MeasureServiceUtilsFactory;
import ca.uhn.fhir.cr.r4.cpg.CqlExecutionOperationProvider;
import ca.uhn.fhir.cr.r4.measure.CareGapsOperationProvider;
import ca.uhn.fhir.cr.r4.measure.CollectDataOperationProvider;
@ -51,6 +52,7 @@ import org.opencds.cqf.fhir.cr.measure.r4.R4CollectDataService;
import org.opencds.cqf.fhir.cr.measure.r4.R4DataRequirementsService;
import org.opencds.cqf.fhir.cr.measure.r4.R4MeasureService;
import org.opencds.cqf.fhir.cr.measure.r4.R4SubmitDataService;
import org.opencds.cqf.fhir.cr.measure.r4.utils.R4MeasureServiceUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -64,12 +66,16 @@ import java.util.Map;
public class CrR4Config {
@Bean
IMeasureServiceFactory r4MeasureServiceFactory(
R4MeasureEvaluatorSingleFactory r4MeasureServiceFactory(
RepositoryFactoryForRepositoryInterface theRepositoryFactory,
MeasureEvaluationOptions theEvaluationOptions,
MeasurePeriodValidator theMeasurePeriodValidator) {
return rd ->
new R4MeasureService(theRepositoryFactory.create(rd), theEvaluationOptions, theMeasurePeriodValidator);
MeasurePeriodValidator theMeasurePeriodValidator,
R4MeasureServiceUtilsFactory theR4MeasureServiceUtilsFactory) {
return rd -> new R4MeasureService(
theRepositoryFactory.create(rd),
theEvaluationOptions,
theMeasurePeriodValidator,
theR4MeasureServiceUtilsFactory.create(rd));
}
@Bean
@ -95,10 +101,21 @@ public class CrR4Config {
return new CollectDataOperationProvider(theR4CollectDataServiceFactory, theStringTimePeriodHandler);
}
@Bean
R4MeasureServiceUtilsFactory r4MeasureServiceUtilsFactory(
RepositoryFactoryForRepositoryInterface theRepositoryFactory) {
return requestDetails -> new R4MeasureServiceUtils(theRepositoryFactory.create(requestDetails));
}
@Bean
ICollectDataServiceFactory collectDataServiceFactory(
IRepositoryFactory theRepositoryFactory, MeasureEvaluationOptions theMeasureEvaluationOptions) {
return rd -> new R4CollectDataService(theRepositoryFactory.create(rd), theMeasureEvaluationOptions);
IRepositoryFactory theRepositoryFactory,
MeasureEvaluationOptions theMeasureEvaluationOptions,
R4MeasureServiceUtilsFactory theR4MeasureServiceUtilsFactory) {
return rd -> new R4CollectDataService(
theRepositoryFactory.create(rd),
theMeasureEvaluationOptions,
theR4MeasureServiceUtilsFactory.create(rd));
}
@Bean
@ -139,7 +156,8 @@ public class CrR4Config {
@Bean
MeasureOperationsProvider r4MeasureOperationsProvider(
IMeasureServiceFactory theR4MeasureServiceFactory, StringTimePeriodHandler theStringTimePeriodHandler) {
R4MeasureEvaluatorSingleFactory theR4MeasureServiceFactory,
StringTimePeriodHandler theStringTimePeriodHandler) {
return new MeasureOperationsProvider(theR4MeasureServiceFactory, theStringTimePeriodHandler);
}

View File

@ -0,0 +1,28 @@
/*-
* #%L
* HAPI FHIR - Clinical Reasoning
* %%
* Copyright (C) 2014 - 2024 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.r4;
import ca.uhn.fhir.rest.api.server.RequestDetails;
import org.opencds.cqf.fhir.cr.measure.r4.R4MeasureEvaluatorSingle;
@FunctionalInterface
public interface R4MeasureEvaluatorSingleFactory {
R4MeasureEvaluatorSingle create(RequestDetails theRequestDetails);
}

View File

@ -0,0 +1,31 @@
/*-
* #%L
* HAPI FHIR - Clinical Reasoning
* %%
* Copyright (C) 2014 - 2024 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.r4;
import ca.uhn.fhir.rest.api.server.RequestDetails;
import org.opencds.cqf.fhir.cr.measure.r4.utils.R4MeasureServiceUtils;
/**
* Factory to create an {@link R4MeasureServiceUtils} from a {@link RequestDetails}
*/
@FunctionalInterface
public interface R4MeasureServiceUtilsFactory {
R4MeasureServiceUtils create(RequestDetails requestDetails);
}

View File

@ -20,7 +20,7 @@
package ca.uhn.fhir.cr.r4.measure;
import ca.uhn.fhir.cr.common.StringTimePeriodHandler;
import ca.uhn.fhir.cr.r4.IMeasureServiceFactory;
import ca.uhn.fhir.cr.r4.R4MeasureEvaluatorSingleFactory;
import ca.uhn.fhir.rest.annotation.IdParam;
import ca.uhn.fhir.rest.annotation.Operation;
import ca.uhn.fhir.rest.annotation.OperationParam;
@ -38,11 +38,12 @@ import org.opencds.cqf.fhir.utility.monad.Eithers;
public class MeasureOperationsProvider {
private final IMeasureServiceFactory myR4MeasureServiceFactory;
private final R4MeasureEvaluatorSingleFactory myR4MeasureServiceFactory;
private final StringTimePeriodHandler myStringTimePeriodHandler;
public MeasureOperationsProvider(
IMeasureServiceFactory theR4MeasureServiceFactory, StringTimePeriodHandler theStringTimePeriodHandler) {
R4MeasureEvaluatorSingleFactory theR4MeasureServiceFactory,
StringTimePeriodHandler theStringTimePeriodHandler) {
myR4MeasureServiceFactory = theR4MeasureServiceFactory;
myStringTimePeriodHandler = theStringTimePeriodHandler;
}

View File

@ -77,6 +77,6 @@ public class SubmitDataProvider {
@IdParam IdType theId,
@OperationParam(name = "measureReport", min = 1, max = 1) MeasureReport theReport,
@OperationParam(name = "resource") List<IBaseResource> theResources) {
return myR4SubmitDataProcessorFactory.create(theRequestDetails).submitData(theId, theReport, theResources);
return myR4SubmitDataProcessorFactory.create(theRequestDetails).submitData(theReport, theResources);
}
}

View File

@ -89,7 +89,7 @@ public class MeasureOperationProviderTest extends BaseCrDstu3TestServer {
@Test
public void test_EXM124_FHIR3_72000() throws IOException {
loadBundle("ca/uhn/fhir/cr/dstu3/connectathon/EXM124-FHIR3-7.2.000-bundle.json");
var actual = getActual("2019-01-01", "2019-12-31", "Patient/numer-EXM124-FHIR3", "Measure/measure-EXM124-FHIR3-7.2.000", "individual", null);
var actual = getActual("2019-01-01", "2019-12-31", "Patient/numer-EXM124-FHIR3", "Measure/measure-EXM124-FHIR3-7.2.000", "subject", null);
var expected = getExpected("measurereport-numer-EXM124-FHIR3");
compareMeasureReport(expected, actual);
@ -99,7 +99,7 @@ public class MeasureOperationProviderTest extends BaseCrDstu3TestServer {
@Test
public void test_EXM104_FHIR3_81000() throws IOException {
loadBundle("ca/uhn/fhir/cr/dstu3/connectathon/EXM104-FHIR3-8.1.000-bundle.json");
var actual = getActual("2019-01-01", "2019-12-31", "Patient/numer-EXM104-FHIR3", "Measure/measure-EXM104-FHIR3-8.1.000", "individual", null);
var actual = getActual("2019-01-01", "2019-12-31", "Patient/numer-EXM104-FHIR3", "Measure/measure-EXM104-FHIR3-8.1.000", "subject", null);
assertNotNull(actual);
}
@ -107,7 +107,7 @@ public class MeasureOperationProviderTest extends BaseCrDstu3TestServer {
@Test
void test_EXM105_FHIR3() throws IOException {
loadBundle("Exm105Fhir3Measure.json");
var actual = getActual("2019-01-01", "2020-01-01", "Patient/denom-EXM105-FHIR3", "Measure/measure-EXM105-FHIR3-8.0.000", "individual", null);
var actual = getActual("2019-01-01", "2020-01-01", "Patient/denom-EXM105-FHIR3", "Measure/measure-EXM105-FHIR3-8.0.000", "subject", null);
assertNotNull(actual);
}
@ -118,7 +118,7 @@ public class MeasureOperationProviderTest extends BaseCrDstu3TestServer {
loadBundle("Exm105FhirR3MeasurePartBundle.json");
var additionalData = readResource(Bundle.class, "Exm105FhirR3MeasureAdditionalData.json");
var actual = getActual("2019-01-01", "2019-12-01", "Patient/denom-EXM105-FHIR3", "Measure/measure-EXM105-FHIR3-8.0.000", "individual", additionalData);
var actual = getActual("2019-01-01", "2019-12-01", "Patient/denom-EXM105-FHIR3", "Measure/measure-EXM105-FHIR3-8.0.000", "subject", additionalData);
assertNotNull(actual);
}

View File

@ -54,7 +54,7 @@ public class CrResourceListenerTest extends BaseCrR4TestServer {
assertThat(myResourceChangeListenerRegistry.getWatchedResourceNames()).contains("ValueSet");
loadBundle("ColorectalCancerScreeningsFHIR-bundle.json");
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "Individual", null);
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "subject", null);
// This is a manual init
myResourceChangeListenerCacheRefresher.refreshExpiredCachesAndNotifyListeners();
@ -80,7 +80,7 @@ public class CrResourceListenerTest extends BaseCrR4TestServer {
loadBundle("ColorectalCancerScreeningsFHIR-bundle.json");
// evaluate-measure adds library to repository cache
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "Individual", null);
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "subject", null);
// This is a manual init
myResourceChangeListenerCacheRefresher.refreshExpiredCachesAndNotifyListeners();
@ -106,7 +106,7 @@ public class CrResourceListenerTest extends BaseCrR4TestServer {
// load measure bundle with measure library version
loadBundle("ColorectalCancerScreeningsFHIR-bundle.json");
// evaluate-measure adds library to repository cache
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "Individual", null);
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "subject", null);
//cached libraries from bundle
assertThat(myEvaluationSettings.getLibraryCache()).hasSize(7);
@ -131,7 +131,7 @@ public class CrResourceListenerTest extends BaseCrR4TestServer {
// load measure bundle with measure library version
loadBundle("ColorectalCancerScreeningsFHIR-bundle.json");
// evaluate-measure adds library to repository cache
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "Individual", null);
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "subject", null);
//cached libraries from bundle
assertThat(myEvaluationSettings.getLibraryCache()).hasSize(7);
@ -156,7 +156,7 @@ public class CrResourceListenerTest extends BaseCrR4TestServer {
// load measure bundle with measure library version
loadBundle("ColorectalCancerScreeningsFHIR-bundle.json");
// evaluate-measure adds valueset to repository cache
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "Individual", null);
runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "subject", null);
//cached valueset from bundle
assertThat(myEvaluationSettings.getValueSetCache()).hasSize(19);

View File

@ -34,7 +34,7 @@ public class LibraryOperationsProviderTest extends BaseCrR4TestServer{
requestDetails);
assertNotNull(result);
assertEquals(16, result.getParameter().size());
assertEquals(15, result.getParameter().size());
}
@Test

View File

@ -1,5 +1,6 @@
package ca.uhn.fhir.cr.r4;
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
import ca.uhn.fhir.rest.server.provider.ProviderConstants;
import org.hl7.fhir.r4.model.DateType;
import org.hl7.fhir.r4.model.IdType;
@ -17,6 +18,7 @@ import java.util.Optional;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.fail;
@ExtendWith(SpringExtension.class)
class MeasureOperationProviderTest extends BaseCrR4TestServer {
@ -39,24 +41,42 @@ class MeasureOperationProviderTest extends BaseCrR4TestServer {
@Test
void testMeasureEvaluateExm130() {
loadBundle("ColorectalCancerScreeningsFHIR-bundle.json");
assertNotNull(runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "Individual", null));
assertNotNull(runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM130", "ColorectalCancerScreeningsFHIR", "subject", null));
}
@Test
void testMeasureEvaluateExm104() {
loadBundle("Exm104FhirR4MeasureBundle.json");
assertNotNull(runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM104", "measure-EXM104-8.2.000", "Individual", null));
assertNotNull(runEvaluateMeasure("2019-01-01", "2019-12-31", "Patient/numer-EXM104", "measure-EXM104-8.2.000", "subject", null));
}
@Test
void testClientNonPatientBasedMeasureEvaluate() {
loadBundle("ClientNonPatientBasedMeasureBundle.json");
void testClientNonPatientBasedMeasureEvaluate_NO_supplementalDataCode() {
final String measureId = "InitialInpatientPopulation-NO-supplementalDataCode";
var measure = read(new IdType("Measure", "InitialInpatientPopulation"));
loadBundle("ClientNonPatientBasedMeasureBundle-NO-supplementalDataCode.json");
var measure = read(new IdType("Measure", measureId));
assertNotNull(measure);
var returnMeasureReport = runEvaluateMeasure("2019-01-01", "2020-01-01", "Patient/97f27374-8a5c-4aa1-a26f-5a1ab03caa47", "InitialInpatientPopulation", "Individual", null);
try {
runEvaluateMeasure("2019-01-01", "2020-01-01", "Patient/97f27374-8a5c-4aa1-a26f-5a1ab03caa47", measureId, "subject", null);
fail("expected InvalidRequestException");
} catch (InvalidRequestException exception) {
assertThat(exception.getMessage()).isEqualTo("HTTP 400 Bad Request: SupplementalDataComponent usage is missing code: supplemental-data for Measure: http://nhsnlink.org/fhir/Measure/" + measureId);
}
}
@Test
void testClientNonPatientBasedMeasureEvaluate_YES_supplementalDataCode() {
final String measureId = "InitialInpatientPopulation-YES-supplementalDataCode";
loadBundle("ClientNonPatientBasedMeasureBundle-YES-supplementalDataCode.json");
var measure = read(new IdType("Measure", measureId));
assertNotNull(measure);
var returnMeasureReport = runEvaluateMeasure("2019-01-01", "2020-01-01", "Patient/97f27374-8a5c-4aa1-a26f-5a1ab03caa47", measureId, "subject", null);
String populationName = "initial-population";
int expectedCount = 2;
@ -75,8 +95,8 @@ class MeasureOperationProviderTest extends BaseCrR4TestServer {
loadBundle("multiversion/EXM124-7.0.000-bundle.json");
loadBundle("multiversion/EXM124-9.0.000-bundle.json");
assertNotNull(runEvaluateMeasure("2019-01-01", "2020-01-01", "Patient/numer-EXM124", "measure-EXM124-7.0.000", "Individual", null));
assertNotNull(runEvaluateMeasure("2019-01-01", "2020-01-01", "Patient/numer-EXM124", "measure-EXM124-9.0.000", "Individual", null));
assertNotNull(runEvaluateMeasure("2019-01-01", "2020-01-01", "Patient/numer-EXM124", "measure-EXM124-7.0.000", "subject", null));
assertNotNull(runEvaluateMeasure("2019-01-01", "2020-01-01", "Patient/numer-EXM124", "measure-EXM124-9.0.000", "subject", null));
}
@ -102,7 +122,7 @@ class MeasureOperationProviderTest extends BaseCrR4TestServer {
String participationPeriod) {
var returnMeasureReport = runEvaluateMeasure("2022-01-01", "2022-12-31", patientId, measureId, "Individual", null);
var returnMeasureReport = runEvaluateMeasure("2022-01-01", "2022-12-31", patientId, measureId, "subject", null);
for (MeasureReport.MeasureReportGroupPopulationComponent population : returnMeasureReport.getGroupFirstRep()
.getPopulation())

View File

@ -1,71 +0,0 @@
package ca.uhn.fhir.cr.r4;
import ca.uhn.fhir.cr.repo.HapiFhirRepository;
import ca.uhn.fhir.rest.api.server.SystemRequestDetails;
import com.google.common.collect.Lists;
import org.hl7.fhir.r4.model.Bundle;
import org.hl7.fhir.r4.model.IdType;
import org.hl7.fhir.r4.model.MeasureReport;
import org.hl7.fhir.r4.model.Observation;
import org.hl7.fhir.r4.model.StringType;
import org.junit.jupiter.api.Test;
import org.opencds.cqf.fhir.utility.search.Searches;
import org.springframework.beans.factory.annotation.Autowired;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class SubmitDataServiceR4Test extends BaseCrR4TestServer {
@Autowired
ISubmitDataProcessorFactory myR4SubmitDataProcessorFactory;
@Test
public void submitDataTest(){
SystemRequestDetails requestDetails = new SystemRequestDetails();
requestDetails.setFhirContext(getFhirContext());
//create resources
MeasureReport mr = newResource(MeasureReport.class).setMeasure("Measure/A123");
Observation obs = newResource(Observation.class).setValue(new StringType("ABC"));
//submit-data operation
var res = myR4SubmitDataProcessorFactory
.create(requestDetails)
.submitData(new IdType("Measure", "A123"), mr,
Lists.newArrayList(obs));
var repository = new HapiFhirRepository(myDaoRegistry, requestDetails, ourRestfulServer);
var resultMr = repository.search(Bundle.class, MeasureReport.class, Searches.ALL);
var mrSize = resultMr.getEntry().size();
MeasureReport report = null;
for (int i = 0; i < mrSize; i++){
var getEntry = resultMr.getEntry();
var mrResource = (MeasureReport) getEntry.get(i).getResource();
var measure = mrResource.getMeasure();
if (measure.equals("Measure/A123")){
report = mrResource;
break;
}
}
//found submitted MeasureReport!
assertNotNull(report);
var resultOb = repository.search(Bundle.class, Observation.class, Searches.ALL);
var obSize = resultOb.getEntry().size();
Observation observation = null;
for (int i = 0; i < obSize; i++){
var getEntry = resultOb.getEntry();
var obResource = (Observation) getEntry.get(i).getResource();
var val = obResource.getValue().primitiveValue();
if (val.equals("ABC")){
observation = obResource;
break;
}
}
//found submitted Observation!
assertNotNull(observation);
}
}

View File

@ -13,10 +13,10 @@
],
"entry": [
{
"fullUrl": "https://cqf-ruler.nhsnlink.org/fhir/Measure/InitialInpatientPopulation",
"fullUrl": "https://cqf-ruler.nhsnlink.org/fhir/Measure/InitialInpatientPopulation-NO-supplementalDataCode",
"resource": {
"resourceType": "Measure",
"id": "InitialInpatientPopulation",
"id": "InitialInpatientPopulation-NO-supplementalDataCode",
"meta": {
"versionId": "8",
"lastUpdated": "2022-03-01T19:49:30.831+00:00",
@ -947,7 +947,7 @@
}
}
],
"url": "http://nhsnlink.org/fhir/Measure/InitialInpatientPopulation",
"url": "http://nhsnlink.org/fhir/Measure/InitialInpatientPopulation-NO-supplementalDataCode",
"identifier": [
{
"system": "https://nhsnlink.org",
@ -1203,7 +1203,7 @@
},
"request": {
"method": "PUT",
"url": "Measure/InitialInpatientPopulation"
"url": "Measure/InitialInpatientPopulation-NO-supplementalDataCode"
}
},
{

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

26
pom.xml
View File

@ -8,7 +8,7 @@
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<packaging>pom</packaging>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<name>HAPI-FHIR</name>
<description>An open-source implementation of the FHIR specification in Java.</description>
@ -1087,7 +1087,12 @@
<ucum_version>1.0.8</ucum_version>
<!-- Clinical Reasoning & CQL Support -->
<clinical-reasoning.version>3.13.1</clinical-reasoning.version>
<clinical-reasoning.version>3.15.0</clinical-reasoning.version>
<!-- TODO: LD: this a TEMPORARY HACK to get around the fact that CR 3.15.0 is missing a pom file -->
<!-- This needs to be removed next time we do a CR bump -->
<!-- See: https://github.com/hapifhir/hapi-fhir/issues/6567 -->
<!-- Direct CQL dependencies -->
<cql.version>3.19.1</cql.version>
<!-- Site properties -->
<fontawesomeVersion>5.4.1</fontawesomeVersion>
@ -2392,6 +2397,21 @@
</exclusion>
</exclusions>
</dependency>
<!-- TODO: LD: this a TEMPORARY HACK to get around the fact that CR 3.15.0 is missing a pom file -->
<!-- This needs to be removed next time we do a CR bump -->
<!-- See: https://github.com/hapifhir/hapi-fhir/issues/6567 -->
<!-- Direct CQL dependencies -->
<dependency>
<groupId>info.cqframework</groupId>
<artifactId>cql-to-elm</artifactId>
<version>${cql.version}</version>
</dependency>
<dependency>
<groupId>info.cqframework</groupId>
<artifactId>cqf-fhir</artifactId>
<version>${cql.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
@ -2649,7 +2669,7 @@
<plugin>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-tinder-plugin</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<executions>
<execution>
<goals>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.14-SNAPSHOT</version>
<version>7.7.15-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>