diff --git a/.github/actions/lint-asciidoc/action.yml b/.github/actions/lint-asciidoc/action.yml new file mode 100644 index 00000000..1bb9210e --- /dev/null +++ b/.github/actions/lint-asciidoc/action.yml @@ -0,0 +1,69 @@ +name: Lint AsciiDoc + +runs: + using: "composite" + steps: + - name: Verify image references + shell: bash + run: | + function err { + >&2 echo -e "\033[0;31m$@\033[0m" + } + + rc=0 + + while read -r file; do + echo "Checking $file" + + root=$(grep "^:imagesdir:" "$file" | sed -E "s/^:imagesdir:[[:space:]]*//") + if [[ ! -z "$root" ]]; then + if [[ "$root" == /* ]]; then + root=$(git rev-parse --show-toplevel)$root + fi + if [[ ! "$root" == */ ]]; then + root=$root/ + fi + fi + echo "Found imagedir ${root:-}" + + pushd "$(dirname "$file")" > /dev/null + + while read -r location; do + echo "Checking location $location" + + if [[ "$location" == http* ]]; then + if ! curl --head --silent --fail "$location" 2>&1 > /dev/null; then + err "$file references non-existent image $location" + rc=1 + fi + else + if [[ ! -f "$root$location" ]]; then + err "$file references non-existent image $location with imagedir ${root:-}" + rc=1 + fi + fi + done < <(grep -oE "image:+[^\[]*" "$(basename "$file")" | sed -E "s/^image:+//g") + + popd > /dev/null + done < <(find . -type f -name "*.adoc") + + exit $rc + + - name: Verify absence of tags + shell: bash + run: | + function err { + >&2 echo -e "\033[0;31m$@\033[0m" + } + + rc=0 + + while read -r file; do + echo "Checking $file" + + if grep -q " tags. Use AsciiDoc image macros instead." + fi + done < <(find . -type f -name "*.adoc") + + exit $rc diff --git a/.github/actions/lint-drawio/action.yml b/.github/actions/lint-drawio/action.yml new file mode 100644 index 00000000..762e1880 --- /dev/null +++ b/.github/actions/lint-drawio/action.yml @@ -0,0 +1,24 @@ +name: Lint draw.io + +runs: + using: "composite" + steps: + - name: Verify number of diagrams + shell: bash + run: | + function err { + >&2 echo -e "\033[0;31m$@\033[0m" + } + + rc=0 + + while read -r file; do + echo "Checking $file" + + if [[ $(grep "&2 echo -e "\033[0;31m$@\033[0m" + } + + rc=0 + + while read -r file; do + echo "Checking $file" + + if grep -qE "^@startuml\s+." "$file"; then + err "$file contains forbidden output name in @startuml" + rc=1 + fi + done < <(find . -name "*.puml") + + exit $rc diff --git a/.github/workflows/GenerateDrawIoImages.yml b/.github/workflows/GenerateDrawIoImages.yml deleted file mode 100644 index b996c0f1..00000000 --- a/.github/workflows/GenerateDrawIoImages.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: GenerateDrawIoImages - -on: - #push: - #branches: - #- '**' - # paths: - #- 'src/drawio/**' - - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - - # creates png files from draw io image files - - name: Export drawio files as png - uses: rlespinasse/drawio-export-action@v2 - with: - path: ./src/drawio/ - output: . - format: png - action-mode: all - - # creates svg files from draw io image files - - name: Export drawio files as svg - uses: rlespinasse/drawio-export-action@v2 - with: - path: ./src/drawio/ - output: . - format: svg - action-mode: all - - # copies the created png & svg files to the images/diagrams folder and deletes the drawio files - - name: Copy draw io - run: | - imagedir=images/diagrams - cp -RT ./src/drawio $imagedir - find $imagedir -name '*.drawio' -exec rm -rv {} \; - tree ./images - - # add and commit the new generated files - - name: Add & Commit - uses: EndBug/add-and-commit@v9 - with: - add: 'images/diagrams/' diff --git a/.github/workflows/GeneratePlantumlImages.yml b/.github/workflows/GeneratePlantumlImages.yml deleted file mode 100644 index 0ce7dd6d..00000000 --- a/.github/workflows/GeneratePlantumlImages.yml +++ /dev/null @@ -1,105 +0,0 @@ -name: GeneratePlantumlImages - -on: - push: - branches: - - '**' - paths: - - 'src/plantuml/**' - - 'src/drawio/**' - - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v4 - - # Installs Java distribution for running the plantUML jar - - name: Install Java - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '11' - check-latest: true - - # Install graphviz for plantuml - - name: Setup Graphviz - uses: ts-graphviz/setup-graphviz@v2 - - # Download plantUML jar - - name: Download plantuml file - run: | - wget -O plantuml.jar "https://github.com/plantuml/plantuml/releases/download/v1.2023.10/plantuml-1.2023.10.jar" - - # Runs a single command using the runners shell - - name: Generate images - run: | - imagedir=images/diagrams - mkdir -p $imagedir - rm -rf images/diagrams/* - for fullname in $(find src/plantuml/ -type f -name '*.puml') - do - echo "Fullname: ${fullname}" - base=$(basename "${fullname}" .puml) - dir=$(dirname $fullname) - echo "Basename: ${base}" - outdir=$(dirname $fullname | sed s+src/plantuml+${imagedir}+) - echo "Outdir: ${outdir}" - mkdir -p $outdir - plantoutdir="${PWD}/${outdir}" - echo "PlantOutdir: ${plantoutdir}" - - # PlantUML arguments: - # -v for verbose output (Debugging) - # -checkmetadata checks whether the target png/svg has the same source - # and if there are no changes, doesn't regenerate the image file - # -o sets the output folder for the png/svg files - plantargs="-v -checkmetadata -o ${plantoutdir} ${fullname}" - - # separate calls are needed, because only one file type can be set - # per call - java -jar plantuml.jar -tpng ${plantargs} - java -jar plantuml.jar -tsvg ${plantargs} - - # method with pipes - #cat "${fullname}" | java -jar plantuml.jar -p -tpng -checkmetadata > "${outdir}/${base}.png" - #cat "${fullname}" | java -jar plantuml.jar -p -tsvg -checkmetadata > "${outdir}/${base}.svg" - done - tree ./images - - # creates png files from draw io image files - - name: Export drawio files as png - uses: rlespinasse/drawio-export-action@v2 - with: - path: ./src/drawio/ - output: . - format: png - action-mode: all - - # creates svg files from draw io image files - - name: Export drawio files - uses: rlespinasse/drawio-export-action@v2 - with: - path: ./src/drawio/ - output: . - format: svg - action-mode: all - - # copies the created png & svg files to the images/diagrams folder and deletes the drawio files - - name: Copy draw io - run: | - imagedir=images/diagrams - cp -RT ./src/drawio $imagedir - find $imagedir -name '*.drawio' -exec rm -rv {} \; - tree ./images - - # add and commit the new generated files - - name: Add & Commit - uses: EndBug/add-and-commit@v9 - with: - add: 'images/diagrams/' diff --git a/.github/workflows/generate-images.yml b/.github/workflows/generate-images.yml new file mode 100644 index 00000000..3b0c1fab --- /dev/null +++ b/.github/workflows/generate-images.yml @@ -0,0 +1,146 @@ +name: Generate images + +on: + push: + branches: + - '**' + paths: + - '.github/workflows/generate-images.yml' + - 'images/drawio/**' + - 'images/plantuml/**' + - 'src/drawio/**' + - 'src/plantuml/**' + workflow_dispatch: + +env: + DRAWIO_VERSION: 24.2.5 + DRAWIO_SRC: src/drawio + DRAWIO_OUT: images/drawio + PLANTUML_VERSION: 1.2024.4 + PLANTUML_SRC: src/plantuml + PLANTUML_OUT: images/plantuml + +jobs: + drawio: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Lint draw.io sources + uses: ./.github/actions/lint-drawio + + - name: Set up Xvfb & draw.io desktop + run: | + wget -q https://github.com/jgraph/drawio-desktop/releases/download/v${{ env.DRAWIO_VERSION }}/drawio-amd64-${{ env.DRAWIO_VERSION }}.deb + sudo apt-get update + sudo apt-get install --yes --no-install-recommends xvfb ./drawio-amd64-${{ env.DRAWIO_VERSION }}.deb + + - name: Prepare output folder + run: | + rm -rf "${{ env.DRAWIO_OUT }}" + mkdir -p "${{ env.DRAWIO_OUT }}" + + - name: Export draw.io files as png / svg + run: | + # draw.io desktop requires a running X server + export DISPLAY=:42 + Xvfb :42 -nolisten unix & + + for ext in png svg; do + # The chromium args need to be specified last because of whatever + drawio --export --recursive --format $ext "${{ env.DRAWIO_SRC }}" --no-sandbox --disable-gpu --disable-dev-shm-usage + + rsync -v --recursive --include="*.$ext" --filter="-! */" "${{ env.DRAWIO_SRC }}"/* "${{ env.DRAWIO_OUT }}" + + # Nuke the exported files so that draw.io desktop doesn't attempt to use them as input files on the next loop pass + find "${{ env.DRAWIO_SRC }}" -name "*.$ext" -exec rm -v "{}" \; + done + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: images-drawio + path: ${{ env.DRAWIO_OUT }}/** + + plantuml: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Lint PlantUML sources + uses: ./.github/actions/lint-plantuml + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '11' + check-latest: true + + - name: Set up Graphviz + run: | + sudo apt-get update + sudo apt-get install --yes --no-install-recommends graphviz + + - name: Download PlantUML JAR + run: | + # Ironically, manually fetching the JAR is faster than installing the Debian plantuml package + wget -O plantuml.jar "https://github.com/plantuml/plantuml/releases/download/v${{ env.PLANTUML_VERSION }}/plantuml-${{ env.PLANTUML_VERSION }}.jar" + + - name: Prepare output folder + run: | + rm -rf "${{ env.PLANTUML_OUT }}" + mkdir -p "${{ env.PLANTUML_OUT }}" + + - name: Export PlantUML files as png / svg + run: | + for ext in png svg; do + java -jar plantuml.jar -t$ext -v -nometadata -failfast2 -nbthread auto -o "." "${{ env.PLANTUML_SRC }}/**.puml" + rsync -v --recursive --include="*.$ext" --filter="-! */" "${{ env.PLANTUML_SRC }}"/* "${{ env.PLANTUML_OUT }}" + done + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: images-plantuml + path: ${{ env.PLANTUML_OUT }}/** + + commit: + needs: [drawio, plantuml] + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Prepare output folders + run: | + rm -rf "${{ env.DRAWIO_OUT }}" + mkdir -p "${{ env.DRAWIO_OUT }}" + rm -rf "${{ env.PLANTUML_OUT }}" + mkdir -p "${{ env.PLANTUML_OUT }}" + + - name: Download draw.io artifact + uses: actions/download-artifact@v4 + with: + name: images-drawio + path: ${{ env.DRAWIO_OUT }} + + - name: Download PlantUML artifact + uses: actions/download-artifact@v4 + with: + name: images-plantuml + path: ${{ env.PLANTUML_OUT }} + + - name: Lint AsciiDoc + uses: ./.github/actions/lint-asciidoc + + - name: Add & Commit + uses: EndBug/add-and-commit@v9 + with: + add: ${{ env.DRAWIO_OUT }} ${{ env.PLANTUML_OUT }} + pull: --rebase --autostash diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000..705c81d6 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,39 @@ +name: Lint + +on: + pull_request: + push: + branches: + - main + workflow_dispatch: + +jobs: + asciidoc: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Lint + uses: ./.github/actions/lint-asciidoc + + drawio: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Lint + uses: ./.github/actions/lint-drawio + + plantuml: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Lint + uses: ./.github/actions/lint-plantuml \ No newline at end of file diff --git a/README.adoc b/README.adoc index 9abd7ae3..c6275a81 100644 --- a/README.adoc +++ b/README.adoc @@ -46,11 +46,7 @@ Für die Dokumentation des *TI-Messenger-Dienstes* werden in GitHub die folgende == Systemübersicht Die folgende Abbildung gibt einen Überblick über die Systemarchitektur des *TI-Messenger-Dienst* v1.1.1 insbesondere auf die Schnittstellen zwischen den Komponenten, die in den folgenden Kapiteln weiter betrachtet werden. -++++ -

- -

-++++ +image::System_overview.png[width="100%"] TIP: Auf die Schnittstellen zur Autentisierung am *Auth-Service* des *VZD-FHIR-Directory* wird in der oben gezeigten Abbildung verzichtet. Die Informationen hierzu können in dem entsprechenden Kapitel für das *VZD-FHIR-Directory* link:https://github.com/gematik/api-vzd/blob/gemILF_VZD_FHIR_Directory/1.0.1/docs/FHIR_VZD_HOWTO_Authenticate.adoc#2-fhirdirectoryauthenticationapis[hier] nachgelesen werden. @@ -98,8 +94,8 @@ TI-Messenger Dokumentation | ├──── link:docs/Test/Test.adoc[Testkonzept] | └──── link:docs/FAQ[FAQ] ├─ link:images[images] (Bildarchiv) -│ └──── link:images/diagrams[diagrams] (gerenderte Diagramme) -│ └── link:images/diagrams/TI-Messenger-Dienst/Ressourcen[Ressourcen] (plantuml-gerenderte Bilder) +│ └──── link:images/drawio[drawio] (draw.io-gerenderte Bilder) +│ └──── link:images/plantuml[plantuml] (plantuml-gerenderte Bilder) ├─ link:samples[samples] (Codebeispiele, Postman Collections, etc) ├─ link:src[src] (Quellen) │ ├──── link:src/drawio[drawio] (Quellen der drawio-Diagramme) diff --git a/docs/Client/Client.adoc b/docs/Client/Client.adoc index 4e401caf..db6d3b61 100644 --- a/docs/Client/Client.adoc +++ b/docs/Client/Client.adoc @@ -31,11 +31,7 @@ IMPORTANT: Die Seite ergänzt die Spezifikation gemäß link:https://fachportal. == TI-Messenger-Client für Akteure Der *TI-Messenger-Client* für Akteure unterstützt die meisten aller, durch die Matrix-Spezifikation festgelegten Funktionalitäten eines Matrix-Messengers und weitere durch die gematik definierten Vorgaben. Die Funktionalität des *TI-Messenger-Clients* für Akteure kann in drei abstrakte Module unterteilt werden. In der folgenden Abbildung wird dies verdeutlicht. -++++ -

- -

-++++ +image::I_Client.png[align="center",width="90%"] === Abstrakte Module ==== TI-Messenger Modul diff --git a/docs/FHIR-Directory/FHIR-Directory.adoc b/docs/FHIR-Directory/FHIR-Directory.adoc index 54648fd9..51f42b5b 100644 --- a/docs/FHIR-Directory/FHIR-Directory.adoc +++ b/docs/FHIR-Directory/FHIR-Directory.adoc @@ -30,11 +30,7 @@ die benötigt werden, um alle Funktionsmerkmale abbilden zu können. In der folgenden Abbildung sind die Teilkomponenten sowie deren Schnittstellen und die für deren Zugriff benötigten Zugriffstoken dargestellt: -++++ -

- -

-++++ +image::I_VZD_FHIR_Directory.png[width="100%"] == FHIR-Directory / Verzeichnistypen Das *FHIR-Directory* basiert auf link:https://hl7.org/fhir/R4/[FHIR R4] und stellt die zwei Verzeichnisse `HealthcareServiceDirectory`- und `PractitionerRoleDirectory` bereit. Die Profilierung der FHIR-Ressourcen ist im link:https://simplifier.net/vzd-fhir-directory[Simplifier] aufrufbar. @@ -43,19 +39,11 @@ Im folgenden sind die beiden Verzeichnisse mit deren Struktur beispielhaft darge * `HealthcareService` -++++ -

- -

-++++ +image::https://raw.githubusercontent.com/gematik/api-vzd/main/images/diagrams/ObjectDiagram.HealthcareService.svg[align="center",width="60%"] * `PractitionerRole` -++++ -

- -

-++++ +image::https://raw.githubusercontent.com/gematik/api-vzd/main/images/diagrams/ObjectDiagram.PractitionerRole.svg[align="center",width="60%"] Im Rahmen des *TI-Messenger-Dienstes* sollen die folgenden Attribute eines `Endpoints` eines `HealthcareService` oder einer `PractitionerRole` wie folgt gesetzt werden: diff --git a/docs/Fachdienst/Fachdienst.adoc b/docs/Fachdienst/Fachdienst.adoc index 95457fcc..2b645e24 100644 --- a/docs/Fachdienst/Fachdienst.adoc +++ b/docs/Fachdienst/Fachdienst.adoc @@ -23,11 +23,7 @@ IMPORTANT: Die Seite ergänzt die Spezifikation gemäß link:https://fachportal. Der *TI-Messenger-Fachdienst* besteht aus unterschiedlichen Teilkomponenten und Schnittstellen. Die nachfolge Abbildung verdeutlicht den Zusammenhang zwischen den Komponenten und den Kommunikationsschnittstellen. -++++ -

- -

-++++ +image::I_Fachdienst.png[width="100%"] Der *TI-Messenger-Fachdienst* besteht aus den folgenden Teilkomponenten : diff --git a/docs/Fachdienst/MessengerService.adoc b/docs/Fachdienst/MessengerService.adoc index 62ef21b7..522894e1 100644 --- a/docs/Fachdienst/MessengerService.adoc +++ b/docs/Fachdienst/MessengerService.adoc @@ -21,21 +21,15 @@ toc::[] == Überblick Ein *Messenger-Service* besteht immer aus den zwei Teilkomponenten *Messenger-Proxy* und *Matrix-Homeserver*. Der *Messenger-Proxy* dient als Prüfinstanz und leitet alle Anfragen an den *Matrix-Homeserver* weiter. Der *Matrix-Homeserver* basiert auf dem offenen Kommunikationsprotokoll link:https://spec.matrix.org/v1.3/[Matrix]. Welche Schnittstellen der *Messenger-Service* nutzt und anbietet ist in der folgenden Abbildung dargestellt: -++++ -

- -

-++++ +image::drawio/TI-Messenger-Fachdienst/API-Messenger-Service.svg[align="center",width="55%"] == Messenger-Proxy === Schnittstellen ==== Matrix Client-Server / Server-Server API Der *Messenger-Proxy* als Prüfinstanz aller eingehenden, sowie ausgehenden Anfragen zum *Matrix-Homeserver* ist für die Regelung der gemäß Matrix-Client-Server-API und Matrix-Server-Server-API geltenden Aufrufe zuständig. Daher ist es erforderlich, dass der *Messenger-Proxy* für jeden *Messenger-Service* als Forward- sowie Reverse-Proxy bereitgestellt wird. Die folgende Abbildung verdeutlicht die beide gerade skizzierten Funktionsweisen. -++++ -

- -

-++++ + +image::drawio/TI-Messenger-Fachdienst/funktionalitaet_proxy.svg[width="100%"] + Bei Aufruf der Client-Server-API durch einen *TI-Messenger-Client* aus dem Internet fungiert der *Messenger-Proxy* als Reverse-Proxy. Beim Aufruf der Server-Server-API im Rahmen einer Server-To-Server Kommunikation fungiert der *Messenger-Proxy* als Forward-, sowie als Reverse-Proxy. CAUTION: Der *Messenger-Proxy* routet gültige Anfragen zum *Matrix-Homeserver* und muss nicht selbst das Matrix-Protokoll implementieren. diff --git a/docs/Fachdienst/Registrierungsdienst.adoc b/docs/Fachdienst/Registrierungsdienst.adoc index b710573b..a4535a69 100644 --- a/docs/Fachdienst/Registrierungsdienst.adoc +++ b/docs/Fachdienst/Registrierungsdienst.adoc @@ -23,11 +23,7 @@ Der *Registrierungs-Dienst* gibt dem Anbieter eines *TI-Messenger-Fachdienstes* Das folgende Bild zeigt die Schnittstellen des *Registrierungs-Dienstes*, die in den folgenden Kapiteln weiter beschrieben werden. -++++ -

- -

-++++ +image::drawio/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst.svg[align="center",width="90%"] == Schnittstelle: I_Registration Die abstrakte Schnittstelle `I_Registration` muss die folgenden Funktionalitäten anbieten: diff --git a/docs/IDP/idp.adoc b/docs/IDP/idp.adoc index fb1f4172..21a561e0 100644 --- a/docs/IDP/idp.adoc +++ b/docs/IDP/idp.adoc @@ -327,9 +327,4 @@ CAUTION: Der von der gematik bereitgestellte Authenticator wird nicht in Verbind Die Abbildung zeigt die Verwendung des *Authenticators* mit der Auto-Redirect Funktion (`callback=DIRECT`) bei der die `redirect_uri` direkt vom Authenticator aufgerufen wird und der Browserclient über Polling beim Fachdienst den Status des Austausches des Tokens abfragt. Details zur Interaktion mit dem *Authenticator* sind in Kapitel _Interaktion mit der Fachanwendung_ beschrieben. Alternativ könnte der *Authenticator* beim Aufruf der `redirect_uri` eine nutzerfreundliche Webseite der *Relying Party* in einem neuen Browsertab öffnen. -++++ -

- -

-++++ - +image::plantuml/TI-Messenger-Dienst/Ressourcen/idp.svg[width="100%"] diff --git a/docs/Test/Test.adoc b/docs/Test/Test.adoc index 208955b6..992277f6 100644 --- a/docs/Test/Test.adoc +++ b/docs/Test/Test.adoc @@ -48,20 +48,20 @@ Dieses Testtreiber-Module MUSS Bestandteil der Test-APP sein (internes Testtreib Bei einem internen Testtreiber-Modul wird die REST-Schnittstelle in die Test-App integriert (der Zugriff erfolgt hierbei direkt über das Endgerät). .Abbildung{counter:abbildung: 1}: internes Testtreiber Modul -image:diagrams/Test/testtreiber-internes-Modul.png[align="left",width="100%", title="internes Testtreiber Modul"] +image:drawio/Test/testtreiber-internes-Modul.png[align="left",width="100%", title="internes Testtreiber Modul"] ==== externes Testtreiber-Modul Bei einem externen Testtreiber-Modul erhält die REST-Schnittstelle Zugang zum Test-Environment des Herstellers. .Abbildung{counter:abbildung: 1}: externes Testtreiber Modul -image:diagrams/Test/testtreiber-externes-Modul.png[align="left",width="100%", title="externes Testtreiber Modul"] +image:drawio/Test/testtreiber-externes-Modul.png[align="left",width="100%", title="externes Testtreiber Modul"] === TI-Messenger Testtreiber Anschaltung Das folgende Bild zeigt die Anschaltung der Testtreiber Clients. Die Clients können über eine externe oder interne Testtreiber-Schnittstelle mit der Testsuite remote oder local verbunden werden. Diese Leistung MUSS von jedem Hersteller erbracht werden. Welche Clients eingesetzt werden, können die Hersteller selbstständig entscheiden. Es werden nur bereitgestellte Clients zugelassen. Clients mit den gleichen Eigenschaften werden unter einer URL zusammengefasst. Diese URL wird dann in die Konfigurationsdatei 'combine_items.json' eingetragen. In dieser Datei werden alle Testobjekte verwaltet. .Abbildung{counter:abbildung: 1}: Anschaltung der Testtreiber Clients -image:diagrams/Test/Anschaltung der Testtreiber Clients-1.png[align="left",width="100%", title="Anschaltung der Testtreiber Clients"] +image:drawio/Test/Anschaltung der Testtreiber Clients.png[align="left",width="100%", title="Anschaltung der Testtreiber Clients"] Die unterschiedlichen Testtreibeschnittstellen werden mit mTLS gesichert. Die gematik stellt für den zugriff auf die Schnittstelle entsprechende Zertifikate bereit. Weiterführende Informationen zur Testsuite und zur Testtreiber-Schnittstelle findet man in der https://github.com/gematik/TI-Messenger-Testsuite/blob/main/doc/userguide/Testsuite.adoc[Testsuite TI-M Dienst Release 1.1.1]. @@ -88,14 +88,14 @@ Die gematik stellt eine TI-M Dienst Referenzimplementierung zur Verfügung. Zur Vor der Zulassung können sich die Hersteller eine Referenz-Instanz über die gematik bestellen. Die Referenz-Instanz hilft den Herstellern bei der Entwicklung neuer TI-M Clients, FdV und TI-M FD Versionen. Für die IOP-Tests zwischen den verschiedenen TI-Messenger-Anbietern bzw. -Herstellern können sowohl die Test-Instanzen als auch die Referenz-Instanzen genutzt werden. Die TI-M Dienste müssen gegen die Referenz-Instanz erfolgreich getestet werden. Die Testergebnisse sind der gematik vorzulegen. .Abbildung{counter:abbildung: 1}: Referenz-Instanz -image:diagrams/Test/HerstellerInstanz-1.png[align="left",width="100%", title="Referenz-Instanz"] +image:drawio/Test/HerstellerInstanz.png[align="left",width="100%", title="Referenz-Instanz"] === Hersteller IOP Tests Alle Anbieter MÜSSEN bereits im Vorfeld diesen IOP- und E2E-Tests selbständig und eigenverantwortlich durchführen. Bei Problemen im Rahmen der Zulassung MÜSSEN die Anbieter bei der Analyse unterstützen. In der folgenden Abbildung ist eine Systemumgebung für Herstellertests dargestellt. .Abbildung{counter:abbildung: 1}: IOP Testumgebung Hersteller -image:diagrams/Test/testumgebung-Hersteller.png[align="left",width="100%", title="IOP Testumgebung Hersteller"] +image:drawio/Test/testumgebung-Hersteller.png[align="left",width="100%", title="IOP Testumgebung Hersteller"] == Zulassung @@ -110,20 +110,20 @@ Die Tests werden zunächst gegen die Referenzimplementierung der gematik durchge Die Hersteller von TI-M Diensten müssen wie zuvor erwähnt die Testtreiberschnittstelle und den Fachdienst bereitstellen. Bei Problemen im Rahmen der Zulassung müssen die Anbieter bei der Analyse unterstützen. In der folgenden Abbildung ist eine Systemumgebung für den Zulassungstest TI-Messenger Pro (TI-M Pro) dargestellt. .Abbildung{counter:abbildung: 1}: Zulassung TI-Messenger Pro -image:diagrams/Test/Zulassung TIM-Basis.png[align="left",width="100%", title="Zulassung TI-Messenger Pro"] +image:drawio/Test/Zulassung TIM-Basis.png[align="left",width="100%", title="Zulassung TI-Messenger Pro"] ==== Zulassung TI-Messenger ePA Die Hersteller von Versicherten-Frontends müssen ebenfalls das FdV, die Testtreiberschnittstelle und den Fachdienst für Versicherte bereitstellen. Bei Problemen im Rahmen der Zulassung müssen die Anbieter bei der Analyse unterstützen. In der folgenden Abbildung ist eine Systemumgebung für den Zulassungstest TI-Messerger ePA (TI-M ePA) dargestellt. .Abbildung{counter:abbildung: 1}: Zulassung TI-Messenger ePA -image:diagrams/Test/Zulassung TIM-ePA.png[align="left",width="100%", title="Zulassung TI-Messenger ePA"] +image:drawio/Test/Zulassung TIM-ePA.png[align="left",width="100%", title="Zulassung TI-Messenger ePA"] === IOP Tests zwischen Anbietern durch die gematik Zusätzlich zu den bereits durchgeführten IOP- und E2E-Tests werden weitere Interoperabilitätstests verschiedener TI-Messenger-Lösungen vor und nach der Zulassung durch die gematik durchgeführt. Die folgende Abbildung zeigt die Nutzung der existierenden Testumgebung durch die gematik während der Zulassungs- und Interoperabilitätstests. .Abbildung{counter:abbildung: 1}: IOP Tests -image:diagrams/Test/testumgebung-Gematik.png[align="left",width="100%", title="IOP Tests"] +image:drawio/Test/testumgebung-Gematik.png[align="left",width="100%", title="IOP Tests"] IOP- und E2E-Tests für die Interoperabilität MÜSSEN zwischen den verschiedenen TI-Messenger-Anbietern nachgewiesen werden. Hierfür werden dann alle bereits zur Verfügung stehenden TI-M Dienste (die Test-Instanzen der einzelnen Hersteller) zusammengeschlossen und anschließend gegeneinander getestet. @@ -132,7 +132,7 @@ IOP- und E2E-Tests für die Interoperabilität MÜSSEN zwischen den verschiedene Im Anschluss der Zulassung wird mit den IOP- und E2E-Tests die Interoperabilität zwischen den verschiedenen TI-Messenger-Anbietern nachgewiesen. Hierfür werden dann alle bereits zur Verfügung stehenden TI-M Dienste (die Test-Instanzen der einzelnen Hersteller) zusammengeschlossen und anschließen gegeneinander getestet. Alle Anbieter MÜSSEN bereits im Vorfeld diesen IOP- und E2E-Tests selbständig und eigenverantwortlich durchführen. Bei Problemen im Rahmen der IOP Tests MÜSSEN die Anbieter bei der Analyse unterstützen. In der folgenden Abbildung ist eine Systemumgebung für Herstellertests TI-M Pro dargestellt. .Abbildung{counter:abbildung: 1}: IOP Test TI-Messenger Pro -image:diagrams/Test/Testumgebung Basis-1.png[align="left",width="100%", title="IOP Test TI-Messenger Pro"] +image:drawio/Test/Testumgebung Basis.png[align="left",width="100%", title="IOP Test TI-Messenger Pro"] Weiterhin wird ein dauerhaftes Continuous Testing eingeführt. Das Continuous Testing wird dann in der Folge erweitert Dadurch wird auch ein Test unterschiedlicher Messenger Versionen und Ausprägungen ermöglicht. @@ -141,19 +141,19 @@ Weiterhin wird ein dauerhaftes Continuous Testing eingeführt. Das Continuous Te Für den TI-M ePA gelten ebenso die im Kap. 3.2.1 beschriebenen Anforderungen an den IOP Test. In der folgenden Abbildung ist eine Systemumgebung für Herstellertests TI-M ePA dargestellt. Bei Problemen im Rahmen der IOP Tests MÜSSEN die Anbieter des Fachdienstes und des FdVs bei der Analyse unterstützen. .Abbildung{counter:abbildung: 1}: IOP Test TI-Messenger ePA -image:diagrams/Test/Testumgebung ePA-1.png[align="left",width="100%", title="IOP Test TI-Messenger ePA"] +image:drawio/Test/Testumgebung ePA.png[align="left",width="100%", title="IOP Test TI-Messenger ePA"] ==== IOP Tests Pools Um eine größere Abdeckung zu erhalten werden die Hersteller in Pools eingeteilt. Somit können mehrere Hersteller gleichzeitig getestet werden. Anschließend werden die Pools erneut gemischt. .Abbildung{counter:abbildung: 1}: IOP Test Pools -image:diagrams/Test/IOP Pools-1.png[align="left",width="100%", title="Verpflichtung nach der Zulassung"] +image:drawio/Test/IOP Pools.png[align="left",width="100%", title="Verpflichtung nach der Zulassung"] == Verpflichtung nach der Zulassung Der TI-Messenger-Anbieter MUSS eine Referenz-Instanz und mindestens eine Test-Instanz des TI-Messenger-Fachdienstes (TI-M FD) und TI-Messenger-Clients (TI-M Client) bereitstellen und betreiben. Die Referenz-Instanz hat die gleiche Version wie die Produktionsumgebung. Weiterhin wird die Referenz-Instanz für die Reproduktion aktueller Fehler/Probleme aus der Produktionsumgebung genutzt. Der Zugriff auf die Referenz-Instanz MUSS für die gematik zur Fehleranalyse gewährleistet sein. Die Test-Instanz dient den Herstellern bei der Entwicklung neuer TI-M Clients und TI-M FD Versionen, bei den IOP-Tests zwischen den verschiedenen TI-Messenger-Anbietern und wird zudem von der gematik für die Zulassung genutzt. Der TI-Messenger-Anbieter MUSS die verschiedenen Benutzer der Referenz-Instanz und der Test-Instanz koordinieren (Verwaltung eines Test-/Nutzungsplans). Bei Bedarf (Entwicklung verschiedener Versionen, hoher Auslastung durch andere Hersteller oder durch die gematik) MUSS der TI-Messenger-Anbieter auch mehrere Test-Instanzen mit der gleichen oder mit verschiedenen Versionen bereitstellen und betreiben. .Abbildung{counter:abbildung: 1}: Verpflichtung nach der Zulassung -image:diagrams/Test/nach_der_Zulassung-1.png[align="left",width="100%", title="Verpflichtung nach der Zulassung"] +image:drawio/Test/nach_der_Zulassung.png[align="left",width="100%", title="Verpflichtung nach der Zulassung"] Die Referenz-Instanz und die Test-Instanz wird auch im Anschluss der Zulassung weiter für IOP Test und Continuous Testing genutzt. \ No newline at end of file diff --git a/docs/anwendungsfaelle/COM-AF10057-anmeldung-am-messenger-service.adoc b/docs/anwendungsfaelle/COM-AF10057-anmeldung-am-messenger-service.adoc index 50190c61..f2719da4 100644 --- a/docs/anwendungsfaelle/COM-AF10057-anmeldung-am-messenger-service.adoc +++ b/docs/anwendungsfaelle/COM-AF10057-anmeldung-am-messenger-service.adoc @@ -42,9 +42,5 @@ Anmeldung eines Akteurs am Messenger-Service .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.svg[align="center",width="80%"] ==== diff --git a/docs/anwendungsfaelle/COM-AF10061-einladung-ausserhalb.adoc b/docs/anwendungsfaelle/COM-AF10061-einladung-ausserhalb.adoc index aec036ec..eb5e1467 100644 --- a/docs/anwendungsfaelle/COM-AF10061-einladung-ausserhalb.adoc +++ b/docs/anwendungsfaelle/COM-AF10061-einladung-ausserhalb.adoc @@ -43,9 +43,5 @@ Optionally, a notification is sent to actor B about the invitation to the chat r .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/COM-AF10062-events-ausserhalb.adoc b/docs/anwendungsfaelle/COM-AF10062-events-ausserhalb.adoc index 5557732e..5ebea213 100644 --- a/docs/anwendungsfaelle/COM-AF10062-events-ausserhalb.adoc +++ b/docs/anwendungsfaelle/COM-AF10062-events-ausserhalb.adoc @@ -39,9 +39,5 @@ Austausch von Events zwischen Akteuren außerhalb einer Organisation .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/COM-AF10063-events-innerhalb.adoc b/docs/anwendungsfaelle/COM-AF10063-events-innerhalb.adoc index 2541ab51..a93d7f0c 100644 --- a/docs/anwendungsfaelle/COM-AF10063-events-innerhalb.adoc +++ b/docs/anwendungsfaelle/COM-AF10063-events-innerhalb.adoc @@ -40,9 +40,5 @@ Austausch von Events zwischen Akteuren innerhalb einer Organisation .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/COM-AF10104-einladung-innerhalb.adoc b/docs/anwendungsfaelle/COM-AF10104-einladung-innerhalb.adoc index ef5766cd..18abca6d 100644 --- a/docs/anwendungsfaelle/COM-AF10104-einladung-innerhalb.adoc +++ b/docs/anwendungsfaelle/COM-AF10104-einladung-innerhalb.adoc @@ -41,9 +41,5 @@ Einladung von Akteuren innerhalb einer Organisation .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/COM-chatbot.adoc b/docs/anwendungsfaelle/COM-chatbot.adoc index 183292e0..139fe0f2 100644 --- a/docs/anwendungsfaelle/COM-chatbot.adoc +++ b/docs/anwendungsfaelle/COM-chatbot.adoc @@ -53,11 +53,7 @@ C. Beispielhafter Ablauf (siehe Abbildung "Kommunikation mit einem Chatbot"): .Kommunikation mit einem Chatbot [%collapsible%open] ==== -++++ -

- -

-++++ +image:drawio/TI-Messenger-Fachdienst/chatbot.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/MS-AF10060-bereitstellung-messenger-service.adoc b/docs/anwendungsfaelle/MS-AF10060-bereitstellung-messenger-service.adoc index db173387..0e38d9fe 100644 --- a/docs/anwendungsfaelle/MS-AF10060-bereitstellung-messenger-service.adoc +++ b/docs/anwendungsfaelle/MS-AF10060-bereitstellung-messenger-service.adoc @@ -44,9 +44,5 @@ Bereitstellung eines Messenger-Service für eine Organisation .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/MS-AF10064-foederation-pruefen.adoc b/docs/anwendungsfaelle/MS-AF10064-foederation-pruefen.adoc index 37bd7ac1..320f8861 100644 --- a/docs/anwendungsfaelle/MS-AF10064-foederation-pruefen.adoc +++ b/docs/anwendungsfaelle/MS-AF10064-foederation-pruefen.adoc @@ -35,9 +35,5 @@ Föderationszugehörigkeit eines Messenger-Service prüfen .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.svg[align="center",width="80%"] ==== diff --git a/docs/anwendungsfaelle/MS-AF10103-authentisieren-organisation.adoc b/docs/anwendungsfaelle/MS-AF10103-authentisieren-organisation.adoc index 86832c96..0ef65d48 100644 --- a/docs/anwendungsfaelle/MS-AF10103-authentisieren-organisation.adoc +++ b/docs/anwendungsfaelle/MS-AF10103-authentisieren-organisation.adoc @@ -50,10 +50,6 @@ Authentisieren einer Organisation am TI-Messenger-Dienst .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/MS-aktualisierung-foederationsliste.adoc b/docs/anwendungsfaelle/MS-aktualisierung-foederationsliste.adoc index 8b447bbe..ff75cda7 100644 --- a/docs/anwendungsfaelle/MS-aktualisierung-foederationsliste.adoc +++ b/docs/anwendungsfaelle/MS-aktualisierung-foederationsliste.adoc @@ -40,11 +40,7 @@ Aktualisierung der Föderationsliste .Sequenzdiagramm "Föderationsliste aktualisieren" [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.svg[width="100%"] ==== [caption=] @@ -65,11 +61,7 @@ Sequenzdiagramm "Provider authentifizieren und Föderationsliste abrufen": .Sequenzdiagramm "Provider authentifizieren und Föderationsliste abrufen" [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.svg[width="100%"] ==== Das in der Abbildung "Laufzeitansicht - Aktualisierung der Föderationsliste" referenzierte @@ -78,9 +70,5 @@ Sequenzdiagramm "Signatur der Föderationsliste prüfen": .Sequenzdiagramm "Signatur der Föderationsliste prüfen" [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.svg[align="center",width="60%"] ==== diff --git a/docs/anwendungsfaelle/MS-stufen-berechtigungspruefung.adoc b/docs/anwendungsfaelle/MS-stufen-berechtigungspruefung.adoc index 8bbb9272..69726b15 100644 --- a/docs/anwendungsfaelle/MS-stufen-berechtigungspruefung.adoc +++ b/docs/anwendungsfaelle/MS-stufen-berechtigungspruefung.adoc @@ -37,11 +37,7 @@ Stufen der Berechtigungsprüfung .sequence diagram [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.svg[width="100%"] ==== == Ablauf diff --git a/docs/anwendungsfaelle/TI-M_ePA/MS-AF10233-versicherteneinladung-unterbinden.adoc b/docs/anwendungsfaelle/TI-M_ePA/MS-AF10233-versicherteneinladung-unterbinden.adoc index d119bb5f..e913a04a 100644 --- a/docs/anwendungsfaelle/TI-M_ePA/MS-AF10233-versicherteneinladung-unterbinden.adoc +++ b/docs/anwendungsfaelle/TI-M_ePA/MS-AF10233-versicherteneinladung-unterbinden.adoc @@ -33,9 +33,5 @@ Weiterleitung der Einladung, wenn der Sender oder der Empfänger kein Akteur in .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-M_ePA/UC_10233_Seq.svg[align="center",width="80%"] ==== diff --git a/docs/anwendungsfaelle/VZD-AF10058-practitioner-hinzufuegen.adoc b/docs/anwendungsfaelle/VZD-AF10058-practitioner-hinzufuegen.adoc index 702d93d3..7e41c369 100644 --- a/docs/anwendungsfaelle/VZD-AF10058-practitioner-hinzufuegen.adoc +++ b/docs/anwendungsfaelle/VZD-AF10058-practitioner-hinzufuegen.adoc @@ -43,9 +43,5 @@ Akteur (User-HBA) im Verzeichnisdienst hinzufügen .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/VZD-AF10059-organisation-hinzufuegen.adoc b/docs/anwendungsfaelle/VZD-AF10059-organisation-hinzufuegen.adoc index 8f46e377..b1525b3e 100644 --- a/docs/anwendungsfaelle/VZD-AF10059-organisation-hinzufuegen.adoc +++ b/docs/anwendungsfaelle/VZD-AF10059-organisation-hinzufuegen.adoc @@ -43,9 +43,5 @@ Organisationsressourcen im Verzeichnisdienst hinzufügen .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.svg[width="100%"] ==== diff --git a/docs/anwendungsfaelle/VZD-suche.adoc b/docs/anwendungsfaelle/VZD-suche.adoc index 3422db2c..a6617643 100644 --- a/docs/anwendungsfaelle/VZD-suche.adoc +++ b/docs/anwendungsfaelle/VZD-suche.adoc @@ -44,9 +44,5 @@ Einträge im VZD-FHIR-Directory suchen .Sequenzdiagramm [%collapsible%open] ==== -++++ -

- -

-++++ +image:plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.svg[width="100%"] ==== diff --git a/images/diagrams/TI-M_Pro/UC_org_admin.png b/images/diagrams/TI-M_Pro/UC_org_admin.png deleted file mode 100644 index b4a4724e..00000000 Binary files a/images/diagrams/TI-M_Pro/UC_org_admin.png and /dev/null differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/TI-M spezifische Kommunikation.png b/images/diagrams/TI-Messenger-Dienst/Ressourcen/TI-M spezifische Kommunikation.png deleted file mode 100644 index 00b70cac..00000000 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/TI-M spezifische Kommunikation.png and /dev/null differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_org_admin.png b/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_org_admin.png deleted file mode 100644 index 4687032f..00000000 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_org_admin.png and /dev/null differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user.png b/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user.png deleted file mode 100644 index 001b6245..00000000 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user.png and /dev/null differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.png b/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.png deleted file mode 100644 index efd0b7be..00000000 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.png and /dev/null differ diff --git a/images/diagrams/System_Overview-Allgemein.png b/images/drawio/System_Overview.png similarity index 100% rename from images/diagrams/System_Overview-Allgemein.png rename to images/drawio/System_Overview.png diff --git a/images/diagrams/System_Overview-Allgemein.svg b/images/drawio/System_Overview.svg similarity index 100% rename from images/diagrams/System_Overview-Allgemein.svg rename to images/drawio/System_Overview.svg diff --git a/images/diagrams/TI-M_Pro/API-Messenger-Service-API-Messenger-Service.png b/images/drawio/TI-M_Pro/API-Messenger-Service.png similarity index 100% rename from images/diagrams/TI-M_Pro/API-Messenger-Service-API-Messenger-Service.png rename to images/drawio/TI-M_Pro/API-Messenger-Service.png diff --git a/images/diagrams/TI-M_Pro/API-Messenger-Service-API-Messenger-Service.svg b/images/drawio/TI-M_Pro/API-Messenger-Service.svg similarity index 100% rename from images/diagrams/TI-M_Pro/API-Messenger-Service-API-Messenger-Service.svg rename to images/drawio/TI-M_Pro/API-Messenger-Service.svg diff --git a/images/diagrams/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.png b/images/drawio/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst.png similarity index 100% rename from images/diagrams/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.png rename to images/drawio/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst.png diff --git a/images/diagrams/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.svg b/images/drawio/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst.svg similarity index 100% rename from images/diagrams/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.svg rename to images/drawio/TI-M_Pro/Schnittstellen_am_Registrierungs-Dienst.svg diff --git a/images/diagrams/TI-M_ePA/Berechtigung_fdv-Overview.png b/images/drawio/TI-M_ePA/Berechtigung_fdv.png similarity index 100% rename from images/diagrams/TI-M_ePA/Berechtigung_fdv-Overview.png rename to images/drawio/TI-M_ePA/Berechtigung_fdv.png diff --git a/images/diagrams/TI-M_ePA/Berechtigung_fdv-Overview.svg b/images/drawio/TI-M_ePA/Berechtigung_fdv.svg similarity index 100% rename from images/diagrams/TI-M_ePA/Berechtigung_fdv-Overview.svg rename to images/drawio/TI-M_ePA/Berechtigung_fdv.svg diff --git a/images/diagrams/TI-M_ePA/Komponentendiagramm_Client_fdv-Overview.png b/images/drawio/TI-M_ePA/Komponentendiagramm_Client_fdv.png similarity index 100% rename from images/diagrams/TI-M_ePA/Komponentendiagramm_Client_fdv-Overview.png rename to images/drawio/TI-M_ePA/Komponentendiagramm_Client_fdv.png diff --git a/images/diagrams/TI-M_ePA/Komponentendiagramm_Client_fdv-Overview.svg b/images/drawio/TI-M_ePA/Komponentendiagramm_Client_fdv.svg similarity index 100% rename from images/diagrams/TI-M_ePA/Komponentendiagramm_Client_fdv-Overview.svg rename to images/drawio/TI-M_ePA/Komponentendiagramm_Client_fdv.svg diff --git a/images/diagrams/TI-M_ePA/Komponentendiagramm_fdv-Fachdienst.png b/images/drawio/TI-M_ePA/Komponentendiagramm_fdv.png similarity index 100% rename from images/diagrams/TI-M_ePA/Komponentendiagramm_fdv-Fachdienst.png rename to images/drawio/TI-M_ePA/Komponentendiagramm_fdv.png diff --git a/images/diagrams/TI-M_ePA/Komponentendiagramm_fdv-Fachdienst.svg b/images/drawio/TI-M_ePA/Komponentendiagramm_fdv.svg similarity index 100% rename from images/diagrams/TI-M_ePA/Komponentendiagramm_fdv-Fachdienst.svg rename to images/drawio/TI-M_ePA/Komponentendiagramm_fdv.svg diff --git a/images/diagrams/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv-Overview.png b/images/drawio/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv.png similarity index 100% rename from images/diagrams/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv-Overview.png rename to images/drawio/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv.png diff --git a/images/diagrams/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv-Overview.svg b/images/drawio/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv.svg similarity index 100% rename from images/diagrams/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv-Overview.svg rename to images/drawio/TI-M_ePA/Pruefungen_Messenger_Proxy_fdv.svg diff --git a/images/diagrams/TI-M_ePA/Push_Komponeten_fdv-Seite-1.png b/images/drawio/TI-M_ePA/Push_Komponeten_fdv.png similarity index 100% rename from images/diagrams/TI-M_ePA/Push_Komponeten_fdv-Seite-1.png rename to images/drawio/TI-M_ePA/Push_Komponeten_fdv.png diff --git a/images/diagrams/TI-M_ePA/Push_Komponeten_fdv-Seite-1.svg b/images/drawio/TI-M_ePA/Push_Komponeten_fdv.svg similarity index 100% rename from images/diagrams/TI-M_ePA/Push_Komponeten_fdv-Seite-1.svg rename to images/drawio/TI-M_ePA/Push_Komponeten_fdv.svg diff --git a/images/diagrams/TI-M_ePA/TI-M_Kontextabgrenzung_fdv-Seite-1.png b/images/drawio/TI-M_ePA/TI-M_Kontextabgrenzung_fdv.png similarity index 100% rename from images/diagrams/TI-M_ePA/TI-M_Kontextabgrenzung_fdv-Seite-1.png rename to images/drawio/TI-M_ePA/TI-M_Kontextabgrenzung_fdv.png diff --git a/images/diagrams/TI-M_ePA/TI-M_Kontextabgrenzung_fdv-Seite-1.svg b/images/drawio/TI-M_ePA/TI-M_Kontextabgrenzung_fdv.svg similarity index 100% rename from images/diagrams/TI-M_ePA/TI-M_Kontextabgrenzung_fdv-Seite-1.svg rename to images/drawio/TI-M_ePA/TI-M_Kontextabgrenzung_fdv.svg diff --git "a/images/diagrams/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht-Seite-1.png" "b/images/drawio/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht.png" similarity index 100% rename from "images/diagrams/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht-Seite-1.png" rename to "images/drawio/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht.png" diff --git "a/images/diagrams/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht-Seite-1.svg" "b/images/drawio/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht.svg" similarity index 100% rename from "images/diagrams/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht-Seite-1.svg" rename to "images/drawio/TI-M_ePA/TI-Messenger_2.0_f\303\274r_Versicherte_Verteilungssicht.svg" diff --git a/images/diagrams/TI-Messenger-Client/Modules-Overview.png b/images/drawio/TI-Messenger-Client/Modules.png similarity index 100% rename from images/diagrams/TI-Messenger-Client/Modules-Overview.png rename to images/drawio/TI-Messenger-Client/Modules.png diff --git a/images/diagrams/TI-Messenger-Client/Modules-Overview.svg b/images/drawio/TI-Messenger-Client/Modules.svg similarity index 100% rename from images/diagrams/TI-Messenger-Client/Modules-Overview.svg rename to images/drawio/TI-Messenger-Client/Modules.svg diff --git a/images/diagrams/TI-Messenger-Client/System_Overview-Client.png b/images/drawio/TI-Messenger-Client/System_Overview.png similarity index 100% rename from images/diagrams/TI-Messenger-Client/System_Overview-Client.png rename to images/drawio/TI-Messenger-Client/System_Overview.png diff --git a/images/diagrams/TI-Messenger-Client/System_Overview-Client.svg b/images/drawio/TI-Messenger-Client/System_Overview.svg similarity index 100% rename from images/diagrams/TI-Messenger-Client/System_Overview-Client.svg rename to images/drawio/TI-Messenger-Client/System_Overview.svg diff --git a/images/diagrams/TI-Messenger-Fachdienst/API-Messenger-Service-API-Messenger-Service.png b/images/drawio/TI-Messenger-Fachdienst/API-Messenger-Service.png similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/API-Messenger-Service-API-Messenger-Service.png rename to images/drawio/TI-Messenger-Fachdienst/API-Messenger-Service.png diff --git a/images/diagrams/TI-Messenger-Fachdienst/API-Messenger-Service-API-Messenger-Service.svg b/images/drawio/TI-Messenger-Fachdienst/API-Messenger-Service.svg similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/API-Messenger-Service-API-Messenger-Service.svg rename to images/drawio/TI-Messenger-Fachdienst/API-Messenger-Service.svg diff --git a/images/diagrams/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy-Overview.png b/images/drawio/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy.png similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy-Overview.png rename to images/drawio/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy.png diff --git a/images/diagrams/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy-Overview.svg b/images/drawio/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy.svg similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy-Overview.svg rename to images/drawio/TI-Messenger-Fachdienst/Pruefungen_Messenger_Proxy.svg diff --git a/images/diagrams/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.png b/images/drawio/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst.png similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.png rename to images/drawio/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst.png diff --git a/images/diagrams/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.svg b/images/drawio/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst.svg similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst-Registrierungs-Dienst.svg rename to images/drawio/TI-Messenger-Fachdienst/Schnittstellen_am_Registrierungs-Dienst.svg diff --git a/images/diagrams/TI-Messenger-Fachdienst/System_Overview-Fachdienst.png b/images/drawio/TI-Messenger-Fachdienst/System_Overview.png similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/System_Overview-Fachdienst.png rename to images/drawio/TI-Messenger-Fachdienst/System_Overview.png diff --git a/images/diagrams/TI-Messenger-Fachdienst/System_Overview-Fachdienst.svg b/images/drawio/TI-Messenger-Fachdienst/System_Overview.svg similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/System_Overview-Fachdienst.svg rename to images/drawio/TI-Messenger-Fachdienst/System_Overview.svg diff --git a/images/diagrams/TI-Messenger-Fachdienst/chatbot-Seite-1.png b/images/drawio/TI-Messenger-Fachdienst/chatbot.png similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/chatbot-Seite-1.png rename to images/drawio/TI-Messenger-Fachdienst/chatbot.png diff --git a/images/diagrams/TI-Messenger-Fachdienst/chatbot-Seite-1.svg b/images/drawio/TI-Messenger-Fachdienst/chatbot.svg similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/chatbot-Seite-1.svg rename to images/drawio/TI-Messenger-Fachdienst/chatbot.svg diff --git a/images/diagrams/TI-Messenger-Fachdienst/funktionalitaet_proxy-Proxy.png b/images/drawio/TI-Messenger-Fachdienst/funktionalitaet_proxy.png similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/funktionalitaet_proxy-Proxy.png rename to images/drawio/TI-Messenger-Fachdienst/funktionalitaet_proxy.png diff --git a/images/diagrams/TI-Messenger-Fachdienst/funktionalitaet_proxy-Proxy.svg b/images/drawio/TI-Messenger-Fachdienst/funktionalitaet_proxy.svg similarity index 100% rename from images/diagrams/TI-Messenger-Fachdienst/funktionalitaet_proxy-Proxy.svg rename to images/drawio/TI-Messenger-Fachdienst/funktionalitaet_proxy.svg diff --git a/images/diagrams/Test/Anschaltung der Testtreiber Clients-1.png b/images/drawio/Test/Anschaltung der Testtreiber Clients.png similarity index 100% rename from images/diagrams/Test/Anschaltung der Testtreiber Clients-1.png rename to images/drawio/Test/Anschaltung der Testtreiber Clients.png diff --git a/images/diagrams/Test/Anschaltung der Testtreiber Clients-1.svg b/images/drawio/Test/Anschaltung der Testtreiber Clients.svg similarity index 100% rename from images/diagrams/Test/Anschaltung der Testtreiber Clients-1.svg rename to images/drawio/Test/Anschaltung der Testtreiber Clients.svg diff --git a/images/diagrams/Test/HerstellerInstanz-1.png b/images/drawio/Test/HerstellerInstanz.png similarity index 100% rename from images/diagrams/Test/HerstellerInstanz-1.png rename to images/drawio/Test/HerstellerInstanz.png diff --git a/images/diagrams/Test/HerstellerInstanz-1.svg b/images/drawio/Test/HerstellerInstanz.svg similarity index 100% rename from images/diagrams/Test/HerstellerInstanz-1.svg rename to images/drawio/Test/HerstellerInstanz.svg diff --git a/images/diagrams/Test/IOP Pools-1.png b/images/drawio/Test/IOP Pools.png similarity index 100% rename from images/diagrams/Test/IOP Pools-1.png rename to images/drawio/Test/IOP Pools.png diff --git a/images/diagrams/Test/IOP Pools-1.svg b/images/drawio/Test/IOP Pools.svg similarity index 100% rename from images/diagrams/Test/IOP Pools-1.svg rename to images/drawio/Test/IOP Pools.svg diff --git a/images/diagrams/Test/Testumgebung Basis-1.png b/images/drawio/Test/Testumgebung Basis.png similarity index 100% rename from images/diagrams/Test/Testumgebung Basis-1.png rename to images/drawio/Test/Testumgebung Basis.png diff --git a/images/diagrams/Test/Testumgebung Basis-1.svg b/images/drawio/Test/Testumgebung Basis.svg similarity index 100% rename from images/diagrams/Test/Testumgebung Basis-1.svg rename to images/drawio/Test/Testumgebung Basis.svg diff --git a/images/diagrams/Test/Testumgebung ePA-1.png b/images/drawio/Test/Testumgebung ePA.png similarity index 100% rename from images/diagrams/Test/Testumgebung ePA-1.png rename to images/drawio/Test/Testumgebung ePA.png diff --git a/images/diagrams/Test/Testumgebung ePA-1.svg b/images/drawio/Test/Testumgebung ePA.svg similarity index 100% rename from images/diagrams/Test/Testumgebung ePA-1.svg rename to images/drawio/Test/Testumgebung ePA.svg diff --git a/images/diagrams/Test/Zulassung TIM-Basis.png b/images/drawio/Test/Zulassung TIM-Basis.png similarity index 100% rename from images/diagrams/Test/Zulassung TIM-Basis.png rename to images/drawio/Test/Zulassung TIM-Basis.png diff --git a/images/diagrams/Test/Zulassung TIM-Basis.svg b/images/drawio/Test/Zulassung TIM-Basis.svg similarity index 100% rename from images/diagrams/Test/Zulassung TIM-Basis.svg rename to images/drawio/Test/Zulassung TIM-Basis.svg diff --git a/images/diagrams/Test/Zulassung TIM-ePA.png b/images/drawio/Test/Zulassung TIM-ePA.png similarity index 100% rename from images/diagrams/Test/Zulassung TIM-ePA.png rename to images/drawio/Test/Zulassung TIM-ePA.png diff --git a/images/diagrams/Test/Zulassung TIM-ePA.svg b/images/drawio/Test/Zulassung TIM-ePA.svg similarity index 100% rename from images/diagrams/Test/Zulassung TIM-ePA.svg rename to images/drawio/Test/Zulassung TIM-ePA.svg diff --git a/images/diagrams/Test/nach_der_Zulassung-1.png b/images/drawio/Test/nach_der_Zulassung.png similarity index 100% rename from images/diagrams/Test/nach_der_Zulassung-1.png rename to images/drawio/Test/nach_der_Zulassung.png diff --git a/images/diagrams/Test/nach_der_Zulassung-1.svg b/images/drawio/Test/nach_der_Zulassung.svg similarity index 100% rename from images/diagrams/Test/nach_der_Zulassung-1.svg rename to images/drawio/Test/nach_der_Zulassung.svg diff --git a/images/diagrams/Test/testtreiber-externes-Modul.png b/images/drawio/Test/testtreiber-externes-Modul.png similarity index 100% rename from images/diagrams/Test/testtreiber-externes-Modul.png rename to images/drawio/Test/testtreiber-externes-Modul.png diff --git a/images/diagrams/Test/testtreiber-externes-Modul.svg b/images/drawio/Test/testtreiber-externes-Modul.svg similarity index 100% rename from images/diagrams/Test/testtreiber-externes-Modul.svg rename to images/drawio/Test/testtreiber-externes-Modul.svg diff --git a/images/diagrams/Test/testtreiber-internes-Modul.png b/images/drawio/Test/testtreiber-internes-Modul.png similarity index 100% rename from images/diagrams/Test/testtreiber-internes-Modul.png rename to images/drawio/Test/testtreiber-internes-Modul.png diff --git a/images/diagrams/Test/testtreiber-internes-Modul.svg b/images/drawio/Test/testtreiber-internes-Modul.svg similarity index 100% rename from images/diagrams/Test/testtreiber-internes-Modul.svg rename to images/drawio/Test/testtreiber-internes-Modul.svg diff --git a/images/diagrams/Test/testumgebung-Gematik.png b/images/drawio/Test/testumgebung-Gematik.png similarity index 100% rename from images/diagrams/Test/testumgebung-Gematik.png rename to images/drawio/Test/testumgebung-Gematik.png diff --git a/images/diagrams/Test/testumgebung-Gematik.svg b/images/drawio/Test/testumgebung-Gematik.svg similarity index 100% rename from images/diagrams/Test/testumgebung-Gematik.svg rename to images/drawio/Test/testumgebung-Gematik.svg diff --git a/images/diagrams/Test/testumgebung-Hersteller.png b/images/drawio/Test/testumgebung-Hersteller.png similarity index 100% rename from images/diagrams/Test/testumgebung-Hersteller.png rename to images/drawio/Test/testumgebung-Hersteller.png diff --git a/images/diagrams/Test/testumgebung-Hersteller.svg b/images/drawio/Test/testumgebung-Hersteller.svg similarity index 100% rename from images/diagrams/Test/testumgebung-Hersteller.svg rename to images/drawio/Test/testumgebung-Hersteller.svg diff --git a/images/plantuml/TI-M_Pro/UC_org_admin.png b/images/plantuml/TI-M_Pro/UC_org_admin.png new file mode 100644 index 00000000..cc6fc884 Binary files /dev/null and b/images/plantuml/TI-M_Pro/UC_org_admin.png differ diff --git a/images/diagrams/TI-M_Pro/UC_org_admin.svg b/images/plantuml/TI-M_Pro/UC_org_admin.svg similarity index 58% rename from images/diagrams/TI-M_Pro/UC_org_admin.svg rename to images/plantuml/TI-M_Pro/UC_org_admin.svg index 95778b30..86698134 100644 --- a/images/diagrams/TI-M_Pro/UC_org_admin.svg +++ b/images/plantuml/TI-M_Pro/UC_org_admin.svg @@ -1 +1 @@ -RolleAnwendungsfällez. B. Beauftragter Mitarbeiter in einerOrganisationOrg-Admin«AF_10103» Authentisieren einer Organisationam TI-Messenger-Dienst«AF_10060» Bereitstellung eines Messenger-Servicefür eine Organisation«AF_10059» Organisationsressourcen imVerzeichnisdienst hinzufügen \ No newline at end of file +RolleAnwendungsfällez. B. Beauftragter Mitarbeiter in einerOrganisationOrg-Admin«AF_10103» Authentisieren einer Organisationam TI-Messenger-Dienst«AF_10060» Bereitstellung eines Messenger-Servicefür eine Organisation«AF_10059» Organisationsressourcen imVerzeichnisdienst hinzufügen \ No newline at end of file diff --git a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login.png b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.png similarity index 99% rename from images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login.png rename to images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.png index af3714b2..ceedbab3 100644 Binary files a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login.png and b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.png differ diff --git a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login.svg b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.svg similarity index 94% rename from images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login.svg rename to images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.svg index 254aa588..c8924bc3 100644 --- a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login.svg +++ b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.svg @@ -1 +1 @@ -Endgerät TI-Messenger Service VersicherterVersicherterTI-M Client(Browser)TI-M Client(Browser)TI-M ProxyTI-M ProxyMatrixHomeserver(Relying party für IDP)MatrixHomeserver(Relying party für IDP)WebserverliefertTIM-Web-App ausWebserverliefertTIM-Web-App ausSektoralerIDPSektoralerIDP1starte App2Lade Matrix-Web-Client3WebanwendungOIDC Login4GET https://client.homeserver-tim.de/_matrix/client/v3/login5200 OK{"flows":[{"type":"m.login.sso","identity_providers":[    {"id":"sektoraler-idp","name":"Sektoraler-IDP","icon":"mxc://..","brand":"sektoraler-idp"},    {"type":"m.login.token"}]}opt[Registration]6POST https://client.homeserver-tim.de/_matrix/client/v3/register    {"initial_device_display_name":"TIM-Web-App: Firefox auf Windows","refresh_token":true}7401 Unauthorized{"session":"...","flows":[    {"stages":["m.login.recaptcha","m.login.terms","m.login.email.identity"]}],    "params":{"m.login.recaptcha":{"public_key":"..."},    "m.login.terms":{"policies":{"privacy_policy":{"version":"1.0","en":{"name":"Terms and Conditions",    "url":"https://client.homeserver-tim.de/_matrix/consent?v=1.0"}}}}}}8GET https://client.homeserver-tim.de/_matrix/client/v3/login/sso/redirect/sektoraler-idpChanged behavior because OIDC PAR is required9302 Redirect      location: https://sektoraler-idp.de/login/oauth?      response_type=code&      client_id=example-client-id&      redirect_uri=https%3A%2F%2Fclient.homeserver-tim.de%2F_synapse%2Fclient%2Foidc%2Fcallback&      scope=openid+urn:telematik:display_name+urn:telematik:given_name+urn:telematik:versicherter      &state=example-state&nonce=example-nonce      code_challenge=...&code_challenge_method=S256      set-cookie: ...=...; ...      ...10POST https://sektoraler-idp.de/par       Content-Type: application/x-www-form-urlencoded       response_type=code&client_id=example-client-id&state=example-state&       redirect_uri=https%3A%2F%2Fclient.homeserver-tim.de%2F_synapse%2Fclient%2Foidc%2Fcallback       &code_challenge=...&code_challenge_method=S256&       scope=openid+urn:telematik:display_name+urn:telematik:given_name+urn:telematik:versicherter&11200 OK       Content-Type: application/json       {"request_uri":"urn:example:bwc4JK-ESC0w8acc191e-Y1LTC2","expires_in": 90}12302 Redirect       location: https://sektoraler-idp.de/login/oauth/authorize?       request_uri=urn%3Aexample%3Abwc4JK-ESC0w8acc191e-Y1LTC2IDP authentication13GEThttps://sektoraler-idp.de/login/oauth/authorize?request_uri=urn%3Aexample%3Abwc4JK-ESC0w8acc191e-Y1LTC2Black box with example14Challenge15Consent Page16Approval17Response18302 Redirectlocation: https://client.homeserver-tim.de/_synapse/client/oidc/callback?code=example-auth-code&state=example-state19GET https://client.homeserver-tim.de/_synapse/client/oidc/callback?code=example-auth-code&state=example-state     Cookie: ...=...20POST https://sektoraler-idp.de/token-endpoint     Content-Type: application/x-www-form-urlencoded     authorization_code=code&code_verifier=...21200 OK     Content-Type: application/json     {"id_token":"...","expires_in": 90}22200 OK HTML Consent Page, Zugriff TIM-Web-App auf Matrix Account    <a href="https://TIM-Web-App/?loginToken=example-matrix-login-token" class="primary-button">Continue</a>23GET https://TIM-Web-App/?loginToken=example-matrix-login-token24200 OK HTML...25POST https://client.homeserver-tim.de/_matrix/client/v3/login    {"token":"example-matrix-login-token",    "initial_device_display_name":"TIM-Web-App: Firefox on macOS",    "type":"m.login.token"}26200 OK    {"user_id":"@username:homeserver-tim.de",    "access_token":"example-matrix-access-token",    "home_server":"homeserver-tim.de",    "device_id":"example-device-id",    "well_known":{"m.homeserver":{"base_url":"https://client.homeserver-tim.de/"}}}27Login successful \ No newline at end of file +Endgerät TI-Messenger Service VersicherterVersicherterTI-M Client(Browser)TI-M Client(Browser)TI-M ProxyTI-M ProxyMatrixHomeserver(Relying party für IDP)MatrixHomeserver(Relying party für IDP)WebserverliefertTIM-Web-App ausWebserverliefertTIM-Web-App ausSektoralerIDPSektoralerIDP1starte App2Lade Matrix-Web-Client3WebanwendungOIDC Login4GET https://client.homeserver-tim.de/_matrix/client/v3/login5200 OK{"flows":[{"type":"m.login.sso","identity_providers":[    {"id":"sektoraler-idp","name":"Sektoraler-IDP","icon":"mxc://..","brand":"sektoraler-idp"},    {"type":"m.login.token"}]}opt[Registration]6POST https://client.homeserver-tim.de/_matrix/client/v3/register    {"initial_device_display_name":"TIM-Web-App: Firefox auf Windows","refresh_token":true}7401 Unauthorized{"session":"...","flows":[    {"stages":["m.login.recaptcha","m.login.terms","m.login.email.identity"]}],    "params":{"m.login.recaptcha":{"public_key":"..."},    "m.login.terms":{"policies":{"privacy_policy":{"version":"1.0","en":{"name":"Terms and Conditions",    "url":"https://client.homeserver-tim.de/_matrix/consent?v=1.0"}}}}}}8GET https://client.homeserver-tim.de/_matrix/client/v3/login/sso/redirect/sektoraler-idpChanged behavior because OIDC PAR is required9302 Redirect      location: https://sektoraler-idp.de/login/oauth?      response_type=code&      client_id=example-client-id&      redirect_uri=https%3A%2F%2Fclient.homeserver-tim.de%2F_synapse%2Fclient%2Foidc%2Fcallback&      scope=openid+urn:telematik:display_name+urn:telematik:given_name+urn:telematik:versicherter      &state=example-state&nonce=example-nonce      code_challenge=...&code_challenge_method=S256      set-cookie: ...=...; ...      ...10POST https://sektoraler-idp.de/par       Content-Type: application/x-www-form-urlencoded       response_type=code&client_id=example-client-id&state=example-state&       redirect_uri=https%3A%2F%2Fclient.homeserver-tim.de%2F_synapse%2Fclient%2Foidc%2Fcallback       &code_challenge=...&code_challenge_method=S256&       scope=openid+urn:telematik:display_name+urn:telematik:given_name+urn:telematik:versicherter&11200 OK       Content-Type: application/json       {"request_uri":"urn:example:bwc4JK-ESC0w8acc191e-Y1LTC2","expires_in": 90}12302 Redirect       location: https://sektoraler-idp.de/login/oauth/authorize?       request_uri=urn%3Aexample%3Abwc4JK-ESC0w8acc191e-Y1LTC2IDP authentication13GEThttps://sektoraler-idp.de/login/oauth/authorize?request_uri=urn%3Aexample%3Abwc4JK-ESC0w8acc191e-Y1LTC2Black box with example14Challenge15Consent Page16Approval17Response18302 Redirectlocation: https://client.homeserver-tim.de/_synapse/client/oidc/callback?code=example-auth-code&state=example-state19GET https://client.homeserver-tim.de/_synapse/client/oidc/callback?code=example-auth-code&state=example-state     Cookie: ...=...20POST https://sektoraler-idp.de/token-endpoint     Content-Type: application/x-www-form-urlencoded     authorization_code=code&code_verifier=...21200 OK     Content-Type: application/json     {"id_token":"...","expires_in": 90}22200 OK HTML Consent Page, Zugriff TIM-Web-App auf Matrix Account    <a href="https://TIM-Web-App/?loginToken=example-matrix-login-token" class="primary-button">Continue</a>23GET https://TIM-Web-App/?loginToken=example-matrix-login-token24200 OK HTML...25POST https://client.homeserver-tim.de/_matrix/client/v3/login    {"token":"example-matrix-login-token",    "initial_device_display_name":"TIM-Web-App: Firefox on macOS",    "type":"m.login.token"}26200 OK    {"user_id":"@username:homeserver-tim.de",    "access_token":"example-matrix-access-token",    "home_server":"homeserver-tim.de",    "device_id":"example-device-id",    "well_known":{"m.homeserver":{"base_url":"https://client.homeserver-tim.de/"}}}27Login successful \ No newline at end of file diff --git a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login_simplified.png b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.png similarity index 99% rename from images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login_simplified.png rename to images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.png index 83621bc2..e646235f 100644 Binary files a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login_simplified.png and b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.png differ diff --git a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login_simplified.svg b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.svg similarity index 96% rename from images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login_simplified.svg rename to images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.svg index 5bee848c..b85420c7 100644 --- a/images/diagrams/TI-M_ePA/TI-Messenger_OIDC_Login_simplified.svg +++ b/images/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.svg @@ -1 +1 @@ -Endgerät TI-Messenger Service Akteur in derRolle VersicherterAkteur in derRolle VersicherterePA-FdVTI-M ClientePA-FdVTI-M ClientePA-FdVAuthenticator-ModulePA-FdVAuthenticator-ModulMessenger-ProxyMessenger-ProxyMatrix-Homeserver(Relying party für IDP)Matrix-Homeserver(Relying party für IDP)SektoralerIDPSektoralerIDP1starte AppOIDC Login2GET {homeserver_client_api_url}/login3200 OK (:Login Types)enthalten: ID des sektoralen IDP: {sidp}opt[Auswahl durch Akteur: Registrierungs- statt Login-Funktion]4POST {homeserver_client_api_url}/register(initial_device_display_name, refresh_token)5401 UnauthorizedHomeserver benötigt zusätzlicheAuthentisierungsinformationen6GET{homeserver_client_api_url}/login/sso/redirect/{sidp}Verhaltensänderung, da der sektorale IDP OIDC PAR erfordert7302 Redirect (:location, :response_type,:client_id, :redirect_uri, :scope, :state,:code_challenge)8POST {sektoraler_idp_url}/par(response_type, redirect_uri, code_challenge,scope)9201 CREATED (:request_uri)10302 Redirect{sektoraler_idp_url}/login/oauth/authorize(:request_uri)IDP Authentisierung mit nutzerspezifischer Authentifizierung11Authorization Request(request_uri)Authenticator Modul IDP-sek12GET{sektoraler_idp_url}/login/oauth/authorize(request_uri)13Challenge14Consent Page15Approval16ResponseNutzung von Identifikationsmerkmalen,die vom IDP vorgegeben sind17302 Redirect {redirect_uri} (:auth_code,:state)18Redirect(redirect_uri, AUTH_CODE)19GET {redirect_uri} (auth_code, state)20POST {sektoraler_idp_url}/token-endpoint(auth_code, code_verifier)21200 OK (:id_token)opt[kein passender Benutzer-Account zum id_token vorhanden]22/register  (initial_device_display_name,refresh_token, id_token)Benutzer-Account anlegen23200 OK (:loginToken)HTML Consent Page, ZugriffTIM-Web-App auf Matrix Account24POST {homeserver_client_api_url}/login(loginToken, initial_device_display_name)25200 OK (:user_id, :access_token, :home_server,:device_id, :well_known)26Login erfolgreich \ No newline at end of file +Endgerät TI-Messenger Service Akteur in derRolle VersicherterAkteur in derRolle VersicherterePA-FdVTI-M ClientePA-FdVTI-M ClientePA-FdVAuthenticator-ModulePA-FdVAuthenticator-ModulMessenger-ProxyMessenger-ProxyMatrix-Homeserver(Relying party für IDP)Matrix-Homeserver(Relying party für IDP)SektoralerIDPSektoralerIDP1starte AppOIDC Login2GET {homeserver_client_api_url}/login3200 OK (:Login Types)enthalten: ID des sektoralen IDP: {sidp}opt[Auswahl durch Akteur: Registrierungs- statt Login-Funktion]4POST {homeserver_client_api_url}/register(initial_device_display_name, refresh_token)5401 UnauthorizedHomeserver benötigt zusätzlicheAuthentisierungsinformationen6GET{homeserver_client_api_url}/login/sso/redirect/{sidp}Verhaltensänderung, da der sektorale IDP OIDC PAR erfordert7302 Redirect (:location, :response_type,:client_id, :redirect_uri, :scope, :state,:code_challenge)8POST {sektoraler_idp_url}/par(response_type, redirect_uri, code_challenge,scope)9201 CREATED (:request_uri)10302 Redirect{sektoraler_idp_url}/login/oauth/authorize(:request_uri)IDP Authentisierung mit nutzerspezifischer Authentifizierung11Authorization Request(request_uri)Authenticator Modul IDP-sek12GET{sektoraler_idp_url}/login/oauth/authorize(request_uri)13Challenge14Consent Page15Approval16ResponseNutzung von Identifikationsmerkmalen,die vom IDP vorgegeben sind17302 Redirect {redirect_uri} (:auth_code,:state)18Redirect(redirect_uri, AUTH_CODE)19GET {redirect_uri} (auth_code, state)20POST {sektoraler_idp_url}/token-endpoint(auth_code, code_verifier)21200 OK (:id_token)opt[kein passender Benutzer-Account zum id_token vorhanden]22/register  (initial_device_display_name,refresh_token, id_token)Benutzer-Account anlegen23200 OK (:loginToken)HTML Consent Page, ZugriffTIM-Web-App auf Matrix Account24POST {homeserver_client_api_url}/login(loginToken, initial_device_display_name)25200 OK (:user_id, :access_token, :home_server,:device_id, :well_known)26Login erfolgreich \ No newline at end of file diff --git a/images/diagrams/TI-M_ePA/UC_10104_Seq_fdv.png b/images/plantuml/TI-M_ePA/UC_10104_Seq_fdv.png similarity index 98% rename from images/diagrams/TI-M_ePA/UC_10104_Seq_fdv.png rename to images/plantuml/TI-M_ePA/UC_10104_Seq_fdv.png index 50cd9720..7804e0db 100644 Binary files a/images/diagrams/TI-M_ePA/UC_10104_Seq_fdv.png and b/images/plantuml/TI-M_ePA/UC_10104_Seq_fdv.png differ diff --git a/images/diagrams/TI-M_ePA/UC_10104_Seq_fdv.svg b/images/plantuml/TI-M_ePA/UC_10104_Seq_fdv.svg similarity index 92% rename from images/diagrams/TI-M_ePA/UC_10104_Seq_fdv.svg rename to images/plantuml/TI-M_ePA/UC_10104_Seq_fdv.svg index 8ce983c2..871bed84 100644 --- a/images/diagrams/TI-M_ePA/UC_10104_Seq_fdv.svg +++ b/images/plantuml/TI-M_ePA/UC_10104_Seq_fdv.svg @@ -1 +1 @@ -Messenger-Service Akteur - AAkteur - ATI-Messenger-Client ATI-Messenger-Client AMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverTI-Messenger-Client BTI-Messenger-Client BAkteur - BAkteur - B Die Akteure sind auf demselben Messenger-Service angemeldet und im Besitz eines zugelassenen TI-Messenger-Clients.Ein Chatraum wurde durch den Einladenen eingerichtet. Akteur B einladenPOST /_matrix/client/v3/rooms/{roomId}/inviteClient-Server-Prüfungenbreak[Client-Server Prüfung ist fehlgeschlagen]Verbindung wird abgelehntHTTP(S) FowardInvite verarbeitenInvite RequestHTTP(S) ForwardEinladung anzeigenEinladung annehmenEinladung angenommenHTTP(S) ForwardStatusStatusNutzer in denRaum hinzugefügt \ No newline at end of file +Messenger-Service Akteur - AAkteur - ATI-Messenger-Client ATI-Messenger-Client AMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverTI-Messenger-Client BTI-Messenger-Client BAkteur - BAkteur - B Die Akteure sind auf demselben Messenger-Service angemeldet und im Besitz eines zugelassenen TI-Messenger-Clients.Ein Chatraum wurde durch den Einladenen eingerichtet. Akteur B einladenPOST /_matrix/client/v3/rooms/{roomId}/inviteClient-Server-Prüfungenbreak[Client-Server Prüfung ist fehlgeschlagen]Verbindung wird abgelehntHTTP(S) FowardInvite verarbeitenInvite RequestHTTP(S) ForwardEinladung anzeigenEinladung annehmenEinladung angenommenHTTP(S) ForwardStatusStatusNutzer in denRaum hinzugefügt \ No newline at end of file diff --git a/images/diagrams/TI-M_ePA/UC_10233_Seq.png b/images/plantuml/TI-M_ePA/UC_10233_Seq.png similarity index 96% rename from images/diagrams/TI-M_ePA/UC_10233_Seq.png rename to images/plantuml/TI-M_ePA/UC_10233_Seq.png index cc0c6fe2..c453784b 100644 Binary files a/images/diagrams/TI-M_ePA/UC_10233_Seq.png and b/images/plantuml/TI-M_ePA/UC_10233_Seq.png differ diff --git a/images/diagrams/TI-M_ePA/UC_10233_Seq.svg b/images/plantuml/TI-M_ePA/UC_10233_Seq.svg similarity index 89% rename from images/diagrams/TI-M_ePA/UC_10233_Seq.svg rename to images/plantuml/TI-M_ePA/UC_10233_Seq.svg index ac0c1231..55eb3c47 100644 --- a/images/diagrams/TI-M_ePA/UC_10233_Seq.svg +++ b/images/plantuml/TI-M_ePA/UC_10233_Seq.svg @@ -1 +1 @@ -Messenger-Service Messenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-Homeserver1prüfe den Sender und den Empfänger des Invite-Eventauf Zugehörigkeit zu einer Versichertendomainbreak[Sender und Empfänger sind beide Versicherte]2HTTP 403 Forbidden3HTTP(S) Forward4Status \ No newline at end of file +Messenger-Service Messenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-Homeserver1prüfe den Sender und den Empfänger des Invite-Eventauf Zugehörigkeit zu einer Versichertendomainbreak[Sender und Empfänger sind beide Versicherte]2HTTP 403 Forbidden3HTTP(S) Forward4Status \ No newline at end of file diff --git a/images/diagrams/TI-M_ePA/UC_Approvel_List_Seq_fdv.png b/images/plantuml/TI-M_ePA/UC_Approvel_List_Seq_fdv.png similarity index 99% rename from images/diagrams/TI-M_ePA/UC_Approvel_List_Seq_fdv.png rename to images/plantuml/TI-M_ePA/UC_Approvel_List_Seq_fdv.png index ac428be7..aa85fe24 100644 Binary files a/images/diagrams/TI-M_ePA/UC_Approvel_List_Seq_fdv.png and b/images/plantuml/TI-M_ePA/UC_Approvel_List_Seq_fdv.png differ diff --git a/images/diagrams/TI-M_ePA/UC_Approvel_List_Seq_fdv.svg b/images/plantuml/TI-M_ePA/UC_Approvel_List_Seq_fdv.svg similarity index 94% rename from images/diagrams/TI-M_ePA/UC_Approvel_List_Seq_fdv.svg rename to images/plantuml/TI-M_ePA/UC_Approvel_List_Seq_fdv.svg index 7679b69b..2487b1ab 100644 --- a/images/diagrams/TI-M_ePA/UC_Approvel_List_Seq_fdv.svg +++ b/images/plantuml/TI-M_ePA/UC_Approvel_List_Seq_fdv.svg @@ -1 +1 @@ -Messenger-Servicedes einladenden Akteurs Messenger-Servicedes eingeladenen Akteurs Messenger Clientdes eingeladenen Akteurs Messenger-ServiceMessenger-ServiceMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-DienstPush-DienstMessenger-ClientMessenger-ClientMatrix-Invite-EventBerechtigungskonzept - Stufe 1  break[Matrix-Domain nicht in der Föderation enthalten]Abbruch,Verbindung wirdabgelehntHTTP 403break[Einladender und der Eingeladene sind beide Versicherte]Abbruch,Verbindung wirdabgelehntHTTP 403HTTP(S) ForwardInvite-EventverarbeitenPush NotificationPush NotificationResponseResponseBerechtigungskonzept - Stufe 2  Abfrage neuer EventsHTTP(S) ForwardBereitstellung neuer EventsHTTP(S) ForwardExtrahieren der Invite-EventsPrüfung, ob die Einladung erlaubt istbreak[Der Akteur hat "allow all" konfiguriert und der einladende Akteurist auf der BlockedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenbreak[Der Akteur hat "block all" konfiguriert und der einladende Akteurist nicht auf der AllowedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenErgebnis der EinladungsprüfungHTTP(S) ForwardErgebnis der EinladungsprüfungHTTP(S) Forward \ No newline at end of file +Messenger-Servicedes einladenden Akteurs Messenger-Servicedes eingeladenen Akteurs Messenger Clientdes eingeladenen Akteurs Messenger-ServiceMessenger-ServiceMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-DienstPush-DienstMessenger-ClientMessenger-ClientMatrix-Invite-EventBerechtigungskonzept - Stufe 1  break[Matrix-Domain nicht in der Föderation enthalten]Abbruch,Verbindung wirdabgelehntHTTP 403break[Einladender und der Eingeladene sind beide Versicherte]Abbruch,Verbindung wirdabgelehntHTTP 403HTTP(S) ForwardInvite-EventverarbeitenPush NotificationPush NotificationResponseResponseBerechtigungskonzept - Stufe 2  Abfrage neuer EventsHTTP(S) ForwardBereitstellung neuer EventsHTTP(S) ForwardExtrahieren der Invite-EventsPrüfung, ob die Einladung erlaubt istbreak[Der Akteur hat "allow all" konfiguriert und der einladende Akteurist auf der BlockedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenbreak[Der Akteur hat "block all" konfiguriert und der einladende Akteurist nicht auf der AllowedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenErgebnis der EinladungsprüfungHTTP(S) ForwardErgebnis der EinladungsprüfungHTTP(S) Forward \ No newline at end of file diff --git a/images/diagrams/TI-M_ePA/push_notifications_fdv_delivery.png b/images/plantuml/TI-M_ePA/push_notifications_fdv_delivery.png similarity index 98% rename from images/diagrams/TI-M_ePA/push_notifications_fdv_delivery.png rename to images/plantuml/TI-M_ePA/push_notifications_fdv_delivery.png index ad41d192..e45944a0 100644 Binary files a/images/diagrams/TI-M_ePA/push_notifications_fdv_delivery.png and b/images/plantuml/TI-M_ePA/push_notifications_fdv_delivery.png differ diff --git a/images/diagrams/TI-M_ePA/push_notifications_fdv_delivery.svg b/images/plantuml/TI-M_ePA/push_notifications_fdv_delivery.svg similarity index 94% rename from images/diagrams/TI-M_ePA/push_notifications_fdv_delivery.svg rename to images/plantuml/TI-M_ePA/push_notifications_fdv_delivery.svg index f85ff872..6e1957b7 100644 --- a/images/diagrams/TI-M_ePA/push_notifications_fdv_delivery.svg +++ b/images/plantuml/TI-M_ePA/push_notifications_fdv_delivery.svg @@ -1 +1 @@ -VersicherterVersicherterFrontend des VersichertenInhaber eines DeviceTokensFrontend des VersichertenInhaber eines DeviceTokensPush-AnbieterPush-AnbieterPush-GatewayPush-GatewayFachdienstFachdienst1Benachrichtigungfür DeviceToken(EventID)2Benachrichtigungfür DeviceToken(EventID,SenderID)3Response4Response5Benachrichtigung anEmpfänger(EventID, SenderID)6ermittle Fachdienst(SenderID)7Abfrage der Daten zuEvent(EventID)8VerschlüsselteBenachrichtigungsinhalte9Entschlüssele(VerschlüsselteBenachrichtigungsinhalte)10erzeugeAnwenderbenachrichtigung mit den entschlüsselten Inhalten11Zeige Benachrichtigung \ No newline at end of file +VersicherterVersicherterFrontend des VersichertenInhaber eines DeviceTokensFrontend des VersichertenInhaber eines DeviceTokensPush-AnbieterPush-AnbieterPush-GatewayPush-GatewayFachdienstFachdienst1Benachrichtigungfür DeviceToken(EventID)2Benachrichtigungfür DeviceToken(EventID,SenderID)3Response4Response5Benachrichtigung anEmpfänger(EventID, SenderID)6ermittle Fachdienst(SenderID)7Abfrage der Daten zuEvent(EventID)8VerschlüsselteBenachrichtigungsinhalte9Entschlüssele(VerschlüsselteBenachrichtigungsinhalte)10erzeugeAnwenderbenachrichtigung mit den entschlüsselten Inhalten11Zeige Benachrichtigung \ No newline at end of file diff --git a/images/diagrams/TI-M_ePA/push_notifications_fdv_registration.png b/images/plantuml/TI-M_ePA/push_notifications_fdv_registration.png similarity index 91% rename from images/diagrams/TI-M_ePA/push_notifications_fdv_registration.png rename to images/plantuml/TI-M_ePA/push_notifications_fdv_registration.png index 727f5398..5ed6f55f 100644 Binary files a/images/diagrams/TI-M_ePA/push_notifications_fdv_registration.png and b/images/plantuml/TI-M_ePA/push_notifications_fdv_registration.png differ diff --git a/images/diagrams/TI-M_ePA/push_notifications_fdv_registration.svg b/images/plantuml/TI-M_ePA/push_notifications_fdv_registration.svg similarity index 93% rename from images/diagrams/TI-M_ePA/push_notifications_fdv_registration.svg rename to images/plantuml/TI-M_ePA/push_notifications_fdv_registration.svg index 7befeba4..ab5031a5 100644 --- a/images/diagrams/TI-M_ePA/push_notifications_fdv_registration.svg +++ b/images/plantuml/TI-M_ePA/push_notifications_fdv_registration.svg @@ -1 +1 @@ -VersicherterVersicherterFrontend des VersichertenFrontend des VersichertenPush-AnbieterPush-AnbieterPush-GatewayPush-GatewayFachdienstFachdienst1installiert FdV auf dem Smartphone2registriert sich beim Push-Anbieter(SenderID, APIKey,AppID)3eindeutiges DeviceToken für die app Instanz4speichere DeviceToken5konfiguriere zu verwendendesGateway(Gateway-Information, DeviceToken)6Konfiguration übernommen \ No newline at end of file +VersicherterVersicherterFrontend des VersichertenFrontend des VersichertenPush-AnbieterPush-AnbieterPush-GatewayPush-GatewayFachdienstFachdienst1installiert FdV auf dem Smartphone2registriert sich beim Push-Anbieter(SenderID, APIKey,AppID)3eindeutiges DeviceToken für die app Instanz4speichere DeviceToken5konfiguriere zu verwendendesGateway(Gateway-Information, DeviceToken)6Konfiguration übernommen \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Client/Berechtigungen_setzen.png b/images/plantuml/TI-Messenger-Client/Berechtigungen_setzen.png similarity index 83% rename from images/diagrams/TI-Messenger-Client/Berechtigungen_setzen.png rename to images/plantuml/TI-Messenger-Client/Berechtigungen_setzen.png index 16b05689..c3fcc02f 100644 Binary files a/images/diagrams/TI-Messenger-Client/Berechtigungen_setzen.png and b/images/plantuml/TI-Messenger-Client/Berechtigungen_setzen.png differ diff --git a/images/diagrams/TI-Messenger-Client/Berechtigungen_setzen.svg b/images/plantuml/TI-Messenger-Client/Berechtigungen_setzen.svg similarity index 96% rename from images/diagrams/TI-Messenger-Client/Berechtigungen_setzen.svg rename to images/plantuml/TI-Messenger-Client/Berechtigungen_setzen.svg index fe8369bb..2fa0562f 100644 --- a/images/diagrams/TI-Messenger-Client/Berechtigungen_setzen.svg +++ b/images/plantuml/TI-Messenger-Client/Berechtigungen_setzen.svg @@ -1 +1 @@ -Setzen von Berechtigungen im ClientClient startenBerechtigungen einrichten"Allow all" or "Block all"Allow allBlock allBlockedUser-Liste bearbeitenHinzufügenEntfernenUser/Gruppe/Domain hinzufügenUser/Gruppe/Domain entfernenJaBeschränkungen einrichtenNeinAllowedUser-Liste bearbeitenHinzufügenEntfernenUser/Gruppe/Domain hinzufügenUser/Gruppe/Domain entfernenJaErlaubnisse einrichtenNeinKonfiguration auf dem Server sichern \ No newline at end of file +Setzen von Berechtigungen im ClientClient startenBerechtigungen einrichten"Allow all" or "Block all"Allow allBlock allBlockedUser-Liste bearbeitenHinzufügenEntfernenUser/Gruppe/Domain hinzufügenUser/Gruppe/Domain entfernenJaBeschränkungen einrichtenNeinAllowedUser-Liste bearbeitenHinzufügenEntfernenUser/Gruppe/Domain hinzufügenUser/Gruppe/Domain entfernenJaErlaubnisse einrichtenNeinKonfiguration auf dem Server sichern \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.png index bff5ae52..8d96da56 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.svg similarity index 95% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.svg index 7f7f63c8..61d10dd7 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10057_Seq.svg @@ -1 +1 @@ -Messenger-Service VZD-FHIR-Directory Akteur in der RolleUserAkteur in der RolleUserTI-Messenger-ClientTI-Messenger-ClientMessenger ProxyMessenger ProxyMatrix-HomeserverMatrix-HomeserverAuth-ServiceAuth-Service1Eingabe Messenger-Service2GET /_matrix/client/login3TLS-Terminierung4prüfe client_idalt[TI-Messenger Client wird vom Anbieter nicht unterstützt (kein gültiges client_secret)]5HTTP 401 Unauthroized6Anmeldungnicht erfolgreich[TI-Messenger Client wird vom Anbieter unterstützt (gültiges client_secret)]7HTTP(S) ForwardDie Authentifizierungsverfahren werden für jedenMessenger-Service durch die Organisation festgelegt8unterstützteAuthentifizierungs-verfahren9HTTP(S) Forward10ZeigeAuthentifizierungsmaske11Starte Authentifizierung12Anmeldung13POST /_matrix/client/login14HTTP(S) Forward15prüfeClient-Credentialsopt[Abbruch]16FehlerhafteAnmeldedaten17HTTP(S) Forward18Anmeldedatensind nicht korrektDie Überprüfung ist abhängig vomgewählten Authentifizierungsverfahren19erstelleMatrix-ACCESS_TOKEN,device_id,MXID20Matrix-ACCESS_TOKEN,device_ID, MXID21HTTP(S) Forward22SpeichereMatrix-ACCESS_TOKEN23POST /_matrix/client/user/{userId}/openid/request_token24HTTP(S) Forward25ErstelleMatrix-OpenID-Token26Matrix-OpenID-Token27HTTP(S) Forward28GET /tim-authenticate (Matrix-OpenID-Token)29Prüfung, obMatrix-Domainin Föderationenthalten istalt[nicht valider Messenger-Service, da Matrix-Homeserver nicht in der Föderations enthalten ist]30HTTP 401Unauthorized31Abmelden SessionMatrix-ACCESS_TOKENlöschen32Anmeldungnicht erfolgreich[valider Messenger-Service, da Matrix-Homeserver in der Föderation enthalten ist]33HTTP 20034Anmeldungerfolgreich \ No newline at end of file +Messenger-Service VZD-FHIR-Directory Akteur in der RolleUserAkteur in der RolleUserTI-Messenger-ClientTI-Messenger-ClientMessenger ProxyMessenger ProxyMatrix-HomeserverMatrix-HomeserverAuth-ServiceAuth-Service1Eingabe Messenger-Service2GET /_matrix/client/login3TLS-Terminierung4prüfe client_idalt[TI-Messenger Client wird vom Anbieter nicht unterstützt (kein gültiges client_secret)]5HTTP 401 Unauthroized6Anmeldungnicht erfolgreich[TI-Messenger Client wird vom Anbieter unterstützt (gültiges client_secret)]7HTTP(S) ForwardDie Authentifizierungsverfahren werden für jedenMessenger-Service durch die Organisation festgelegt8unterstützteAuthentifizierungs-verfahren9HTTP(S) Forward10ZeigeAuthentifizierungsmaske11Starte Authentifizierung12Anmeldung13POST /_matrix/client/login14HTTP(S) Forward15prüfeClient-Credentialsopt[Abbruch]16FehlerhafteAnmeldedaten17HTTP(S) Forward18Anmeldedatensind nicht korrektDie Überprüfung ist abhängig vomgewählten Authentifizierungsverfahren19erstelleMatrix-ACCESS_TOKEN,device_id,MXID20Matrix-ACCESS_TOKEN,device_ID, MXID21HTTP(S) Forward22SpeichereMatrix-ACCESS_TOKEN23POST /_matrix/client/user/{userId}/openid/request_token24HTTP(S) Forward25ErstelleMatrix-OpenID-Token26Matrix-OpenID-Token27HTTP(S) Forward28GET /tim-authenticate (Matrix-OpenID-Token)29Prüfung, obMatrix-Domainin Föderationenthalten istalt[nicht valider Messenger-Service, da Matrix-Homeserver nicht in der Föderations enthalten ist]30HTTP 401Unauthorized31Abmelden SessionMatrix-ACCESS_TOKENlöschen32Anmeldungnicht erfolgreich[valider Messenger-Service, da Matrix-Homeserver in der Föderation enthalten ist]33HTTP 20034Anmeldungerfolgreich \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.png index 3a7885f7..9b7dbc3c 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.svg similarity index 95% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.svg index b0ac397f..0d858ff0 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10058_Seq.svg @@ -1 +1 @@ -Endgerät VZD-FHIR-Directory Akteur in der RolleUser-HBAAkteur in der RolleUser-HBATI-Messenger-ClientTI-Messenger-ClientAuthenticatorAuthenticatorKonnektorKonnektorzentraler IDP-Dienstzentraler IDP-DienstFHIR-ProxyFHIR-ProxyAuth-ServiceAuth-ServiceFHIR-DirectoryFHIR-Directory Der Akteur ist bei einem Messenger Service angemeldet (siehe AF_10057) 1FHIR Ressourcen imVZD-FHIR-Directoryhinzufügen (MXID)2Prüfung, ob gültigesowner-accesstokenvorliegtalt[kein gültiges owner-accesstoken vorhanden]3GET /owner-authenticate4Erzeuge PKCE Codefür verifier und challenge5HTTP 302 Redirect to IDP Authorization Endpoint6Deeplink authenticator://...7GET {authorization_endpoint}8Authentication challenge9ExternalAuthenticate10ExternalAuthenticateResponse11Authentication challenge response12HTTP 302 Redirect(auth_code)13{client_callback_uri}Redirect(auth_code)14GET /signin-gematik-idp-dienst(auth_code)15POST {token_endpoint}(auth_code, verifier)16id_token17ID_TOKEN validieren(id_token)18erzeugeowner-accesstoken(id_token)19owner-accesstokenVZD-FHIR-Directory EintragFHIR-Ressourcen lesen20GET /owner/PractitionerRole/?...Finde Datensatz für eigene TelematikID(owner-accesstoken)21prüfeowner-accesstoken22HTTPS Forward23result body json24result body jsonFHIR-Ressourcen schreiben25FHIR-Operationen um eigenen Datensatz zu verwalten(owner-accesstoken, Flag für Sichtbarkeit des Endpoints)26prüfeowner-accesstoken27HTTPS Forward28result body json29result body json30Status \ No newline at end of file +Endgerät VZD-FHIR-Directory Akteur in der RolleUser-HBAAkteur in der RolleUser-HBATI-Messenger-ClientTI-Messenger-ClientAuthenticatorAuthenticatorKonnektorKonnektorzentraler IDP-Dienstzentraler IDP-DienstFHIR-ProxyFHIR-ProxyAuth-ServiceAuth-ServiceFHIR-DirectoryFHIR-Directory Der Akteur ist bei einem Messenger Service angemeldet (siehe AF_10057) 1FHIR Ressourcen imVZD-FHIR-Directoryhinzufügen (MXID)2Prüfung, ob gültigesowner-accesstokenvorliegtalt[kein gültiges owner-accesstoken vorhanden]3GET /owner-authenticate4Erzeuge PKCE Codefür verifier und challenge5HTTP 302 Redirect to IDP Authorization Endpoint6Deeplink authenticator://...7GET {authorization_endpoint}8Authentication challenge9ExternalAuthenticate10ExternalAuthenticateResponse11Authentication challenge response12HTTP 302 Redirect(auth_code)13{client_callback_uri}Redirect(auth_code)14GET /signin-gematik-idp-dienst(auth_code)15POST {token_endpoint}(auth_code, verifier)16id_token17ID_TOKEN validieren(id_token)18erzeugeowner-accesstoken(id_token)19owner-accesstokenVZD-FHIR-Directory EintragFHIR-Ressourcen lesen20GET /owner/PractitionerRole/?...Finde Datensatz für eigene TelematikID(owner-accesstoken)21prüfeowner-accesstoken22HTTPS Forward23result body json24result body jsonFHIR-Ressourcen schreiben25FHIR-Operationen um eigenen Datensatz zu verwalten(owner-accesstoken, Flag für Sichtbarkeit des Endpoints)26prüfeowner-accesstoken27HTTPS Forward28result body json29result body json30Status \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.png index f516e967..cb4e9812 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.svg similarity index 94% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.svg index cf9f7d79..808bf980 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10059_Seq.svg @@ -1 +1 @@ -Endgerät VZD-FHIR-Directory Ti-Messenger-Fachdienst Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminTI-Messenger-Clientmit Org-AdminFunktionalitätTI-Messenger-Clientmit Org-AdminFunktionalitätFHIR-ProxyFHIR-ProxyAuth-ServiceAuth-ServiceFHIR-DirectoryFHIR-DirectoryRegistrierungs-DienstRegistrierungs-DienstDie Organisation hat einen Messenger-Servicebereitgestellt bekommen, der Teil der Föderation ist1FHIR Ressourcen imVZD-FHIR-Directoryhinzufügen2Prüfung, ob gültigesowner-accesstokenvorliegtalt[kein gültiges owner-accesstoken vorhanden]alt[Akteur ist nicht am Registrierungs-Dienst angemeldet]3Mit Admin-Accountam Registrierungs-Dienstanmelden4Login mit Client-Credentials + 2.FaktorSchnittstelle wird nichtdurch die gematik spezifiziert5prüfe Client-Credentialsund 2. Faktor6status7Erfolgreich angemeldet8RegService-OpenID-Token anfragen (z. B. GET /regserv/request_Token)Schnittstelle wird nichtdurch die gematik spezifiziert9Verifizierung desangemeldeten Akteurs10RegService-OpenID-Token {telematikID, professionOID, Signaturzertifikat (x5c)}11GET /owner-authenticate (Auth Header mit RegService-OpenID-Token)12Prüfung des TokenDie Prüfschritte sind dergemSpec_VZD_FHIR_Directoryzu entnehmenopt[Abbruch]13Tokenprüfung fehlgeschlagen14keine Berechtigung15erzeugeowner-accesstoken16owner-accesstokenFHIR-Directory Eintrag erstellenFHIR-Ressource der Organisation anzeigen17FHIR-Operation um eigenen Datensatz anzuzeigenAuthorization Bearer owner-accesstoken18prüfeowner-accesstoken19HTTPS Forward20Eintrag suchen21FHIR Bundle22HTTPS ForwardFHIR-Ressource der Organisation erstellen/ändern23FHIR-Operationen um eigenen Datensatz zu bearbeitenAuthorization Bearer owner-accesstoken24prüfeowner-accesstoken25HTTPS Forward26Eintrag bearbeiten27Status28HTTPS Forward29status \ No newline at end of file +Endgerät VZD-FHIR-Directory Ti-Messenger-Fachdienst Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminTI-Messenger-Clientmit Org-AdminFunktionalitätTI-Messenger-Clientmit Org-AdminFunktionalitätFHIR-ProxyFHIR-ProxyAuth-ServiceAuth-ServiceFHIR-DirectoryFHIR-DirectoryRegistrierungs-DienstRegistrierungs-DienstDie Organisation hat einen Messenger-Servicebereitgestellt bekommen, der Teil der Föderation ist1FHIR Ressourcen imVZD-FHIR-Directoryhinzufügen2Prüfung, ob gültigesowner-accesstokenvorliegtalt[kein gültiges owner-accesstoken vorhanden]alt[Akteur ist nicht am Registrierungs-Dienst angemeldet]3Mit Admin-Accountam Registrierungs-Dienstanmelden4Login mit Client-Credentials + 2.FaktorSchnittstelle wird nichtdurch die gematik spezifiziert5prüfe Client-Credentialsund 2. Faktor6status7Erfolgreich angemeldet8RegService-OpenID-Token anfragen (z. B. GET /regserv/request_Token)Schnittstelle wird nichtdurch die gematik spezifiziert9Verifizierung desangemeldeten Akteurs10RegService-OpenID-Token {telematikID, professionOID, Signaturzertifikat (x5c)}11GET /owner-authenticate (Auth Header mit RegService-OpenID-Token)12Prüfung des TokenDie Prüfschritte sind dergemSpec_VZD_FHIR_Directoryzu entnehmenopt[Abbruch]13Tokenprüfung fehlgeschlagen14keine Berechtigung15erzeugeowner-accesstoken16owner-accesstokenFHIR-Directory Eintrag erstellenFHIR-Ressource der Organisation anzeigen17FHIR-Operation um eigenen Datensatz anzuzeigenAuthorization Bearer owner-accesstoken18prüfeowner-accesstoken19HTTPS Forward20Eintrag suchen21FHIR Bundle22HTTPS ForwardFHIR-Ressource der Organisation erstellen/ändern23FHIR-Operationen um eigenen Datensatz zu bearbeitenAuthorization Bearer owner-accesstoken24prüfeowner-accesstoken25HTTPS Forward26Eintrag bearbeiten27Status28HTTPS Forward29status \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.png index a7346647..4df296cb 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.svg similarity index 95% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.svg index 612b78a7..d9132551 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10060_Seq.svg @@ -1 +1 @@ -Endgerät VZD-FHIR-Directory Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminFrontend desRegistrierungs-DienstesFrontend desRegistrierungs-DienstesRegistrierungs-DienstRegistrierungs-DienstOAuth-ServiceOAuth-ServiceAuth-ServiceAuth-ServiceFHIR-ProxyFHIR-ProxyFHIR-DirectoryFHIR-DirectoryMessenger-ServicerefAF: 10103- Authentisieren einer Organisation am TI-Messenger-Dienst loop[1..n]1Mit einem Admin-Accountam Registrierungs-Dienstanmelden2POST /login (Client-Credential)Schnittstelle wird nichtdurch die gematik spezifiziert3prüfeClient-Credential4status5Erfolgreich angemeldet6Messenger Service erstellen7POST /create (Matrix-Domain)Messaging-Service erstellen8Prüfung auf zulässigen Domainnamen9Starte neuen Messenger-Servicefür die Organisation mit Matrix-Domain10Messenger-Service erstellenMessenger-Service11initialeinrichten12statusMessenger-Service in die Föderation aufnehmen13POST /auth/realms/TI-Provider/protocol/openid-connect/token(client_id, client_secret)14prüfe client_id undclient_secret15ti-provider-accesstoken16GET /ti-provider-authenticate(ti-provider-accesstoken)17prüfe ti-provider-accesstoken18provider-accesstoken19POST /tim-provider-services/federation(provider-accesstoken, Matrix-Domain, TelematikID, isEnsurance)20prüfeprovider-accesstoken21HTTPS Forward22Föderationslisteaktualisieren23status24HTTPS Forward25status26Messenger Serviceerfolgreich erstellt \ No newline at end of file +Endgerät VZD-FHIR-Directory Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminFrontend desRegistrierungs-DienstesFrontend desRegistrierungs-DienstesRegistrierungs-DienstRegistrierungs-DienstOAuth-ServiceOAuth-ServiceAuth-ServiceAuth-ServiceFHIR-ProxyFHIR-ProxyFHIR-DirectoryFHIR-DirectoryMessenger-ServicerefAF: 10103- Authentisieren einer Organisation am TI-Messenger-Dienst loop[1..n]1Mit einem Admin-Accountam Registrierungs-Dienstanmelden2POST /login (Client-Credential)Schnittstelle wird nichtdurch die gematik spezifiziert3prüfeClient-Credential4status5Erfolgreich angemeldet6Messenger Service erstellen7POST /create (Matrix-Domain)Messaging-Service erstellen8Prüfung auf zulässigen Domainnamen9Starte neuen Messenger-Servicefür die Organisation mit Matrix-Domain10Messenger-Service erstellenMessenger-Service11initialeinrichten12statusMessenger-Service in die Föderation aufnehmen13POST /auth/realms/TI-Provider/protocol/openid-connect/token(client_id, client_secret)14prüfe client_id undclient_secret15ti-provider-accesstoken16GET /ti-provider-authenticate(ti-provider-accesstoken)17prüfe ti-provider-accesstoken18provider-accesstoken19POST /tim-provider-services/federation(provider-accesstoken, Matrix-Domain, TelematikID, isEnsurance)20prüfeprovider-accesstoken21HTTPS Forward22Föderationslisteaktualisieren23status24HTTPS Forward25status26Messenger Serviceerfolgreich erstellt \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.png index 95f35d0d..e465a85b 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.svg similarity index 96% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.svg index 0fa99157..7a45a63a 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10061_Seq.svg @@ -1 +1 @@ -Messenger-Service A Messenger-Service B  Akteur Ain der Rolle User Akteur Ain der Rolle UserTI-Messenger-ClientTI-Messenger-ClientMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-GatewayPush-GatewayTI-Messenger-ClientTI-Messenger-Client Akteur Bin der Rolle User Akteur Bin der Rolle User Der Akteur A ist erfolgreich beim Messenger Service A angemeldet  Der Akteur B ist erfolgreich beim Messenger Service B angemeldet alt[Suche über VZD-FHIR-Directory]refEinträge im VZD-FHIR-Directory suchen [Direktaustausch über QR-Code Scan] Akteur A und Akteur B treffen sich persönlich 1QR-Code teilen2QR-Code scannen3GET /scan4MXID von Akteur AMXID in Freigabeliste eintragen5POST /tim-contact-mgmt/createContactSetting(MXID, start, end, Matrix-OpenID-Token)6GET /openid/userinfo/?Matrix-OpenID-Token7prüfeMatrix-OpenID-Token8status9MXID von Akteur Ain Freigabelistefür Akteur Baufnehmen10status11QR-Code teilen12QR-Code scannen13GET /scan14MXID von Akteur BMXID in Freigabeliste eintragen15POST /tim-contact-mgmt/createContactSetting(MXID, start, end, Matrix-OpenID-Token)16GET /openid/userinfo/?Matrix-OpenID-Token17prüfeMatrix-OpenID-Token18status19MXID von Akteur Bin Freigabelistefür Akteur Aaufnehmen20status Ein Chatraum wurde bereits durch den Akteur A eingerichtet. 21POST /_matrix/client/r0/rooms/{roomId}/inviterefBerechtigungsprüfung break[Abbruch]22HTTP 403Forbidden23Einladung nichterfolgreich24HTTP(S) Forward25Invite verarbeiten26POST /_matrix/federation/v1/invite/{roomId}/{eventId}refBerechtigungsprüfung 27HTTP(S) ForwardrefBerechtigungsprüfung break[Abbruch]28HTTP 403Forbidden29HTTP(S) forward30Einladung nichterfolgreich31HTTP(S) Forward32Invite verarbeitenopt[Pushbenachrichtigung]33POST /_matrix/push/notify34Notification35Status36Invite Request37HTTP(S) Forward38Einladung anzeigen39Einladung bestätigen40commit41HTTP(S) Forward42Invite auslösen43Status44Status45Nutzer ist demRaum beigetreten46Status47Nutzer in denRaum hinzugefügt \ No newline at end of file +Messenger-Service A Messenger-Service B  Akteur Ain der Rolle User Akteur Ain der Rolle UserTI-Messenger-ClientTI-Messenger-ClientMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-GatewayPush-GatewayTI-Messenger-ClientTI-Messenger-Client Akteur Bin der Rolle User Akteur Bin der Rolle User Der Akteur A ist erfolgreich beim Messenger Service A angemeldet  Der Akteur B ist erfolgreich beim Messenger Service B angemeldet alt[Suche über VZD-FHIR-Directory]refEinträge im VZD-FHIR-Directory suchen [Direktaustausch über QR-Code Scan] Akteur A und Akteur B treffen sich persönlich 1QR-Code teilen2QR-Code scannen3GET /scan4MXID von Akteur AMXID in Freigabeliste eintragen5POST /tim-contact-mgmt/createContactSetting(MXID, start, end, Matrix-OpenID-Token)6GET /openid/userinfo/?Matrix-OpenID-Token7prüfeMatrix-OpenID-Token8status9MXID von Akteur Ain Freigabelistefür Akteur Baufnehmen10status11QR-Code teilen12QR-Code scannen13GET /scan14MXID von Akteur BMXID in Freigabeliste eintragen15POST /tim-contact-mgmt/createContactSetting(MXID, start, end, Matrix-OpenID-Token)16GET /openid/userinfo/?Matrix-OpenID-Token17prüfeMatrix-OpenID-Token18status19MXID von Akteur Bin Freigabelistefür Akteur Aaufnehmen20status Ein Chatraum wurde bereits durch den Akteur A eingerichtet. 21POST /_matrix/client/r0/rooms/{roomId}/inviterefBerechtigungsprüfung break[Abbruch]22HTTP 403Forbidden23Einladung nichterfolgreich24HTTP(S) Forward25Invite verarbeiten26POST /_matrix/federation/v1/invite/{roomId}/{eventId}refBerechtigungsprüfung 27HTTP(S) ForwardrefBerechtigungsprüfung break[Abbruch]28HTTP 403Forbidden29HTTP(S) forward30Einladung nichterfolgreich31HTTP(S) Forward32Invite verarbeitenopt[Pushbenachrichtigung]33POST /_matrix/push/notify34Notification35Status36Invite Request37HTTP(S) Forward38Einladung anzeigen39Einladung bestätigen40commit41HTTP(S) Forward42Invite auslösen43Status44Status45Nutzer ist demRaum beigetreten46Status47Nutzer in denRaum hinzugefügt \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.png index e8480c21..eb53ec6c 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.svg similarity index 96% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.svg index 376b46d5..d7edd0bf 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10062_Seq.svg @@ -1 +1 @@ -Messenger-Service A Messenger-Service B  Akteur Ain der Rolle User Akteur Ain der Rolle UserTI-Messenger-ClientTI-Messenger-ClientMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-GatewayPush-GatewayTI-Messenger-ClientTI-Messenger-Client Akteur Bin der Rolle User Akteur Bin der Rolle User Der Akteur A ist erfolgreich beim Messenger Service A angemeldet  Der Akteur B ist erfolgreich beim Messenger Service B angemeldet 1Akteur A löstMatrix-Event aus2Matrix-Request3HTTP(S) Forward4Eventverarbeiten5Matrix-RequestrefBerechtigungsprüfung 6HTTP(S) ForwardrefBerechtigungsprüfung 7HTTP(S) Forward8Eventverarbeitenopt[Pushbenachrichtigung]9POST /_matrix/push/notify10Notification11Status12Matrix-Requestan Client B13HTTP(S) Forward14Event verarbeiten15Status16HTTP(S) Forward(Status Client B)17Status (Matrix-Request)18HTTP(S) Forward19Status20HTTP(S) Forward21Status \ No newline at end of file +Messenger-Service A Messenger-Service B  Akteur Ain der Rolle User Akteur Ain der Rolle UserTI-Messenger-ClientTI-Messenger-ClientMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-GatewayPush-GatewayTI-Messenger-ClientTI-Messenger-Client Akteur Bin der Rolle User Akteur Bin der Rolle User Der Akteur A ist erfolgreich beim Messenger Service A angemeldet  Der Akteur B ist erfolgreich beim Messenger Service B angemeldet 1Akteur A löstMatrix-Event aus2Matrix-Request3HTTP(S) Forward4Eventverarbeiten5Matrix-RequestrefBerechtigungsprüfung 6HTTP(S) ForwardrefBerechtigungsprüfung 7HTTP(S) Forward8Eventverarbeitenopt[Pushbenachrichtigung]9POST /_matrix/push/notify10Notification11Status12Matrix-Requestan Client B13HTTP(S) Forward14Event verarbeiten15Status16HTTP(S) Forward(Status Client B)17Status (Matrix-Request)18HTTP(S) Forward19Status20HTTP(S) Forward21Status \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.png index f5ecf142..4f57b971 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.svg similarity index 94% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.svg index b4f3f696..9372e5bf 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.svg @@ -1 +1 @@ -Messenger-Service Akteur A in der RolleUserAkteur A in der RolleUserTI-Messenger-Client ATI-Messenger-Client AMessenger-ProxyMessenger-ProxyMatrix-Homeserver(inklusive Nutzerverzeichnis)Matrix-Homeserver(inklusive Nutzerverzeichnis)Push-GatewayPush-GatewayTI-Messenger-Client BTI-Messenger-Client BAkteur B in der RolleUserAkteur B in der RolleUser Die Akteure sind auf dem selben Messenger-Service angemeldet und im Besitz eines zugelassenen TI-Messenger-Clients.Ebenfalls sind beide Akteure einem gemeinsamen Raum beigetreten. 1Akteur A löstMatrix-Event aus2Matrix-Request3HTTP(S) Forward4Eventverarbeitenopt[Push-Benachrichtigung]5POST /_matrix/push/notify6Notification7Status8Matrix-Requestan Client-B9HTTP(S) Forward10Eventverarbeiten11Status12HTTP(S) Forward(Status Client-B)13Matrix-Request Status14HTTP(S) Forward15Status16HTTP(S) Forward17Status \ No newline at end of file +Messenger-Service Akteur A in der RolleUserAkteur A in der RolleUserTI-Messenger-Client ATI-Messenger-Client AMessenger-ProxyMessenger-ProxyMatrix-Homeserver(inklusive Nutzerverzeichnis)Matrix-Homeserver(inklusive Nutzerverzeichnis)Push-GatewayPush-GatewayTI-Messenger-Client BTI-Messenger-Client BAkteur B in der RolleUserAkteur B in der RolleUser Die Akteure sind auf dem selben Messenger-Service angemeldet und im Besitz eines zugelassenen TI-Messenger-Clients.Ebenfalls sind beide Akteure einem gemeinsamen Raum beigetreten. 1Akteur A löstMatrix-Event aus2Matrix-Request3HTTP(S) Forward4Eventverarbeitenopt[Push-Benachrichtigung]5POST /_matrix/push/notify6Notification7Status8Matrix-Requestan Client-B9HTTP(S) Forward10Eventverarbeiten11Status12HTTP(S) Forward(Status Client-B)13Matrix-Request Status14HTTP(S) Forward15Status16HTTP(S) Forward17Status \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.png similarity index 97% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.png index 8aac191e..8ea6f69a 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.svg similarity index 93% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.svg index 049f98d7..c567df15 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10064_Seq.svg @@ -1 +1 @@ -Messenger-Service Messenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverRegistrierungs-DienstRegistrierungs-DienstVZD-FHIR-DirectoryVZD-FHIR-Directory1prüfe im Eventob Matrix-Domain(s)in der Föderationslistevorhanden ist/sindalt[Matrix-Domain ist in der Föderationsliste enthalten ODER Matrix-Domain des Senders = Matrix-Domain des Empfängers]2HTTP(S) Forward3Status[Matrix-Domain ist nicht in der Föderationsliste enthalten]refAktualisierung der Föderationsliste 4prüfe ob Matrix-Domainder MXIDin deraktualisierten Föderationsliste vorhanden istalt[Matrix-Domain ist nicht in der aktualisierten Föderationsliste enthalten]5Abbruch, Verbindung wird abgelehnt[Matrix-Domain ist in der aktualisierten Föderationsliste enthalten]6HTTP(S) Forward7Status \ No newline at end of file +Messenger-Service Messenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverRegistrierungs-DienstRegistrierungs-DienstVZD-FHIR-DirectoryVZD-FHIR-Directory1prüfe im Eventob Matrix-Domain(s)in der Föderationslistevorhanden ist/sindalt[Matrix-Domain ist in der Föderationsliste enthalten ODER Matrix-Domain des Senders = Matrix-Domain des Empfängers]2HTTP(S) Forward3Status[Matrix-Domain ist nicht in der Föderationsliste enthalten]refAktualisierung der Föderationsliste 4prüfe ob Matrix-Domainder MXIDin deraktualisierten Föderationsliste vorhanden istalt[Matrix-Domain ist nicht in der aktualisierten Föderationsliste enthalten]5Abbruch, Verbindung wird abgelehnt[Matrix-Domain ist in der aktualisierten Föderationsliste enthalten]6HTTP(S) Forward7Status \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.png index 19632e5b..59a91a53 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.svg similarity index 95% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.svg index c847b51b..0127aaff 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10103_Seq.svg @@ -1 +1 @@ -Endgerät Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminFrontend desRegistrierungs-DienstesFrontend desRegistrierungs-DienstesAuthenticatorAuthenticatorKonnektorKonnektorRegistrierungs-DienstRegistrierungs-DienstzentralerIDP-DienstzentralerIDP-Dienstalt[Organisation nicht am Registrierungs-Dienst authentisiert]1Organisation verifizieren(Verfahren auswählen)alt[OpenID Connect]2POST I_RegistrationSchnittstelle wird nichtdurch die gematik spezifiziert3Erzeuge PKCE Codefür verifier und challenge4Redirect to IDP Authorization Endpoint5Deeplink authenticator://...6GET {authorization_endpoint}7Authentication challenge8ExternalAuthenticate9ExternalAuthenticateResponse10Authentication challenge response11HTTP 302 Redirect(auth_code)12{client_callback_uri}(Redirect + auth_code)13POST I_Registration(auth_code)14POST {token_endpoint}(auth_code, verifier)15id_token16ID_TOKEN validieren(id_token)17enthalteneProfessionOID aufgültige Organisationprüfen[KIM - Verfahren]18KIM-Adresse in Eingabemaske eintragen (POST I_Registration)19Abfrage des LDAP-DirectoryEintrags zur KIM-Adresse20Speicherung der telematikIdund der professionOID21ProfessionOID aufgültige Organisationprüfen22KIM Nachricht mit URL23URL in KIM-Nachricht öffnenbreak[keine gültige ProfessionOID gefunden]24Fehlernachricht "keine gültige ProfessionOID gefunden"25Fehlernachricht"Authentifizierung fehlgeschlagen"26Organisationauthentifizieren27Prüfung auf existierenden Admin Accountbreak[Organisation bereits authentifiziert UND ein Admin-Account existiert bereits]28Fehlernachricht "Account existiert bereits"29Fehlernachricht"Account existiert bereits"30Status31Verifizierung erfolgreich32Admin Account anlegen(Passwort + 2. Faktor)33POST I_Registration (Admin-Account Credentials + 2. Faktor)Schnittstelle wird nichtdurch die gematik spezifiziert34Credentials-Policy prüfen35Org-Admin Accountfür die Organisationanlegen36Status37Account angelegt \ No newline at end of file +Endgerät Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminFrontend desRegistrierungs-DienstesFrontend desRegistrierungs-DienstesAuthenticatorAuthenticatorKonnektorKonnektorRegistrierungs-DienstRegistrierungs-DienstzentralerIDP-DienstzentralerIDP-Dienstalt[Organisation nicht am Registrierungs-Dienst authentisiert]1Organisation verifizieren(Verfahren auswählen)alt[OpenID Connect]2POST I_RegistrationSchnittstelle wird nichtdurch die gematik spezifiziert3Erzeuge PKCE Codefür verifier und challenge4Redirect to IDP Authorization Endpoint5Deeplink authenticator://...6GET {authorization_endpoint}7Authentication challenge8ExternalAuthenticate9ExternalAuthenticateResponse10Authentication challenge response11HTTP 302 Redirect(auth_code)12{client_callback_uri}(Redirect + auth_code)13POST I_Registration(auth_code)14POST {token_endpoint}(auth_code, verifier)15id_token16ID_TOKEN validieren(id_token)17enthalteneProfessionOID aufgültige Organisationprüfen[KIM - Verfahren]18KIM-Adresse in Eingabemaske eintragen (POST I_Registration)19Abfrage des LDAP-DirectoryEintrags zur KIM-Adresse20Speicherung der telematikIdund der professionOID21ProfessionOID aufgültige Organisationprüfen22KIM Nachricht mit URL23URL in KIM-Nachricht öffnenbreak[keine gültige ProfessionOID gefunden]24Fehlernachricht "keine gültige ProfessionOID gefunden"25Fehlernachricht"Authentifizierung fehlgeschlagen"26Organisationauthentifizieren27Prüfung auf existierenden Admin Accountbreak[Organisation bereits authentifiziert UND ein Admin-Account existiert bereits]28Fehlernachricht "Account existiert bereits"29Fehlernachricht"Account existiert bereits"30Status31Verifizierung erfolgreich32Admin Account anlegen(Passwort + 2. Faktor)33POST I_Registration (Admin-Account Credentials + 2. Faktor)Schnittstelle wird nichtdurch die gematik spezifiziert34Credentials-Policy prüfen35Org-Admin Accountfür die Organisationanlegen36Status37Account angelegt \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.png index 2235bbe5..de49f0f8 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.svg similarity index 95% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.svg index 41a0441a..0a1a6980 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10104_Seq.svg @@ -1 +1 @@ -Messenger-Service Akteur - A in der RolleUserAkteur - A in der RolleUserTI-Messenger-Client ATI-Messenger-Client AMessenger-ProxyMessenger-ProxyMatrix-Homeserver(inklusive Nutzerverzeichnis)Matrix-Homeserver(inklusive Nutzerverzeichnis)Push-GatewayPush-GatewayTI-Messenger-Client BTI-Messenger-Client BAkteur - B in der RolleUserAkteur - B in der RolleUser Die Akteure sind auf dem selben Messenger-Service angemeldet und im Besitz eines zugelassenen TI-Messenger-Clients.Ein Chatraum wurde durch den Einladenen eingerichtet. opt[Akteur suchen]1Suche Akteur B2POST /_matrix/client/user_directory/search3HTTP(S) Forward4Nutzerverzeichnisdurchsuchen5MXID6HTTP(S) Forward7Akteur B einladen8POST /_matrix/client/r0/rooms/{roomId}/invite (roomId)refBerechtigungsprüfung alt[Matrix-Domain nicht in der Föderation enthalten]9HTTP 401Unauthorized10Einladung nichterfolgreich[Matrix-Domain in der Föderation enthalten]11HTTP(S) Forward12Invite verarbeiten13HTTP 200opt[Push-Benachrichtigung]14POST /_matrix/push/notify15Notification16Status17Sync Request18HTTP(S) Forward19Sync Response20HTTP(S) Forward21Einladung anzeigen22Einladung bestätigen23join24HTTP(S) Forward25join verarbeiten26Room ID27HTTP(S) Forward28Nutzer ist demRaum beigetreten29Sync Request30HTTP(S) Forward31Sync Response32HTTP(S) Forward33Akteur B ist dem RaumRaum beigetreten \ No newline at end of file +Messenger-Service Akteur - A in der RolleUserAkteur - A in der RolleUserTI-Messenger-Client ATI-Messenger-Client AMessenger-ProxyMessenger-ProxyMatrix-Homeserver(inklusive Nutzerverzeichnis)Matrix-Homeserver(inklusive Nutzerverzeichnis)Push-GatewayPush-GatewayTI-Messenger-Client BTI-Messenger-Client BAkteur - B in der RolleUserAkteur - B in der RolleUser Die Akteure sind auf dem selben Messenger-Service angemeldet und im Besitz eines zugelassenen TI-Messenger-Clients.Ein Chatraum wurde durch den Einladenen eingerichtet. opt[Akteur suchen]1Suche Akteur B2POST /_matrix/client/user_directory/search3HTTP(S) Forward4Nutzerverzeichnisdurchsuchen5MXID6HTTP(S) Forward7Akteur B einladen8POST /_matrix/client/r0/rooms/{roomId}/invite (roomId)refBerechtigungsprüfung alt[Matrix-Domain nicht in der Föderation enthalten]9HTTP 401Unauthorized10Einladung nichterfolgreich[Matrix-Domain in der Föderation enthalten]11HTTP(S) Forward12Invite verarbeiten13HTTP 200opt[Push-Benachrichtigung]14POST /_matrix/push/notify15Notification16Status17Sync Request18HTTP(S) Forward19Sync Response20HTTP(S) Forward21Einladung anzeigen22Einladung bestätigen23join24HTTP(S) Forward25join verarbeiten26Room ID27HTTP(S) Forward28Nutzer ist demRaum beigetreten29Sync Request30HTTP(S) Forward31Sync Response32HTTP(S) Forward33Akteur B ist dem RaumRaum beigetreten \ No newline at end of file diff --git a/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.png new file mode 100644 index 00000000..14e4c2ad Binary files /dev/null and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.png differ diff --git a/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.svg new file mode 100644 index 00000000..9e47dec2 --- /dev/null +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.svg @@ -0,0 +1 @@ +VZD-FHIR-Directory Akteur in der RolleUserAkteur in der RolleUserTI-Messenger-ClientTI-Messenger-ClientMessenger ProxyMessenger ProxyMatrix-HomeserverMatrix-HomeserverFHIR-ProxyFHIR-ProxyAuth-ServiceAuth-ServiceFHIR-DirectoryFHIR-Directory Der Akteur ist erfolgreich beim Messenger-Service angemeldet 1Suchparameter fürFHIR-RessourceneingebenPrüfung/Erhalt search-accesstokendieser Akteur entsprichtdem "Nutzer" im folgendenreferenzierten AnwendungsfallrefgemSpec_VZD_FHIR_Directory#AF_10036-01alt[gültiges search-accesstoken erhalten]alt[HealthcareService-Einträge werden gesucht]2GET /search/HealthcareService/?organization.active=true&... (search-accesstoken)Finde Datensatz für TelematikID3prüfe search-accesstoken4GET /search/HealthcareService/?organization.active=true&...5HTTP 200 (:Suchergebnis FHIR-Bundle)6HTTP 200 (:Suchergebnis FHIR-Bundle)7Suchergebnis[PractitionerRole-Einträge werden gesucht]8GET /search/PractitionerRole/?practitioner.active=true&... (search-accesstoken)Finde Datensatz für MXID9prüfe search-accesstoken10GET /search/PractitionerRole/?practitioner.active=true&...11HTTP 200 (:Suchergebnis FHIR-Bundle)12HTTP 200 (:Suchergebnis FHIR-Bundle)13Suchergebnis[kein gültiges search-accesstoken]break14GET /search/.../?... (search-accesstoken)15HTTP 40116Fehlermeldung \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.png index 102661ce..ab03e58a 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.svg similarity index 94% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.svg index bdc11888..1bf67cec 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Approvel_List_Seq.svg @@ -1 +1 @@ -Messenger-Servicedes einladenden Akteurs Messenger-Servicedes eingeladenen Akteurs Messenger Clientdes eingeladenen Akteurs Messenger-ServiceMessenger-ServiceMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-DienstPush-DienstMessenger-ClientMessenger-ClientMatrix-Invite-EventBerechtigungskonzept - Stufe 1  break[Matrix-Domain nicht in der Föderation enthalten]Abbruch,Verbindung wirdabgelehntHTTP 403HTTP(S) ForwardInvite-EventverarbeitenPush NotificationPush NotificationResponseResponseBerechtigungskonzept - Stufe 2  Abfrage neuer EventsHTTP(S) ForwardBereitstellung neuer EventsHTTP(S) ForwardExtrahieren der Invite-EventsPrüfung, ob die Einladung erlaubt istbreak[Der Akteur hat "allow all" konfiguriert und der einladende Akteurist auf der BlockedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenbreak[Der Akteur hat "block all" konfiguriert und der einladende Akteurist nicht auf der AllowedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenErgebnis der EinladungsprüfungHTTP(S) ForwardErgebnis der EinladungsprüfungHTTP(S) Forward \ No newline at end of file +Messenger-Servicedes einladenden Akteurs Messenger-Servicedes eingeladenen Akteurs Messenger Clientdes eingeladenen Akteurs Messenger-ServiceMessenger-ServiceMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverPush-DienstPush-DienstMessenger-ClientMessenger-ClientMatrix-Invite-EventBerechtigungskonzept - Stufe 1  break[Matrix-Domain nicht in der Föderation enthalten]Abbruch,Verbindung wirdabgelehntHTTP 403HTTP(S) ForwardInvite-EventverarbeitenPush NotificationPush NotificationResponseResponseBerechtigungskonzept - Stufe 2  Abfrage neuer EventsHTTP(S) ForwardBereitstellung neuer EventsHTTP(S) ForwardExtrahieren der Invite-EventsPrüfung, ob die Einladung erlaubt istbreak[Der Akteur hat "allow all" konfiguriert und der einladende Akteurist auf der BlockedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenbreak[Der Akteur hat "block all" konfiguriert und der einladende Akteurist nicht auf der AllowedUser-Liste (Direkt oder als Teil einer Gruppe/Domain)]Einladung ist abzulehnenErgebnis der EinladungsprüfungHTTP(S) ForwardErgebnis der EinladungsprüfungHTTP(S) Forward \ No newline at end of file diff --git "a/images/diagrams/TI-Messenger-Dienst/Ressourcen/Eintr\303\244ge im VZD-FHIR-Directory suchen.png" b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.png similarity index 99% rename from "images/diagrams/TI-Messenger-Dienst/Ressourcen/Eintr\303\244ge im VZD-FHIR-Directory suchen.png" rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.png index 24e18989..ce6a85e7 100644 Binary files "a/images/diagrams/TI-Messenger-Dienst/Ressourcen/Eintr\303\244ge im VZD-FHIR-Directory suchen.png" and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.png differ diff --git "a/images/diagrams/TI-Messenger-Dienst/Ressourcen/Eintr\303\244ge im VZD-FHIR-Directory suchen.svg" b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.svg similarity index 95% rename from "images/diagrams/TI-Messenger-Dienst/Ressourcen/Eintr\303\244ge im VZD-FHIR-Directory suchen.svg" rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.svg index 3b5c00f3..483e6fb8 100644 --- "a/images/diagrams/TI-Messenger-Dienst/Ressourcen/Eintr\303\244ge im VZD-FHIR-Directory suchen.svg" +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.svg @@ -1 +1 @@ -VZD-FHIR-Directory Akteur in der RolleUserAkteur in der RolleUserTI-Messenger-ClientTI-Messenger-ClientMessenger ProxyMessenger ProxyMatrix-HomeserverMatrix-HomeserverFHIR-ProxyFHIR-ProxyAuth-ServiceAuth-ServiceFHIR-DirectoryFHIR-Directory Der Akteur ist erfolgreich beim Messenger-Service angemeldet 1Suchparameter fürFHIR-Ressourceneingeben2prüfe ob noch gültigessearch-accesstokenvorliegtalt[kein gültiges search-accesstoken vorhanden]3GET /_matrix/client/user/{userId}/openid/request_token4HTTP Forward5Matrix-OpenID-Token6HTTP(S) Forward7GET /tim-authenticate?mxId=... (Auth Header mit Matrix-OpenID-Token)8Prüfe obMatrix Server Name inder Föderation enthalten istbreak[Matrix Server Name nicht in der Föderation enthalten]9Fehlermeldung10GET /openid/userinfo?access_token=Matrix-OpenID-Token11HTTP(S) Forward12prüfe Matrix-OpenID-Token13MXID des Nutzers14HTTP(S) Forward15erzeugesearch-accesstoken16search-accesstoken17POST /search?... (Auth Header mit search-accesstoken)18prüfe search-accesstokenbreak[kein gültiges search-accesstoken]19HTTP 401 Fehlermeldungalt[HealthcareService-Einträge werden gesucht]20POST /search/HealthcareService/?Finde Datensatz für TelematikID21Suchergebnis (FHIR Bundle)alt[PractitionerRole-Einträge werden gesucht]22POST /search/PractitionerRole/?Finde Datensatz für MXID23Suchergebnis (FHIR Bundle)24Suchergebnis (FHIR Bundle)25Suchergebnis (FHIR Bundle) \ No newline at end of file +VZD-FHIR-Directory Akteur in der RolleUserAkteur in der RolleUserTI-Messenger-ClientTI-Messenger-ClientMessenger ProxyMessenger ProxyMatrix-HomeserverMatrix-HomeserverFHIR-ProxyFHIR-ProxyAuth-ServiceAuth-ServiceFHIR-DirectoryFHIR-Directory Der Akteur ist erfolgreich beim Messenger-Service angemeldet 1Suchparameter fürFHIR-Ressourceneingeben2prüfe ob noch gültigessearch-accesstokenvorliegtalt[kein gültiges search-accesstoken vorhanden]3GET /_matrix/client/user/{userId}/openid/request_token4HTTP Forward5Matrix-OpenID-Token6HTTP(S) Forward7GET /tim-authenticate?mxId=... (Auth Header mit Matrix-OpenID-Token)8Prüfe obMatrix Server Name inder Föderation enthalten istbreak[Matrix Server Name nicht in der Föderation enthalten]9Fehlermeldung10GET /openid/userinfo?access_token=Matrix-OpenID-Token11HTTP(S) Forward12prüfe Matrix-OpenID-Token13MXID des Nutzers14HTTP(S) Forward15erzeugesearch-accesstoken16search-accesstoken17POST /search?... (Auth Header mit search-accesstoken)18prüfe search-accesstokenbreak[kein gültiges search-accesstoken]19HTTP 401 Fehlermeldungalt[HealthcareService-Einträge werden gesucht]20POST /search/HealthcareService/?Finde Datensatz für TelematikID21Suchergebnis (FHIR Bundle)alt[PractitionerRole-Einträge werden gesucht]22POST /search/PractitionerRole/?Finde Datensatz für MXID23Suchergebnis (FHIR Bundle)24Suchergebnis (FHIR Bundle)25Suchergebnis (FHIR Bundle) \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.png similarity index 98% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.png index 1054f445..8ebcfa7a 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.svg similarity index 95% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.svg index a9471f84..94d2dc72 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_Seq.svg @@ -1 +1 @@ -Messenger-Service VZD-FHIR-Directory Messenger-ProxyMessenger-ProxyRegistrierungs-DienstRegistrierungs-DienstFHIR-ProxyFHIR-ProxyOAuth-ServiceOAuth-Servicescheduled loop[alle 1h]alt[HealthState_VZD=gesund ODER Alter_Föderationsliste>=1h]refProvider authentifizieren und Föderationsliste abrufen[HealthState_VZD!=gesund]1HealthStateCheck einleiten(HealthStateCheck_VZD=0)loop[alle 5min UND HealthStateCheck_VZD<=3]refProvider authentifizieren und Föderationsliste abrufenalt[HealthState_VZD=gesund]break2HealthStateCheck_VZD abbrechen()[HealthState_VZD!=gesund]3HealthStateCheck_VZD erhöhen(HealthStateCheck_VZD+1)alt[HealthStateCheck_VZD=3]4Incident-Event erzeugen()5letzte vorhandene Föderationsliste puffern()6Föderationslisteon request 7Föderationslisteaktualisieren()8GET /I_internVerification(FLVersion_MP)Schnittstelle wird nichtdurch die gematik spezifiziertalt[HealthState_VZD=gesund UND Alter_Föderationsliste>=1h]refProvider authentifizieren und Föderationsliste abrufenbreak[Alter_Föderationsliste>TTL_Föderationsliste]9FLStatus_RD=veraltet10Incident-Event erzeugen()11unterbinde Registrierungsdienst-Requests(Dauer=1h)12blockiere Kommunikation zu anderen Homeservern()13vergleiche Versionen(FLVersion_MP, FLVersion_RD)14Vergleichsergebnis_RDalt[Vergleichsergebnis_RD=identisch]15FLStatus_MP=aktuell[Vergleichsergebnis_RD!=identisch]16Föderationsliste, x5c-ZertifikatslisterefSignatur der Föderationsliste prüfen \ No newline at end of file +Messenger-Service VZD-FHIR-Directory Messenger-ProxyMessenger-ProxyRegistrierungs-DienstRegistrierungs-DienstFHIR-ProxyFHIR-ProxyOAuth-ServiceOAuth-Servicescheduled loop[alle 1h]alt[HealthState_VZD=gesund ODER Alter_Föderationsliste>=1h]refProvider authentifizieren und Föderationsliste abrufen[HealthState_VZD!=gesund]1HealthStateCheck einleiten(HealthStateCheck_VZD=0)loop[alle 5min UND HealthStateCheck_VZD<=3]refProvider authentifizieren und Föderationsliste abrufenalt[HealthState_VZD=gesund]break2HealthStateCheck_VZD abbrechen()[HealthState_VZD!=gesund]3HealthStateCheck_VZD erhöhen(HealthStateCheck_VZD+1)alt[HealthStateCheck_VZD=3]4Incident-Event erzeugen()5letzte vorhandene Föderationsliste puffern()6Föderationslisteon request 7Föderationslisteaktualisieren()8GET /I_internVerification(FLVersion_MP)Schnittstelle wird nichtdurch die gematik spezifiziertalt[HealthState_VZD=gesund UND Alter_Föderationsliste>=1h]refProvider authentifizieren und Föderationsliste abrufenbreak[Alter_Föderationsliste>TTL_Föderationsliste]9FLStatus_RD=veraltet10Incident-Event erzeugen()11unterbinde Registrierungsdienst-Requests(Dauer=1h)12blockiere Kommunikation zu anderen Homeservern()13vergleiche Versionen(FLVersion_MP, FLVersion_RD)14Vergleichsergebnis_RDalt[Vergleichsergebnis_RD=identisch]15FLStatus_MP=aktuell[Vergleichsergebnis_RD!=identisch]16Föderationsliste, x5c-ZertifikatslisterefSignatur der Föderationsliste prüfen \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.png similarity index 97% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.png index 3142605d..9aff52ba 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.svg similarity index 90% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.svg index f347828e..4407a8d5 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_SignCheck.svg @@ -1 +1 @@ -Messenger-Service Messenger-ProxyMessenger-ProxyPublic OCSP-ResponderPublic OCSP-Responder1Signatur der Föderationsliste prüfen(Föderationsliste, x5c-Zertifikatsliste[1])2Signaturprüfergebnisloop[für jeden Eintrag von x5c-Zertifikatsliste]3Public-OCSP-Zertifikatsprüf-Request stellen(x5c-Zertifikat)4OCSP-Responsealt[Signaturprüfergebnis=gültig UND jeder OCSP-Response.CertificateStatusValue=good]5Föderationsliste aktualisieren(Föderationsliste) \ No newline at end of file +Messenger-Service Messenger-ProxyMessenger-ProxyPublic OCSP-ResponderPublic OCSP-Responder1Signatur der Föderationsliste prüfen(Föderationsliste, x5c-Zertifikatsliste[1])2Signaturprüfergebnisloop[für jeden Eintrag von x5c-Zertifikatsliste]3Public-OCSP-Zertifikatsprüf-Request stellen(x5c-Zertifikat)4OCSP-Responsealt[Signaturprüfergebnis=gültig UND jeder OCSP-Response.CertificateStatusValue=good]5Föderationsliste aktualisieren(Föderationsliste) \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.png index 3bbd0bcb..1761ac9e 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.svg similarity index 94% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.svg index 7c5f6c90..d6d78d6b 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Update_Federationlist_auth_retrieve.svg @@ -1 +1 @@ -VZD-FHIR-Directory Registrierungs-DienstRegistrierungs-DienstOAuth-ServiceOAuth-ServiceAuth-ServiceAuth-ServiceFHIR-ProxyFHIR-Proxyalt[kein gültiges provider-accesstoken vorhanden]alt[Benötigt IDP-TI-Provider-Accesstoken]1POST /auth/realms/TI-Provider/protocol/openid-connect/token(client_id, client_secret){<10s := HealthState_VZD=gesund}2Credentials prüfen(client_id, client_secret)3ti-provider-accesstoken4GET /ti-provider-authenticate(ti-provider-accesstoken){<10s := HealthState_VZD=gesund}5Token prüfen(ti-provider-accesstoken)6provider-accesstoken7GET /tim-provider-services/FederationList/federationList.jws(provider-accesstoken, FLVersion_RD){<10s := HealthState_VZD=gesund}8Token prüfen(provider-accesstoken)break[Abruf der Föderationsliste nicht möglich]9ResponseType=Bad Request ODERResponseType=Unauthorized ODERResponseType=Forbidden ODERResponseType=Not Found10Auf neuere Version derFöderationsliste prüfen(FLVersion_RD)alt[keine neuere Version der Föderationsliste vorhanden]11ResponseType=No Content12Alter_Föderationsliste zurücksetzen(Alter_Föderationsliste=0s)[neuere Version der Föderationsliste vorhanden ODER FLVersion_RD=NULL]13Föderationsliste, x5c-Zertifikatsliste14Föderationsliste aktualisieren(Föderationsliste)15Föderationsliste16Alter_Föderationsliste zurücksetzen(Alter_Föderationsliste=0s) \ No newline at end of file +VZD-FHIR-Directory Registrierungs-DienstRegistrierungs-DienstOAuth-ServiceOAuth-ServiceAuth-ServiceAuth-ServiceFHIR-ProxyFHIR-Proxyalt[kein gültiges provider-accesstoken vorhanden]alt[Benötigt IDP-TI-Provider-Accesstoken]1POST /auth/realms/TI-Provider/protocol/openid-connect/token(client_id, client_secret){<10s := HealthState_VZD=gesund}2Credentials prüfen(client_id, client_secret)3ti-provider-accesstoken4GET /ti-provider-authenticate(ti-provider-accesstoken){<10s := HealthState_VZD=gesund}5Token prüfen(ti-provider-accesstoken)6provider-accesstoken7GET /tim-provider-services/FederationList/federationList.jws(provider-accesstoken, FLVersion_RD){<10s := HealthState_VZD=gesund}8Token prüfen(provider-accesstoken)break[Abruf der Föderationsliste nicht möglich]9ResponseType=Bad Request ODERResponseType=Unauthorized ODERResponseType=Forbidden ODERResponseType=Not Found10Auf neuere Version derFöderationsliste prüfen(FLVersion_RD)alt[keine neuere Version der Föderationsliste vorhanden]11ResponseType=No Content12Alter_Föderationsliste zurücksetzen(Alter_Föderationsliste=0s)[neuere Version der Föderationsliste vorhanden ODER FLVersion_RD=NULL]13Föderationsliste, x5c-Zertifikatsliste14Föderationsliste aktualisieren(Föderationsliste)15Föderationsliste16Alter_Föderationsliste zurücksetzen(Alter_Föderationsliste=0s) \ No newline at end of file diff --git a/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_org_admin.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_org_admin.png new file mode 100644 index 00000000..d6889937 Binary files /dev/null and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_org_admin.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_org_admin.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_org_admin.svg similarity index 57% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_org_admin.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_org_admin.svg index 5a89741c..70be4e31 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_org_admin.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_org_admin.svg @@ -1 +1 @@ -RolleAnwendungsfällez. B. Beauftragter Mitarbeiter in einerOrganisationOrg-Admin«AF_10103» Authentisieren einer Organisationam TI-Messenger-Dienst«AF_10060» Bereitstellung eines Messenger-Servicefür eine Organisation \ No newline at end of file +RolleAnwendungsfällez. B. Beauftragter Mitarbeiter in einerOrganisationOrg-Admin«AF_10103» Authentisieren einer Organisationam TI-Messenger-Dienst«AF_10060» Bereitstellung eines Messenger-Servicefür eine Organisation \ No newline at end of file diff --git a/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.png new file mode 100644 index 00000000..2a035d10 Binary files /dev/null and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/TI-M spezifische Kommunikation.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.svg similarity index 59% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/TI-M spezifische Kommunikation.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.svg index 9f40aa60..7dada879 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/TI-M spezifische Kommunikation.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.svg @@ -1 +1 @@ -RolleTI-M spezifische Kommunikationjeder Akteur, der an der Kommunikationin der TI-M Föderation teilnimmtUserBasis-Anwendungsfall fürTI-M spezifische Kommunikation Nutzung zusätzlicher Chatroom-Eigenschaften(Custom State Events und/oderCustom Room Types)MerkmaleUnterstützung von FHIR-Resourceszur strukturierten KommunikationFallbezogeneKommunikationFöderierte und intersektoraleKommunikation«include»«include» \ No newline at end of file +RolleTI-M spezifische Kommunikationjeder Akteur, der an der Kommunikationin der TI-M Föderation teilnimmtUserBasis-Anwendungsfall fürTI-M spezifische Kommunikation Nutzung zusätzlicher Chatroom-Eigenschaften(Custom State Events und/oderCustom Room Types)MerkmaleUnterstützung von FHIR-Resourceszur strukturierten KommunikationFallbezogeneKommunikationFöderierte und intersektoraleKommunikation«include»«include» \ No newline at end of file diff --git a/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user.png new file mode 100644 index 00000000..04332915 Binary files /dev/null and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user.svg similarity index 61% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user.svg index b43bc8a3..db1ec84b 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user.svg @@ -1 +1 @@ -RolleAnwendungsfälleMitarbeiter einer Organisationim GesundheitswesenUser«AF_10057» Anmeldung eines Akteurs amMessenger-Service«AF_10104» Einladung von Akteureninnerhalb einer Organisation«AF_10063» Austausch von Eventszwischen Akteureninnerhalb einer Organisation«AF_10061» Einladung von Akteurenaußerhalb einer Organisation«AF_10062» Austausch von Eventszwischen Akteurenaußerhalb einer Organisation«AF_10235» Einträge im VZD-FHIR-Directory suchen \ No newline at end of file +RolleAnwendungsfälleMitarbeiter einer Organisationim GesundheitswesenUser«AF_10057» Anmeldung eines Akteurs amMessenger-Service«AF_10104» Einladung von Akteureninnerhalb einer Organisation«AF_10063» Austausch von Eventszwischen Akteureninnerhalb einer Organisation«AF_10061» Einladung von Akteurenaußerhalb einer Organisation«AF_10062» Austausch von Eventszwischen Akteurenaußerhalb einer Organisation«AF_10235» Einträge im VZD-FHIR-Directory suchen \ No newline at end of file diff --git a/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.png new file mode 100644 index 00000000..0165e76f Binary files /dev/null and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.svg similarity index 63% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.svg index dacb0eb1..12a6efc9 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/UC_user_HBA.svg @@ -1 +1 @@ -RolleAnwendungsfällez. B. Leistungserbringer im Besitzeines HBAsUser / User-HBA«AF_10057» Anmeldung eines Akteurs amMessenger-Service«AF_10058» Akteur (User-HBA) imVerzeichnisdienst hinzufügen«AF_10104» Einladung von Akteureninnerhalb einer Organisation«AF_10063» Austausch von Eventszwischen Akteureninnerhalb einer Organisation«AF_10061» Einladung von Akteurenaußerhalb einer Organisation«AF_10062» Austausch von Eventszwischen Akteurenaußerhalb einer Organisation \ No newline at end of file +RolleAnwendungsfällez. B. Leistungserbringer im Besitzeines HBAsUser / User-HBA«AF_10057» Anmeldung eines Akteurs amMessenger-Service«AF_10058» Akteur (User-HBA) imVerzeichnisdienst hinzufügen«AF_10104» Einladung von Akteureninnerhalb einer Organisation«AF_10063» Austausch von Eventszwischen Akteureninnerhalb einer Organisation«AF_10061» Einladung von Akteurenaußerhalb einer Organisation«AF_10062» Austausch von Eventszwischen Akteurenaußerhalb einer Organisation \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/auth_insured_person.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/auth_insured_person.png similarity index 98% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/auth_insured_person.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/auth_insured_person.png index ded8b5da..06737192 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/auth_insured_person.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/auth_insured_person.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/auth_insured_person.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/auth_insured_person.svg similarity index 93% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/auth_insured_person.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/auth_insured_person.svg index 9025e830..71cbde78 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/auth_insured_person.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/auth_insured_person.svg @@ -1 +1 @@ -Messenger-Service TI-Messenger Actor ATI-Messenger Actor AMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverRegistrierungs-DienstRegistrierungs-DienstVZD-FHIR-DirectoryVZD-FHIR-Directory1prüfe im Eventob Matrix-Domain(s)in der Föderationslistevorhanden ist/sindalt[Matrix-Domain ist in der Föderationsliste enthalten]break[Matrix-Domain des Senders und Empfängers sind beide von einem Versicherten-Server]2Abbruch, Verbindung wird abgelehnt3HTTP(S) Forward4Status[Matrix-Domain ist nicht in der Föderationsliste enthalten]refAnhang B- Aktualisierung der Föderationsliste 5prüfe ob Matrix-Domainder MXIDin deraktualisierten Föderationsliste vorhanden istalt[Matrix-Domain ist nicht in der aktualisierten Föderationsliste enthalten]6Abbruch, Verbindung wird abgelehnt[Matrix-Domain ist in der aktualisierten Föderationsliste enthalten]break[Matrix-Domain des Senders und Empfängers sind beide von einem Versicherten-Server]7Abbruch, Verbindung wird abgelehnt8HTTP(S) Forward9Status \ No newline at end of file +Messenger-Service TI-Messenger Actor ATI-Messenger Actor AMessenger-ProxyMessenger-ProxyMatrix-HomeserverMatrix-HomeserverRegistrierungs-DienstRegistrierungs-DienstVZD-FHIR-DirectoryVZD-FHIR-Directory1prüfe im Eventob Matrix-Domain(s)in der Föderationslistevorhanden ist/sindalt[Matrix-Domain ist in der Föderationsliste enthalten]break[Matrix-Domain des Senders und Empfängers sind beide von einem Versicherten-Server]2Abbruch, Verbindung wird abgelehnt3HTTP(S) Forward4Status[Matrix-Domain ist nicht in der Föderationsliste enthalten]refAnhang B- Aktualisierung der Föderationsliste 5prüfe ob Matrix-Domainder MXIDin deraktualisierten Föderationsliste vorhanden istalt[Matrix-Domain ist nicht in der aktualisierten Föderationsliste enthalten]6Abbruch, Verbindung wird abgelehnt[Matrix-Domain ist in der aktualisierten Föderationsliste enthalten]break[Matrix-Domain des Senders und Empfängers sind beide von einem Versicherten-Server]7Abbruch, Verbindung wird abgelehnt8HTTP(S) Forward9Status \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/idp.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/idp.png similarity index 99% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/idp.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/idp.png index cc218c1b..6f763b0c 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/idp.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/idp.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/idp.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/idp.svg similarity index 96% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/idp.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/idp.svg index 01b15f6d..23f6a8c1 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/idp.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/idp.svg @@ -1 +1 @@ -Endgerät Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminFrontend desRegistrierungs-DienstesFrontend desRegistrierungs-Dienstesgematik Authenticatorgematik AuthenticatorKonnektorKonnektorRegistrierungs-Dienst(Relying Party)Registrierungs-Dienst(Relying Party)zentralerIDP-DienstzentralerIDP-Dienst1Organisation authentisieren2POST I_Registrationopt[Download des IDP Discovery Dokumentes]3GET {HOSTNAME}/.well-known/openid-configuration4signierte Base64-kodierte openid-configuration5Prüfung der Signatur der openid-configuration6Download der öffentlichen Schlüssel undextrahieren des{authorization_endpoint}7Erzeugung eines Zufallswertes (CODE_VERIFIER)und Bildung darüber den Hashcode_challenge mit Hash-Algorithmus S2568Erstellung der Authentication Request URLmit den Request ParameternAuthentication Request URL={authorization_endpoint}&{client_id}&{response_type}&{redirect_uri}&{state}&{code_challenge}&{code_challenge_method}&{scope}&{nonce}9Redirect zur{Authentication Request URL}10Erstellung deschallenge_path authenticator://?challenge_path={Authentication Request URL}&cardType=SMC-B&callback=DIRECT11Aufruf des Authenticators mit Deeplinkopt[Download des IDP Discovery Dokumentes]12GET {HOSTNAME}/.well-known/openid-configuration13signierte base64 kodierte openid-configuration14Prüfung der Signatur der openid-configuration15Download der öffentlichen Schlüssel undextrahieren des{authorization_endpoint}16GET {Authentication Request URL}AUTHORIZATION_ENDPUNKT17Prüfung obclient_idundscope bekannt und in dieser Kombinationzulässig sind18Prüfung der claimredirect_uri gegen die beim IDP-Dienstregistriertenredirect_uris19Überführung derscopeInhalte inUSER_CONSENT20Erstellung der Authentication challenge(CHALLENGE_TOKEN)21Signieren desCHALLENGE_TOKENmitPrk_IDP_SIG22CHALLENGE_TOKEN&USER_CONSENT23Prüfen der Signatur desCHALLENGE_TOKENmit dem SchlüsselPuK_IDP_SIGSignieren der Challenge mit Konnektor-Operationen24getCards(Aufrufkontext)25Status, Liste der verfügbaren Smartkarten26Auswahl der gesteckten SMC-B --> CardHandle27GetPinStatus (Aufrufkontext, CardHandle,PinType (PIN.SMC))28Status, PinStatusopt[Karte nicht freigeschaltet]29Zustimmung zumUSER_CONSENT30Zustimmung zur Verwendung der angefragten Daten31VerifyPin (Aufrufkontext, CardHandle,PinType (PIN.SMC))32Aufforderung der PIN-Eingabe33PIN-Eingabe34Status35ExternalAuthenticate(Aufrufkontext, CardHandle,C.HCI.AUT, CHALLENGE_TOKEN)36SignierteCHALLENGE_TOKEN"37Verschlüsselung des signiertenCHALLENGE_TOKENmit dem öffentlichen SchlüsselPuK_IDP_ENCvom IDP-Dienst38POST {authorization_endpoint}(signiertes und verschlüsseltesCHALLENGE_TOKEN,C.HCI.AUTder SMC-B)AUTHORIZATION_ENDPUNKT39Entschlüsselung desCHALLENGE_TOKENmitPrK_IDP_ENCdes IDP-Dienstes40Signaturprüfung desCHALLENGE_TOKENmit dem imx5c-Header mitgeliefertenC.HCI.AUTZertifikat41Prüfung der Gültigkeit der Attributeaus demCHALLENGE_TOKEN42Erstellung desAUTHORIZATION_CODE43Signieren desAUTHORIZATION_CODEmit dem SchlüsselPrk_IDP_SIG44Veschlüsselung desAUTHORIZATION_CODEmit eigens erzeugten Schlüsselmaterial(AUTH_CODE_ENC)45Redirect zurredirect_urides Registrierungs-DienstesmitAUTHORIZATION_CODE46GET /redirect_uri?code={AUTHORIZATION_CODE}47HTTP 20048Erzeugung einesAES256-Token-Key49AES256-Token-Keyund denunter 7) erzeugtenCODE_VERIFIERin einKEY_VERIFIERObjekt einbetten50KEY_VERIFIERmitPUK_IDP_ENCverschlüsseln51POST {token_endpoint}(AUTHORIZATION_CODE, KEY_VERIFIER)TOKEN_ENDPUNKT52AUTHORIZATION_CODEmitAUTH_CODE_ENCentschlüsseln53Signaturprüfung desAUTHORIZATION_CODEmittelsPUK_IDP_SIG54Entschlüsselung desKEY_VERIFIERmitPrk_IDP_ENC55Extrahieren desCODE_VERIFIERaus demKEY_VERIFIER56Extrahieren derCODE_CHALLENGEaus demAUTHORIZATION_CODE57Hash(S256) desCODE_VERIFIERmit derCODE_CHALLENGEabgleichen58Erzeugung desID_TOKENundSignieren mittelsPrK_IDP_SIGsowie Verschlüsselung mittels Token-Key59ID_TOKEN60Entschlüsselung des TokenmitAES256-Token-Keyund ValidierungmitPuK_IDP_SIG61Prüfung der im TokenenthaltenenProfessionOID"62Abfrage des Status(Polling)63Status der Authentisierung64Organisation erfolgreich Authentifiziert \ No newline at end of file +Endgerät Akteur in der RolleOrg-AdminAkteur in der RolleOrg-AdminFrontend desRegistrierungs-DienstesFrontend desRegistrierungs-Dienstesgematik Authenticatorgematik AuthenticatorKonnektorKonnektorRegistrierungs-Dienst(Relying Party)Registrierungs-Dienst(Relying Party)zentralerIDP-DienstzentralerIDP-Dienst1Organisation authentisieren2POST I_Registrationopt[Download des IDP Discovery Dokumentes]3GET {HOSTNAME}/.well-known/openid-configuration4signierte Base64-kodierte openid-configuration5Prüfung der Signatur der openid-configuration6Download der öffentlichen Schlüssel undextrahieren des{authorization_endpoint}7Erzeugung eines Zufallswertes (CODE_VERIFIER)und Bildung darüber den Hashcode_challenge mit Hash-Algorithmus S2568Erstellung der Authentication Request URLmit den Request ParameternAuthentication Request URL={authorization_endpoint}&{client_id}&{response_type}&{redirect_uri}&{state}&{code_challenge}&{code_challenge_method}&{scope}&{nonce}9Redirect zur{Authentication Request URL}10Erstellung deschallenge_path authenticator://?challenge_path={Authentication Request URL}&cardType=SMC-B&callback=DIRECT11Aufruf des Authenticators mit Deeplinkopt[Download des IDP Discovery Dokumentes]12GET {HOSTNAME}/.well-known/openid-configuration13signierte base64 kodierte openid-configuration14Prüfung der Signatur der openid-configuration15Download der öffentlichen Schlüssel undextrahieren des{authorization_endpoint}16GET {Authentication Request URL}AUTHORIZATION_ENDPUNKT17Prüfung obclient_idundscope bekannt und in dieser Kombinationzulässig sind18Prüfung der claimredirect_uri gegen die beim IDP-Dienstregistriertenredirect_uris19Überführung derscopeInhalte inUSER_CONSENT20Erstellung der Authentication challenge(CHALLENGE_TOKEN)21Signieren desCHALLENGE_TOKENmitPrk_IDP_SIG22CHALLENGE_TOKEN&USER_CONSENT23Prüfen der Signatur desCHALLENGE_TOKENmit dem SchlüsselPuK_IDP_SIGSignieren der Challenge mit Konnektor-Operationen24getCards(Aufrufkontext)25Status, Liste der verfügbaren Smartkarten26Auswahl der gesteckten SMC-B --> CardHandle27GetPinStatus (Aufrufkontext, CardHandle,PinType (PIN.SMC))28Status, PinStatusopt[Karte nicht freigeschaltet]29Zustimmung zumUSER_CONSENT30Zustimmung zur Verwendung der angefragten Daten31VerifyPin (Aufrufkontext, CardHandle,PinType (PIN.SMC))32Aufforderung der PIN-Eingabe33PIN-Eingabe34Status35ExternalAuthenticate(Aufrufkontext, CardHandle,C.HCI.AUT, CHALLENGE_TOKEN)36SignierteCHALLENGE_TOKEN"37Verschlüsselung des signiertenCHALLENGE_TOKENmit dem öffentlichen SchlüsselPuK_IDP_ENCvom IDP-Dienst38POST {authorization_endpoint}(signiertes und verschlüsseltesCHALLENGE_TOKEN,C.HCI.AUTder SMC-B)AUTHORIZATION_ENDPUNKT39Entschlüsselung desCHALLENGE_TOKENmitPrK_IDP_ENCdes IDP-Dienstes40Signaturprüfung desCHALLENGE_TOKENmit dem imx5c-Header mitgeliefertenC.HCI.AUTZertifikat41Prüfung der Gültigkeit der Attributeaus demCHALLENGE_TOKEN42Erstellung desAUTHORIZATION_CODE43Signieren desAUTHORIZATION_CODEmit dem SchlüsselPrk_IDP_SIG44Veschlüsselung desAUTHORIZATION_CODEmit eigens erzeugten Schlüsselmaterial(AUTH_CODE_ENC)45Redirect zurredirect_urides Registrierungs-DienstesmitAUTHORIZATION_CODE46GET /redirect_uri?code={AUTHORIZATION_CODE}47HTTP 20048Erzeugung einesAES256-Token-Key49AES256-Token-Keyund denunter 7) erzeugtenCODE_VERIFIERin einKEY_VERIFIERObjekt einbetten50KEY_VERIFIERmitPUK_IDP_ENCverschlüsseln51POST {token_endpoint}(AUTHORIZATION_CODE, KEY_VERIFIER)TOKEN_ENDPUNKT52AUTHORIZATION_CODEmitAUTH_CODE_ENCentschlüsseln53Signaturprüfung desAUTHORIZATION_CODEmittelsPUK_IDP_SIG54Entschlüsselung desKEY_VERIFIERmitPrk_IDP_ENC55Extrahieren desCODE_VERIFIERaus demKEY_VERIFIER56Extrahieren derCODE_CHALLENGEaus demAUTHORIZATION_CODE57Hash(S256) desCODE_VERIFIERmit derCODE_CHALLENGEabgleichen58Erzeugung desID_TOKENundSignieren mittelsPrK_IDP_SIGsowie Verschlüsselung mittels Token-Key59ID_TOKEN60Entschlüsselung des TokenmitAES256-Token-Keyund ValidierungmitPuK_IDP_SIG61Prüfung der im TokenenthaltenenProfessionOID"62Abfrage des Status(Polling)63Status der Authentisierung64Organisation erfolgreich Authentifiziert \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.png similarity index 97% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.png index 86d5d3b8..c1180f40 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.svg similarity index 94% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.svg index dc018281..bbe64e2b 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_delivery.svg @@ -1 +1 @@ -Akteur in der Rolle UserAkteur in der Rolle UserTI-Messenger Client AppInhaber PushAnbieter-App TokenTI-Messenger Client AppInhaber PushAnbieter-App TokenPush-AnbieterPush-AnbieterPush-GatewayPush-GatewayFachdienstFachdienst1Benachrichtigung(App_ID,PushAnbieter-AppToken, EventID)2Benachrichtigung(PushAnbieter-AppToken,EventID)3Response4Response5Benachrichtigung anEmpfänger(PushAnbieter-AppToken,EventID)6Abfrage der Daten zuEvent(EventID)7VerschlüsselteBenachrichtigungsinhalte8Entschlüssele(VerschlüsselteBenachrichtigungsinhalte)9erzeugeAnwenderbenachrichtigung mit den entschlüsselten Inhalten10Zeige Benachrichtigung \ No newline at end of file +Akteur in der Rolle UserAkteur in der Rolle UserTI-Messenger Client AppInhaber PushAnbieter-App TokenTI-Messenger Client AppInhaber PushAnbieter-App TokenPush-AnbieterPush-AnbieterPush-GatewayPush-GatewayFachdienstFachdienst1Benachrichtigung(App_ID,PushAnbieter-AppToken, EventID)2Benachrichtigung(PushAnbieter-AppToken,EventID)3Response4Response5Benachrichtigung anEmpfänger(PushAnbieter-AppToken,EventID)6Abfrage der Daten zuEvent(EventID)7VerschlüsselteBenachrichtigungsinhalte8Entschlüssele(VerschlüsselteBenachrichtigungsinhalte)9erzeugeAnwenderbenachrichtigung mit den entschlüsselten Inhalten10Zeige Benachrichtigung \ No newline at end of file diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.png b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.png similarity index 98% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.png rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.png index 946400d3..3fda6e05 100644 Binary files a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.png and b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.png differ diff --git a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.svg b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.svg similarity index 96% rename from images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.svg rename to images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.svg index 68653f47..0d3bc288 100644 --- a/images/diagrams/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.svg +++ b/images/plantuml/TI-Messenger-Dienst/Ressourcen/push_notifications_registration.svg @@ -1 +1 @@ -Akteur in der Rolle UserAkteur in der Rolle UserTI-Messenger Client AppTI-Messenger Client AppPush-AnbieterPush-AnbieterFachdienstFachdienstPush-GatewayPush-GatewayErsteller TI-Messenger Client AppErsteller TI-Messenger Client App1konfiguriert unter einer eindeutigen App_ID denZugang zum Push-Anbieter2speichere Konfiguration3hinterlege App_ID & Push-Gateway URL in der App4installiert TI-Messenger Client App auf dem Smartphone5Wollen Sie Push-Nachrichten empfangen?6stimmt dem Empfang von Push-Nachrichten zu7registriert die App beim Push-Anbieter8eindeutiges PushAnbieter-AppTokenfür die App Instanz9speichere PushAnbieter-AppToken10konfiguriere zu verwendendesGateway(Gateway-Url,App_ID,PushAnbieter-AppToken)11Konfiguration übernommen \ No newline at end of file +Akteur in der Rolle UserAkteur in der Rolle UserTI-Messenger Client AppTI-Messenger Client AppPush-AnbieterPush-AnbieterFachdienstFachdienstPush-GatewayPush-GatewayErsteller TI-Messenger Client AppErsteller TI-Messenger Client App1konfiguriert unter einer eindeutigen App_ID denZugang zum Push-Anbieter2speichere Konfiguration3hinterlege App_ID & Push-Gateway URL in der App4installiert TI-Messenger Client App auf dem Smartphone5Wollen Sie Push-Nachrichten empfangen?6stimmt dem Empfang von Push-Nachrichten zu7registriert die App beim Push-Anbieter8eindeutiges PushAnbieter-AppTokenfür die App Instanz9speichere PushAnbieter-AppToken10konfiguriere zu verwendendesGateway(Gateway-Url,App_ID,PushAnbieter-AppToken)11Konfiguration übernommen \ No newline at end of file diff --git a/src/drawio/Test/Zulassung TIM-Basis.drawio b/src/drawio/Test/Zulassung TIM-Basis.drawio new file mode 100644 index 00000000..d3baa294 --- /dev/null +++ b/src/drawio/Test/Zulassung TIM-Basis.drawio @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/drawio/Test/Zulassung TIM.drawio b/src/drawio/Test/Zulassung TIM-ePA.drawio similarity index 65% rename from src/drawio/Test/Zulassung TIM.drawio rename to src/drawio/Test/Zulassung TIM-ePA.drawio index 9d171507..02d6a602 100644 --- a/src/drawio/Test/Zulassung TIM.drawio +++ b/src/drawio/Test/Zulassung TIM-ePA.drawio @@ -1,15 +1,4 @@ - - - - - - - - - - - - + diff --git a/src/drawio/Test/testtreiber.drawio b/src/drawio/Test/testtreiber-externes-Modul.drawio similarity index 52% rename from src/drawio/Test/testtreiber.drawio rename to src/drawio/Test/testtreiber-externes-Modul.drawio index 47d42571..9028c435 100644 --- a/src/drawio/Test/testtreiber.drawio +++ b/src/drawio/Test/testtreiber-externes-Modul.drawio @@ -1,15 +1,4 @@ - - - - - - - - - - - diff --git a/src/drawio/Test/testtreiber-internes-Modul.drawio b/src/drawio/Test/testtreiber-internes-Modul.drawio new file mode 100644 index 00000000..ba084033 --- /dev/null +++ b/src/drawio/Test/testtreiber-internes-Modul.drawio @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/drawio/Test/testumgebung.drawio b/src/drawio/Test/testumgebung-Gematik.drawio similarity index 52% rename from src/drawio/Test/testumgebung.drawio rename to src/drawio/Test/testumgebung-Gematik.drawio index cf005bae..bf1a70ac 100644 --- a/src/drawio/Test/testumgebung.drawio +++ b/src/drawio/Test/testumgebung-Gematik.drawio @@ -1,15 +1,4 @@ - - - - - - - - - - - diff --git a/src/drawio/Test/testumgebung-Hersteller.drawio b/src/drawio/Test/testumgebung-Hersteller.drawio new file mode 100644 index 00000000..c34613e0 --- /dev/null +++ b/src/drawio/Test/testumgebung-Hersteller.drawio @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.puml b/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.puml index 497b767c..efd36388 100644 --- a/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.puml +++ b/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv.puml @@ -1,4 +1,4 @@ -@startuml "TI-Messenger_OIDC_Login" +@startuml skinparam sequenceMessageAlign direction skinparam WrapWidth 300 skinparam minClassWidth 150 diff --git a/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.puml b/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.puml index 4fdf4aa3..c8cf3d95 100644 --- a/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.puml +++ b/src/plantuml/TI-M_ePA/TI-Messenger_OIDC_login_fdv_simplified.puml @@ -1,4 +1,4 @@ -@startuml "TI-Messenger_OIDC_Login_simplified" +@startuml skinparam sequenceMessageAlign direction skinparam WrapWidth 300 skinparam BoxPadding 1 diff --git a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.puml b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.puml index 207c0c81..6fc30803 100644 --- a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.puml +++ b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10063_Seq.puml @@ -2,7 +2,7 @@ # UC - 10063 # Name: Austausch von Events zwischen Akteuren innerhalb einer Organisation '/ -@startuml +@startuml skinparam sequenceMessageAlign direction skinparam minClassWidth 200 skinparam BoxPadding 1 diff --git a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.puml b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.puml index 759e7cf8..2e74d18c 100644 --- a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.puml +++ b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_10235_Seq.puml @@ -1,4 +1,4 @@ -@startuml "Einträge im VZD-FHIR-Directory suchen" +@startuml skinparam sequenceMessageAlign direction skinparam minClassWidth 200 skinparam BoxPadding 1 diff --git a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.puml b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.puml index e0282068..a9a7cf2b 100644 --- a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.puml +++ b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_Directory_search_Seq.puml @@ -1,4 +1,4 @@ -@startuml "Einträge im VZD-FHIR-Directory suchen" +@startuml skinparam sequenceMessageAlign direction skinparam minClassWidth 200 skinparam BoxPadding 1 diff --git a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.puml b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.puml index daf50b67..85a13fa0 100644 --- a/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.puml +++ b/src/plantuml/TI-Messenger-Dienst/Ressourcen/UC_tim_specific_comm.puml @@ -1,4 +1,4 @@ -@startuml "TI-M spezifische Kommunikation" +@startuml !pragma layout smetana skinparam actorStyle awesome left to right direction