mirror of
https://github.com/samply/bridgehead.git
synced 2026-06-23 11:40:18 +02:00
Add general OVIS bridgehead project
This commit is contained in:
@@ -53,6 +53,9 @@ case "$PROJECT" in
|
||||
minimal)
|
||||
#nothing extra to do
|
||||
;;
|
||||
ovis)
|
||||
#nothing extra to do
|
||||
;;
|
||||
*)
|
||||
printUsage
|
||||
exit 1
|
||||
@@ -179,6 +182,10 @@ case "$ACTION" in
|
||||
;;
|
||||
enroll)
|
||||
loadVars
|
||||
if [ "${REQUIRES_BEAM:-true}" != "true" ]; then
|
||||
log "ERROR" "$PROJECT does not require Samply.Beam enrollment."
|
||||
exit 1
|
||||
fi
|
||||
do_enroll $PROXY_ID
|
||||
;;
|
||||
preRun | preUpdate)
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ checkOwner(){
|
||||
|
||||
printUsage() {
|
||||
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() {
|
||||
|
||||
@@ -75,7 +75,9 @@ log "INFO" "Enabling auto-updates for bridgehead@${PROJECT}.service ..."
|
||||
systemctl enable --now bridgehead-update@"${PROJECT}".timer
|
||||
|
||||
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"
|
||||
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"
|
||||
|
||||
@@ -76,9 +76,12 @@ case "$PROJECT" in
|
||||
minimal)
|
||||
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."
|
||||
exit 1
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -115,4 +118,3 @@ chown -R bridgehead:docker /tmp/bridgehead /var/cache/bridgehead
|
||||
chmod -R g+wr /var/cache/bridgehead /tmp/bridgehead
|
||||
|
||||
log INFO "System preparation is completed and configuration is present."
|
||||
|
||||
|
||||
@@ -94,6 +94,10 @@ if [ "${PROJECT}" != "minimal" ]; then
|
||||
fi
|
||||
fi
|
||||
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
|
||||
log INFO "Success - private key found."
|
||||
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