Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3.0.0 #36

Merged
merged 139 commits into from
Oct 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
1cce512
Merge pull request #1 from medizininformatik-initiative/abide-v2
juliangruendner Mar 21, 2022
947ea0a
add troubleshooting script and Readme
juliangruendner Mar 28, 2022
db72976
rename folders, update docker image references and set restart policy
juliangruendner Apr 8, 2022
c8f931f
Merge branch 'debugging-and-test' into update-mii
juliangruendner Apr 8, 2022
8b6a8f0
add .env to all feasibility triangle folders for config, fix flare fo…
juliangruendner Apr 8, 2022
a9814d3
update .env vars, add compose project to .sh scripts
juliangruendner Apr 8, 2022
87c1044
make all variables available in .env files, remove codex references, …
juliangruendner Apr 12, 2022
440c10a
fix env var dsf bpe
juliangruendner Apr 12, 2022
51c844a
Update readme for feasibility triangle
juliangruendner Apr 12, 2022
9a5ed4d
update readme
juliangruendner Apr 12, 2022
0d2ec3e
update main readme, remove old files
juliangruendner Apr 12, 2022
e9239d7
update feasibility portal readme
juliangruendner Apr 12, 2022
fef77a7
add readme for local feasibility portal installation
juliangruendner Apr 13, 2022
52060c4
update backend .env
juliangruendner Apr 25, 2022
73db7ab
remove .env and add .env.default for each component
juliangruendner Apr 25, 2022
4c3d8fe
add env file initialisation script
juliangruendner Apr 25, 2022
9e6f557
fix aktin default host and port and initialisation of deploy-config.j…
juliangruendner Apr 28, 2022
e316b82
update .env file initialisation scripts and add info about .env to bo…
juliangruendner Apr 28, 2022
762ba62
update backend and gui and add allowed origins env to readme
juliangruendner Apr 28, 2022
d32589f
remove develop auth files
juliangruendner Apr 28, 2022
e37be79
add auth files to .gitignore
juliangruendner Apr 28, 2022
a4264bf
add testdata download script
juliangruendner Apr 28, 2022
3805e3c
update readme with information about testdata upload
juliangruendner Apr 28, 2022
00ae15c
update readme
juliangruendner Apr 28, 2022
0b80769
update readme
juliangruendner Apr 28, 2022
90ebd7c
update readme
juliangruendner Apr 28, 2022
ee37a1b
Merge pull request #6 from medizininformatik-initiative/update-mii
juliangruendner Apr 28, 2022
0a84322
portal backend set keycloak enabled = true as default
juliangruendner May 2, 2022
8e48d21
Merge branch 'num-codex:main' into main
gebele May 5, 2022
19a6e21
update backend and gui version to new releases
juliangruendner May 18, 2022
5676622
Merge branch 'main' of github.com:medizininformatik-initiative/feasib…
juliangruendner May 18, 2022
345ca09
fix backend docker-compose file env vars
juliangruendner May 19, 2022
bd14919
update keycloak and env files to reflect generalised MII repo
juliangruendner Jul 7, 2022
83ee55d
update readme - remove keycloak url setting from local setup
juliangruendner Jul 7, 2022
d9d656b
change obfuscation to +-5 and return 0 if < 5 after obfuscation
juliangruendner Jul 8, 2022
20b4550
fix: remove incorrect log message to stdout
juliangruendner Jul 8, 2022
daf6625
inclue 0 in addition of random numbers and return 0 based if unobfusc…
juliangruendner Jul 8, 2022
ac95a67
fix: add and subtract value between -5 and +5 correctly and move chec…
juliangruendner Jul 11, 2022
9cfbdeb
change obfuscation to using RANDOM var
juliangruendner Jul 12, 2022
e1004a6
Merge pull request #11 from medizininformatik-initiative/change-obfus…
juliangruendner Jul 12, 2022
7c710d6
update aktin-client version
juliangruendner Jul 12, 2022
a3e7be7
fix: quote QUERY_INPUT when writing to log
juliangruendner Aug 12, 2022
0242bb1
update aktin client
juliangruendner Aug 12, 2022
53a7a6d
Add Shell Script Linter Job to CI
EmteZogaf Aug 15, 2022
42371eb
Fix Shellcheck Warnings in Scripts
EmteZogaf Aug 16, 2022
966a844
Fix Base Auth Setup in CI
EmteZogaf Aug 17, 2022
f3a9a1a
update to new release
juliangruendner Aug 22, 2022
1b991b6
Add Support for New DSF Plugin Version
DiCanio Jun 3, 2022
680b22e
Revise Overview Structure in Triangle Docs
DiCanio Jun 29, 2022
0a6cfeb
Add Basic DSF Check Utility
DiCanio Aug 8, 2022
db49e6b
Add Trust Store Utility
DiCanio Aug 8, 2022
1f8b47e
Add Link to DSF Configuration Wiki
DiCanio Aug 25, 2022
d03b501
bump versions flare, blaze and nginx
juliangruendner Sep 5, 2022
fb1fc23
add new flare env vars
juliangruendner Sep 5, 2022
aa0cd14
Merge pull request #16 from medizininformatik-initiative/lint-shell-ci
juliangruendner Sep 5, 2022
07a389b
bump versions, add env vars and flyway migration
juliangruendner Sep 5, 2022
27ed98c
Merge branch 'main' into 1-6-0-release
juliangruendner Sep 5, 2022
19d905c
Merge pull request #18 from medizininformatik-initiative/enhancement/…
juliangruendner Sep 6, 2022
d20d312
merge main with dsf update
juliangruendner Sep 6, 2022
9e75c7f
add dsf and update vesrions
juliangruendner Sep 7, 2022
bff652b
bump portal versions
juliangruendner Sep 7, 2022
c94e32c
bump aktin version and add aktin n threads to config
juliangruendner Sep 7, 2022
59899c1
bump backend version
juliangruendner Sep 8, 2022
894f209
update readmes to be compatible with new version
juliangruendner Sep 8, 2022
1da2516
add info about update for triangle
juliangruendner Sep 8, 2022
19c2a3e
add dsf update info to readme
juliangruendner Sep 8, 2022
b9d7a7d
update readme
juliangruendner Sep 8, 2022
5c043ee
bump component versions
juliangruendner Sep 8, 2022
073ab5a
Merge pull request #20 from medizininformatik-initiative/1-6-0-release
juliangruendner Sep 8, 2022
5508888
fix dsf-checks.sh according to linter
juliangruendner Sep 8, 2022
f57ccf8
update aktin-client to version with bash and change exec scripts back…
juliangruendner Sep 8, 2022
459dd6c
change check according to lint
juliangruendner Sep 8, 2022
bff8500
change to lint
juliangruendner Sep 8, 2022
1a0ac53
fix dsf-check according to lint
juliangruendner Sep 8, 2022
bb61257
fix sh according to lint
juliangruendner Sep 8, 2022
83ee6ef
Merge pull request #21 from medizininformatik-initiative/1-6-0-release
juliangruendner Sep 8, 2022
448a629
update Readme - add mapper groups realm roles
juliangruendner Sep 13, 2022
1dd51ef
update to new aktin client version with feasibility plugin
juliangruendner Mar 1, 2023
f917f57
update readme for new aktin client version
juliangruendner Mar 1, 2023
9ac82c1
update docker image to image based on official aktin image
juliangruendner Mar 2, 2023
df3716b
Merge pull request #28 from medizininformatik-initiative/update-aktin
juliangruendner Mar 16, 2023
0238afa
update gui, backend, aktin, flare
juliangruendner Mar 19, 2023
10b4f3f
add flare and aktin update
juliangruendner Mar 19, 2023
0b9e693
add header port forwarding to triangle rev proxy
juliangruendner Mar 19, 2023
fa72856
update lang files, update version gui, blaze and flare
juliangruendner Mar 22, 2023
6ad3bfb
update ui lang files
juliangruendner Mar 22, 2023
f18050e
add mime type svg for new mii logo
juliangruendner Mar 22, 2023
17aa7fe
update backend version and add new env vars
juliangruendner Mar 22, 2023
caea35a
remove double env var entries backend
juliangruendner Mar 22, 2023
f243e7e
bump rev proxy, backend, aktin and gui version, add new env vars to r…
juliangruendner Mar 24, 2023
67be8ca
remove hapi fhir server setup
juliangruendner Mar 24, 2023
a797ebc
update lang files and gui
juliangruendner Mar 24, 2023
adedac8
bump gui version
juliangruendner Mar 24, 2023
6f15e5c
bump flare version
juliangruendner Mar 28, 2023
3898c82
update keycloak to newest version, bump backend and gui version
juliangruendner Mar 28, 2023
138bfc3
remove port exposing keycloak
juliangruendner Mar 28, 2023
39a244b
update readmes, env vars and update version backend and gui
juliangruendner Mar 29, 2023
6de9803
fix path to db migration
juliangruendner Mar 29, 2023
57ce233
remove old tests and adjust ci
juliangruendner Mar 29, 2023
9e377ee
remove dsf from deployment
juliangruendner Mar 29, 2023
b37c67e
update backend db
juliangruendner Mar 29, 2023
0291f2d
remove unnecessary .pem example files
juliangruendner Mar 29, 2023
85be2a9
remove unnecessary assets folder
juliangruendner Mar 29, 2023
2261e98
update troubleshooting and flare test queries
juliangruendner Mar 29, 2023
8647a9c
add changelog
juliangruendner Mar 29, 2023
b54f200
add version badge
juliangruendner Mar 29, 2023
eec3909
update version badge link
juliangruendner Mar 29, 2023
f990b85
Merge pull request #29 from medizininformatik-initiative/release/v2.0.0
juliangruendner Mar 29, 2023
0bd22de
Merge pull request #30 from medizininformatik-initiative/release/v2.0.0
juliangruendner Mar 29, 2023
e838106
remove old develop keycloak dump
juliangruendner Mar 29, 2023
5af301a
update readme
juliangruendner Mar 30, 2023
123c2a2
fix changelog
juliangruendner Mar 30, 2023
e9a66df
update readme
juliangruendner Mar 30, 2023
cee941d
Remove dsf-broker entries from shell scripts
michael-82 Mar 31, 2023
4463274
update readme, fix default env vars
juliangruendner Mar 31, 2023
53c522e
Merge branch 'main' into minor-readme-fixes
juliangruendner Mar 31, 2023
7a796f4
Merge pull request #32 from medizininformatik-initiative/minor-readme…
juliangruendner Mar 31, 2023
df05c63
fix init env files triangle
juliangruendner Mar 31, 2023
5c9a3ca
fix: update readme, set env var defaults for local setup
juliangruendner Mar 31, 2023
24ba746
Merge branch 'main' into develop
EmteZogaf Jun 9, 2023
34d373a
fix: get mii testdata
juliangruendner Apr 4, 2023
6568f8c
Update Blaze to v0.21
alexanderkiel Jun 9, 2023
61a4184
Merge pull request #36 from medizininformatik-initiative/feature/upda…
alexanderkiel Jun 13, 2023
53ff4cf
fix nginx config bug - missing / for flare endpoint
juliangruendner Jun 20, 2023
c84ddd1
fix: change nginx config - change to var from ad forward header
juliangruendner Jun 20, 2023
f38426b
Update Troubleshooting Documentation for Feasibility Triangle
juliangruendner May 24, 2023
d53ecf6
Merge pull request #37 from medizininformatik-initiative/feature/trou…
alexanderkiel Jul 25, 2023
f892375
Update AKTIN, FLARE and Blaze
juliangruendner Jul 25, 2023
c9ca6af
Merge pull request #38 from medizininformatik-initiative/prepare-v2.1.0
juliangruendner Jul 25, 2023
1e4e089
remove unnecessary ontology files and folders
juliangruendner Sep 29, 2023
efce947
Add volume to backend db, update ui and associated language files
juliangruendner Sep 29, 2023
9190414
Begin Update Readme
juliangruendner Sep 29, 2023
a6dcfc3
refactor, bump backend version
juliangruendner Sep 29, 2023
644f14a
Add persistent cache volume to flare
juliangruendner Oct 4, 2023
c7f2cf1
Update backend, gui and readme
juliangruendner Oct 5, 2023
60e2e48
Update lang files
juliangruendner Oct 6, 2023
d5f08ac
bump versions to release versions for flare, aktin, backend
juliangruendner Oct 8, 2023
90ef2ea
bump ui version
juliangruendner Oct 8, 2023
5315aac
Release v3.0.0
juliangruendner Oct 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/scripts/install-blazectl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash -e

