Skip to content

Commit

Permalink
Merge pull request #929 from samply/release-v0.20.0
Browse files Browse the repository at this point in the history
Release v0.20.0
  • Loading branch information
alexanderkiel authored Mar 1, 2023
2 parents c4120e9 + 70ada4f commit 948eee3
Show file tree
Hide file tree
Showing 112 changed files with 1,754 additions and 528 deletions.
6 changes: 2 additions & 4 deletions .github/scripts/download-all-resources.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"

BASE="http://localhost:8080/fhir"
EXPECTED_SIZE=$(curl -s "$BASE?_summary=count" | jq -r .total)
ACTUAL_SIZE=$(blazectl --server "$BASE" download 2>/dev/null | wc -l | xargs)

FILE_NAME=$(uuidgen)
blazectl --no-progress --server "$BASE" download -o "$FILE_NAME.ndjson"

test "download size" "$(wc -l "$FILE_NAME.ndjson" | xargs | cut -d ' ' -f1)" "$EXPECTED_SIZE"
test "download size" "$ACTUAL_SIZE" "$EXPECTED_SIZE"
19 changes: 19 additions & 0 deletions .github/scripts/download-observations-elements.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash -e

SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
. "$SCRIPT_DIR/util.sh"

BASE="http://localhost:8080/fhir"
NUM_PATIENTS=$(curl -s "$BASE/Patient?_summary=count" | jq -r .total)

NUM_CODES=$(blazectl --server "$BASE" download Observation -q '_elements=subject' 2>/dev/null | jq -rc '.code' | grep -cv null | xargs)
test "number of codes using GET" "$NUM_CODES" "0"

NUM_SUBJECT_REFS=$(blazectl --server "$BASE" download Observation -q '_elements=subject' 2>/dev/null | jq -rc '.subject.reference' | sort -u | wc -l | xargs)
test "number of unique subject refs using GET" "$NUM_SUBJECT_REFS" "$NUM_PATIENTS"

NUM_CODES=$(blazectl --server "$BASE" download Observation -p -q '_elements=subject' 2>/dev/null | jq -rc '.code' | grep -cv null | xargs)
test "number of codes using POST" "$NUM_CODES" "0"

NUM_SUBJECT_REFS=$(blazectl --server "$BASE" download Observation -p -q '_elements=subject' 2>/dev/null | jq -rc '.subject.reference' | sort -u | wc -l | xargs)
test "number of unique subject refs using POST" "$NUM_SUBJECT_REFS" "$NUM_PATIENTS"
6 changes: 2 additions & 4 deletions .github/scripts/download-resources.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
BASE="http://localhost:8080/fhir"
TYPE=$1
EXPECTED_SIZE=$(curl -s "$BASE/${TYPE}?_summary=count" | jq -r .total)
ACTUAL_SIZE=$(blazectl --server "$BASE" download "$TYPE" 2>/dev/null | wc -l | xargs)

FILE_NAME=$(uuidgen)
blazectl --no-progress --server "$BASE" download "$TYPE" -o "$FILE_NAME.ndjson"

test "download size" "$(wc -l "$FILE_NAME.ndjson" | xargs | cut -d ' ' -f1)" "$EXPECTED_SIZE"
test "download size" "$ACTUAL_SIZE" "$EXPECTED_SIZE"
2 changes: 1 addition & 1 deletion .github/scripts/evaluate-measure-subject-list.sh
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ fi

LIST_ID=$(echo "$REPORT" | jq -r '.group[0].population[0].subjectResults.reference | split("/")[1]')
PATIENT_BUNDLE=$(fetch-patients "$BASE" "$LIST_ID")
ID_COUNT=$(echo "$PATIENT_BUNDLE" | jq -r ".entry[].resource.id" | sort -u | wc -l | xargs | cut -d ' ' -f1)
ID_COUNT=$(echo "$PATIENT_BUNDLE" | jq -r ".entry[].resource.id" | sort -u | wc -l | xargs)

