diff --git a/Dockerfile b/Dockerfile
index bc3454fb..f3f9720b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,7 +6,7 @@ WORKDIR /opt/codex-feasibility-backend
COPY ./target/*.jar ./feasibility-gui-backend.jar
COPY ontology ontology
-ARG VERSION=0.0.0
+ARG VERSION=2.1.0
ENV APP_VERSION=${VERSION}
ENV FEASIBILITY_DATABASE_HOST="feasibility-network"
ENV FEASIBILITY_DATABASE_PORT=5432
@@ -19,12 +19,12 @@ ENTRYPOINT ["java","-jar","feasibility-gui-backend.jar"]
ARG GIT_REF=""
ARG BUILD_TIME=""
-LABEL maintainer="num-codex" \
+LABEL maintainer="medizininformatik-initiative" \
org.opencontainers.image.created=${BUILD_TIME} \
- org.opencontainers.image.authors="num-codex" \
- org.opencontainers.image.source="https://github.com/num-codex/codex-feasibility-backend" \
+ org.opencontainers.image.authors="medizininformatik-initiative" \
+ org.opencontainers.image.source="https://github.com/medizininformatik-initiative/feasibility-backend" \
org.opencontainers.image.version=${VERSION} \
org.opencontainers.image.revision=${GIT_REF} \
- org.opencontainers.image.vendor="num-codex" \
- org.opencontainers.image.title="codex feasibility backend" \
+ org.opencontainers.image.vendor="medizininformatik-initiative" \
+ org.opencontainers.image.title="feasibility backend" \
org.opencontainers.image.description="Provides backend functions for feasibility UI including query execution"
diff --git a/pom.xml b/pom.xml
index 11acca78..68d30958 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,12 +4,12 @@
org.springframework.boot
spring-boot-starter-parent
- 2.7.3
+ 2.7.6
de.medizininformatik-initiative
FeasibilityGuiBackend
- 1.0.1
+ 2.1.0
FeasibilityGuiBackend
Backend of the Feasibility GUI
@@ -26,6 +26,7 @@
4.9.3
4.9.1
42.4.1
+ 5.8.0
@@ -80,10 +81,10 @@
keycloak-spring-boot-starter
18.0.0
+
org.springframework.boot
spring-boot-starter-security
- 2.7.2
@@ -144,28 +145,44 @@
1.3.2
+
+
+ org.apache.commons
+ commons-text
+ 1.10.0
+
org.highmed.dsf
dsf-fhir-webservice-client
- 0.7.0
+ 0.9.0
+
+
+ org.apache.commons
+ commons-text
+
+
org.highmed.dsf
dsf-fhir-websocket-client
- 0.7.0
+ 0.9.0
org.highmed.dsf
dsf-fhir-rest-adapter
- 0.7.0
+ 0.9.0
de.medizininformatik-initiative
sq2cql
- 0.1.20
+ 0.1.26
@@ -216,6 +233,14 @@
test
+
+
+
+ org.yaml
+ snakeyaml
+ 1.32
+
+
io.projectreactor
reactor-test
diff --git a/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManager.java b/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManager.java
index 8d3f47e1..0551ae7a 100644
--- a/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManager.java
+++ b/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManager.java
@@ -28,7 +28,7 @@
*/
class DSFQueryManager implements QueryManager {
- private static final String INSTANTIATE_URI = "http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.3.0";
+ private static final String INSTANTIATE_URI = "http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.5.0";
private static final String REQUEST_PROFILE = "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-request";
private static final String MEASURE_PROFILE = "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-measure";
private static final String LIBRARY_PROFILE = "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-library";
@@ -42,6 +42,7 @@ class DSFQueryManager implements QueryManager {
private static final String RECIPIENT_TYPE = "Organization";
private static final String LIBRARY_NAME = "Retrieve";
+ private static final String LIBRARY_VERSION = "1.0.0";
private static final String CODE_SYSTEM_FEASIBILITY = "http://medizininformatik-initiative.de/fhir/CodeSystem/feasibility";
private static final String CODE_SYSTEM_FEASIBILITY_VALUE_MEASURE_REFERENCE = "measure-reference";
@@ -213,6 +214,7 @@ private Bundle addLibrary(Bundle queryBundle, Map queryContents,
Bundle bundle = queryBundle.copy();
Library library = new Library()
.setName(LIBRARY_NAME)
+ .setVersion(LIBRARY_VERSION)
.setStatus(ACTIVE)
.setType(new CodeableConcept()
.addCoding(new Coding()
diff --git a/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandler.java b/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandler.java
index 40197d6a..eafffe2f 100644
--- a/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandler.java
+++ b/src/main/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandler.java
@@ -13,7 +13,7 @@
@Slf4j
class DSFQueryResultHandler {
- private static final String SINGLE_DIC_QUERY_RESULT_PROFILE = "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.3.0";
+ private static final String SINGLE_DIC_QUERY_RESULT_PROFILE = "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.5.0";
private static final String CODE_SYSTEM_FEASIBILITY = "http://medizininformatik-initiative.de/fhir/CodeSystem/feasibility";
private static final String CODE_SYSTEM_FEASIBILITY_VALUE_MEASURE_REPORT_REF = "measure-report-reference";
private static final String CODE_SYSTEM_BPMN_MESSAGE = "http://highmed.org/fhir/CodeSystem/bpmn-message";
diff --git a/src/main/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslator.java b/src/main/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslator.java
index d405d94b..c2dd9171 100644
--- a/src/main/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslator.java
+++ b/src/main/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslator.java
@@ -31,7 +31,7 @@ public String translate(StructuredQuery query) throws QueryTranslationException
}
try {
- return translator.toCql(structuredQuery).print(PrintContext.ZERO);
+ return translator.toCql(structuredQuery).print();
} catch (Exception e) {
throw new QueryTranslationException("cannot translate structured query to CQL format", e);
}
diff --git a/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManagerTest.java b/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManagerTest.java
index e7218982..165956be 100644
--- a/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManagerTest.java
+++ b/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryManagerTest.java
@@ -145,7 +145,7 @@ public void testPublishQuery() throws UnsupportedMediaTypeException, QueryNotFou
assertEquals(businessKey, queryId);
assertNotNull(library.getName());
- assertEquals("http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.3.0", task.getInstantiatesUri());
+ assertEquals("http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.5.0", task.getInstantiatesUri());
assertEquals(1, task.getMeta().getProfile().stream().filter(p -> p.getValueAsString()
.equals("http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-request"))
.count());
diff --git a/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultCollectorIT.java b/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultCollectorIT.java
index 83db1c4c..ddb1e42a 100644
--- a/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultCollectorIT.java
+++ b/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultCollectorIT.java
@@ -31,7 +31,7 @@
@SuppressWarnings("NewClassNamingConvention")
public class DSFQueryResultCollectorIT {
- private static final String SINGLE_DIC_RESULT_PROFILE = "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.3.0";
+ private static final String SINGLE_DIC_RESULT_PROFILE = "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.5.0";
@Mock
private DSFBrokerClient brokerClient;
@@ -60,7 +60,7 @@ private Task createTestTask(String brokerQueryId, String siteId, String measureR
.setStatus(COMPLETED)
.setIntent(ORDER)
.setAuthoredOn(new Date())
- .setInstantiatesUri("http://highmed.org/bpe/Process/feasibilityRequest/0.3.0");
+ .setInstantiatesUri("http://highmed.org/bpe/Process/feasibilityRequest/0.5.0");
task.getRequester()
.setType("Organization")
diff --git a/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandlerTest.java b/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandlerTest.java
index c20dcf32..a7a0f8ff 100644
--- a/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandlerTest.java
+++ b/src/test/java/de/numcodex/feasibility_gui_backend/query/broker/dsf/DSFQueryResultHandlerTest.java
@@ -55,7 +55,7 @@ public void testOnResultButReferencedMeasureReportCanNotBeFetched() throws FhirW
.setIntent(ORDER)
.setRequester(dicOrganizationRef)
.setRestriction(new TaskRestrictionComponent().addRecipient(zarsOrganizationRef));
- task.getMeta().addProfile("http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.3.0");
+ task.getMeta().addProfile("http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.5.0");
task.addInput()
.setType(new CodeableConcept()
@@ -88,7 +88,7 @@ public void testOnResult() throws FhirWebClientProvisionException {
.setIntent(ORDER)
.setRequester(dicOrganizationRef)
.setRestriction(new TaskRestrictionComponent().addRecipient(zarsOrganizationRef));
- task.getMeta().addProfile("http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.3.0");
+ task.getMeta().addProfile("http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.5.0");
task.addInput()
.setType(new CodeableConcept()
diff --git a/src/test/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslatorTest.java b/src/test/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslatorTest.java
index 8718d90f..e10b3717 100644
--- a/src/test/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslatorTest.java
+++ b/src/test/java/de/numcodex/feasibility_gui_backend/query/translation/CqlQueryTranslatorTest.java
@@ -103,11 +103,12 @@ public void testTranslate_EverythingSucceeds() throws QueryTranslationException
testQuery.setVersion(URI.create("http://to_be_decided.com/draft-2/schema#"));
var resultLibraryMock = mock(Library.class);
- when(resultLibraryMock.print(any())).thenReturn("bar");
+ when(resultLibraryMock.print()).thenReturn("bar");
when(translator.toCql(any(de.numcodex.sq2cql.model.structured_query.StructuredQuery.class)))
.thenReturn(resultLibraryMock);
var translationResult = cqlQueryTranslator.translate(testQuery);
assertEquals("bar", translationResult);
+
}
}