VERSION="0.13.0"

curl -sLO "https://github.com/samply/blazectl/releases/download/v$VERSION/blazectl-$VERSION-linux-amd64.tar.gz"
tar xzf "blazectl-$VERSION-linux-amd64.tar.gz"
rm "blazectl-$VERSION-linux-amd64.tar.gz"
sudo mv ./blazectl /usr/local/bin/blazectl
21 changes: 21 additions & 0 deletions .github/scripts/test-consent-queries.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash -e

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

BASE="http://localhost:8081/fhir"
PERMIT_URI="$BASE/Consent?mii-provision-provision-code-type=2.16.840.1.113883.3.1937.777.24.5.1.1\$permit"
DENY_URI="$BASE/Consent?mii-provision-provision-code-type=2.16.840.1.113883.3.1937.777.24.5.1.1\$deny"

count() {
RESP=$(curl -sH 'Prefer: handling=strict' -H 'Accept: application/fhir+json' "$1")

if [ "$(echo "$RESP" | jq -r .resourceType)" = "OperationOutcome" ]; then
echo "$RESP" | jq -r .issue[].diagnostics
else
echo "$RESP" | jq -r .total
fi
}

test "permit count" "$(count "$PERMIT_URI")" "1"
test "permit count" "$(count "$DENY_URI")" "0"
19 changes: 19 additions & 0 deletions .github/scripts/util.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash -e