if [ "$ID_COUNT" = "$EXPECTED_COUNT" ]; then
echo "Success: downloaded patient count ($ID_COUNT) equals the expected count"
Expand Down
11 changes: 11 additions & 0 deletions .github/scripts/graphql.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash -e

SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
. "$SCRIPT_DIR/util.sh"

BASE="http://localhost:8080/fhir"
TYPE=$1
EXPECTED_SIZE=$(curl -s "$BASE/${TYPE}?_summary=count" | jq -r .total)
ACTUAL_SIZE=$(curl -s -H "Content-Type: application/graphql" -d "{ ${TYPE}List { id } }" "$BASE/\$graphql" | jq ".data.${TYPE}List | length")

test "size" "$ACTUAL_SIZE" "$EXPECTED_SIZE"
33 changes: 26 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ jobs:
- luid
- metrics
- openid-auth
- operation-graphql
- operation-measure-evaluate-measure
- page-store
- page-store-cassandra
Expand All @@ -85,7 +86,7 @@ jobs:
- name: Setup Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.11.1.1224'
cli: '1.11.1.1237'

- name: Check out Git repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -116,7 +117,7 @@ jobs:
- name: Setup Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.11.1.1224'
cli: '1.11.1.1237'

- name: Check out Git repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -158,7 +159,7 @@ jobs:
- name: Setup Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.11.1.1224'
cli: '1.11.1.1237'

- name: Check out Git repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -186,7 +187,7 @@ jobs:
- name: Setup Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.11.1.1224'
cli: '1.11.1.1237'

- name: Check out Git repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -372,6 +373,9 @@ jobs:
- name: Download MedicationRequest Resources - Including Medications
run: blazectl --no-progress --server http://localhost:8080/fhir download MedicationRequest -q '_include=MedicationRequest:medication' -o MedicationRequest.ndjson

- name: Download Observations using _elements=subject
run: .github/scripts/download-observations-elements.sh

- name: Search Observation _lastUpdated
run: .github/scripts/search-patient-last-updated.sh

Expand Down Expand Up @@ -528,6 +532,12 @@ jobs:
- name: Conditional Update If-None-Match
run: .github/scripts/conditional-update-if-none-match.sh

- name: GraphQL Patient
run: .github/scripts/graphql.sh Patient

- name: GraphQL Observation
run: .github/scripts/graphql.sh Observation

not-enforcing-referential-integrity-test:
needs: build
runs-on: ubuntu-22.04
Expand Down Expand Up @@ -784,7 +794,7 @@ jobs:
- name: Setup Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.11.1.1224'
cli: '1.11.1.1237'

- name: Check out Git repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -931,7 +941,7 @@ jobs:
run: .github/scripts/generate-large-binary-resource.sh

- name: Post Large Binary Resource
run: curl -f -H Content-Type:application/fhir+xml -d @large-binary.xml http://localhost:8080/fhir/Binary
run: curl -f -H Content-Type:application/fhir+xml -H Prefer:return=minimal -d @large-binary.xml http://localhost:8080/fhir/Binary

distributed-test:
needs: build
Expand Down Expand Up @@ -1073,6 +1083,9 @@ jobs:
- name: Download MedicationRequest Resources - Including Medications
run: blazectl --no-progress --server http://localhost:8080/fhir download MedicationRequest -q '_include=MedicationRequest:medication' -o MedicationRequest.ndjson

- name: Download Observations using _elements=subject
run: .github/scripts/download-observations-elements.sh

- name: Search Observation _lastUpdated
run: .github/scripts/search-patient-last-updated.sh

Expand Down Expand Up @@ -1232,6 +1245,12 @@ jobs:
- name: Conditional Update If-None-Match
run: .github/scripts/conditional-update-if-none-match.sh

- name: GraphQL Patient
run: .github/scripts/graphql.sh Patient

