Skip to content

Commit

Permalink
Merge pull request #162 from ahdis/ql_release_3501
Browse files Browse the repository at this point in the history
Release 3.5.1
  • Loading branch information
oliveregger authored Dec 11, 2023
2 parents ecbe98e + b4b5465 commit 518635b
Show file tree
Hide file tree
Showing 14 changed files with 68 additions and 104 deletions.
4 changes: 4 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion docs/matchbox-engine.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ You can add the matchbox-engine dependency in your `pom.xml`:
<dependency>
<groupId>health.matchbox</groupId>
<artifactId>matchbox-engine</artifactId>
<version>3.5.0</version>
<version>3.5.1</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion matchbox-engine/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<artifactId>matchbox</artifactId>
<groupId>health.matchbox</groupId>
<version>3.5.0</version>
<version>3.5.1</version>
</parent>

<artifactId>matchbox-engine</artifactId>
Expand Down
4 changes: 2 additions & 2 deletions matchbox-frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion matchbox-frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "matchbox",
"version": "3.5.0",
"version": "3.5.1",
"license": "MIT",
"scripts": {
"ng": "ng",
Expand Down
2 changes: 1 addition & 1 deletion matchbox-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>matchbox</artifactId>
<groupId>health.matchbox</groupId>
<version>3.5.0</version>
<version>3.5.1</version>
</parent>

<artifactId>matchbox-server</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,11 @@ private TerminologyCapabilities getTerminologyCapabilities(final CapabilityState
private List<String> 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");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
7 changes: 7 additions & 0 deletions matchbox-server/src/main/resources/application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
115 changes: 30 additions & 85 deletions matchbox-server/src/main/resources/logback.xml
Original file line number Diff line number Diff line change
@@ -1,87 +1,32 @@
<configuration scan="true" scanPeriod="30 seconds">

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
</encoder>
</appender>

<logger name="org.springframework.beans" level="INFO">
<appender-ref ref="STDOUT" />
</logger>
<logger name="org.springframework.core" level="INFO">
<appender-ref ref="STDOUT" />
</logger>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<file>${fhir.logdir}/fhirtest.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${fhir.logdir}/fhirtest.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<!-- [%file:%line] -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{req.remoteAddr}] [%X{req.userAgent}] %-5level %logger{36} %msg%n</pattern>
</encoder>
</appender>

<appender name="ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<file>${fhir.logdir}/access.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${fhir.logdir}/access.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<maxHistory>600</maxHistory>
</rollingPolicy>
<encoder>
<!-- [%file:%line] -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %msg%n</pattern>
</encoder>
</appender>

<appender name="REQUEST" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<file>${fhir.logdir}/request.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${fhir.logdir}/request.log.%i</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy>

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<!-- [%file:%line] -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %msg%n</pattern>
</encoder>
</appender>

<logger name="fhirtest.access" level="INFO" additivity="false">
<appender-ref ref="ACCESS"/>
</logger>

<logger name="fhirtest.request" level="INFO" additivity="false">
<appender-ref ref="REQUEST"/>
</logger>

<logger name="ch.ahdis.fhir.hapi.jpa.validation" additivity="false" level="debug">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</logger>

<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>

<!-- Import Spring Boot configuration -->
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>

<!-- The console logs -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--
%clr is org.springframework.boot.logging.logback.ColorConverter
%wex is org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter
%wEx is org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter
%rEx is https://logback.qos.ch/manual/layouts.html#rootException
PID: %clr(${PID:- }){magenta}
-->
<!-- @formatter:off -->
<pattern>%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}}</pattern>
<!-- @formatter:on -->
<charset>${CONSOLE_LOG_CHARSET}</charset>
</encoder>
</appender>

