Skip to content

API specification for gematik's TI-Messenger - a messaging standard, which will enable healthcare personnel in the German healthcare sector to communicate interoperable via DSGVO-conform messaging-services. The TI-Messenger builds on matrix, the open standard for interoperable, decentralised, real-time communication over IP.

License

gematik/api-ti-messenger

Repository files navigation

TI Messenger Documentation v1.1.1

gematik

Release%20Notes v1.1
I TiMessengerContactManagement v1.0
TiMessengerTestDriver v0.9 TiMessengerTestSuite v0.9
TI‐Messenger‐Dienst v1.1 TI‐Messenger‐FD v1.1 TI‐Messenger‐Client v1.1
Matrix Client Server API v1 Matrix Server Server API v1 Matrix Push Gateway API v1

Überblick

Die folgende Dokumentation ergänzt die Spezifikation TI-Messenger-Dienst v1.1.1 gemäß [gemSpec_TI-Messenger-Dienst]. An dieser Stelle werden insbesondere die in der Spezifikation genannten Komponenten der Lösung sowie deren Schnittstellen weiter dargestellt und erläutert, um Hersteller und Anbieter eines TI-Messenger-Dienstes bestmöglich zu unterstützen. Der Funktionsumfang des TI-Messenger-Dienst v1.1.1 beinhaltet:

  • Instant-Messaging zwischen Leistungserbringern und Leistungserbringerinstitutionen und

  • Instant-Messaging direkt zwischen Leistungserbringern.

Die Dokumentation ergänzt die Spezifikation gemäß [gemSpec_TI-Messenger-Dienst], die als Grundlage für das Verständnis vorrausgesetzt wird.

Branches