- name: GraphQL Observation
run: .github/scripts/graphql.sh Observation

- name: Docker Stats
run: docker stats --no-stream

Expand All @@ -1249,7 +1268,7 @@ jobs:
- name: Setup Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.11.1.1224'
cli: '1.11.1.1237'

- name: Check out Git repository
uses: actions/checkout@v3
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## v0.20.0

### New Features

* Implement Special Search Parameter _elements ([#923](https://github.com/samply/blaze/pull/923))

* Implement First Parts of Operation $graphql ([#924](https://github.com/samply/blaze/pull/924))

### Bugfixes

* Fix Indexing Error during Soundex Calculation ([#928](https://github.com/samply/blaze/pull/928))

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

## v0.19.4

### Bugfixes
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ RUN apt-get update && apt-get upgrade -y && \
rm -rf /var/lib/apt/lists/

RUN mkdir -p /app/data && chown 1001:1001 /app/data
COPY target/blaze-0.19.4-standalone.jar /app/
COPY target/blaze-0.20.0-standalone.jar /app/

WORKDIR /app
USER 1001
Expand All @@ -16,4 +16,4 @@ ENV INDEX_DB_DIR="/app/data/index"
ENV TRANSACTION_DB_DIR="/app/data/transaction"
ENV RESOURCE_DB_DIR="/app/data/resource"

CMD ["java", "-jar", "blaze-0.19.4-standalone.jar"]
CMD ["java", "-jar", "blaze-0.20.0-standalone.jar"]
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,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.19.4][5]
Latest release: [v0.20.0][5]

## Quick Start

Expand All @@ -25,7 +25,7 @@ In order to run Blaze just execute the following:

```sh
docker volume create blaze-data
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.19
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.20
```

Blaze will create multiple directories inside the `blaze-data` volume on its first start and use the same directories on subsequent starts.
Expand Down Expand Up @@ -73,7 +73,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.19.4>
[5]: <https://github.com/samply/blaze/releases/tag/v0.20.0>
[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 build.clj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
(:require [clojure.tools.build.api :as b]))

(def lib 'samply/blaze)
(def version "0.19.4")
(def version "0.20.0")
(def class-dir "target/classes")
(def basis (b/create-basis {:project "deps.edn"}))
(def uber-file (format "target/%s-%s-standalone.jar" (name lib) version))
Expand Down
12 changes: 9 additions & 3 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
blaze/interaction
{:local/root "modules/interaction"}

blaze.operation/graphql
{:local/root "modules/operation-graphql"}

blaze.operation/measure-evaluate-measure
{:local/root "modules/operation-measure-evaluate-measure"}

Expand Down Expand Up @@ -61,7 +64,7 @@
{:mvn/version "0.4.6"}

org.clojure/tools.namespace
{:mvn/version "1.4.1"}}}
{:mvn/version "1.4.2"}}}

:kaocha
{:extra-deps
Expand All @@ -75,12 +78,12 @@

:extra-deps
{org.clojure/tools.namespace
{:mvn/version "1.4.1"}}}
{:mvn/version "1.4.2"}}}

