Skip to content

Commit

Permalink
Merge pull request #775 from samply/release-v0.17.12
Browse files Browse the repository at this point in the history
Release v0.17.12
  • Loading branch information
alexanderkiel authored Jul 22, 2022
2 parents d8b317e + 2535685 commit 40c0939
Show file tree
Hide file tree
Showing 21 changed files with 75 additions and 39 deletions.
6 changes: 3 additions & 3 deletions .github/scripts/evaluate-measure-subject-list.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,15 @@ cat <<END
"parameter": [
{
"name": "periodStart",
"value": "2000"
"valueDate": "2000"
},
{
"name": "periodEnd",
"value": "2030"
"valueDate": "2030"
},
{
"name": "reportType",
"value": "subject-list"
"valueCode": "subject-list"
}
]
}
Expand Down
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
# Changelog

## v0.17.12

### Security

* Migrate to Eclipse Temurin because OpenJDK is Deprecated ([#773](https://github.com/samply/blaze/issues/773))

### Bugfixes

* Remove Bare Polymorph JSON Properties ([#772](https://github.com/samply/blaze/pull/772))

The full changelog can be found [here](https://github.com/samply/blaze/milestone/51?closed=1).

## v0.17.11

### Bugfixes

* Fix Quantity Indexing without Value ([#764](https://github.com/samply/blaze/issues/764))
* Fix Deserialisation of Primitive Values in Extensions ([#767](https://github.com/samply/blaze/issues/767))

### Other Improvements ([#758](https://github.com/samply/blaze/issues/758))
### Other Improvements

* Implement Functions in CQL ([#766](https://github.com/samply/blaze/pull/766))

Expand Down
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM openjdk:17-oracle
FROM eclipse-temurin:17-jre

RUN microdnf upgrade && microdnf remove expat fontconfig freetype \
aajohan-comfortaa-fonts fontpackages-filesystem gzip bzip2 tar libpng \
binutils && microdnf clean all
RUN apt-get update && apt-get upgrade -y && \
apt-get purge curl libbinutils libctf0 libctf-nobfd0 libncurses6 -y && \
apt-get autoremove -y && apt-get clean

RUN mkdir -p /app/data && chown 1001:1001 /app/data
COPY target/blaze-standalone.jar /app/
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The goal of this project is to provide a FHIR® Store with an internal CQL Evalu

Blaze passes all [Touchstone FHIR 4.0.1 Basic Tests][12] and almost all [CQL Tests][3]. Please refer to the [Conformance](docs/conformance.md) section and report any issues you encounter during evaluation.

Latest release: [v0.17.11][5]
Latest release: [v0.17.12][5]

## Quick Start

Expand Down Expand Up @@ -72,7 +72,7 @@ Unless required by applicable law or agreed to in writing, software distributed

[3]: <https://cql.hl7.org/tests.html>
[4]: <https://alexanderkiel.gitbook.io/blaze/deployment>
[5]: <https://github.com/samply/blaze/releases/tag/v0.17.11>
[5]: <https://github.com/samply/blaze/releases/tag/v0.17.12>
[6]: <https://www.yourkit.com/java/profiler/>
[7]: <https://www.yourkit.com/.net/profiler/>
[8]: <https://www.yourkit.com/youmonitor/>
Expand Down
2 changes: 1 addition & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
:outdated
{:replace-deps
{com.github.liquidz/antq
{:mvn/version "1.8.847"}
{:mvn/version "1.9.863"}

org.slf4j/slf4j-nop
{:mvn/version "1.7.36"}}
Expand Down
2 changes: 1 addition & 1 deletion docs/cql-queries/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ Under `group[0].population[0].count` the result of the query can be found.
By default, the evaluation results in a MeasureReport of type `summary`. Such a MeasureReport contains only the number of resources of each population. However, if you also need the resources itself, you can have a MeasureReport of type `subject-list` generated. This works as follows:

```sh
curl -sd '{"resourceType": "Parameters", "parameter": [{"name": "periodStart", "value": "2000"}, {"name": "periodEnd", "value": "2030"}, {"name": "measure", "value": "urn:uuid:49f4c7de-3320-4208-8e60-ecc0d8824e08"}, {"name": "reportType", "value": "subject-list"}]}' -H "Content-Type: application/fhir+json" 'http://localhost:8080/fhir/Measure/$evaluate-measure'
curl -sd '{"resourceType": "Parameters", "parameter": [{"name": "periodStart", "valueDate": "2000"}, {"name": "periodEnd", "valueDate": "2030"}, {"name": "measure", "valueString": "urn:uuid:49f4c7de-3320-4208-8e60-ecc0d8824e08"}, {"name": "reportType", "valueCode": "subject-list"}]}' -H "Content-Type: application/fhir+json" 'http://localhost:8080/fhir/Measure/$evaluate-measure'
```

the result should be the following MeasureReport:
Expand Down
4 changes: 2 additions & 2 deletions docs/deployment/docker-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Blaze should log something like this:
2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:64] - JVM version: 16.0.2
2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:65] - Maximum available memory: 1738 MiB
2021-06-27T11:02:37.835Z ee086ef908c1 main INFO [blaze.core:66] - Number of available processors: 8
2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.17.11 in 8.2 seconds
2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.17.12 in 8.2 seconds
```

In order to test connectivity, query the health endpoint:
Expand All @@ -47,7 +47,7 @@ that should return:
```json
{
"name": "Blaze",
"version": "0.17.11"
"version": "0.17.12"
}
```

Expand Down
16 changes: 8 additions & 8 deletions docs/deployment/manual-deployment.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Manual Deployment

The installation works under Windows, Linux and macOS. The only dependency is an installed OpenJDK 11. Blaze is tested with [AdoptOpenJDK][1].
The installation works under Windows, Linux and macOS. The only dependency is an installed OpenJDK 11 or 17 with 17 recommended. Blaze is tested with [Eclipse Temurin][1].

Blaze runs on the JVM and comes as single JAR file. Download the most recent version [here](https://github.com/samply/blaze/releases/tag/v0.17.11). Look for `blaze-0.17.11-standalone.jar`.
Blaze runs on the JVM and comes as single JAR file. Download the most recent version [here](https://github.com/samply/blaze/releases/tag/v0.17.12). Look for `blaze-0.17.12-standalone.jar`.

After the download, you can start blaze with the following command (Linux, macOS):

```sh
java -jar blaze-0.17.11-standalone.jar -m blaze.core
java -jar blaze-0.17.12-standalone.jar -m blaze.core
```

Blaze will run with an in-memory, volatile database for testing and demo purposes.
Expand All @@ -17,14 +17,14 @@ Blaze can be run with durable storage by setting the environment variables `STOR
Under Linux/macOS:

```sh
STORAGE=standalone java -jar blaze-0.17.11-standalone.jar -m blaze.core
STORAGE=standalone java -jar blaze-0.17.12-standalone.jar -m blaze.core
```

Under Windows, you need to set the Environment variables in the PowerShell before starting Blaze:

```powershell
$Env:STORAGE="standalone"
java -jar blaze-0.17.11-standalone.jar -m blaze.core
java -jar blaze-0.17.12-standalone.jar -m blaze.core
```

This will create three directories called `index`, `transaction` and `resource` inside the current working directory, one for each database part used.
Expand All @@ -42,7 +42,7 @@ The output should look like this:
2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:64] - JVM version: 16.0.2
2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:65] - Maximum available memory: 1738 MiB
2021-06-27T11:02:37.835Z ee086ef908c1 main INFO [blaze.core:66] - Number of available processors: 8
2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.17.11 in 8.2 seconds
2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.17.12 in 8.2 seconds
```

In order to test connectivity, query the health endpoint:
Expand All @@ -62,11 +62,11 @@ that should return:
```json
{
"name": "Blaze",
"version": "0.17.11"
"version": "0.17.12"
}
```

Blaze will be configured through environment variables which are documented [here][2].

[1]: <https://adoptopenjdk.net>
[1]: <https://adoptium.net>
[2]: <environment-variables.md>
2 changes: 1 addition & 1 deletion evaluate-measure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ evaluate-measure() {
}

evaluate-measure-list() {
curl -sd '{"resourceType": "Parameters", "parameter": [{"name": "periodStart", "value": "2000"}, {"name": "periodEnd", "value": "2030"}, {"name": "reportType", "value": "subject-list"}]}' \
curl -sd '{"resourceType": "Parameters", "parameter": [{"name": "periodStart", "valueDate": "2000"}, {"name": "periodEnd", "valueDate": "2030"}, {"name": "reportType", "valueCode": "subject-list"}]}' \
-H "Content-Type: application/fhir+json" "$BASE/Measure/$1/\$evaluate-measure"
}

Expand Down
2 changes: 1 addition & 1 deletion modules/cassandra/deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

;; current version of transitive dependency of com.datastax.oss/java-driver-core
io.netty/netty-handler
{:mvn/version "4.1.78.Final"}}
{:mvn/version "4.1.79.Final"}}

:aliases
{:test
Expand Down
2 changes: 1 addition & 1 deletion modules/cql/deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{:mvn/version "2.13.3"}

info.cqframework/cql-to-elm
{:mvn/version "1.5.9"
{:mvn/version "1.5.10"
:exclusions
[com.google.code.javaparser/javaparser
info.cqframework/qdm
Expand Down
2 changes: 1 addition & 1 deletion modules/fhir-path/deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{:local/root "../fhir-structure"}

info.cqframework/cql
{:mvn/version "1.5.9"}}
{:mvn/version "1.5.10"}}

:aliases
{:test
Expand Down
8 changes: 5 additions & 3 deletions modules/fhir-structure/src/blaze/fhir/spec/impl.clj
Original file line number Diff line number Diff line change
Expand Up @@ -374,14 +374,16 @@


(defn remove-choice-type
"Removes the type suffix from the first key of a choice typed data element."
"Removes the type suffix from the first key of a choice typed data element.
Also removes bare properties with key `key` if no typed keys were found."
[m typed-keys key]
(loop [[k & keys] typed-keys]
(if k
(if-some [v (get m k)]
(-> (dissoc m k) (assoc key v))
(recur keys))
m)))
(dissoc m key))))


(def ^:private choice-type-key-cache
Expand All @@ -392,7 +394,7 @@
(keyword (str (name key) (str/capital (name type)))))))))


(defn choice-type-key [key type]
(defn- choice-type-key [key type]
(.get ^LoadingCache choice-type-key-cache [key type]))


Expand Down
28 changes: 25 additions & 3 deletions modules/fhir-structure/test/blaze/fhir/spec_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -4332,9 +4332,9 @@
[#fhir/Extension
{:value #fhir/Reference{:reference "Patient/153540"}}]}
#fhir/uri
{:extension
[#fhir/Extension
{:value #fhir/Reference{:reference "Observation/153628"}}]}]}
{:extension
[#fhir/Extension
{:value #fhir/Reference{:reference "Observation/153628"}}]}]}
[["Procedure" "153904"]
["Condition" "153931"]
["Patient" "153540"]
Expand Down Expand Up @@ -4381,6 +4381,28 @@
["Observation" "204754"]])))


(deftest task-test
(testing "conforming"
(s2/form :fhir.json.Task/output)
(testing "JSON"
(are [json fhir] (= fhir (s2/conform :fhir.json/Task json))
{:resourceType "Task"
:output
[{:valueReference {:reference "bar"}}]}
{:fhir/type :fhir/Task
:output
[{:fhir/type :fhir.Task/output
:value #fhir/Reference{:reference "bar"}}]})

(testing "bare :value properties are removed"
(are [json fhir] (= fhir (s2/conform :fhir.json/Task json))
{:resourceType "Task"
:output
[{:value {:reference "bar"}}]}
{:fhir/type :fhir/Task
:output
[{:fhir/type :fhir.Task/output}]})))))

(deftest primitive-val-test
(are [x] (fhir-spec/primitive-val? x)
"foo"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
:value #fhir/date"2015"}
{:fhir/type :fhir.Parameters/parameter
:name "measure"
:value "measure-202606"}]}}]]
:value #fhir/string"measure-202606"}]}}]]
(let [{:blaze.fhir.operation.evaluate-measure/keys [params]}
@(handler request)]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@
:parameter
[{:fhir/type :fhir.Parameters/parameter
:name "measure"
:value "url-181501"}
:value #fhir/string"url-181501"}
{:fhir/type :fhir.Parameters/parameter
:name "periodStart"
:value #fhir/date"2014"}
Expand Down
2 changes: 1 addition & 1 deletion modules/rest-api/src/blaze/rest_api/capabilities.clj
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
:copyright
#fhir/markdown"Copyright 2019 - 2022 The Samply Community\n\nLicensed 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\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless 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."
:kind #fhir/code"instance"
:date #fhir/dateTime"2022-07-13"
:date #fhir/dateTime"2022-07-21"
:software
{:name "Blaze"
:version version}
Expand Down
2 changes: 1 addition & 1 deletion modules/server/deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
{:local/root "../module-base"}

org.eclipse.jetty/jetty-server
{:mvn/version "9.4.46.v20220331"}
{:mvn/version "9.4.48.v20220622"}

ring/ring-jetty-adapter
{:mvn/version "1.9.5"
Expand Down
2 changes: 1 addition & 1 deletion perf-test/gatling/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>samply.blaze</groupId>
<artifactId>gatling</artifactId>
<version>0.17.11</version>
<version>0.17.12</version>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>samply</groupId>
<artifactId>blaze</artifactId>
<version>0.17.11</version>
<version>0.17.12</version>
<name>blaze</name>

<description>A FHIR Store with internal, fast CQL Evaluation Engine</description>
Expand Down
2 changes: 1 addition & 1 deletion src/blaze/system.clj
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@


(def ^:private root-config
{:blaze/version "0.17.11"
{:blaze/version "0.17.12"

:blaze/clock {}

Expand Down

0 comments on commit 40c0939

Please sign in to comment.