mirror of
https://github.com/samply/bridgehead.git
synced 2026-06-23 13:50:17 +02:00
Add general OVIS bridgehead project
This commit is contained in:
@@ -53,6 +53,9 @@ case "$PROJECT" in
|
|||||||
minimal)
|
minimal)
|
||||||
#nothing extra to do
|
#nothing extra to do
|
||||||
;;
|
;;
|
||||||
|
ovis)
|
||||||
|
#nothing extra to do
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
printUsage
|
printUsage
|
||||||
exit 1
|
exit 1
|
||||||
@@ -179,6 +182,10 @@ case "$ACTION" in
|
|||||||
;;
|
;;
|
||||||
enroll)
|
enroll)
|
||||||
loadVars
|
loadVars
|
||||||
|
if [ "${REQUIRES_BEAM:-true}" != "true" ]; then
|
||||||
|
log "ERROR" "$PROJECT does not require Samply.Beam enrollment."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
do_enroll $PROXY_ID
|
do_enroll $PROXY_ID
|
||||||
;;
|
;;
|
||||||
preRun | preUpdate)
|
preRun | preUpdate)
|
||||||
|
|||||||
+1
-1
@@ -54,7 +54,7 @@ checkOwner(){
|
|||||||
|
|
||||||
printUsage() {
|
printUsage() {
|
||||||
echo "Usage: bridgehead start|stop|logs|docker-logs|is-running|update|check|install|uninstall|adduser|enroll PROJECTNAME"
|
echo "Usage: bridgehead start|stop|logs|docker-logs|is-running|update|check|install|uninstall|adduser|enroll PROJECTNAME"
|
||||||
echo "PROJECTNAME should be one of ccp|bbmri|cce|itcc|kr|dhki|nngm"
|
echo "PROJECTNAME should be one of ccp|bbmri|cce|pscc|itcc|kr|dhki|nngm|minimal|ovis"
|
||||||
}
|
}
|
||||||
|
|
||||||
checkRequirements() {
|
checkRequirements() {
|
||||||
|
|||||||
@@ -75,7 +75,9 @@ log "INFO" "Enabling auto-updates for bridgehead@${PROJECT}.service ..."
|
|||||||
systemctl enable --now bridgehead-update@"${PROJECT}".timer
|
systemctl enable --now bridgehead-update@"${PROJECT}".timer
|
||||||
|
|
||||||
STR="\n\n systemctl start bridgehead@${PROJECT}.service\n\nor by rebooting your machine."
|
STR="\n\n systemctl start bridgehead@${PROJECT}.service\n\nor by rebooting your machine."
|
||||||
if [ -e /etc/bridgehead/pki/${SITE_ID}.priv.pem ]; then
|
if [ "${REQUIRES_BEAM:-true}" != "true" ]; then
|
||||||
|
STR="Success. This project does not require Samply.Beam enrollment. Start your bridgehead by running$STR"
|
||||||
|
elif [ -e /etc/bridgehead/pki/${SITE_ID}.priv.pem ]; then
|
||||||
STR="Success. Next, start your bridgehead by running$STR"
|
STR="Success. Next, start your bridgehead by running$STR"
|
||||||
else
|
else
|
||||||
STR="Success. Next, enroll into the $PROJECT broker by creating a cryptographic certificate. To do so, run\n\n /srv/docker/bridgehead/bridgehead enroll $PROJECT\n\nThen, you may start the bridgehead by running$STR"
|
STR="Success. Next, enroll into the $PROJECT broker by creating a cryptographic certificate. To do so, run\n\n /srv/docker/bridgehead/bridgehead enroll $PROJECT\n\nThen, you may start the bridgehead by running$STR"
|
||||||
|
|||||||
@@ -76,6 +76,9 @@ case "$PROJECT" in
|
|||||||
minimal)
|
minimal)
|
||||||
site_configuration_repository_middle="git.verbis.dkfz.de/minimal-bridgehead-configs/"
|
site_configuration_repository_middle="git.verbis.dkfz.de/minimal-bridgehead-configs/"
|
||||||
;;
|
;;
|
||||||
|
ovis)
|
||||||
|
site_configuration_repository_middle="git.verbis.dkfz.de/ovis-sites/"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
log ERROR "Internal error, this should not happen."
|
log ERROR "Internal error, this should not happen."
|
||||||
exit 1
|
exit 1
|
||||||
@@ -115,4 +118,3 @@ chown -R bridgehead:docker /tmp/bridgehead /var/cache/bridgehead
|
|||||||
chmod -R g+wr /var/cache/bridgehead /tmp/bridgehead
|
chmod -R g+wr /var/cache/bridgehead /tmp/bridgehead
|
||||||
|
|
||||||
log INFO "System preparation is completed and configuration is present."
|
log INFO "System preparation is completed and configuration is present."
|
||||||
|
|
||||||
|
|||||||
@@ -94,6 +94,10 @@ if [ "${PROJECT}" != "minimal" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
checkPrivKey() {
|
checkPrivKey() {
|
||||||
|
if [ "${REQUIRES_BEAM:-true}" != "true" ]; then
|
||||||
|
log INFO "Skipping private key check - $PROJECT does not require Samply.Beam enrollment."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
if [ -e "${CONFIG_DIR}pki/${SITE_ID}.priv.pem" ]; then
|
if [ -e "${CONFIG_DIR}pki/${SITE_ID}.priv.pem" ]; then
|
||||||
log INFO "Success - private key found."
|
log INFO "Success - private key found."
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -0,0 +1,308 @@
|
|||||||
|
services:
|
||||||
|
traefik:
|
||||||
|
container_name: bridgehead-ovis-traefik
|
||||||
|
|
||||||
|
forward_proxy:
|
||||||
|
container_name: bridgehead-ovis-forward-proxy
|
||||||
|
|
||||||
|
landing:
|
||||||
|
container_name: bridgehead-ovis-landingpage
|
||||||
|
environment:
|
||||||
|
PROJECT: minimal
|
||||||
|
|
||||||
|
ovis-frontend:
|
||||||
|
image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-frontend:${OVIS_IMAGE_TAG:-latest}
|
||||||
|
container_name: bridgehead-ovis-frontend
|
||||||
|
environment:
|
||||||
|
HTTP_PROXY: ${OVIS_HTTP_PROXY:-}
|
||||||
|
HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
NO_PROXY: ${OVIS_NO_PROXY:-}
|
||||||
|
http_proxy: ${OVIS_HTTP_PROXY:-}
|
||||||
|
https_proxy: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
no_proxy: ${OVIS_NO_PROXY:-}
|
||||||
|
PUBLIC_IMPORT_MODE: ${OVIS_IMPORT_MODE:-demo}
|
||||||
|
PUBLIC_LDAP_ENABLED: ${PUBLIC_LDAP_ENABLED:-false}
|
||||||
|
PUBLIC_LOGIN_ENABLED: ${PUBLIC_LOGIN_ENABLED:-false}
|
||||||
|
OVIS_PUBLIC_BASE_PATH: ${OVIS_PUBLIC_BASE_PATH:-/ovis}
|
||||||
|
PUBLIC_SYSTEM_START_LANGUAGE: ${PUBLIC_SYSTEM_START_LANGUAGE:-en}
|
||||||
|
PUBLIC_NAV_PATIENT_COHORT_ENABLED: ${PUBLIC_NAV_PATIENT_COHORT_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_PATIENT_SINGLE_ENABLED: ${PUBLIC_NAV_PATIENT_SINGLE_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_DIAGNOSIS_ENABLED: ${PUBLIC_NAV_DIAGNOSIS_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_TNM_ENABLED: ${PUBLIC_NAV_TNM_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_THERAPY_GENERAL_ENABLED: ${PUBLIC_NAV_THERAPY_GENERAL_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_THERAPY_OPERATION_ENABLED: ${PUBLIC_NAV_THERAPY_OPERATION_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_THERAPY_SYSTEMIC_ENABLED: ${PUBLIC_NAV_THERAPY_SYSTEMIC_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_THERAPY_RADIATION_ENABLED: ${PUBLIC_NAV_THERAPY_RADIATION_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_PROGRESS_ENABLED: ${PUBLIC_NAV_PROGRESS_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_TUMORBOARD_ENABLED: ${PUBLIC_NAV_TUMORBOARD_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_CONSULTATION_ENABLED: ${PUBLIC_NAV_CONSULTATION_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_STATUS_ENABLED: ${PUBLIC_NAV_STATUS_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_SURVIVAL_ENABLED: ${PUBLIC_NAV_SURVIVAL_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_SUPPLEMENTARY_ENABLED: ${PUBLIC_NAV_SUPPLEMENTARY_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_MOLECULAR_ENABLED: ${PUBLIC_NAV_MOLECULAR_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_BIO_MATERIAL_ENABLED: ${PUBLIC_NAV_BIO_MATERIAL_ENABLED:-true}
|
||||||
|
PUBLIC_NAV_STUDY_ENABLED: ${PUBLIC_NAV_STUDY_ENABLED:-false}
|
||||||
|
PUBLIC_NAV_USER_MANAGEMENT_ENABLED: ${PUBLIC_NAV_USER_MANAGEMENT_ENABLED:-true}
|
||||||
|
PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_NAME: ${PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_NAME:-Local Admin}
|
||||||
|
PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_EMAIL: ${PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_EMAIL:-}
|
||||||
|
PUBLIC_SITE_SPECIFIC_SHOW_USERAGREEMENT: ${PUBLIC_SITE_SPECIFIC_SHOW_USERAGREEMENT:-false}
|
||||||
|
PUBLIC_SITE_SPECIFIC_SHOW_IMPRINT: ${PUBLIC_SITE_SPECIFIC_SHOW_IMPRINT:-false}
|
||||||
|
OVIS_CATALOGUE_UPSTREAM_URL: ${OVIS_CATALOGUE_UPSTREAM_URL:-}
|
||||||
|
EXPRESS_AUTH_URL: http://express-auth:5000
|
||||||
|
EXPRESS_AUTH_USERNAME: ${EXPRESS_AUTH_USERNAME}
|
||||||
|
EXPRESS_AUTH_PASSWORD: ${EXPRESS_AUTH_PASSWORD}
|
||||||
|
GRAPHQL_UPSTREAM_URL: http://ovis-backend-apollo:4001/graphql
|
||||||
|
ORIGIN: ${OVIS_PUBLIC_ORIGIN}
|
||||||
|
volumes:
|
||||||
|
- ovis-catalogue-data:/app/dynamic-catalogue:ro
|
||||||
|
- ${OVIS_CATALOGUE_FILE:-../ovis/runtime/mongodb/ovis-catalogue.json}:/app/static/ovis-catalogue.json:ro
|
||||||
|
- ${OVIS_SITE_DOWNLOADS_DIR:-../ovis/runtime/downloads}/UserAgreement/ovis_userAgreement_en_template.pdf:/app/static/downloads/ovis_userAgreement_en_template.pdf:ro
|
||||||
|
- ${OVIS_SITE_DOWNLOADS_DIR:-../ovis/runtime/downloads}/UserAgreement/ovis_userAgreement_de_template.pdf:/app/static/downloads/ovis_userAgreement_de_template.pdf:ro
|
||||||
|
- ${OVIS_SITE_DOWNLOADS_DIR:-../ovis/runtime/downloads}/Authorization/ovis_authorization_en_template.pdf:/app/static/downloads/ovis_authorization_en_template.pdf:ro
|
||||||
|
- ${OVIS_SITE_DOWNLOADS_DIR:-../ovis/runtime/downloads}/Authorization/ovis_authorization_de_template.pdf:/app/static/downloads/ovis_authorization_de_template.pdf:ro
|
||||||
|
depends_on:
|
||||||
|
ovis-backend-apollo:
|
||||||
|
condition: service_healthy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.ovis-frontend.tls=true"
|
||||||
|
- "traefik.http.routers.ovis-frontend.rule=PathPrefix(`${OVIS_PUBLIC_BASE_PATH:-/ovis}`)"
|
||||||
|
- "traefik.http.routers.ovis-frontend.middlewares=ovis-slash-redirect,ovis-frontend-strip"
|
||||||
|
- "traefik.http.middlewares.ovis-slash-redirect.redirectregex.regex=^https?://([^/]+)${OVIS_PUBLIC_BASE_PATH:-/ovis}$$"
|
||||||
|
- "traefik.http.middlewares.ovis-slash-redirect.redirectregex.replacement=https://$${1}${OVIS_PUBLIC_BASE_PATH:-/ovis}/"
|
||||||
|
- "traefik.http.middlewares.ovis-slash-redirect.redirectregex.permanent=true"
|
||||||
|
- "traefik.http.middlewares.ovis-frontend-strip.stripprefix.prefixes=${OVIS_PUBLIC_BASE_PATH:-/ovis}"
|
||||||
|
- "traefik.http.services.ovis-frontend.loadbalancer.server.port=5173"
|
||||||
|
|
||||||
|
ovis-backend-apollo:
|
||||||
|
image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-apollo:${OVIS_IMAGE_TAG:-latest}
|
||||||
|
container_name: bridgehead-ovis-backend
|
||||||
|
environment:
|
||||||
|
APOLLO_PORT: ${APOLLO_PORT:-4001}
|
||||||
|
CREDOS_PORT: ${CREDOS_PORT:-4000}
|
||||||
|
HTTP_PROXY: ${OVIS_HTTP_PROXY:-}
|
||||||
|
HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
NO_PROXY: ${OVIS_NO_PROXY:-}
|
||||||
|
http_proxy: ${OVIS_HTTP_PROXY:-}
|
||||||
|
https_proxy: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
no_proxy: ${OVIS_NO_PROXY:-}
|
||||||
|
MONGO_VER: latest
|
||||||
|
CORS_ORIGIN: "*"
|
||||||
|
DB: ${DB:-onc_test}
|
||||||
|
ADDRESS: mongodb://ovis-backend-database-mongodb:27017
|
||||||
|
volumes:
|
||||||
|
- ${OVIS_OPS4_FILE:-../ovis/runtime/mongodb/ops4.mjs}:/ops-data/ops4.mjs:ro
|
||||||
|
depends_on:
|
||||||
|
ovis-backend-database-mongodb:
|
||||||
|
condition: service_started
|
||||||
|
ovis-backend-mongodb-data-preprocessing:
|
||||||
|
condition: service_healthy
|
||||||
|
ovis-backend-data-import:
|
||||||
|
condition: service_started
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "test -d /app/node_modules/mongodb"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
ovis-backend-database-mongodb:
|
||||||
|
image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-mongodb:${OVIS_IMAGE_TAG:-latest}
|
||||||
|
container_name: bridgehead-ovis-mongo
|
||||||
|
environment:
|
||||||
|
DB: ${DB:-onc_test}
|
||||||
|
OVIS_ROOT_USERNAME: ${OVIS_ROOT_USERNAME:-ovis-root}
|
||||||
|
volumes:
|
||||||
|
- ${OVIS_MONGO_INIT_FILE:-../ovis/runtime/mongodb/initdb.js}:/docker-entrypoint-initdb.d/init.js:ro
|
||||||
|
- ovis-mongo-db:/data/db
|
||||||
|
- ovis-mongo-conf:/data/configdb
|
||||||
|
|
||||||
|
ovis-backend-mongodb-data-preprocessing:
|
||||||
|
image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-preprocessor:${OVIS_IMAGE_TAG:-latest}
|
||||||
|
container_name: bridgehead-ovis-preprocessing
|
||||||
|
environment:
|
||||||
|
APOLLO_PORT: ${APOLLO_PORT:-4001}
|
||||||
|
CREDOS_PORT: ${CREDOS_PORT:-4000}
|
||||||
|
HTTP_PROXY: ${OVIS_HTTP_PROXY:-}
|
||||||
|
HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
NO_PROXY: ${OVIS_NO_PROXY:-}
|
||||||
|
http_proxy: ${OVIS_HTTP_PROXY:-}
|
||||||
|
https_proxy: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
no_proxy: ${OVIS_NO_PROXY:-}
|
||||||
|
MONGO_VER: latest
|
||||||
|
CORS_ORIGIN: "*"
|
||||||
|
DB: ${DB:-onc_test}
|
||||||
|
ADDRESS: mongodb://ovis-backend-database-mongodb:27017
|
||||||
|
CATALOGUE_PATH: /app/generated/ovis-catalogue.json
|
||||||
|
PREPROCESSOR_NODE_HEAP_MB: ${PREPROCESSOR_NODE_HEAP_MB:-32768}
|
||||||
|
OVIS_PREPROC_DECEASED_KEYWORDS: ${OVIS_PREPROC_DECEASED_KEYWORDS:-}
|
||||||
|
OVIS_PREPROC_REZIDIV_PREFIXES: ${OVIS_PREPROC_REZIDIV_PREFIXES:-}
|
||||||
|
OVIS_PREPROC_REZIDIV_CANONICAL: ${OVIS_PREPROC_REZIDIV_CANONICAL:-}
|
||||||
|
OVIS_PREPROC_REZIDIV_LYMPH_STATES: ${OVIS_PREPROC_REZIDIV_LYMPH_STATES:-}
|
||||||
|
OVIS_PREPROC_PROGRESS_LABELS: ${OVIS_PREPROC_PROGRESS_LABELS:-}
|
||||||
|
OVIS_PREPROC_COMPLETE_REMISSION_LABELS: ${OVIS_PREPROC_COMPLETE_REMISSION_LABELS:-}
|
||||||
|
OVIS_PREPROC_RCLASS_SUCCESS: ${OVIS_PREPROC_RCLASS_SUCCESS:-}
|
||||||
|
OVIS_PREPROC_LOCAL_RSTATE_SUCCESS: ${OVIS_PREPROC_LOCAL_RSTATE_SUCCESS:-}
|
||||||
|
OVIS_PREPROC_METASTASIS_PREFIXES: ${OVIS_PREPROC_METASTASIS_PREFIXES:-}
|
||||||
|
OVIS_PREPROC_METASTASIS_SPREAD_VALUES: ${OVIS_PREPROC_METASTASIS_SPREAD_VALUES:-}
|
||||||
|
OVIS_PREPROC_METASTASIS_STRAT_SYNCHRON: ${OVIS_PREPROC_METASTASIS_STRAT_SYNCHRON:-}
|
||||||
|
OVIS_PREPROC_METASTASIS_STRAT_NONE: ${OVIS_PREPROC_METASTASIS_STRAT_NONE:-}
|
||||||
|
OVIS_PREPROC_NULL_STUDY_PHASES: ${OVIS_PREPROC_NULL_STUDY_PHASES:-}
|
||||||
|
OVIS_PREPROC_PREV_THERAPY_SURGERY: ${OVIS_PREPROC_PREV_THERAPY_SURGERY:-}
|
||||||
|
OVIS_PREPROC_PREV_THERAPY_SYSTEMIC: ${OVIS_PREPROC_PREV_THERAPY_SYSTEMIC:-}
|
||||||
|
OVIS_PREPROC_PREV_THERAPY_RADIATION: ${OVIS_PREPROC_PREV_THERAPY_RADIATION:-}
|
||||||
|
OVIS_PREPROC_PREV_CONSULTATION_NUTRITION: ${OVIS_PREPROC_PREV_CONSULTATION_NUTRITION:-}
|
||||||
|
OVIS_PREPROC_PREV_CONSULTATION_SOCIAL: ${OVIS_PREPROC_PREV_CONSULTATION_SOCIAL:-}
|
||||||
|
OVIS_PREPROC_PREV_CONSULTATION_PSYCHO: ${OVIS_PREPROC_PREV_CONSULTATION_PSYCHO:-}
|
||||||
|
OVIS_PREPROC_PREV_CONSULTATION_GENETIC: ${OVIS_PREPROC_PREV_CONSULTATION_GENETIC:-}
|
||||||
|
OVIS_PREPROC_TUMORBOARD_PATTERN_PRAE: ${OVIS_PREPROC_TUMORBOARD_PATTERN_PRAE:-}
|
||||||
|
OVIS_PREPROC_TUMORBOARD_PATTERN_POST: ${OVIS_PREPROC_TUMORBOARD_PATTERN_POST:-}
|
||||||
|
OVIS_PREPROC_TUMORBOARD_PATTERN_MTB: ${OVIS_PREPROC_TUMORBOARD_PATTERN_MTB:-}
|
||||||
|
OVIS_PREPROC_ECOG_PREFIX: ${OVIS_PREPROC_ECOG_PREFIX:-}
|
||||||
|
OVIS_PREPROC_DISTRESS_TYPE: ${OVIS_PREPROC_DISTRESS_TYPE:-}
|
||||||
|
OVIS_PREPROC_DISTRESS_POSITIVE_VALUES: ${OVIS_PREPROC_DISTRESS_POSITIVE_VALUES:-}
|
||||||
|
depends_on:
|
||||||
|
ovis-backend-database-mongodb:
|
||||||
|
condition: service_started
|
||||||
|
volumes:
|
||||||
|
- ovis-catalogue-data:/app/generated
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "node -e \"require('http').get('http://localhost:9000/health', res => process.exit(res.statusCode===200?0:1)).on('error', () => process.exit(1));\""]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 12
|
||||||
|
start_period: 10s
|
||||||
|
command: ["node", "./Preprocessing/catalogue-service.mjs"]
|
||||||
|
|
||||||
|
ovis-backend-data-import:
|
||||||
|
image: ${OVIS_DATA_IMPORT_IMAGE:-${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-data-import-${OVIS_IMPORT_MODE:-demo}:${OVIS_IMAGE_TAG:-latest}}
|
||||||
|
container_name: bridgehead-ovis-import
|
||||||
|
env_file:
|
||||||
|
- path: ${OVIS_DATA_IMPORT_ENV_FILE:-/etc/bridgehead/ovis.conf}
|
||||||
|
required: false
|
||||||
|
environment:
|
||||||
|
HTTP_PROXY: ${OVIS_HTTP_PROXY:-}
|
||||||
|
HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
NO_PROXY: ${OVIS_NO_PROXY:-}
|
||||||
|
http_proxy: ${OVIS_HTTP_PROXY:-}
|
||||||
|
https_proxy: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
no_proxy: ${OVIS_NO_PROXY:-}
|
||||||
|
FHIR_SERVER_URL: ${FHIR_SERVER_URL:-}
|
||||||
|
FHIR_USERNAME: ${FHIR_USERNAME:-}
|
||||||
|
FHIR_PASSWORD: ${FHIR_PASSWORD:-}
|
||||||
|
ICD10_FILTER: ${ICD10_FILTER:-}
|
||||||
|
CREDOS_EXPORT_DIR: /input/CREDOSExportFiles
|
||||||
|
CREDOS_IMPORTER_NODE_HEAP_MB: ${CREDOS_IMPORTER_NODE_HEAP_MB:-8192}
|
||||||
|
volumes:
|
||||||
|
- ${OVIS_CREDOS_EXPORT_DIR:-../ovis/runtime/input/CREDOSExportFiles}:/input/CREDOSExportFiles:ro
|
||||||
|
depends_on:
|
||||||
|
ovis-backend-mongodb-data-preprocessing:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: ghcr.io/baosystems/postgis:13-3.5
|
||||||
|
container_name: bridgehead-ovis-postgres
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${POSTGRES_DB:-keycloak}
|
||||||
|
POSTGRES_USER: ${POSTGRES_USER:-ovis_keycloak}
|
||||||
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- ovis-postgres-data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
keycloak:
|
||||||
|
image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-keycloak:${OVIS_IMAGE_TAG:-latest}
|
||||||
|
container_name: bridgehead-ovis-keycloak
|
||||||
|
environment:
|
||||||
|
DB_VENDOR: postgres
|
||||||
|
DB_ADDR: postgres
|
||||||
|
DB_DATABASE: ${POSTGRES_DB:-keycloak}
|
||||||
|
DB_USER: ${POSTGRES_USER:-ovis_keycloak}
|
||||||
|
DB_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-ovis-admin}
|
||||||
|
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
|
||||||
|
KEYCLOAK_HOSTNAME: ${OVIS_KEYCLOAK_HOSTNAME}
|
||||||
|
APP_DOMAIN: ${HOST}
|
||||||
|
KEYCLOAK_PORT: ${KEYCLOAK_PORT:-8252}
|
||||||
|
NGINX_PROXY_MODE: "true"
|
||||||
|
NGINX_SSL_ENABLED: "true"
|
||||||
|
NGINX_HTTP_PORT: "80"
|
||||||
|
NGINX_HTTPS_PORT: "443"
|
||||||
|
PUBLIC_LDAP_ENABLED: ${PUBLIC_LDAP_ENABLED:-false}
|
||||||
|
LDAP_CERTIFICATE_NAME: ${LDAP_CERTIFICATE_NAME:-}
|
||||||
|
LDAP_CONNECTION_URL: ${LDAP_CONNECTION_URL:-}
|
||||||
|
LDAP_BIND_DN: ${LDAP_BIND_DN:-}
|
||||||
|
LDAP_BIND_CREDENTIAL: ${LDAP_BIND_CREDENTIAL:-}
|
||||||
|
LDAP_USERS_DN: ${LDAP_USERS_DN:-}
|
||||||
|
LDAP_EDIT_MODE: ${LDAP_EDIT_MODE:-READ_ONLY}
|
||||||
|
LDAP_VENDOR: ${LDAP_VENDOR:-}
|
||||||
|
LDAP_USERNAME_ATTRIBUTE: ${LDAP_USERNAME_ATTRIBUTE:-}
|
||||||
|
LDAP_RDN_ATTRIBUTE: ${LDAP_RDN_ATTRIBUTE:-}
|
||||||
|
LDAP_UUID_ATTRIBUTE: ${LDAP_UUID_ATTRIBUTE:-}
|
||||||
|
LDAP_USER_OBJECT_CLASSES: ${LDAP_USER_OBJECT_CLASSES:-}
|
||||||
|
LDAP_USER_FILTER: ${LDAP_USER_FILTER:-}
|
||||||
|
LDAP_SEARCH_SCOPE: ${LDAP_SEARCH_SCOPE:-}
|
||||||
|
LDAP_READ_TIMEOUT: ${LDAP_READ_TIMEOUT:-}
|
||||||
|
LDAP_PAGINATION: ${LDAP_PAGINATION:-}
|
||||||
|
LDAP_REFERRAL: ${LDAP_REFERRAL:-}
|
||||||
|
LDAP_EMAIL_ATTRIBUTE: ${LDAP_EMAIL_ATTRIBUTE:-}
|
||||||
|
LDAP_FIRST_NAME_ATTRIBUTE: ${LDAP_FIRST_NAME_ATTRIBUTE:-}
|
||||||
|
LDAP_LAST_NAME_ATTRIBUTE: ${LDAP_LAST_NAME_ATTRIBUTE:-}
|
||||||
|
KEYCLOAK_CLIENT_ID: ${KEYCLOAK_CLIENT_ID:-ovis_client}
|
||||||
|
KEYCLOAK_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET}
|
||||||
|
KEYCLOAK_ADMIN_CLIENT_ID: ${KEYCLOAK_ADMIN_CLIENT_ID:-admin-cli}
|
||||||
|
KEYCLOAK_ADMIN_CLIENT_SECRET: ${KEYCLOAK_ADMIN_CLIENT_SECRET}
|
||||||
|
OVIS_ROOT_USERNAME: ${OVIS_ROOT_USERNAME:-ovis-root}
|
||||||
|
OVIS_ROOT_PASSWORD: ${OVIS_ROOT_PASSWORD}
|
||||||
|
KEYCLOAK_HTTP_RELATIVE_PATH: ${KEYCLOAK_HTTP_RELATIVE_PATH:-/ovis/keycloak}
|
||||||
|
volumes:
|
||||||
|
- ${OVIS_SITE_CERTS_DIR:-../ovis/runtime/certs}:/etc/keycloak/certs:ro
|
||||||
|
- ${OVIS_SITE_KEYCLOAK_REALM_FILE:-../ovis/runtime/keycloak/ovis-realm.json}:/realm-base/ovis-realm.json:ro
|
||||||
|
- ${OVIS_KEYCLOAK_ENTRYPOINT_FILE:-../ovis/runtime/keycloak/keycloak-entrypoint.sh}:/bridgehead-keycloak-entrypoint.sh:ro
|
||||||
|
entrypoint: ["/bridgehead-keycloak-entrypoint.sh"]
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.ovis-keycloak.tls=true"
|
||||||
|
- "traefik.http.routers.ovis-keycloak.rule=PathPrefix(`${KEYCLOAK_HTTP_RELATIVE_PATH:-/ovis/keycloak}`)"
|
||||||
|
- "traefik.http.services.ovis-keycloak.loadbalancer.server.port=8080"
|
||||||
|
|
||||||
|
express-auth:
|
||||||
|
image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-express-auth:${OVIS_IMAGE_TAG:-latest}
|
||||||
|
container_name: bridgehead-ovis-express-auth
|
||||||
|
environment:
|
||||||
|
PORT: "5000"
|
||||||
|
HTTP_PROXY: ${OVIS_HTTP_PROXY:-}
|
||||||
|
HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
NO_PROXY: ${OVIS_NO_PROXY:-}
|
||||||
|
http_proxy: ${OVIS_HTTP_PROXY:-}
|
||||||
|
https_proxy: ${OVIS_HTTPS_PROXY:-}
|
||||||
|
no_proxy: ${OVIS_NO_PROXY:-}
|
||||||
|
BASIC_AUTH_USERNAME: ${EXPRESS_AUTH_USERNAME}
|
||||||
|
BASIC_AUTH_PASSWORD: ${EXPRESS_AUTH_PASSWORD}
|
||||||
|
KEYCLOAK_URL: http://keycloak:8080${KEYCLOAK_HTTP_RELATIVE_PATH:-/ovis/keycloak}
|
||||||
|
KEYCLOAK_REALM: ${KEYCLOAK_REALM:-ovis}
|
||||||
|
KEYCLOAK_CLIENT_ID: ${KEYCLOAK_CLIENT_ID:-ovis_client}
|
||||||
|
KEYCLOAK_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET}
|
||||||
|
KEYCLOAK_ADMIN_CLIENT_ID: ${KEYCLOAK_ADMIN_CLIENT_ID:-admin-cli}
|
||||||
|
KEYCLOAK_ADMIN_CLIENT_SECRET: ${KEYCLOAK_ADMIN_CLIENT_SECRET}
|
||||||
|
APP_DOMAIN: ${HOST}
|
||||||
|
FRONTEND_PORT: "443"
|
||||||
|
NGINX_PROXY_MODE: "true"
|
||||||
|
NGINX_SSL_ENABLED: "true"
|
||||||
|
NGINX_HTTP_PORT: "80"
|
||||||
|
NGINX_HTTPS_PORT: "443"
|
||||||
|
depends_on:
|
||||||
|
- keycloak
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.ovis-express.tls=true"
|
||||||
|
- "traefik.http.routers.ovis-express.rule=PathPrefix(`${OVIS_PUBLIC_BASE_PATH:-/ovis}/express`)"
|
||||||
|
- "traefik.http.routers.ovis-express.middlewares=ovis-express-strip"
|
||||||
|
- "traefik.http.middlewares.ovis-express-strip.stripprefix.prefixes=${OVIS_PUBLIC_BASE_PATH:-/ovis}/express"
|
||||||
|
- "traefik.http.services.ovis-express.loadbalancer.server.port=5000"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
ovis-catalogue-data:
|
||||||
|
ovis-mongo-db:
|
||||||
|
ovis-mongo-conf:
|
||||||
|
ovis-postgres-data:
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
+69
@@ -0,0 +1,69 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
IMPORT_DIR="${KEYCLOAK_IMPORT_DIR:-/opt/keycloak/data/import}"
|
||||||
|
export BASE_REALM="${BASE_REALM:-/realm-base/ovis-realm.json}"
|
||||||
|
export OUTPUT_REALM="${OUTPUT_REALM:-$IMPORT_DIR/ovis-realm.json}"
|
||||||
|
KEYCLOAK_HTTP_RELATIVE_PATH="${KEYCLOAK_HTTP_RELATIVE_PATH:-/keycloak}"
|
||||||
|
|
||||||
|
echo "=== Starting OVIS Keycloak bootstrap ==="
|
||||||
|
echo "Keycloak certificate directory:"
|
||||||
|
ls -lh /etc/keycloak/certs || true
|
||||||
|
|
||||||
|
mkdir -p "$IMPORT_DIR"
|
||||||
|
|
||||||
|
echo "Building dynamic realm configuration at $OUTPUT_REALM..."
|
||||||
|
tr -d '\r' < /build-realm.sh \
|
||||||
|
| sed 's|OUTPUT_REALM="/import/ovis-realm.json"|OUTPUT_REALM="${OUTPUT_REALM:-/opt/keycloak/data/import/ovis-realm.json}"|' \
|
||||||
|
| sh
|
||||||
|
|
||||||
|
if [ -n "${KEYCLOAK_ADMIN_CLIENT_SECRET:-}" ]; then
|
||||||
|
echo "Updating admin client secret for ${KEYCLOAK_ADMIN_CLIENT_ID:-admin-cli}..."
|
||||||
|
tmp_realm="${OUTPUT_REALM}.tmp"
|
||||||
|
sed "/\"clientId\"[[:space:]]*:[[:space:]]*\"${KEYCLOAK_ADMIN_CLIENT_ID:-admin-cli}\"/,/\"secret\"[[:space:]]*:/ s|\"secret\"[[:space:]]*:[[:space:]]*\"[^\"]*\"|\"secret\": \"${KEYCLOAK_ADMIN_CLIENT_SECRET}\"|" "$OUTPUT_REALM" > "$tmp_realm"
|
||||||
|
mv "$tmp_realm" "$OUTPUT_REALM"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DB_HOST="${DB_ADDR:-postgres}"
|
||||||
|
DB_PORT="${DB_PORT:-5432}"
|
||||||
|
DB_WAIT_SECONDS="${KEYCLOAK_DB_WAIT_SECONDS:-120}"
|
||||||
|
DB_POLL_INTERVAL="${KEYCLOAK_DB_WAIT_POLL_INTERVAL:-2}"
|
||||||
|
|
||||||
|
echo "Waiting for PostgreSQL at ${DB_HOST}:${DB_PORT} (timeout: ${DB_WAIT_SECONDS}s)..."
|
||||||
|
elapsed=0
|
||||||
|
until timeout 1 bash -c "</dev/tcp/${DB_HOST}/${DB_PORT}" 2>/dev/null; do
|
||||||
|
elapsed=$((elapsed + DB_POLL_INTERVAL))
|
||||||
|
if [ "$elapsed" -ge "$DB_WAIT_SECONDS" ]; then
|
||||||
|
echo "ERROR: PostgreSQL did not become reachable within ${DB_WAIT_SECONDS}s"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "PostgreSQL not reachable yet (${elapsed}s elapsed); retrying in ${DB_POLL_INTERVAL}s..."
|
||||||
|
sleep "$DB_POLL_INTERVAL"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Importing Keycloak realm from $IMPORT_DIR..."
|
||||||
|
/opt/keycloak/bin/kc.sh import --dir "$IMPORT_DIR" --override true
|
||||||
|
|
||||||
|
if [ "${OVIS_KEYCLOAK_USE_IMAGE_CMD:-false}" = "true" ] && [ "$#" -gt 0 ]; then
|
||||||
|
keycloak_args=("$@")
|
||||||
|
else
|
||||||
|
keycloak_hostname="${KEYCLOAK_HOSTNAME:-${APP_DOMAIN:-localhost}}"
|
||||||
|
keycloak_args=(
|
||||||
|
start
|
||||||
|
--http-enabled=true
|
||||||
|
--proxy-headers=xforwarded
|
||||||
|
--hostname="$keycloak_hostname"
|
||||||
|
--hostname-strict=true
|
||||||
|
--http-relative-path="$KEYCLOAK_HTTP_RELATIVE_PATH"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${PUBLIC_LDAP_ENABLED:-}" = "true" ] && [ -n "${LDAP_CERTIFICATE_NAME:-}" ] && [ -f "/etc/keycloak/certs/${LDAP_CERTIFICATE_NAME}" ]; then
|
||||||
|
echo "LDAP enabled: loading certificate ${LDAP_CERTIFICATE_NAME}"
|
||||||
|
keycloak_args+=("--truststore-paths=/etc/keycloak/certs/${LDAP_CERTIFICATE_NAME}")
|
||||||
|
else
|
||||||
|
echo "LDAP disabled or certificate not found: skipping certificate loading"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Starting Keycloak..."
|
||||||
|
exec /opt/keycloak/bin/kc.sh "${keycloak_args[@]}"
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
|||||||
|
const rootUsername = process.env.OVIS_ROOT_USERNAME || 'ovis-root';
|
||||||
|
const databaseName = process.env.DB || 'onc_test';
|
||||||
|
|
||||||
|
db = db.getSiblingDB(databaseName);
|
||||||
|
db.createCollection('user');
|
||||||
|
db.user.insertMany([
|
||||||
|
{
|
||||||
|
_id: rootUsername,
|
||||||
|
createdAt: new Date(),
|
||||||
|
createdBy: 'system',
|
||||||
|
role: 'super-admin',
|
||||||
|
status: 'active',
|
||||||
|
pseudonymization: false,
|
||||||
|
darkMode: false,
|
||||||
|
colorTheme: 'CCCMunich',
|
||||||
|
language: 'en'
|
||||||
|
}
|
||||||
|
]);
|
||||||
@@ -0,0 +1,990 @@
|
|||||||
|
export const ops4 = [
|
||||||
|
{
|
||||||
|
OPSC_4: '1-10',
|
||||||
|
OPS_Gruppen_Text: 'Klinische Untersuchung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-20',
|
||||||
|
OPS_Gruppen_Text: 'Neurologische Untersuchungen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-21',
|
||||||
|
OPS_Gruppen_Text: 'Epilepsiediagnostik'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-22',
|
||||||
|
OPS_Gruppen_Text: 'Untersuchungen der Augen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-24',
|
||||||
|
OPS_Gruppen_Text: 'Untersuchungen im HNO-Bereich'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-26',
|
||||||
|
OPS_Gruppen_Text: 'Untersuchungen der elektrophysiologischen Aktivität des Herzens'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-27',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Katheteruntersuchung an Herz und Kreislauf'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-31',
|
||||||
|
OPS_Gruppen_Text: 'Funktionsuntersuchungen des Verdauungstraktes'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-33',
|
||||||
|
OPS_Gruppen_Text: 'Untersuchung des Harntraktes'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-40',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an Nervensystem und endokrinen Organen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-41',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an Auge, Ohr, Nase und Haut von Gesicht und Kopf'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-42',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Biopsie ohne Inzision an Mund, Mundhöhle, Larynx, Pharynx und blutbildenden Organen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-43',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an respiratorischen Organen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-44',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an den Verdauungsorganen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-46',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an Harnorganen und männlichen Genitalorganen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-47',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an weiblichen Genitalorganen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-48',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an Knochen und Gelenken'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-49',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie ohne Inzision an anderen Organen und Geweben'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-50',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie an Mamma, Knochen und Muskeln durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-51',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Biopsie an Nervengewebe, Hypophyse, Corpus pineale durch Inzision und Trepanation von Schädelknochen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-52',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie an Augen und Augenanhangsgebilden durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-53',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie an Ohr und Nase durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-54',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie an Mund, Mundhöhle und Pharynx durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-55',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Biopsie an anderen Verdauungsorganen, Zwerchfell und (Retro-)Peritoneum durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-56',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie an Harnwegen und männlichen Genitalorganen durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-57',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie an weiblichen Genitalorganen durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-58',
|
||||||
|
OPS_Gruppen_Text: 'Biopsie an anderen Organen durch Inzision'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-61',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Endoskopie der oberen Atemwege'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-62',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Tracheobronchoskopie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-63',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Endoskopie des oberen Verdauungstraktes'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-64',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Endoskopie der Gallen- und Pankreaswege'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-65',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Endoskopie des unteren Verdauungstraktes'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-66',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Endoskopie der Harnwege'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-67',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Endoskopie der weiblichen Genitalorgane'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-68',
|
||||||
|
OPS_Gruppen_Text: 'Andere diagnostische Endoskopie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-69',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Endoskopie durch Inzision und intraoperativ'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-70',
|
||||||
|
OPS_Gruppen_Text: 'Provokationstestung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-71',
|
||||||
|
OPS_Gruppen_Text: 'Pneumologische Funktionsuntersuchungen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-76',
|
||||||
|
OPS_Gruppen_Text: 'Metabolische Funktionsuntersuchung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-77',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Palliativmedizinische, geriatrische und frührehabilitative Funktionsuntersuchung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-79',
|
||||||
|
OPS_Gruppen_Text: 'Physiologische Funktionstests'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-84',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostische Punktion und Aspiration'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-85',
|
||||||
|
OPS_Gruppen_Text: 'Andere diagnostische Punktion und Aspiration'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-90',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Psychosomatische, psychotherapeutische, (neuro-)psychologische, psychosoziale und testpsychologische Untersuchung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-91',
|
||||||
|
OPS_Gruppen_Text: 'Diagnostik bei chronischen Schmerzzuständen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-92',
|
||||||
|
OPS_Gruppen_Text: 'Medizinische Evaluation zur Transplantation'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-93',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Infektiologisches Monitoring und molekularbiologisch-mikrobiologische Diagnostik'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-94',
|
||||||
|
OPS_Gruppen_Text: 'Komplexe Diagnostik'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '1-99',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Andere diagnostische Maßnahmen und Zusatzinformationen zu diagnostischen Maßnahmen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-03',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Komplexe differenzialdiagnostische Sonographie mit digitaler Bild- und Videodokumentation'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-05',
|
||||||
|
OPS_Gruppen_Text: 'Endosonographie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-10',
|
||||||
|
OPS_Gruppen_Text: 'Projektionsradiographie mit Spezialverfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-13',
|
||||||
|
OPS_Gruppen_Text: 'Projektionsradiographie mit Kontrastmittelverfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-20',
|
||||||
|
OPS_Gruppen_Text: 'Computertomographie [CT], nativ'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-22',
|
||||||
|
OPS_Gruppen_Text: 'Computertomographie [CT] mit Kontrastmittel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-24',
|
||||||
|
OPS_Gruppen_Text: 'Computertomographie [CT], Spezialverfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-26',
|
||||||
|
OPS_Gruppen_Text: 'Elektronenstrahltomographie [EBT]'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-30',
|
||||||
|
OPS_Gruppen_Text: 'Optische laserbasierte Verfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-31',
|
||||||
|
OPS_Gruppen_Text: 'Andere optische Verfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-60',
|
||||||
|
OPS_Gruppen_Text: 'Arteriographie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-61',
|
||||||
|
OPS_Gruppen_Text: 'Phlebographie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-62',
|
||||||
|
OPS_Gruppen_Text: 'Lymphographie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-69',
|
||||||
|
OPS_Gruppen_Text: 'Andere Darstellung des Gefäßsystems'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-70',
|
||||||
|
OPS_Gruppen_Text: 'Szintigraphie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-72',
|
||||||
|
OPS_Gruppen_Text: 'Single-Photon-Emissionscomputertomographie [SPECT]'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-73',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Single-Photon-Emissionscomputertomographie mit Computertomographie [SPECT/CT]'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-74',
|
||||||
|
OPS_Gruppen_Text: 'Positronenemissionstomographie [PET] mit Vollring-Scanner'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-75',
|
||||||
|
OPS_Gruppen_Text: 'Positronenemissionstomographie mit Computertomographie [PET/CT]'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-76',
|
||||||
|
OPS_Gruppen_Text: 'Sondenmessungen und Inkorporationsmessungen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-80',
|
||||||
|
OPS_Gruppen_Text: 'Magnetresonanztomographie [MRT], nativ'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-82',
|
||||||
|
OPS_Gruppen_Text: 'Magnetresonanztomographie [MRT] mit Kontrastmittel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-84',
|
||||||
|
OPS_Gruppen_Text: 'Magnetresonanztomographie [MRT], Spezialverfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-90',
|
||||||
|
OPS_Gruppen_Text: 'Andere bildgebende Verfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '3-99',
|
||||||
|
OPS_Gruppen_Text: 'Zusatzinformationen zu bildgebenden Verfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-01',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Inzision (Trepanation), Exzision und Destruktion an Schädel, Gehirn und Hirnhäuten'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-02',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an Schädel, Gehirn und Hirnhäuten'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-03',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Rückenmark, Rückenmarkhäuten und Spinalkanal'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-04',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Nerven und Nervenganglien'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-05',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an Nerven und Nervenganglien'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-06',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Schilddrüse und Nebenschilddrüse'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-07',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an anderen endokrinen Drüsen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-08',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Tränendrüse und Tränenwegen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-09',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an den Augenlidern'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-10',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an den Augenmuskeln'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-11',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Konjunktiva'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-12',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Kornea'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-13',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Iris, Corpus ciliare, vorderer Augenkammer und Sklera'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-14',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Linse'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-15',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Retina, Choroidea und Corpus vitreum'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-16',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Orbita und Augapfel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-18',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Ohrmuschel und äußerem Gehörgang'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-19',
|
||||||
|
OPS_Gruppen_Text: 'Mikrochirurgische Operationen am Mittelohr'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-20',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an Mittel- und Innenohr'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-21',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Nase'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-22',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an den Nasennebenhöhlen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-23',
|
||||||
|
OPS_Gruppen_Text: 'Entfernung und Wiederherstellung von Zähnen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-24',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Zahnfleisch, Alveolen und Kiefer'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-25',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Zunge'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-26',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Speicheldrüsen und Speicheldrüsenausführungsgängen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-27',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an Mund und Gesicht'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-28',
|
||||||
|
OPS_Gruppen_Text: 'Operationen im Bereich des Naso- und Oropharynx'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-29',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Pharynx'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-30',
|
||||||
|
OPS_Gruppen_Text: 'Exzision und Resektion am Larynx'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-31',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Andere Larynxoperationen und Operationen an der Trachea und Zusatzinformationen zu Operationen an Larynx und Trachea'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-32',
|
||||||
|
OPS_Gruppen_Text: 'Exzision und Resektion an Lunge und Bronchus'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-33',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Andere Operationen an Lunge und Bronchus und Zusatzinformationen zu Operationen an Lunge und Bronchus'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-34',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Brustwand, Pleura, Mediastinum und Zwerchfell'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-35',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Klappen und Septen des Herzens und herznaher Gefäße'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-36',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an den Koronargefäßen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-37',
|
||||||
|
OPS_Gruppen_Text: 'Rhythmuschirurgie und andere Operationen an Herz und Perikard'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-38',
|
||||||
|
OPS_Gruppen_Text: 'Inzision, Exzision und Verschluss von Blutgefäßen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-39',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Andere Operationen an Blutgefäßen und Zusatzinformationen zu Operationen an Blutgefäßen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-40',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Lymphgewebe'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-41',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Milz und Knochenmark'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-42',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Ösophagus'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-43',
|
||||||
|
OPS_Gruppen_Text: 'Inzision, Exzision und Resektion am Magen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-44',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen am Magen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-45',
|
||||||
|
OPS_Gruppen_Text: 'Inzision, Exzision, Resektion und Anastomose an Dünn- und Dickdarm'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-46',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Andere Operationen an Dünn- und Dickdarm und Zusatzinformationen zu Operationen am Darm'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-47',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Appendix'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-48',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Rektum'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-49',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Anus'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-50',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Leber'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-51',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Gallenblase und Gallenwegen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-52',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Pankreas'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-53',
|
||||||
|
OPS_Gruppen_Text: 'Verschluss abdominaler Hernien'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-54',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Andere Operationen in der Bauchregion und Zusatzinformationen zu Operationen am Verdauungstrakt'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-55',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Niere'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-56',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Ureter'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-57',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Harnblase'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-58',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Urethra'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-59',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an den Harnorganen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-60',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Prostata und Vesiculae seminales'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-61',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Skrotum und Tunica vaginalis testis'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-62',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Hoden'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-63',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Funiculus spermaticus, Epididymis und Ductus deferens'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-64',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Penis'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-65',
|
||||||
|
OPS_Gruppen_Text: 'Operationen am Ovar'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-66',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Tuba uterina'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-67',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Cervix uteri'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-68',
|
||||||
|
OPS_Gruppen_Text: 'Inzision, Exzision und Exstirpation des Uterus'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-69',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen am Uterus und Operationen an den Parametrien'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-70',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Vagina und Douglasraum'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-71',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Vulva'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-72',
|
||||||
|
OPS_Gruppen_Text: 'Entbindung aus Beckenendlage und instrumentelle Entbindung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-73',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen zur Geburtseinleitung und unter der Geburt'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-74',
|
||||||
|
OPS_Gruppen_Text: 'Sectio caesarea und Entwicklung des Kindes'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-75',
|
||||||
|
OPS_Gruppen_Text: 'Andere geburtshilfliche Operationen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-76',
|
||||||
|
OPS_Gruppen_Text: 'Operationen bei Gesichtsschädelfrakturen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-77',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an Gesichtsschädelknochen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-78',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an anderen Knochen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-79',
|
||||||
|
OPS_Gruppen_Text: 'Reposition von Fraktur und Luxation'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-80',
|
||||||
|
OPS_Gruppen_Text: 'Offen chirurgische und andere Gelenkoperationen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-81',
|
||||||
|
OPS_Gruppen_Text: 'Arthroskopische Gelenkoperationen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-82',
|
||||||
|
OPS_Gruppen_Text: 'Endoprothetischer Gelenk- und Knochenersatz'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-83',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Wirbelsäule'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-84',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an der Hand'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-85',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Muskeln, Sehnen, Faszien und Schleimbeuteln'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-86',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Replantation, Exartikulation und Amputation von Extremitäten, andere Operationen an den Bewegungsorganen und Zusatzinformationen zu Operationen an den Bewegungsorganen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-87',
|
||||||
|
OPS_Gruppen_Text: 'Exzision und Resektion der Mamma'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-88',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an der Mamma'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-89',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Haut und Unterhaut'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-90',
|
||||||
|
OPS_Gruppen_Text: 'Operative Wiederherstellung und Rekonstruktion von Haut und Unterhaut'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-91',
|
||||||
|
OPS_Gruppen_Text: 'Andere Operationen an Haut und Unterhaut'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-92',
|
||||||
|
OPS_Gruppen_Text: 'Operationen an Haut und Unterhaut bei Verbrennungen und Verätzungen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-93',
|
||||||
|
OPS_Gruppen_Text: 'Angaben zum Transplantat und zu verwendeten Materialien'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-98',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Spezielle Operationstechniken und Operationen bei speziellen Versorgungssituationen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '5-99',
|
||||||
|
OPS_Gruppen_Text: 'Vorzeitiger Abbruch einer Operation'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '6-00',
|
||||||
|
OPS_Gruppen_Text: 'Applikation von Medikamenten'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-01',
|
||||||
|
OPS_Gruppen_Text: 'Applikation von Medikamenten und Nahrung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-02',
|
||||||
|
OPS_Gruppen_Text: 'Therapeutische Injektion'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-03',
|
||||||
|
OPS_Gruppen_Text: 'Immuntherapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-10',
|
||||||
|
OPS_Gruppen_Text: 'Fremdkörperentfernung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-11',
|
||||||
|
OPS_Gruppen_Text: 'Extrakorporale Stoßwellentherapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-12',
|
||||||
|
OPS_Gruppen_Text: 'Manipulationen am Verdauungstrakt'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-13',
|
||||||
|
OPS_Gruppen_Text: 'Manipulationen am Harntrakt'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-14',
|
||||||
|
OPS_Gruppen_Text: 'Andere Formen von therapeutischer Katheterisierung und Kanüleneinlage'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-15',
|
||||||
|
OPS_Gruppen_Text: 'Therapeutische Aspiration und Entleerung durch Punktion'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-17',
|
||||||
|
OPS_Gruppen_Text: 'Spülung (Lavage)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-19',
|
||||||
|
OPS_Gruppen_Text: 'Verbände und Entfernung von erkranktem Gewebe an Haut und Unterhaut'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-20',
|
||||||
|
OPS_Gruppen_Text: 'Geschlossene Reposition einer Fraktur und Gelenkluxation ohne Osteosynthese'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-21',
|
||||||
|
OPS_Gruppen_Text: 'Forcierte Korrektur von Adhäsionen und Deformitäten'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-22',
|
||||||
|
OPS_Gruppen_Text: 'Herstellung und Anpassung von Gesichtsepithesen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-31',
|
||||||
|
OPS_Gruppen_Text: 'Immobilisation mit Gipsverband'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-39',
|
||||||
|
OPS_Gruppen_Text: 'Lagerungsbehandlung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-40',
|
||||||
|
OPS_Gruppen_Text: 'Extension am Skelett'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-41',
|
||||||
|
OPS_Gruppen_Text: 'Extension der Wirbelsäule'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-50',
|
||||||
|
OPS_Gruppen_Text: 'Kontrolle von Blutungen durch Tamponaden'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-51',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Manipulation an Fetus oder Uterus während der Gravidität oder direkt postpartal'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-52',
|
||||||
|
OPS_Gruppen_Text: 'Strahlentherapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-53',
|
||||||
|
OPS_Gruppen_Text: 'Nuklearmedizinische Therapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-54',
|
||||||
|
OPS_Gruppen_Text: 'Zytostatische Chemotherapie, Immuntherapie und antiretrovirale Therapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-55',
|
||||||
|
OPS_Gruppen_Text: 'Frührehabilitative Komplexbehandlung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-56',
|
||||||
|
OPS_Gruppen_Text: 'Physikalisch-therapeutische Einzelmaßnahmen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-60',
|
||||||
|
OPS_Gruppen_Text: 'Hyperthermie und Hypothermie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-63',
|
||||||
|
OPS_Gruppen_Text: 'Elektrostimulation des Nervensystems'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-64',
|
||||||
|
OPS_Gruppen_Text: 'Elektrische Konversion des Herzrhythmus'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-65',
|
||||||
|
OPS_Gruppen_Text: 'Elektrotherapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-66',
|
||||||
|
OPS_Gruppen_Text: 'Dauer der Behandlung durch fokussierten Ultraschall'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-70',
|
||||||
|
OPS_Gruppen_Text: 'Zugang bei maschineller Beatmung und Maßnahmen zum Offenhalten der Atemwege'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-71',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Maschinelle Beatmung und Atemunterstützung über Maske oder Tubus und Beatmungsentwöhnung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-72',
|
||||||
|
OPS_Gruppen_Text: 'Sauerstoffzufuhr'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-77',
|
||||||
|
OPS_Gruppen_Text: 'Maßnahmen im Rahmen der Reanimation'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-80',
|
||||||
|
OPS_Gruppen_Text: 'Transfusion von Blutzellen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-81',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Transfusion von Plasma, Plasmabestandteilen und Infusion von Volumenersatzmitteln'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-82',
|
||||||
|
OPS_Gruppen_Text: 'Plasmapherese, Adsorption und verwandte Verfahren'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-83',
|
||||||
|
OPS_Gruppen_Text: 'Therapeutische Katheterisierung und Kanüleneinlage in Gefäße'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-84',
|
||||||
|
OPS_Gruppen_Text: '(Perkutan-)transluminale Stentimplantation'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-85',
|
||||||
|
OPS_Gruppen_Text: 'Extrakorporale Zirkulation und Behandlung von Blut'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-86',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Autogene und allogene Stammzelltherapie und lokale Therapie mit Blutbestandteilen und Hepatozyten'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-90',
|
||||||
|
OPS_Gruppen_Text: 'Anästhesie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-91',
|
||||||
|
OPS_Gruppen_Text: 'Schmerztherapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-92',
|
||||||
|
OPS_Gruppen_Text: 'Neurologisches Monitoring'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-93',
|
||||||
|
OPS_Gruppen_Text: 'Monitoring von Atmung, Herz und Kreislauf'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-97',
|
||||||
|
OPS_Gruppen_Text: 'Multimodale Komplexbehandlung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-98',
|
||||||
|
OPS_Gruppen_Text: 'Sonstige multimodale Komplexbehandlung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '8-99',
|
||||||
|
OPS_Gruppen_Text: 'Zusatzinformationen zu nicht operativen therapeutischen Maßnahmen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-26',
|
||||||
|
OPS_Gruppen_Text: 'Geburtsbegleitende Maßnahmen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-27',
|
||||||
|
OPS_Gruppen_Text: 'Behandlung wegen Infertilität'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-28',
|
||||||
|
OPS_Gruppen_Text: 'Behandlung während der Schwangerschaft'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-31',
|
||||||
|
OPS_Gruppen_Text: 'Phoniatrische und pädaudiologische Komplexbehandlung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-32',
|
||||||
|
OPS_Gruppen_Text: 'Therapie von Stimm-, Sprach-, Sprech-, Schluckstörungen und Hörstörungen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-40',
|
||||||
|
OPS_Gruppen_Text: 'Psychosoziale, psychosomatische und neuropsychologische Therapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-41',
|
||||||
|
OPS_Gruppen_Text: 'Psychotherapie'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-50',
|
||||||
|
OPS_Gruppen_Text: 'Präventive Maßnahmen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-51',
|
||||||
|
OPS_Gruppen_Text: 'Ergänzende kommunikative Maßnahmen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-60',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Regelbehandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Erwachsenen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-61',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Intensivbehandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Erwachsenen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-62',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Psychotherapeutische Komplexbehandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Erwachsenen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-63',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Psychosomatisch-psychotherapeutische Komplexbehandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Erwachsenen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-64',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Zusatzinformationen zur Behandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Erwachsenen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-65',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Psychiatrisch-psychosomatische Regelbehandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Kindern und Jugendlichen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-67',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Psychiatrisch-psychosomatische Intensivbehandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Kindern und Jugendlichen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-68',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Psychiatrisch-psychosomatische Behandlung im besonderen Eltern-Kind-Setting bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Kindern und Jugendlichen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-69',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Zusatzinformationen zur Behandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Kindern und Jugendlichen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-70',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Spezifische Behandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Erwachsenen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-80',
|
||||||
|
OPS_Gruppen_Text:
|
||||||
|
'Spezifische Behandlung bei psychischen und psychosomatischen Störungen und Verhaltensstörungen bei Kindern und Jugendlichen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-98',
|
||||||
|
OPS_Gruppen_Text: 'Pflegebedürftigkeit und teilstationäre pädiatrische Behandlung'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OPSC_4: '9-99',
|
||||||
|
OPS_Gruppen_Text: 'Obduktion und nicht belegte Schlüsselnummern'
|
||||||
|
}
|
||||||
|
];
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem
|
||||||
|
BROKER_URL_FOR_PREREQ=${OVIS_PREREQ_URL:-https://github.com}
|
||||||
|
|
||||||
|
: ${ENABLE_OVIS:=true}
|
||||||
|
: ${REQUIRES_BEAM:=false}
|
||||||
|
: ${OVIS_PUBLIC_BASE_PATH:=/ovis}
|
||||||
|
: ${OVIS_PUBLIC_ORIGIN:=https://${HOST}}
|
||||||
|
: ${KEYCLOAK_HTTP_RELATIVE_PATH:=${OVIS_PUBLIC_BASE_PATH}/keycloak}
|
||||||
|
: ${OVIS_KEYCLOAK_HOSTNAME:=${HOST}}
|
||||||
|
: ${OVIS_IMPORT_MODE:=demo}
|
||||||
|
: ${OVIS_GENERAL_IMAGE_NAMESPACE:=thewindmom}
|
||||||
|
: ${OVIS_IMAGE_TAG:=latest}
|
||||||
|
: ${PUBLIC_LOGIN_ENABLED:=false}
|
||||||
|
: ${PUBLIC_LDAP_ENABLED:=false}
|
||||||
|
: ${PUBLIC_SYSTEM_START_LANGUAGE:=en}
|
||||||
|
: ${PUBLIC_NAV_STUDY_ENABLED:=false}
|
||||||
|
: ${PUBLIC_NAV_USER_MANAGEMENT_ENABLED:=true}
|
||||||
|
: ${OVIS_SITE_CONFIG_DIR:=/etc/bridgehead/ovis}
|
||||||
|
: ${OVIS_RUNTIME_DIR:=$(pwd)/ovis/runtime}
|
||||||
|
: ${OVIS_SITE_DOWNLOADS_DIR:=${OVIS_RUNTIME_DIR}/downloads}
|
||||||
|
: ${OVIS_SITE_CERTS_DIR:=${OVIS_RUNTIME_DIR}/certs}
|
||||||
|
: ${OVIS_SITE_KEYCLOAK_REALM_FILE:=${OVIS_RUNTIME_DIR}/keycloak/ovis-realm.json}
|
||||||
|
: ${OVIS_CATALOGUE_FILE:=${OVIS_RUNTIME_DIR}/mongodb/ovis-catalogue.json}
|
||||||
|
: ${OVIS_MONGO_INIT_FILE:=${OVIS_RUNTIME_DIR}/mongodb/initdb.js}
|
||||||
|
: ${OVIS_OPS4_FILE:=${OVIS_RUNTIME_DIR}/mongodb/ops4.mjs}
|
||||||
|
: ${OVIS_CREDOS_EXPORT_DIR:=${OVIS_RUNTIME_DIR}/input/CREDOSExportFiles}
|
||||||
|
|
||||||
|
if [ "${ENABLE_OVIS}" = "true" ]; then
|
||||||
|
mkdir -p /var/cache/bridgehead/ovis || fail_and_report 1 "Failed to create /var/cache/bridgehead/ovis"
|
||||||
|
OVIS_CREDENTIALS_FILE=${OVIS_CREDENTIALS_FILE:-/var/cache/bridgehead/ovis/credentials.env}
|
||||||
|
|
||||||
|
ovis_random_secret() {
|
||||||
|
openssl rand -hex 24
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -f "$OVIS_CREDENTIALS_FILE" ]; then
|
||||||
|
umask 077
|
||||||
|
{
|
||||||
|
printf ': ${DB:=onc_test}\n'
|
||||||
|
printf ': ${EXPRESS_AUTH_USERNAME:=ovis-express}\n'
|
||||||
|
printf ': ${EXPRESS_AUTH_PASSWORD:=%s}\n' "$(ovis_random_secret)"
|
||||||
|
printf ': ${KEYCLOAK_ADMIN:=ovis-admin}\n'
|
||||||
|
printf ': ${KEYCLOAK_ADMIN_PASSWORD:=%s}\n' "$(ovis_random_secret)"
|
||||||
|
printf ': ${KEYCLOAK_REALM:=ovis}\n'
|
||||||
|
printf ': ${KEYCLOAK_CLIENT_ID:=ovis_client}\n'
|
||||||
|
printf ': ${KEYCLOAK_CLIENT_SECRET:=%s}\n' "$(ovis_random_secret)"
|
||||||
|
printf ': ${KEYCLOAK_ADMIN_CLIENT_ID:=admin-cli}\n'
|
||||||
|
printf ': ${KEYCLOAK_ADMIN_CLIENT_SECRET:=%s}\n' "$(ovis_random_secret)"
|
||||||
|
printf ': ${OVIS_ROOT_USERNAME:=ovis-root}\n'
|
||||||
|
printf ': ${OVIS_ROOT_PASSWORD:=%s}\n' "$(ovis_random_secret)"
|
||||||
|
printf ': ${POSTGRES_DB:=keycloak}\n'
|
||||||
|
printf ': ${POSTGRES_USER:=ovis_keycloak}\n'
|
||||||
|
printf ': ${POSTGRES_PASSWORD:=%s}\n' "$(ovis_random_secret)"
|
||||||
|
} > "$OVIS_CREDENTIALS_FILE"
|
||||||
|
fi
|
||||||
|
if [ "$(id -u)" -eq 0 ] && id bridgehead >/dev/null 2>&1; then
|
||||||
|
chown bridgehead /var/cache/bridgehead/ovis "$OVIS_CREDENTIALS_FILE"
|
||||||
|
fi
|
||||||
|
chmod 700 /var/cache/bridgehead/ovis
|
||||||
|
chmod 600 "$OVIS_CREDENTIALS_FILE"
|
||||||
|
source "$OVIS_CREDENTIALS_FILE"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user