diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cae7a916..67e3c0a0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -165,7 +165,7 @@ jobs:
needs: tests
runs-on: ubuntu-latest
env:
- ONTOLOGY_GIT_TAG: v3.8.4
+ ONTOLOGY_GIT_TAG: v3.9.0
ELASTIC_HOST: http://localhost:9200
ELASTIC_FILEPATH: https://github.com/medizininformatik-initiative/fhir-ontology-generator/releases/download/TAGPLACEHOLDER/
ELASTIC_FILENAME: elastic.zip
diff --git a/docker-compose.yml b/docker-compose.yml
index 59c273d0..debf362a 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -139,7 +139,7 @@ services:
environment:
ES_HOST: http://dataportal-elastic
ES_PORT: 9200
- ONTO_GIT_TAG: v3.8.4
+ ONTO_GIT_TAG: v3.9.0
ONTO_REPO: https://github.com/medizininformatik-initiative/fhir-ontology-generator/releases/download
DOWNLOAD_FILENAME: elastic.zip
EXIT_ON_EXISTING_INDICES: false
diff --git a/pom.xml b/pom.xml
index ea2d9f2c..7ff334a0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
17
5.1.0
4.10.0
- v3.8.4
+ v3.9.0
diff --git a/src/main/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinition.java b/src/main/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinition.java
index 1ab0b8ac..76137531 100644
--- a/src/main/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinition.java
+++ b/src/main/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinition.java
@@ -22,11 +22,13 @@ public record AttributeDefinition(
@JsonProperty(value = "precision", required = true, defaultValue = "0") double precision,
@JsonProperty(value = "min") Double min,
@JsonProperty(value = "max") Double max,
- @JsonProperty("referencedCriteriaSet") String referencedCriteriaSet,
- @JsonProperty("referencedValueSet") String referencedValueSet
+ @JsonProperty("referencedCriteriaSet") List referencedCriteriaSets,
+ @JsonProperty("referencedValueSet") List referencedValueSets
) {
public AttributeDefinition {
selectableConcepts = (selectableConcepts == null) ? List.of() : selectableConcepts;
allowedUnits = (allowedUnits == null) ? List.of() : allowedUnits;
+ referencedCriteriaSets = (referencedCriteriaSets == null) ? List.of() : referencedCriteriaSets;
+ referencedValueSets = (referencedValueSets == null) ? List.of() : referencedValueSets;
}
}
\ No newline at end of file
diff --git a/src/main/resources/static/v3/api-docs/swagger.yaml b/src/main/resources/static/v3/api-docs/swagger.yaml
index cac1e89f..a1a6d2bc 100644
--- a/src/main/resources/static/v3/api-docs/swagger.yaml
+++ b/src/main/resources/static/v3/api-docs/swagger.yaml
@@ -1442,13 +1442,17 @@ components:
examples:
- 1
referencedCriteriaSet:
- type: string
- examples:
- - http://fdpg.mii.cds/CriteriaSet/Diagnose/icd-10-gm
+ type: array
+ items:
+ type: string
+ examples:
+ - http://fdpg.mii.cds/CriteriaSet/Diagnose/icd-10-gm
referencedValueSet:
- type: string
- examples:
- - http://hl7.org/fhir/sid/icd-o-3
+ type: array
+ items:
+ type: string
+ examples:
+ - http://hl7.org/fhir/sid/icd-o-3
type:
type: string
examples:
diff --git a/src/test/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinitionTest.java b/src/test/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinitionTest.java
index 6e751cba..f85e0529 100644
--- a/src/test/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinitionTest.java
+++ b/src/test/java/de/numcodex/feasibility_gui_backend/terminology/api/AttributeDefinitionTest.java
@@ -23,8 +23,8 @@ void testConstructorWithValues() {
.precision(0.0)
.min(0.0)
.max(0.0)
- .referencedCriteriaSet(null)
- .referencedValueSet(null)
+ .referencedCriteriaSets(null)
+ .referencedValueSets(null)
.build();
assertNotNull(attributeDefinition);
@@ -47,8 +47,8 @@ public void testConstructorWithNull() {
.precision(0.0)
.min(0.0)
.max(0.0)
- .referencedCriteriaSet(null)
- .referencedValueSet(null)
+ .referencedCriteriaSets(null)
+ .referencedValueSets(null)
.build();
assertNotNull(attributeDefinition);
diff --git a/src/test/java/de/numcodex/feasibility_gui_backend/terminology/v5/TerminologyRestControllerIT.java b/src/test/java/de/numcodex/feasibility_gui_backend/terminology/v5/TerminologyRestControllerIT.java
index e550dff2..e82c7243 100644
--- a/src/test/java/de/numcodex/feasibility_gui_backend/terminology/v5/TerminologyRestControllerIT.java
+++ b/src/test/java/de/numcodex/feasibility_gui_backend/terminology/v5/TerminologyRestControllerIT.java
@@ -237,8 +237,8 @@ private AttributeDefinition createAttributeDefinition() {
.attributeCode(createTermCode())
.type(ValueDefinitonType.CONCEPT)
.optional(false)
- .referencedCriteriaSet("http://my.reference.criteria/set")
- .referencedValueSet("http://my.reference.value/set")
+ .referencedCriteriaSets(List.of("http://my.reference.criteria/set"))
+ .referencedValueSets(List.of("http://my.reference.value/set"))
.comparator(Comparator.EQUAL)
.precision(1.0)
.selectableConcepts(List.of(createTermCode()))