diff --git a/docs/changelog.md b/docs/changelog.md
index b1834101b28..59d9e413105 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -1,3 +1,7 @@
+2023/12/11 Release 3.5.1
+- `docker pull europe-west6-docker.pkg.dev/ahdis-ch/ahdis/matchbox:v3.5.1`
+- The terminology system advertises support for more code systems
+
2023/12/08 Release 3.5.0
- `docker pull europe-west6-docker.pkg.dev/ahdis-ch/ahdis/matchbox:v3.5.0`
- Upgraded to HAPI FHIR 6.10.0 and Core 6.1.16
diff --git a/docs/docker.md b/docs/docker.md
index 894fa20c6d6..7a8c69623a8 100644
--- a/docs/docker.md
+++ b/docs/docker.md
@@ -3,7 +3,7 @@
if you have the rights you can download Matchbox as a docker container:
```
-docker pull europe-west6-docker.pkg.dev/ahdis-ch/ahdis/matchbox:v3.5.0
+docker pull europe-west6-docker.pkg.dev/ahdis-ch/ahdis/matchbox:v3.5.1
```
## Configurable base image:
diff --git a/docs/matchbox-engine.md b/docs/matchbox-engine.md
index 30018675896..087d4e19f60 100644
--- a/docs/matchbox-engine.md
+++ b/docs/matchbox-engine.md
@@ -45,7 +45,7 @@ You can add the matchbox-engine dependency in your `pom.xml`:
health.matchbox
matchbox-engine
- 3.5.0
+ 3.5.1
```
diff --git a/matchbox-engine/pom.xml b/matchbox-engine/pom.xml
index f3a2ab8d6a9..3f9a4ffa2b3 100644
--- a/matchbox-engine/pom.xml
+++ b/matchbox-engine/pom.xml
@@ -6,7 +6,7 @@
matchbox
health.matchbox
- 3.5.0
+ 3.5.1
matchbox-engine
diff --git a/matchbox-frontend/package-lock.json b/matchbox-frontend/package-lock.json
index 8e2bd1a03bd..a2314f24342 100644
--- a/matchbox-frontend/package-lock.json
+++ b/matchbox-frontend/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "matchbox",
- "version": "3.5.0",
+ "version": "3.5.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "matchbox",
- "version": "3.5.0",
+ "version": "3.5.1",
"license": "MIT",
"dependencies": {
"@angular-devkit/build-angular": "^16.1.4",
diff --git a/matchbox-frontend/package.json b/matchbox-frontend/package.json
index a73b87eb2a7..5939ab916ab 100644
--- a/matchbox-frontend/package.json
+++ b/matchbox-frontend/package.json
@@ -1,6 +1,6 @@
{
"name": "matchbox",
- "version": "3.5.0",
+ "version": "3.5.1",
"license": "MIT",
"scripts": {
"ng": "ng",
diff --git a/matchbox-server/pom.xml b/matchbox-server/pom.xml
index c174ab1f534..3b59a01b47a 100644
--- a/matchbox-server/pom.xml
+++ b/matchbox-server/pom.xml
@@ -5,7 +5,7 @@
matchbox
health.matchbox
- 3.5.0
+ 3.5.1
matchbox-server
diff --git a/matchbox-server/src/main/java/ch/ahdis/matchbox/interceptor/TerminologyCapabilitiesInterceptor.java b/matchbox-server/src/main/java/ch/ahdis/matchbox/interceptor/TerminologyCapabilitiesInterceptor.java
index 30e120322ed..270549f2a6d 100644
--- a/matchbox-server/src/main/java/ch/ahdis/matchbox/interceptor/TerminologyCapabilitiesInterceptor.java
+++ b/matchbox-server/src/main/java/ch/ahdis/matchbox/interceptor/TerminologyCapabilitiesInterceptor.java
@@ -58,7 +58,11 @@ private TerminologyCapabilities getTerminologyCapabilities(final CapabilityState
private List getCodeSystems() {
return List.of(SNOMED_SCT_CODESYSTEM_URL, RXNORM_CODESYSTEM_URL, LOINC_CODESYSTEM_URL, UCUM_CODESYSTEM_URL,
HL7_TERMINOLOGY_CODESYSTEM_BASE_URL, HL7_SID_CODESYSTEM_BASE_URL, HL7_FHIR_CODESYSTEM_BASE_URL,
- ISO_CODESYSTEM_URN, LANG_CODESYSTEM_URN, MIMETYPES_CODESYSTEM_URN, _11073_CODESYSTEM_URN,
- DICOM_CODESYSTEM_URL);
+ LANG_CODESYSTEM_URN, MIMETYPES_CODESYSTEM_URN, _11073_CODESYSTEM_URN,
+ DICOM_CODESYSTEM_URL,
+ "http://fdasis.nlm.nih.gov", "http://hl7.org/fhir/sid/ndc",
+ "http://unstats.un.org/unsd/methods/m49/m49.htm", "http://varnomen.hgvs.org",
+ "https://www.usps.com/", "urn:ietf:rfc:3986", "urn:iso:std:iso:3166",
+ "urn:iso:std:iso:4217", "urn:oid:1.2.36.1.2001.1005.17");
}
}
diff --git a/matchbox-server/src/main/java/ch/ahdis/matchbox/terminology/ValueSetCodeValidationProvider.java b/matchbox-server/src/main/java/ch/ahdis/matchbox/terminology/ValueSetCodeValidationProvider.java
index 703a330875e..2fd6e4db8f7 100644
--- a/matchbox-server/src/main/java/ch/ahdis/matchbox/terminology/ValueSetCodeValidationProvider.java
+++ b/matchbox-server/src/main/java/ch/ahdis/matchbox/terminology/ValueSetCodeValidationProvider.java
@@ -114,11 +114,19 @@ public IAnyResource validateCode(@ResourceParam final Parameters request,
// Now we have an expanded value set, we can properly validate the code
if (this.validateCodeInValueSet(coding, valueSet)) {
- log.debug("OK - present in expanded value set");
+ log.debug("OK - present in expanded value set (expansion contains {} codes)",
+ valueSet.getExpansion().getContains().size());
return mapCodingToSuccessfulParameters(coding);
}
- log.debug("FAIL - not present in expanded value set");
- return mapCodeErrorToParameters("The code " + coding.getCode() + " is not in the value set " + url);
+ log.debug("FAIL - not present in expanded value set (expansion contains {} codes)",
+ valueSet.getExpansion().getContains().size());
+ return mapCodeErrorToParameters(
+ "The code '%s' is not in the value set '%s' (expansion contains %d codes)".formatted(
+ coding.getCode(),
+ url,
+ valueSet.getExpansion().getContains().size()
+ )
+ );
}
servletResponse.setStatus(422);
diff --git a/matchbox-server/src/main/resources/application.yaml b/matchbox-server/src/main/resources/application.yaml
index 90d93c22258..c45bc31a4f4 100644
--- a/matchbox-server/src/main/resources/application.yaml
+++ b/matchbox-server/src/main/resources/application.yaml
@@ -72,3 +72,10 @@ matchbox:
txServer: n/a
# onlyOneEngine: true
# igsPreloaded: ch.fhir.ig.ch-core#4.0.0-ballot
+logging:
+ level:
+ root: INFO
+ #ch.ahdis.matchbox: DEBUG
+ ca.uhn.fhir.jpa.packages.JpaPackageCache: ERROR
+ fhirtest.access: ERROR
+ fhirtest.request: ERROR
diff --git a/matchbox-server/src/main/resources/logback.xml b/matchbox-server/src/main/resources/logback.xml
index 6ff92920bea..99636c8091a 100644
--- a/matchbox-server/src/main/resources/logback.xml
+++ b/matchbox-server/src/main/resources/logback.xml
@@ -1,87 +1,32 @@
-
-
-
- INFO
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n
-
-
-
-
-
-
-
-
-
-
-
-
- DEBUG
-
- ${fhir.logdir}/fhirtest.log
-
- ${fhir.logdir}/fhirtest.%d{yyyy-MM-dd}.log.gz
- 30
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{req.remoteAddr}] [%X{req.userAgent}] %-5level %logger{36} %msg%n
-
-
-
-
-
- INFO
-
- ${fhir.logdir}/access.log
-
- ${fhir.logdir}/access.%d{yyyy-MM-dd}.log.gz
- 600
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} %msg%n
-
-
-
-
-
- INFO
-
- ${fhir.logdir}/request.log
-
- ${fhir.logdir}/request.log.%i
- 1
- 3
-
-
-
- 10MB
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %msg%n
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ %clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr([%15.15t]){magenta} %clr(%-30.30logger{39}:%line){cyan}%clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%rEx{8,org.apache.catalina,
+ org.apache.camel,
+ org.apache.tomcat,
+ org.apache.coyote,
+ org.springframework,
+ sun.reflect}}
+
+ ${CONSOLE_LOG_CHARSET}
+
+
+
+
+
+
diff --git a/matchbox-server/src/main/resources/static/index.html b/matchbox-server/src/main/resources/static/index.html
index e85c6dfdefc..e97295c3cb4 100644
--- a/matchbox-server/src/main/resources/static/index.html
+++ b/matchbox-server/src/main/resources/static/index.html
@@ -11,5 +11,5 @@
-
+