<root>
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
2 changes: 1 addition & 1 deletion matchbox-server/src/main/resources/static/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
<style>html{--mat-bottom-sheet-container-text-font:Roboto, "Helvetica Neue", sans-serif;--mat-bottom-sheet-container-text-line-height:20px;--mat-bottom-sheet-container-text-size:14px;--mat-bottom-sheet-container-text-tracking:normal;--mat-bottom-sheet-container-text-weight:400}html{--mat-legacy-button-toggle-text-font:Roboto, "Helvetica Neue", sans-serif;--mat-standard-button-toggle-text-font:Roboto, "Helvetica Neue", sans-serif}html{--mat-expansion-header-text-font:Roboto, "Helvetica Neue", sans-serif;--mat-expansion-header-text-size:15px;--mat-expansion-header-text-weight:400;--mat-expansion-header-text-line-height:inherit;--mat-expansion-header-text-tracking:inherit;--mat-expansion-container-text-font:Roboto, "Helvetica Neue", sans-serif;--mat-expansion-container-text-line-height:20px;--mat-expansion-container-text-size:14px;--mat-expansion-container-text-tracking:normal;--mat-expansion-container-text-weight:400}html{--mat-stepper-container-text-font:Roboto, "Helvetica Neue", sans-serif;--mat-stepper-header-label-text-font:Roboto, "Helvetica Neue", sans-serif;--mat-stepper-header-label-text-size:14px;--mat-stepper-header-label-text-weight:400;--mat-stepper-header-error-state-label-text-size:14px;--mat-stepper-header-selected-state-label-text-size:14px;--mat-stepper-header-selected-state-label-text-weight:500}html{--mat-toolbar-title-text-font:Roboto, "Helvetica Neue", sans-serif;--mat-toolbar-title-text-line-height:32px;--mat-toolbar-title-text-size:20px;--mat-toolbar-title-text-tracking:normal;--mat-toolbar-title-text-weight:500}html{--mat-bottom-sheet-container-text-color:rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color:white}html{--mat-bottom-sheet-container-text-font:Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height:20px;--mat-bottom-sheet-container-text-size:14px;--mat-bottom-sheet-container-text-tracking:.0178571429em;--mat-bottom-sheet-container-text-weight:400}html{--mat-legacy-button-toggle-text-color:rgba(0, 0, 0, .38);--mat-legacy-button-toggle-state-layer-color:rgba(0, 0, 0, .12);--mat-legacy-button-toggle-selected-state-text-color:rgba(0, 0, 0, .54);--mat-legacy-button-toggle-selected-state-background-color:#e0e0e0;--mat-legacy-button-toggle-disabled-state-text-color:rgba(0, 0, 0, .26);--mat-legacy-button-toggle-disabled-state-background-color:#eeeeee;--mat-legacy-button-toggle-disabled-selected-state-background-color:#bdbdbd;--mat-standard-button-toggle-text-color:rgba(0, 0, 0, .87);--mat-standard-button-toggle-background-color:white;--mat-standard-button-toggle-state-layer-color:black;--mat-standard-button-toggle-selected-state-background-color:#e0e0e0;--mat-standard-button-toggle-selected-state-text-color:rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-state-text-color:rgba(0, 0, 0, .26);--mat-standard-button-toggle-disabled-state-background-color:white;--mat-standard-button-toggle-disabled-selected-state-text-color:rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-selected-state-background-color:#bdbdbd;--mat-standard-button-toggle-divider-color:#e0e0e0}html{--mat-standard-button-toggle-height:48px}html{--mat-legacy-button-toggle-text-font:Roboto, sans-serif;--mat-standard-button-toggle-text-font:Roboto, sans-serif}html{--mat-divider-color:rgba(0, 0, 0, .12)}html{--mat-expansion-container-background-color:white;--mat-expansion-container-text-color:rgba(0, 0, 0, .87);--mat-expansion-actions-divider-color:rgba(0, 0, 0, .12);--mat-expansion-header-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-expansion-header-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-expansion-header-disabled-state-text-color:rgba(0, 0, 0, .26);--mat-expansion-header-text-color:rgba(0, 0, 0, .87);--mat-expansion-header-description-color:rgba(0, 0, 0, .54);--mat-expansion-header-indicator-color:rgba(0, 0, 0, .54)}html{--mat-expansion-header-collapsed-state-height:48px;--mat-expansion-header-expanded-state-height:64px}html{--mat-expansion-header-text-font:Roboto, sans-serif;--mat-expansion-header-text-size:14px;--mat-expansion-header-text-weight:500;--mat-expansion-header-text-line-height:inherit;--mat-expansion-header-text-tracking:inherit;--mat-expansion-container-text-font:Roboto, sans-serif;--mat-expansion-container-text-line-height:20px;--mat-expansion-container-text-size:14px;--mat-expansion-container-text-tracking:.0178571429em;--mat-expansion-container-text-weight:400}html{--mat-sidenav-container-divider-color:rgba(0, 0, 0, .12);--mat-sidenav-container-background-color:white;--mat-sidenav-container-text-color:rgba(0, 0, 0, .87);--mat-sidenav-content-background-color:#fafafa;--mat-sidenav-content-text-color:rgba(0, 0, 0, .87);--mat-sidenav-scrim-color:rgba(0, 0, 0, .6)}html{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#97d6ba;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#97d6ba;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#97d6ba;--mat-stepper-header-edit-state-icon-foreground-color:white;--mat-stepper-container-color:white;--mat-stepper-line-color:rgba(0, 0, 0, .12);--mat-stepper-header-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-stepper-header-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-stepper-header-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-optional-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-selected-state-label-text-color:rgba(0, 0, 0, .87);--mat-stepper-header-error-state-label-text-color:#f44336;--mat-stepper-header-icon-background-color:rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color:#f44336;--mat-stepper-header-error-state-icon-background-color:transparent}html{--mat-stepper-header-height:72px}html{--mat-stepper-container-text-font:Roboto, sans-serif;--mat-stepper-header-label-text-font:Roboto, sans-serif;--mat-stepper-header-label-text-size:14px;--mat-stepper-header-label-text-weight:400;--mat-stepper-header-error-state-label-text-size:16px;--mat-stepper-header-selected-state-label-text-size:16px;--mat-stepper-header-selected-state-label-text-weight:400}html{--mat-toolbar-container-background-color:whitesmoke;--mat-toolbar-container-text-color:rgba(0, 0, 0, .87)}html{--mat-toolbar-standard-height:64px;--mat-toolbar-mobile-height:56px}html{--mat-toolbar-title-text-font:Roboto, sans-serif;--mat-toolbar-title-text-line-height:32px;--mat-toolbar-title-text-size:20px;--mat-toolbar-title-text-tracking:.0125em;--mat-toolbar-title-text-weight:500}body{background:#e2e7ea}body{margin:0;width:100%;height:100%;font-family:Roboto,Arial,sans-serif}</style><link rel="stylesheet" href="styles.35948ceae2613e92.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.35948ceae2613e92.css"></noscript></head>
<body>
<app-root></app-root>
<script src="runtime.402c0b8654c086ec.js" type="module"></script><script src="polyfills.faaea47b1b6ef438.js" type="module"></script><script src="main.14695a8a85109e2d.js" type="module"></script></body>
<script src="runtime.402c0b8654c086ec.js" type="module"></script><script src="polyfills.faaea47b1b6ef438.js" type="module"></script><script src="main.f258ac006dd6bc27.js" type="module"></script></body>
</html>

Large diffs are not rendered by default.

6 changes: 1 addition & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

<groupId>health.matchbox</groupId>
<artifactId>matchbox</artifactId>
<version>3.5.0</version>
<version>3.5.1</version>
<packaging>pom</packaging>
<name>matchbox</name>
<description>An open-source implementation to support testing and implementation of FHIR based solutions and map or
Expand Down Expand Up @@ -611,10 +611,6 @@
<configuration>
<!-- Prevent gpg from using pinentry in CI release.
To release manually, remove these arguments. -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
</plugins>
Expand Down

0 comments on commit 518635b

Please sign in to comment.