C_12265_Anlage_V1.0.0
Prereleases:
C_12265_Anlage
Telemetriedaten als neues Format zum Bereitstellen und Senden von Daten an die gematik.
ML-173439 - ZETA Telemetriedatenlieferung
[<=]
Inhaltsverzeichnis
1 Änderungsbeschreibung
Vorabinformation zum Änderungseintrag: Folgende Änderungen sind Bestandteil des Änderungseintrages:
Erläuterung: hier nur normativ notwendige Texte in Begleitdokument der dynamische Teil beide zusammen beschreiben den aktuellen Stand des Prozesses Hinweise zur Lesart: <<Text, der zur Erklärung der Änderung dient - wird nicht mit eingearbeitet/übernommen.>> Text, der neu ist. Text, der entfernt wird. Text, der entfernt wird. |
---|
2 Ergänzung eines Datenliefermodells
<< Änderungen in gemSpec_Perf zur Ergänzung eines neuen Datenliefermodells>>
2.1 Änderungen in gemSpec_Perf
2.2 in Kapitel 2.5 Datenliefermodelle
<< Aufnahme von Telemetriedaten als neues Datenliefermodell>>
Auswahl eines oder mehrerer Datenliefermodelle für das Produkt. Mögliche (ab heute zugewiesene) Datenliefermodelle:
- Betriebsdatenlieferung
- Version 1 - wollen wir nicht mehr spezifizieren
- Version 2 (BDEv2)
- Selbstauskunft
- Version 1 - wollen wir nicht mehr spezifizieren
- Version 2
- Bestandsdaten
- Konnektordaten - muss ordentlich überarbeitet werden, bevor es genutzt werden kann
- Ereignisdaten - für den dezentralen Bereich gedacht
- Telemetriedaten
- Ad-hoc-Reports - werden immer zugeordnet (da verbandelt mit gemRL_Betr_TI)
<..>
<< Zuordnung des neuen Datenliefermodells zu den TI2.0 Diensten>>
PDT-ID | Name des Produkttyps | Aktuelle Datenliefermodelle |
---|---|---|
... | ||
PDT71 | Proof of Patient Presence Service | BDEv2 Telemetriedaten, Selbstauskunft v2 |
... | ||
PDT74 | Digitale Patientenrechnung Fachdienst | BDEv2 Telemetriedaten, Selbstauskunft v2 |
... | ||
PDT79 | VSDM 2 Fachdienst | BDEv2 Telemetriedaten, Selbstauskunft v2 |
... | ||
PDT82 | ZETA - PIP und PAP Service | Telemetriedaten |
Tabelle 1 Tab_gemSpec_Perf_Zuordnung_Datenliefermodelle
Entfernen der Zuordnung der AFO für TI 2.0 Dienste für die Datenaufbewahrung, da der Anbieter nun keine Datenlieferungen mehr direkt an die gematik sendet, sondern diese dem ZETA-Guard bereitstellt. Der Anbieter ist auch mit Wegfall dieser Anforderungen weiterhin verpflichtet, Daten an den ZETA-Guard zum Zwecke der vollständigen Lieferung (z.B. Nachlieferung) zwischenzuspeichern.
TIP1-A_6437-01 - Performance - Datenlieferungen - Aufbewahrungsfrist
Der Anbieter MUSS Datenlieferungen an die gematik mindestens 6 Monate lang aufbewahren.
[<=]2.2.1 Unterkapitel 2.5.1 Betriebsdatenlieferung
Entfernen der Zuordnung von TI2.0 Dienst-Anbieter bzw. Produkttypen [Anb_]PoPP-Service, [Anb_]VSDM_2_FD, [Anb_]DiPag_FD, ZT_PIP_PAP aus den folgenden Anforderungen:
Afo-ID | Titel |
---|---|
A_22002 | Performance - Betriebsdatenlieferung v2 - Übermittlung |
A_22047 | Performance - Betriebsdatenlieferung v2 - Änderung der Konfiguration der Lieferintervalle |
A_22996 | Performance - Betriebsdatenlieferung v2 - Zeitpunkte der Übermittlungen |
A_22620 | Performance - Betriebsdatenlieferung v2 - Umsetzungszeit für Änderung der Lieferintervalle |
A_22500-01 | Performance - Betriebsdatenlieferung v2 - Status-Block |
A_22003-01 | Performance - Betriebsdatenlieferung v2 - Nachlieferung auf Anforderung |
A_22513-02 | Performance - Betriebsdatenlieferung v2 - Message-Block im Fehlerfall |
A_21982-01 | Performance - Betriebsdatenlieferung v2 - Message-Block |
A_21980-01 | Performance - Betriebsdatenlieferung v2 - Leerlieferung |
A_22004 | Performance - Betriebsdatenlieferung v2 - Korrektheit |
A_21976 | Performance - Betriebsdatenlieferung v2 - Konfigurierbarkeit der Lieferintervalle |
A_22005 | Performance - Betriebsdatenlieferung v2 - Frist für Nachlieferung |
A_21981-02 | Performance - Betriebsdatenlieferung v2 - Format |
A_21975-01 | Performance - Betriebsdatenlieferung v2 - Default-Wert des Lieferintervalls |
A_22001-02 | Performance - Betriebsdatenlieferung v2 - Dateiname der Lieferung |
A_21979 | Performance - Betriebsdatenlieferung v2 - Bezug der Lieferverpflichtung |
A_22057 | Performance - Betriebsdatenlieferung - Verpflichtung des Anbieters |
A_22482-01 | Performance - Betriebsdatenlieferung - Erfassung von Betriebsdaten |
Tabelle 2 : Zuordnungsentfernung der TI2.0 Dienste zu BDE
2.2.2 Unterkapitel 2.5.3 Selbstauskunft
Entfernen der Zuordnung von TI2.0 Dienst-Anbieter bzw. Produkttypen [Anb_]PoPP-Service, [Anb_]VSDM_2_FD, [Anb_]DiPag_FD, ZT_PIP_PAP aus den folgenden Anforderungen:
Afo-ID | Titel |
---|---|
A_26173 | Performance - Selbstauskunft v1 - Format und Übermittlung |
A_26179 | Performance - Selbstauskunft v1 - Dateiname der Lieferung |
A_22429 | Performance - Selbstauskunft v1 - Inhalt |
A_26181 | Performance - Selbstauskunft v2 - Format und Übermittlung |
A_26180 | Performance - Selbstauskunft v2 - Grundgerüst |
A_27271 | Performance - Selbstauskunft v2 - Schemaversion 1 |
Tabelle 3 :: Zuordnungsentfernung der TI2.0 Dienste zur Selbstauskunft
2.2.3 Unterkapitel 2.5.x Telemetriedaten
<< neues Unterkapitel im Kapitel 2.5 Datenliefermodelle>>
Dienste der TI2.0 Architektur werden Betriebsdaten, Selbstauskunft und Bestandsdaten in einem neuen Datenliefermodell übermitteln. Unter Verwendung des OpenTelemetry-Frameworks werden Telemetrie-Daten über verteilte Systeme eingesammelt und für die Weitergabe an die gematik aufbereitet. Aus den Telemetriedaten können Informationen zur Performance, Last und Fehlersituationen sowie Daten über den Status und Versionsständen von Nutzern und Clients abgeleitet werden.
Die gesammelten Telemetriedaten werden auf Basis des OpenTelemetry Protokolls (OTLP) über gRPC gesendet und von der gematik empfangen. Die gematik prüft den Sender auf ein gültiges Client-Zertifikat und erlaubt nur validierte Zugriffe über mTLS.
Generell werden folgende drei Typen von Telemetriedaten unterschieden:
- Traces
- Logs
- Metriken
Die Tabelle 4- Zuordnung der Telemetriedatentypen zu Datenlieferungen beschreibt die Zuordnung der Telemetriedatentypen zu den gematik bekannten Datenlieferungen.
Telemetriedatentyp | Zugeordnete Datenlieferung | Beschreibung |
---|---|---|
Trace | Betriebsdaten | Informationen über den Ablauf und die Dauer von verteilten Anfragen und Transaktionen über die einzelnen beteiligten Komponenten hinweg. |
Logs | Selbstauskunft | Versions- und Statusinformationen werden zeitlich zugeordnet als Logs dokumentiert und können darüber ausgewertet werden |
Metriken | Bestandsdaten | Numerische Werte, die den Zustand oder die Leistung über die Zeit messen, z.B. Anzahl erfolgreicher Anfragen pro Minute |
Tabelle 4 : Zuordnung der Telemetriedatentypen zu Datenlieferungen
Eine zentrale Rolle in der TI2.0 Architektur nehmen die Komponenten von ZETA ein. Der ZETA Guards wird eine zwingende Komponente von TI2.0 Diensten und stellt einen Telemetrie-Daten Service zur Verfügung. Dieser Service übernimmt die Kommunikation mit der gematik und führt die Informationen des dahinterliegenden Ressource Servers mit den eigenen Aufrufen zusammen. Die dazugehörigen Spezifikationen sind in dem Dokument [gemSpec_ZETA] näher skizziert und Anforderungen zum Aufbau des Telemetrie-Daten-Service innerhalb des ZETA Guard sind ebenfalls in dem Dokument verortet.
der ZETA PIP / PAP Service ist ebenfalls Bestandteil der TI2.0 Architektur und wird Telemetriedaten entsprechend dem spezifizierten Aufbau liefern.
2.2.3.1 Traces
Ein gesendeter Trace enthält 1-n Spans, die grundlegende Einheit von einzelnen Operationen in einem verteilten System. Die Gesamtheit der Spans mit gleicher Trace ID ermöglicht eine Nachvollziehbarkeit der gesamten Kette eines Aufrufes.
Hier ein Beispiel eines Traces, der aus zwei einzelnen Operationen zusammengesetzt wird.
{
"trace_id": "abcd1234efgh5678ijkl9012mnop3456",
"spans": [
{
"span_id": "1111222233334444",
"name": "HTTP GET /api/user",
"start_time_unix_nano": "2025-04-22T12:00:00.000Z",
"end_time_unix_nano": "2025-04-22T12:00:01.000Z",
"attributes": [
{"http_fqdn": "vsdm2.aok.net"},
{"http_route": "/ressource/path/1"},
{"http_status": 200}
],
"parent_id": null // Root-Span hat keinen Parent
},
{
"span_id": "5555666677778888",
"name": "rs-vsdm_2",
"start_time_unix_nano": "2025-04-22T12:00:00.200Z",
"end_time_unix_nano": "2025-04-22T12:00:00.700Z",
"attributes": [
{"rs_ci": "CI111243243"},
{"rs_message_key1": "text"},
{"rs_message_key2": 500}
],
"parent_id": "1111222233334444" // Parent-Span-ID des Root-Spans
}
]
}
Fehlt in der Kette der Operationen ein Span eines Ressource Servers kann daraus abgeleitet werden, dass der Ressource Server ausgefallen ist. Ein weiterer Überwachungsmechanismus für den Ausfall eines Ressource Servers ist die Kontrolle einzelner Kubernetes Pods. Die Protokollierung von automatischen Neustarts kann hierzu ausgewertet werden.
Die folgende Tabelle gibt Aufschluss über die möglichen Trace-Parameter.
Attributname | zugehörige Operation | Beschreibung |
---|---|---|
trace_id | alle | Eindeutige ID eines Traces und Kennzeichnung zueinander gehörender Operationen. Das Feld darf nicht leer sein. |
span_id | alle | Eindeutige ID einer einzelnen Operation innerhalb eines Traces. Das Feld darf nicht leer sein. |
parent_id | alle | Eindeutige ID zur Identifizierung von Hierarchien innerhalb der Operationen eines Traces. |
name | alle | Name der Operation bzw. Systemname. Das Feld darf nicht leer sein. |
start_time_unix_nano | alle | Startzeitpunkt der Operation, Nutzung zur Berechnung der Duration aus der Differenz zum Endzeitpunkt. Das Feld darf nicht leer sein. |
end_time_unix_nano | alle | Endzeitpunkt der Operation, Nutzung zur Berechnung der Duration aus der Differenz zum Startzeitpunkt. Das Feld darf nicht leer sein. |
pod_name | alle | Name des Pods/der Instanz |
attributes:http_fqdn | alle | Vollständiger FQDN der ausgeführten Operation |
attributes:http_route | alle | HTTP Route der ausgeführten Operation |
attributes:http_status | alle | 3-stelliger HTTP Statuscode gemäß [RFC9110] |
attributes:rs_ci | Ressource Server des TI 2.0 Dienst | Dies ist die logische Produktinstanz und entspricht der CI-ID aus dem ITSM. Das Feld darf beim Span des Ressource Servers nicht leer sein. Format: String mit 10 Zeichen |
attributes:rs_instance | Ressource Server des TI 2.0 Dienst | Dies ist eine zusätzliche fachliche Instanz des Resource Servers. Wenn notwendig vom Ressource Server befüllt. |
attributes:rs_status | Ressource Server des TI 2.0 Dienst | Ein max. 5-stelliger Statuscode des Ressource Servers gemäß [A_27722]. Das Feld darf nicht leer sein. |
attributes:rs_message_key1 | Ressource Server des TI 2.0 Dienst | JSON-formatierter String (UTF-8, ohne Steuerzeichen oder Binärdaten); evtl. Produktspezifische Zusatzinformationen |
attributes:rs_message_key2 | Ressource Server des TI 2.0 Dienst | JSON-formatierter String (UTF-8, ohne Steuerzeichen oder Binärdaten); evtl. Produktspezifische Zusatzinformationen |
Tabelle 5 Tab_gemSpec_Perf_Trace_Parameter_Telemetriedatenlieferung
2.2.3.2 Logs
Zusätzlich zur Nachvollziehbarkeit von verteilten Transaktionen in einer Anwendung mittels Traces kann OpenTelemetry Logs erfassen. Die Telemetriedatenlieferung stellt einen Custom Collector für die Selbstauskunft zur Verfügung. Der ZETA Guard greift diesen Collector auf und lässt ihn durch den Ressource Server befüllen, ebenso liefert der ZETA PIP PAP Server die Informationen auf direktem Weg.
Das OpenTelemetry Log "product_info" wird in der folgenden Tabelle beschrieben.
Parameter | Beschreibung |
---|---|
product_name | Name des Produkts |
product_version | Aktuelle Produktversion |
producttype_version | Aktuelle Produkttypversion |
configuration_version | Aktuelle Konfigurationsversion |
pod_name | Name des Pods/der Instanz |
timestamp | Zeitpunkt der letzten Änderung |
Tabelle 6 : Tab_gemSpec_Perf_Telemetriedaten_product_info
2.2.3.3 Metriken
In der Zukunft können OpenTelemetry Metriken hinzukommen, um Bestandsdaten von TI2.0 Diensten aufzunehmen, sobald Anwendungsfälle hierfür definiert werden.
2.2.3.4 Neue Anforderungen Telemetriedatenlieferungen
A_27718 - Telemetriedatenlieferung - Konnektivität zur gematik gewährleisten
Der Anbieter MUSS die Konnektivität zu der Telemetriedaten-Schnittstelle der gematik durchgehend gewährleisten.
[<=]
A_27719 - Telemetriedatenlieferung - Nutzung eines gültigen Client-Zertifikats
Der Anbieter MUSS für den Verbindungsaufbau zum Telemetriedaten-Service der gematik ein gültiges TLS Client-Zertifikat nutzen.
Hinweis: Ein entsprechendes TLS Client-Zertifikat muss vor Inbetriebnahme bei der gematik beantragt werden. [<=]
A_27724 - Telemetriedatenlieferung - Korrektheit der Datenlieferung
Der Produkttyp MUSS die Fachdienstinformationen vollständig, lückenlos für jeden ausgeführten Aufruf, überlappungsfrei, syntaktisch und semantisch korrekt an den Telemetriedaten-Service senden. [<=]
A_27723 - Telemetriedatenlieferung - Ad-hoc Lieferung
Der Produkttyp MUSS für jede ausgeführte Operation direkt die Betriebsdaten gemäß der Tabelle "Tab_gemSpec_Perf_Trace_Parameter_Telemetriedatenlieferung" Trace-Parameter einer Telemetriedatenlieferung an den Telemetriedaten-Service senden. [<=]
A_27722 - Telemetriedatenlieferung - Status Code des Ressource Servers
Der Produkttyp MUSS im Parameter rs.status entweder einen HTTP-Statuscode des Ressource Servers gemäß Tab_gemSpec_Perf_Telemetriedaten_RS_Statuscodes oder gemäß produkttypspezifischer Definition übermitteln.
Tabelle 7: Tab_gemSpec_Perf_Telemetriedaten_RS_Statuscodes
HTTP-Statuscodes |
Name der Statuscodegruppe | Beschreibung |
---|---|---|
1xx | INFORMATIONAL | Der Server hat die Anfrage erhalten und befindet sich in der Bearbeitung. |
2xx |
SUCCESSFUL |
Die Operation wurde erfolgreich durchgeführt. |
3xx | REDIRECTION | Der Client muss zusätzliche Maßnahmen ergreifen, um die Anfrage abzuschließen. |
4xx |
CLIENT_ERROR |
Ein Client-seitiger Fehler verhindert die erfolgreiche Durchführung der Operation. |
5xx |
SERVER_ERROR |
Ein Server-seitiger Fehler verhindert die erfolgreiche Durchführung der Operation. |
Hinweis: Es sind vom Anbieter, anstatt der Status Code Klassen (first digit of status code), die konkreten 3-stelligen HTTP-Statuscodes gemäß [RFC9110] zu verwenden.
A_27729 - Telemetriedatenlieferung - Selbstauskunft
Der Produkttyp MUSS die in der Tabelle "Tab_gemSpec_Perf_Telemetriedaten_product_info" gelisteten Parameter des Open Telemetry Logs "product_info" befüllen und die Produktinformation bei jeder Änderung überliefern.
[<=]
2.2.4 Anmerkung zu Kapitel 3. Produkttypspezifische Vorgaben
In dem Kapitel 3 "Produkttypspezifische Vorgaben" gibt es Unterkapitel zu den einzelnen Diensten und deren spezifische Vorgaben. Die bereits erwähnten TI2.0 Dienste müssen hier genauer betrachtet werden und die Anforderungen mit Bezug zu den Betriebsdaten, Selbstauskunft oder Bestandsdaten müssen angepasst werden. Die technischen Vorgaben sind mit den neuen, hier in der Anlage aufgeführten Anforderungen bereits adressiert, aber es gibt noch weiteren Anforderungsbedarf im Wortlaut für das Senden produktspezifischer Informationen.
Betroffen sind die Unterkapitel
- Betriebsdatenlieferung v2 - Spezifika VSDM 2
- 3.28.2 Betriebsdatenlieferung v2 - Spezifika Digitale Patientenrechnung
- 3.28.3 Bestandsdatenlieferung - Spezifika Digitale Patientenrechnung
3 Ergänzungen von Anforderungen in der ZETA Guard Spezifikation
<< Änderungen in gemSpec_ZETA zur Ergänzung von Anforderungen für den Telemetrie-Daten-Service >>
3.1 Änderungen in gemSpec_ZETA
3.2 in Kapitel 5.7 Telemetrie-Daten-Service
<< neue Anforderungen >>
A_27727 - ZETA Guard, Telemetrie-Daten Service, Default-Wert des Lieferintervalls
Der Telemetrie-Daten Service im ZETA Guard MUSS standardmäßig ein Lieferintervall von einer Minute eingestellt haben.
[<=]
A_27728 - ZETA Guard, Telemetrie-Daten Service, Konfigurierbarkeit der Lieferintervalle
Der Telemetrie-Daten Service im ZETA Guard MUSS eine Anpassung der Lieferintervalle in einer ausgelagerten Konfiguration ermöglichen. Möglich sind Intervalle von sofort bis 5 Minuten. Änderungen des Lieferintervalls MÜSSEN konfigurativ durchgeführt werden können. [<=]
A_27725 - ZETA Guard, Telemetrie-Daten Service, Status Codes
Der Telemetrie-Daten Service im ZETA Guard MUSS im Parameter http.status einen HTTP-Statuscode gemäß Tab_gemSpec_ZETA_Telemetriedaten_HTTP_Statuscodes übermitteln.
Tabelle 8: Tab_gemSpec_ZETA_Telemetriedaten_HTTP_Statuscodes
HTTP-Statuscodes |
Name der Statuscodegruppe | Beschreibung |
---|---|---|
1xx | INFORMATIONAL | Der Server hat die Anfrage erhalten und befindet sich in der Bearbeitung. |
2xx |
SUCCESSFUL |
Die Operation wurde erfolgreich durchgeführt. |
3xx | REDIRECTION | Der Client muss zusätzliche Maßnahmen ergreifen, um die Anfrage abzuschließen. |
4xx |
CLIENT_ERROR |
Ein Client-seitiger Fehler verhindert die erfolgreiche Durchführung der Operation. |
5xx |
SERVER_ERROR |
Ein Server-seitiger Fehler verhindert die erfolgreiche Durchführung der Operation. |
Hinweis: Es sind vom Anbieter, anstatt der Status Code Klassen (first digit of status code), die konkreten 3-stelligen HTTP-Statuscodes gemäß [RFC9110] zu verwenden.