test() {
if [ "$2" = "$3" ]; then
echo "OK: the $1 is $3"
else
echo "Fail: the $1 is $2, expected $3"
exit 1
fi
}

test-le() {
if [ "$2" -le "$3" ]; then
echo "OK: the $1 of $2 is <= $3"
else
echo "Fail: the $1 is $2, expected <= $3"
exit 1
fi
}
14 changes: 14 additions & 0 deletions .github/scripts/wait-for-url.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash -e

URL=$1
START_EPOCH="$(date +"%s")"

eclipsed() {
EPOCH="$(date +"%s")"
echo $((EPOCH - START_EPOCH))
}

# wait at maximum 120 seconds
while [[ ($(eclipsed) -lt 120) && ("$(curl -s -o /dev/null -w '%{response_code}' "$URL")" != "200") ]]; do
sleep 2
done
74 changes: 22 additions & 52 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,69 +9,39 @@ on:
pull_request:
branches:
- main

env:
TEST_DATA_REF: v0.2.0
TEST_DATA_PATH: test/data-to-sq
AUTH_USERNAME: "codex-developer"
AUTH_PASSWORD: "codex"
- develop

jobs:

test:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout Deploy Repo
uses: actions/checkout@v2

- name: Checkout Test Data Repo
uses: actions/checkout@v2
with:
repository: num-codex/codex-testdata-to-sq
ref: ${{ env.TEST_DATA_REF }}
path: ${{ env.TEST_DATA_PATH }}
- name: Check out Git repository
uses: actions/checkout@v3