Für die Dokumentation des TI-Messenger-Dienstes werden in GitHub die folgenden Branches verwendet:

  • main: enthält die Dokumentation für das aktuell veröffentlichte Release gemäß [gemSpec_TI-Messenger-Dienst],

  • develop: enthält die Dokumentation der in Entwicklung befindlichen Features, die noch nicht released sind,

  • hotfix: enthält die Dokumentation kurzfristig notwendiger Änderungen am aktuellen Release,

  • feature/*: enthält eine Vorschau, Vorbereitungen und Diskussion eines neuen Themas, welches noch nicht in der Entwicklung ist. Die Inhalte können unvollständig sein und sich bis zur Fertigstellung noch ändern.

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.

💡
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 hier nachgelesen werden.
  • Registrierungs-Dienst
    Der Registrierungs-Dienst bietet drei abstrakte Schnittstellen an. Die Schnittstelle I_Registration wird vom Frontend des Registrierungs-Dienstes aufgerufen, um eine Organisation beim Registrierungs-Dienst zu authentifizieren und Messenger-Services zu administrieren. Die Schnittstelle I_internVerification wird von den Messenger-Proxies aufgerufen, um die Föderationsliste abzurufen und dient zusätzlich der Prüfung (der beteiligten Akteure) auf existierende VZD-FHIR-Einträge. Die Schnittstelle I_requestToken wird vom Org-Admin-Client aufgerufen, um Zugang zum FHIR-Proxy für die Bearbeitung von FHIR-Ressourcen zu erhalten.

  • Messenger-Service
    Ein Messenger-Service besteht aus den Teilkomponenten Messenger-Proxy und einem Matrix-Homeserver. Die Teilkomponente Matrix-Homeserver basiert auf dem offenen Kommunikationsprotokoll Matrix und bietet die Matrix-Client-Server API sowie die Matrix-Server-Server API an. Die Kommunikation zu einem Matrix-Homeserver wird immer über den Messenger-Proxy geleitet, sofern die Berechtigungsprüfung erfolgreich war. Der Messenger-Proxy stellt die Schnittstelle I_TiMessengerContactManagement bereit, um die Administration der Freigabeliste eines Akteurs zu ermöglichen.

  • Push-Gateway
    Das Push-Gateway stellt die Matrix-Push-Gateway API gemäß der Matrix Spezifikation bereit. Dieses ermöglicht die Weiterleitung von Benachrichtigungen an Akteure des TI-Messenger-Dienstes.

  • Der TI-Messenger-Client basiert auf der Matrix-Client-Server API. Er wird durch weitere Funktionsmerkmale erweitert und ruft die Schnittstellen am TI-Messenger-Fachdienst sowie am VZD-FHIR-Directory auf.

  • Beim VZD-FHIR-Directory handelt es sich um einen zentralen Verzeichnisdient der TI, der die deutschlandweite Suche von Organisationen und Akteuren des TI-Messenger-Dienstes ermöglicht. Das VZD-FHIR-Directory basiert auf dem FHIR-Standard und bietet für den TI-Messenger-Dienst relevante Schnittstellen an. Die Schnittstelle FHIRDirectoryTIMProviderAPI wird vom Registrierungs-Dienst aufgerufen, um eine Föderationsliste herunterzuladen. Die Schnittstellen FHIRDirectorySearchAPI und FHIRDirectoryOwnerAPI werden von den TI-Messenger-Clients aufgerufen, um eine Suche bzw. einen Eintrag im FHIR-Directory zu ermöglichen.

  • Der Zentrale IDP-Dienst der gematik übernimmt die Aufgabe der smartcard-basierten Authentisierung eines Akteures. Hierbei fasst der IDP-Dienst aus der Smartcard notwendige Attribute (z. B. TelematikID, ProfessionOID) in ein signiertes JSON Web Token (ID_TOKEN) zusammen, damit sich ein Client gegenüber Fachanwendungen (Registrierungs-Dienst und VZD-FHIR-Directory) identifizieren kann.

  • Der Authenticator der gematik erhält vom zentralen IDP-Dienst einen AUTHORIZATION_CODE zurück, welcher durch Vorlage vom Registrierungs-Dienst oder vom Auth-Service des VZD-FHIR-Directory am IDP-Dienst durch ein ID_TOKEN ausgetauscht wird.

Ordnerstruktur

Im Folgenden sind die wesentlichen Inhalte des Repositories dargestellt.

TI-Messenger Dokumentation
├─ docs (weiterführende Informationen)
|   ├──── Authenticator
|   ├──── Client
|   ├──── FHIR-Directory
|   ├──── Fachdienst
|   ├──── IDP
|   ├──── Primaersystem
|   ├──── Anwendungsfälle
|   └──── FAQ
├─ images (Bildarchiv)
│   └──── diagrams (gerenderte Diagramme)
│        └── Ressourcen (plantuml-gerenderte Bilder)
├─ samples (Codebeispiele, Postman Collections, etc)
├─ src (Quellen)
│   ├──── drawio (Quellen der drawio-Diagramme)
│   ├──── openapi (Schnittstellenbeschreibungen)
│   │    ├── TiMessengerContactManagement.yaml (API-Beschreibung der Freigabeliste)
│   │    └── TiMessengerTestTreiber.yaml (API-Beschreibung der TestTreiber-Schnittstelle)
│   └──── plantuml (Quellen der plantuml-Diagramme)
├── README.adoc
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
├── Pull_request_template.md
├── SECURITY.md
└── ReleaseNotes.md

Quellen

Die nachfolgende Tabelle enthält die in der vorliegenden Online Dokumentation referenzierten Dokumente der gematik.

[Quelle] Herausgeber: Titel

gemSpec_TI-Messenger-Dienst_v1.1.1

gematik: Spezifikation TI-Messenger-Dienst

gemSpec_TI-Messenger-FD_v1.1.1

gematik: Spezifikation TI-Messenger-Fachdienst

gemSpec_TI-Messenger-Client_v1.1.1

gematik: Spezifikation TI-Messenger-Client

gemSpec_VZD_FHIR_Directory_v1.3.0

gematik: Spezifikation Verzeichnisdienst FHIR-Directory

zentraler IDP_Dienst

gematik: zentraler IDP-Dienst der gematik

Authenticator

gematik: Authenticator der gematik

💡 Onboarding

Hersteller und Anbieter eines TI-Messenger-Dienstes können das von der gematik bereitgestellte Welcome Package zum Onboarding nutzen. Dieses Welcome Package ist als "Schritt-für-Schritt"-Anleitung gedacht, um Hersteller und Anbieter beim Onboarding des TI-Messenger-Dienstes zu unterstützen.

Lizenzbedingungen

Copyright (c) 2023 gematik GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

API specification for gematik's TI-Messenger - a messaging standard, which will enable healthcare personnel in the German healthcare sector to communicate interoperable via DSGVO-conform messaging-services. The TI-Messenger builds on matrix, the open standard for interoperable, decentralised, real-time communication over IP.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published