:outdated
{:replace-deps
{com.github.liquidz/antq
{:mvn/version "2.2.992"}
{:mvn/version "2.2.999"}

org.slf4j/slf4j-nop
{:mvn/version "2.0.6"}}
Expand Down Expand Up @@ -114,6 +117,7 @@
"-d" "modules/metrics"
"-d" "modules/module-base"
"-d" "modules/openid-auth"
"-d" "modules/operation-graphql"
"-d" "modules/operation-measure-evaluate-measure"
"-d" "modules/page-store"
"-d" "modules/page-store-cassandra"
Expand All @@ -127,6 +131,8 @@
"-d" "modules/test-util"
"-d" "modules/thread-pool-executor-collector"
"--exclude" "com.taoensso/timbre"
"--exclude" "org.antlr/antlr4"
"--exclude" "org.eclipse.jetty/jetty-server"
"--exclude" "org.clojure/alpha.spec"
"--exclude" "com.walmartlabs/lacinia"
"--exclude" "lambdaisland/kaocha"]}}}
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
blaze:
image: "samply/blaze:0.19"
image: "samply/blaze:0.20"
environment:
BASE_URL: "http://localhost:8080"
JAVA_TOOL_OPTIONS: "-Xmx2g"
Expand Down
2 changes: 1 addition & 1 deletion docs/authentication/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ services:
volumes:
- "../../.github/openid-auth-test/realm.json:/tmp/realm.json"
blaze:
image: "samply/blaze:0.19"
image: "samply/blaze:0.20"
environment:
BASE_URL: "http://localhost:8080"
JAVA_TOOL_OPTIONS: "-Xmx2g"
Expand Down
4 changes: 2 additions & 2 deletions docs/consistency/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ services:
HEAP_NEWSIZE: "200M"

blaze-1:
image: "samply/blaze:0.19"
image: "samply/blaze:0.20"
hostname: "blaze-1"
environment:
JAVA_TOOL_OPTIONS: "-Xmx4g -Dclojure.server.repl='{:address,\"0.0.0.0\",:port,5555,:accept,clojure.core.server/repl}'"
Expand Down Expand Up @@ -178,7 +178,7 @@ services:
restart: unless-stopped

blaze-2:
image: "samply/blaze:0.19"
image: "samply/blaze:0.20"
hostname: "blaze-2"
environment:
JAVA_TOOL_OPTIONS: "-Xmx4g"
Expand Down
2 changes: 1 addition & 1 deletion docs/cql-queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The most accessible way to create and execute CQL queries is to use the Quality
If you don't already have Blaze running, you can read about how to do it in [Deployment](deployment/README.md). If you have Docker available just run:

```
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.19
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.20
```

Start the Quality Reporting UI. You should see an empty measure list.
Expand Down
2 changes: 1 addition & 1 deletion docs/cql-queries/blazectl.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ cd blaze
If you don't already have Blaze running, you can read about how to do it in [Deployment](../deployment/README.md). If you have Docker available just run:

```sh
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.19
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.20
```

## Import some data
Expand Down
2 changes: 1 addition & 1 deletion docs/cql-queries/command-line.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ cd blaze
If you don't already have Blaze running, you can read about how to do it in [Deployment](../deployment/README.md). If you have Docker available just run:

```sh
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.19
docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.20
```

## Import some data
Expand Down
4 changes: 2 additions & 2 deletions docs/data-sync/copy/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
src:
image: "samply/blaze:0.19"
image: "samply/blaze:0.20"
environment:
BASE_URL: "http://localhost:8080"
JAVA_TOOL_OPTIONS: "-Xmx2g"
Expand All @@ -11,7 +11,7 @@ services:
- "blaze-data-src:/app/data"

dst:
image: "samply/blaze:0.19"
image: "samply/blaze:0.20"
environment:
BASE_URL: "http://localhost:8082"
SERVER_PORT: "8082"
Expand Down
2 changes: 1 addition & 1 deletion docs/data-sync/subscription/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
blaze:
image: "samply/blaze:0.19"
image: "samply/blaze:0.20"
environment:
BASE_URL: "http://localhost:8080"
JAVA_TOOL_OPTIONS: "-Xmx2g"
Expand Down
2 changes: 1 addition & 1 deletion docs/database/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ backup of all the data Blaze has written to disk, **plan for a downtime**, delet
Please start Blaze with a shell assuming that you use the volume `blaze-data`:

```sh
docker run -it -v blaze-data:/app/data samply/blaze:0.19 sh
docker run -it -v blaze-data:/app/data samply/blaze:0.20 sh
```

in that shell, go into `/app/data` and list all directories:
Expand Down
Loading

0 comments on commit 948eee3

Please sign in to comment.