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

Release/v5.0.0 #101

Merged
merged 7 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,33 @@ Please refer to the respective repositories for a more in depth changelog of sin
|TORCH|<https://github.com/medizininformatik-initiative/torch|
|Blaze FHIR server|<https://github.com/samply/blaze>|


## [5.0.0] - 2024-11-21

### Ontology

This Release is based on ontology Version [v3.0.0](https://github.com/medizininformatik-initiative/fhir-ontology-generator/releases/tag/v3.0.0)


### Overall

- Updated all components to new versions
- Made FLARE execute-cohort endpoint only available on local docker network and new FLARE version makes enabling execute-cohort endpoint configurable
- Added Fhir-Data-Evaluator (FDE) to triangle

### Features

| Feature | Affected Components |
| -- | -- |
|UI Re-Design, Restructuring of Code|UI, Backend|
|Extended Criteria Search (Elastic Search)|UI, Backend, Ontology Generation|
|Add OAuth2 to triangle components|TORCH, FLARE|
|Added Dataselection and Extraction |UI, Backend, Ontology Generation, TORCH|
|Migrated from Mapping code system tree strcture to poly tree structure to support non strict hierarchical code systems like sct |UI, Backend, Ontology Generation, TORCH, FLARE|
|Loading and displaying of criteria availability |UI, Backend, Ontology Generation|
|Added new modules and Updated Ontology|UI, Backend, Ontology Generation, FLARE, sq2cq, TORCH|


## [5.0.0-alpha.1] - 2024-11-15

### Overall
Expand Down
1 change: 0 additions & 1 deletion feasibility-portal/backend/.env.default
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ DATAPORTAL_BACKEND_QUERYRESULT_EXPIRY_MINUTES=5
DATAPORTAL_BACKEND_LOG_LEVEL_SQL=info
DATAPORTAL_BACKEND_LOG_LEVEL=info
# ---- Elastic Search
DATAPORTAL_BACKEND_ELASTIC_SEARCH_ENABLED=true
DATAPORTAL_BACKEND_ELASTIC_SEARCH_HOST=dataportal-elastic
DATAPORTAL_BACKEND_ELASTIC_SEARCH_FILTER=context,terminology,kds_module
DATAPORTAL_ES_INIT_EXIT_ON_EXISTING_INDICES=false
Expand Down
3 changes: 1 addition & 2 deletions feasibility-portal/backend/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
dataportal-backend:
restart: unless-stopped
image: ghcr.io/medizininformatik-initiative/feasibility-backend:6.0.0-alpha.6
image: ghcr.io/medizininformatik-initiative/feasibility-backend:6.0.0
ports:
- ${DATAPORTAL_BACKEND_PORT:-127.0.0.1:8091}:8090
depends_on:
Expand Down Expand Up @@ -82,7 +82,6 @@ services:
PRIVACY_THRESHOLD_SITES_RESULT: ${DATAPORTAL_BACKEND_PRIVACY_THRESHOLD_SITES_RESULT:-0}
QUERYRESULT_DISABLE_LOG_FILE_ENCRYPTION: "true"
# ---- Elastic Search
ELASTIC_SEARCH_ENABLED: ${DATAPORTAL_BACKEND_ELASTIC_SEARCH_ENABLED:-true}
ELASTIC_SEARCH_HOST: ${DATAPORTAL_BACKEND_ELASTIC_SEARCH_HOST:-dataportal-elastic}
ELASTIC_SEARCH_FILTER: ${DATAPORTAL_BACKEND_ELASTIC_SEARCH_FILTER:-context,terminology,kds_module}
# ---- logging
Expand Down
2 changes: 1 addition & 1 deletion feasibility-portal/gui/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
dataportal-ui:
image: ghcr.io/medizininformatik-initiative/feasibility-gui:6.0.0-alpha.6
image: ghcr.io/medizininformatik-initiative/feasibility-gui:6.0.1
restart: unless-stopped
volumes:
- ./deploy-config.json:/usr/share/nginx/html/assets/config/config.deploy.json
4 changes: 2 additions & 2 deletions feasibility-portal/keycloak/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

services:
auth-db:
image: postgres:15-alpine
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: ${FEASIBILITY_KC_DB:-keycloakdb}
Expand All @@ -11,7 +11,7 @@ services:
- "feasibility-auth-db:/var/lib/postgresql/data"

auth:
image: keycloak/keycloak:25.0
image: keycloak/keycloak:26.0
command: ["start", "--import-realm"]
restart: unless-stopped
environment:
Expand Down
2 changes: 2 additions & 0 deletions feasibility-triangle/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
/testdata/*.json
/testdata/*.zip
troubleshooting/input-queries.json
fhir-data-evaluator/output/*
!fhir-data-evaluator/output/README.md
21 changes: 21 additions & 0 deletions feasibility-triangle/fhir-data-evaluator/.env.default
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FDE_CONVERT_TO_CSV=false
FDE_FHIR_SERVER=http://localhost:8080/fhir
FDE_FHIR_USER=
FDE_FHIR_PASSWORD=
FDE_FHIR_MAX_CONNECTIONS=4
FDE_FHIR_MAX_QUEUE_SIZE=500
FDE_FHIR_PAGE_COUNT=1000
FDE_FHIR_BEARER_TOKEN=
FDE_FHIR_OAUTH_ISSUER_URI=
FDE_FHIR_OAUTH_CLIENT_ID=
FDE_FHIR_OAUTH_CLIENT_SECRET=
FDE_MAX_IN_MEMORY_SIZE_MIB=10
FDE_INPUT_MEASURE=./measure/kds-measure.json
FDE_OUTPUT_DIR=./output
FDE_TZ=Europe/Berlin
FDE_FHIR_REPORT_DESTINATION_SERVER=http://localhost:8080/fhir
FDE_SEND_REPORT_TO_SERVER=true
FDE_AUTHOR_IDENTIFIER_SYSTEM=http://dsf.dev/sid/organization-identifier
FDE_AUTHOR_IDENTIFIER_VALUE=fde-dic
FDE_PROJECT_IDENTIFIER_SYSTEM=http://medizininformatik-initiative.de/sid/project-identifier
FDE_PROJECT_IDENTIFIER_VALUE=fdpg-data-availability-report
41 changes: 41 additions & 0 deletions feasibility-triangle/fhir-data-evaluator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# The Fhir-Data-Evaluator (FDE)

The FDE is used as part of the feasibility triangle to collect metadata about available data on the local FHIR server.
This data can then be sent via the DSF to the central portal or loaded into the local portal to display the availability of single criteria in the fhir server.

## Running the FDE

To run the FDE copy the .env.default file to .env in the this folder and change the env variables according to your requirements.

Run the FDE by executing the `run-fde` script provided here.

You can as is configured by default send the metadata report back to your FHIR server which contains your patient data or
alternatively send the data to a different fhir server.

Regardless of this choice, the FHIR server which contains the report should be accessible from your DSE BPE in order to send the report to the central fdpg DSF using the
data transfer plugin https://github.com/medizininformatik-initiative/mii-process-data-transfer.


| Env Variable | Description | Default | Possible Values |
|-------------------------------------------------|------------------------------------------------------------------------------------------------------|-----------------------------------------------|-------------------------------------------------|
| FDE_CONVERT_TO_CSV | Whether to convert the data to CSV format | false | true, false |
| FDE_FHIR_SERVER | Base URL of the FHIR server | http://localhost:8080/fhir | URL |
| FDE_FHIR_USER | Username for the FHIR server authentication | (empty) | String |
| FDE_FHIR_PASSWORD | Password for the FHIR server authentication | (empty) | String |
| FDE_FHIR_MAX_CONNECTIONS | Maximum number of simultaneous connections to the FHIR server | 4 | Integer |
| FDE_FHIR_MAX_QUEUE_SIZE | Maximum size of the FHIR server request queue | 500 | Integer |
| FDE_FHIR_PAGE_COUNT | Number of resources to fetch per page | 1000 | Integer |
| FDE_FHIR_BEARER_TOKEN | Bearer token for FHIR server authentication | (empty) | String |
| FDE_FHIR_OAUTH_ISSUER_URI | OAuth issuer URI for FHIR server | (empty) | URL |
| FDE_FHIR_OAUTH_CLIENT_ID | OAuth client ID for FHIR server | (empty) | String |
| FDE_FHIR_OAUTH_CLIENT_SECRET | OAuth client secret for FHIR server | (empty) | String |
| FDE_MAX_IN_MEMORY_SIZE_MIB | Maximum size (in MiB) of in-memory data storage | 10 | Integer |
| FDE_INPUT_MEASURE | Path to the input measure JSON file | ./measure/kds-measure.json | File path |
| FDE_OUTPUT_DIR | Directory to save output files | ./output | Directory path |
| FDE_TZ | Time zone to use for processing | Europe/Berlin | Time zone |
| FDE_FHIR_REPORT_DESTINATION_SERVER | FHIR server to send reports to | http://localhost:8080/fhir | URL |
| FDE_SEND_REPORT_TO_SERVER | Whether to send the generated report to the server | true | true, false |
| FDE_AUTHOR_IDENTIFIER_SYSTEM | System for the author's identifier | http://dsf.dev/sid/organization-identifier | URL |
| FDE_AUTHOR_IDENTIFIER_VALUE | Value for the author's identifier | fde-dic | String |
| FDE_PROJECT_IDENTIFIER_SYSTEM | System for the project's identifier | http://medizininformatik-initiative.de/sid/project-identifier | URL |
| FDE_PROJECT_IDENTIFIER_VALUE | Value for the project's identifier | fdpg-data-availability-report | String |
30 changes: 30 additions & 0 deletions feasibility-triangle/fhir-data-evaluator/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
services:
fhir-data-evaluator:
image: ghcr.io/medizininformatik-initiative/fhir-data-evaluator:pr-48
environment:
CONVERT_TO_CSV: ${FDE_CONVERT_TO_CSV:-true}
FHIR_SERVER: ${FDE_FHIR_SERVER:-http://localhost:8080/fhir}
FHIR_USER: ${FDE_FHIR_USER:-}
FHIR_PASSWORD: ${FDE_FHIR_PASSWORD:-}
FHIR_MAX_CONNECTIONS: ${FDE_FHIR_MAX_CONNECTIONS:-4}
FHIR_MAX_QUEUE_SIZE: ${FDE_FHIR_MAX_QUEUE_SIZE:-500}
FHIR_PAGE_COUNT: ${FDE_FHIR_PAGE_COUNT:-1000}
FHIR_BEARER_TOKEN: ${FDE_FHIR_BEARER_TOKEN:-}
FHIR_OAUTH_ISSUER_URI: ${FDE_FHIR_OAUTH_ISSUER_URI:-}
FHIR_OAUTH_CLIENT_ID: ${FDE_FHIR_OAUTH_CLIENT_ID:-}
FHIR_OAUTH_CLIENT_SECRET: ${FDE_FHIR_OAUTH_CLIENT_SECRET:-}
MAX_IN_MEMORY_SIZE_MIB: ${FDE_MAX_IN_MEMORY_SIZE_MIB:-10}
SEND_REPORT_TO_SERVER: ${FDE_SEND_REPORT_TO_SERVER:-false}
AUTHOR_IDENTIFIER_SYSTEM: ${FDE_AUTHOR_IDENTIFIER_SYSTEM:-http://dsf.dev/sid/organization-identifier}
AUTHOR_IDENTIFIER_VALUE: ${FDE_AUTHOR_IDENTIFIER_VALUE:-fde-dic}
PROJECT_IDENTIFIER_SYSTEM: ${FDE_PROJECT_IDENTIFIER_SYSTEM:-http://medizininformatik-initiative.de/sid/project-identifier}
PROJECT_IDENTIFIER_VALUE: ${FDE_PROJECT_IDENTIFIER_VALUE:-fdpg-data-availability-report}
FHIR_REPORT_DESTINATION_SERVER: ${FDE_FHIR_REPORT_DESTINATION_SERVER:-http://localhost:8080/fhir}
TZ: ${FDE_TZ:-Europe/Berlin}
extra_hosts:
- "auth.localhost:host-gateway"
- "localhost:host-gateway"
volumes:
- "${FDE_INPUT_MEASURE:-./measure/kds-measure.json}:/app/measure.json"
- "${FDE_OUTPUT_DIR:-./output}:/app/output"
- ../auth:/app/certs
Loading