diff --git a/README.md b/README.md index d0e462a7..0574acc1 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ This repository is the starting point for any information and tools you will nee - [Teiler (Frontend)](#teiler-frontend) - [Data Exporter Service](#data-exporter-service) - [Data Quality Report](#data-quality-report) + - [Data Quality Agent](#data-quality-agent) 4. [Things you should know](#things-you-should-know) - [Auto-Updates](#auto-updates) - [Auto-Backups](#auto-backups) @@ -424,6 +425,32 @@ ENABLE_EXPORTER=true ``` [For further information](docs/exporter.md) +### Data Quality Agent + +The Data Quality Agent is an optional module that periodically evaluates the quality of FHIR data stored in Blaze. It generates local data quality reports accessible via the Bridgehead web interface. + +To enable the service, set the following variable in your `.conf` file: + +```bash +ENABLE_DATA_QUALITY_AGENT=true +``` + +#### Sharing Data Quality Reports (recommended) + +We encourage sharing your data quality reports with the central BBMRI-ERIC quality dashboard. The reports contain only aggregated, non-patient-identifiable statistics and help the network to monitor and improve overall data quality. However, quality reporting is completely optional and opt-in. + +To opt in, additionally set the following variables in your `.conf` file: + +```bash +DATA_QUALITY_SERVER_URL=https://quality-dashboard.bbmri-eric.eu +DATA_QUALITY_SERVER_NAME=Central Data Quality Server of BBMRI +``` + +If these variables are not set, the Data Quality Agent will still run and generate local reports, but no data will be shared externally. + +Reports are accessible at `https:///bbmri-data-quality-agent` (default credentials are admin:admin, please change it after first login!!). + +[Official documentation](https://fdqf.bbmri-eric.eu/user/deployment.html) ## Things you should know ### Auto-Updates diff --git a/bbmri/modules/data-quality-agent-compose.yml b/bbmri/modules/data-quality-agent-compose.yml new file mode 100644 index 00000000..443bec8f --- /dev/null +++ b/bbmri/modules/data-quality-agent-compose.yml @@ -0,0 +1,23 @@ +version: "3.7" + +services: + data-quality-agent: + image: ghcr.io/bbmri-cz/data-quality-server:${DATA_QUALITY_AGENT_TAG} + container_name: bridgehead-bbmri-data-quality-agent + environment: + APP_SETTING_FHIR_URL: http://bridgehead-bbmri-blaze:8080/fhir + REPORTING_SERVER_URL: ${DATA_QUALITY_SERVER_URL} + REPORTING_SERVER_NAME: ${DATA_QUALITY_SERVER_NAME} + labels: + - "traefik.enable=true" + - "traefik.http.routers.data_quality_agent_bbmri.rule=PathPrefix(`/bbmri-data-quality-agent`)" + - "traefik.http.services.data_quality_agent_bbmri.loadbalancer.server.port=8082" + - "traefik.http.routers.data_quality_agent_bbmri.tls=true" + - "traefik.http.middlewares.data_quality_agent_bbmri_strip.stripprefix.prefixes=/bbmri-data-quality-agent" + - "traefik.http.routers.data_quality_agent_bbmri.middlewares=data_quality_agent_bbmri_strip,auth" + depends_on: + - "blaze" + volumes: + - /var/cache/bridgehead/bbmri/agent-db:/app/data + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro diff --git a/bbmri/modules/data-quality-agent-setup.sh b/bbmri/modules/data-quality-agent-setup.sh new file mode 100644 index 00000000..f0a0e840 --- /dev/null +++ b/bbmri/modules/data-quality-agent-setup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ "$ENABLE_DATA_QUALITY_AGENT" == "true" ]; then + log INFO "Data Quality Agent setup detected -- will start data-quality-agent service." + OVERRIDE+=" -f ./$PROJECT/modules/data-quality-agent-compose.yml" +fi + diff --git a/versions/acceptance b/versions/acceptance index 89d509ec..10fb37e1 100644 --- a/versions/acceptance +++ b/versions/acceptance @@ -3,4 +3,5 @@ BEAM_TAG=develop BLAZE_TAG=0.32 POSTGRES_TAG=15.13-alpine TEILER_DASHBOARD_TAG=develop -MTBA_TAG=develop \ No newline at end of file +MTBA_TAG=develop +DATA_QUALITY_AGENT_TAG=latest diff --git a/versions/prod b/versions/prod index 7f6642df..29e7c5bc 100644 --- a/versions/prod +++ b/versions/prod @@ -3,4 +3,5 @@ BEAM_TAG=main BLAZE_TAG=0.32 POSTGRES_TAG=15.13-alpine TEILER_DASHBOARD_TAG=main -MTBA_TAG=main \ No newline at end of file +MTBA_TAG=main +DATA_QUALITY_AGENT_TAG=0.1 diff --git a/versions/test b/versions/test index b1a3a402..10fb37e1 100644 --- a/versions/test +++ b/versions/test @@ -4,3 +4,4 @@ BLAZE_TAG=0.32 POSTGRES_TAG=15.13-alpine TEILER_DASHBOARD_TAG=develop MTBA_TAG=develop +DATA_QUALITY_AGENT_TAG=latest