- name: Cache Test Data
id: cache-test-data
uses: actions/cache@v2
- name: Check shell scripts
uses: ludeeus/action-shellcheck@master
with:
path: ${{ env.TEST_DATA_PATH }}/testCases
key: testcases-${{ hashFiles('**/*.json') }}
ignore_paths: .github/scripts

- name: Setup Python
if: steps.cache-test-data.outputs.cache-hit != 'true'
uses: actions/setup-python@v2
test-feasibility-triangle-fhir-server:
runs-on: ubuntu-latest

- name: Generate Test Data
if: steps.cache-test-data.outputs.cache-hit != 'true'
working-directory: ${{ env.TEST_DATA_PATH }}
run: python main.py
steps:
- name: Check out Git repository
uses: actions/checkout@v3

- name: Setup Base Auth
run: bash num-node/setup-base-auth.sh "${{ env.AUTH_USERNAME }}" "${{ env.AUTH_PASSWORD }}"
- name: Install Blazectl
run: .github/scripts/install-blazectl.sh

- name: Build the stack
env:
CODEX_DSF_DIC_FHIR_APP_JVM_ARGS: -Xmx1g
CODEX_DSF_DIC_BPE_APP_JVM_ARGS: -Xmx500m
CODEX_DSF_ZARS_FHIR_APP_JVM_ARGS: -Xmx1g
CODEX_DSF_ZARS_BPE_APP_JVM_ARGS: -Xmx500m
CODEX_FEASIBILITY_BACKEND_API_BASE_URL: http://localhost:8091/api/
run: ./start-zars-and-num-node.sh --disable-result-obfuscation
- name: Start Blaze FHIR Server
run: docker-compose -f feasibility-triangle/fhir-server/docker-compose.yml up -d

- name: Wait for FHIR Server Running
uses: ifaxity/wait-on-action@v1
with:
resource: http://localhost:8081/health
timeout: 60000
- name: Wait for Blaze FHIR Server
run: .github/scripts/wait-for-url.sh http://localhost:8081/health

- name: Initialize Test Data
run: bash num-node/init-testdata.sh
- name: Load Data
run: blazectl --no-progress --server http://localhost:8081/fhir upload .github/test-data

- name: Run tests
env:
TERM: "xterm"
QUERY_ENDPOINT_URL: "http://localhost:8091/api/v1/query-handler/run-query"
AUTH_TOKEN_REQUEST_URL: "https://localhost:8443/auth/realms/codex-develop/protocol/openid-connect/token"
run: test/run_tests.sh
- name: Run Test Queries
run: .github/scripts/test-consent-queries.sh
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,8 @@ test/testdata
num-node/testdata
!num-node/testdata/test-patient-all.json
start-zars-and-num-node-all.sh
.env
deploy-config.json
*.pem
!ca.pem
.htpasswd
88 changes: 88 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Changelog

All notable changes to this project will be documented in this file.

## Component specific changes

Please refer to the respective repositories for a more in depth changelog of single components:

|Component|Link|
|--|--|
|UI|<https://github.com/medizininformatik-initiative/feasibility-gui>|
|Ontology Generation|<https://github.com/medizininformatik-initiative/fhir-ontology-generator>|
|Backend|<https://github.com/medizininformatik-initiative/feasibility-backend>|
|AKTIN Broker|<https://github.com/aktin/broker>|
|AKTIN Feasibility Plugin|<https://github.com/medizininformatik-initiative/feasibility-aktin-plugin>|
|DSF Feasibility Plugin|<https://github.com/medizininformatik-initiative/feasibility-dsf-process>|
|FLARE|<https://github.com/medizininformatik-initiative/flare>|
|Blaze FHIR server|<https://github.com/medizininformatik-initiative/blaze>|

## [3.0.0] - 2023-08-08

### Overall

- Updated all components and underlying libraries to the new versions
- Updated all components to version compatible with ontology version 2.0
- Adjusted readme to reflect changes in the underlying components

### Features

| Feature | Affected Components |
| -- | -- |
|Added support for referenced criteria|UI, backend, Ontology, Sq2cql, FLARE|
|Added support for composite search parameters|UI, SQ, Ontology, Sq2cql, FLARE|
|Updated to new DSF version v1.0.0 compatible with new DSF verison v1.x | Backend, DSF feasibility plugin|
|Added Dateselection|UI|
|Update ontology to new ontology generation and added ontology to images directly| Ontology, Backend, FLARE|
|Added encrypted result logging| Backend|
|Add support for self-signed certificates| Backend, FLARE, DSF feasibility plugin |


## [2.1.0] - 2023-07-25

### Overall

- Updated AKTIN Client to 1.6.0: Fix websocket timeout and improve error handling - <https://github.com/medizininformatik-initiative/feasibility-aktin-plugin/releases/tag/v1.6.0>
- Updated FLARE to 1.0: Fix Execution Operation - <https://github.com/medizininformatik-initiative/flare/releases/tag/v1.0.0>
- Updated Blaze to 0.22: implements $everything, adds basic frontend, Support for Custom Search Parameters <https://github.com/samply/blaze/releases/tag/v0.22.0>
- Added Troubleshooting specific for triangle
- Update testdata repo from MII


## [2.0.0] - 2023-03-29

### Overall

- Updated all components and underlying libraries to the new versions
- Updated UI to angular 15
- Updated keycloak to 21.0
- Updated nginx to 1.23
- Refactored deploy repository - removed DSF from this deployment and added reference to DSF deployment in Readme
- Removed hapi fhir-server from deployment

### Features

| Feature | Affected Components |
| -- | -- |
|Added calculated criterion age|Ontology, Sq2cql, FLARE|
|Improved at site obfuscation|DSF Feasibility Plugin, AKTIN Client|
|Added SQ query import and export|UI|
|Improved FHIR query execution and result caching |FLARE|
|Update Consent to new search params and add central MII consent query|UI, Ontology|
|Update ontology to newest KDS version| Ontology|
|Update AKTIN client to new version, move query handling to Java plugin and add query validation|AKTIN client|
|SQ query validation|Backend, AKTIN client|
|Add CQL execution to direct broker| Backend|

### Security and Privacy

| Feature | Affected Components |
| - | - |
|Added extra security measures, which restrict number queries a user can send and results a user can view|UI, Backend|
|Improved at site obfuscation|DSF Feasibility Plugin, Aktin Client|
|Hard rate limit at sites for AKTIN and DSF feasibility plugins|DSF feasibility plugin, AKTIN Client|
|Query results are no longer persisted and only kept in memory for a configurable amount of time|Backend|
|Delete query results from central DSF and AKTIN broker on collection|Backend|
|User blacklisting if too many queries are sent in a given time|Backend|

## [1.6.0] - 2022-09-08
Loading