C_12286_Anlage_V1.0.0
Prereleases:
C_12286_Anlage
Inhaltsverzeichnis
1 Änderungsbeschreibung
Es fehlt ein Usecase, dass bei Aktualisierung der EntitlementDenyList im Aktensystem eine Meldung an die BDE gesendet wird.
Über die sortierte Liste der Einträge der EntitlementDenyList wird ein Hashwert berechnet. Dieser Hashwert wird bei der Aktualisierung der EntitlementDenyList im Aktensystem berechnet und über die BDE als Meldung übermittelt.
Die gematik kann damit technisch ermitteln und automatisiert überwachen, dass in allen Aktensystem die aktuelle EntitlementDenyList als Datenbasis für die Zugriffskontrolle vorliegt.
2 Änderung in gemSpec_Perf
A_22467-* - Performance - Betriebsdatenlieferung v2 - Spezifika ePA-Aktensystem - Operation
Der Produkttyp Aktensystem_ePA MUSS bei Betriebsdatenlieferungen bzgl. der "operation"-Felder die Angabe der Spalte "Usecase / Anwendungsfall-ID" aus Tabelle Tab_gemSpec_Perf_Berichtsformat_ePA berücksichtigen.
Tabelle 1 Tab_gemSpec_Perf_Berichtsformat_ePA
Usecase / Anwendungsfall-ID | Titel | Duration | Message-Block |
---|---|---|---|
EPA.UC_1 | Login Versicherter | Beginnt mit VAU-Hello und endet mit dem Abschluss des Aufbaus der VAU. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version" } |
EPA.UC_B1.1 | Dokument hochladen Versicherter | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. | { "cid": "$clientID", "cv" : "$version", "size": $size } |
EPA.UC_B4.x | Verbergen von Dokumenten / Kategorien | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version" } |
EPA.UC_A2.2 | Befugnis ablegen Versicherter | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version" } |
EPA.UC_A2.5 | Befugnis ablegen Vertreter | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version" } |
EPA.UC_2 | Login PS | Beginn mit VAU-Hello und endet mit dem Abschluss des Aufbaus der VAU. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version", "profOID": "$professionOID", "telidP" : "$pn_telematikID", "ipP" : "$pn_ipaddress" } |
EPA.UC_2x | Aktenkontext öffnen PS | Beginnt mit dem (ggf. impliziten) Request zum Öffnen eines bestimmten Health Record Contextes und endet mit Abschluss des Absendens der Response. | { "cid": "$clientID", "cv" : "$version", "profOID": "$professionOID", "telidP" : "$pn_telematikID", "ipP" : "$pn_ipaddress" } |
EPA.UC_B1.2 | Dokument hochladen PS | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. | { "cid": "$clientID", "cv" : "$version", "size": $size, "profOID": "$professionOID", "cat": "$category", "telidP" : "$pn_telematikID", "ipP" : "$pn_ipaddress" } |
EPA.UC_A3.9 | Abfragen von Widersprüchen PS | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version" } |
EPA.UC_C6.1g | Medikationsliste abrufen PS | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version", "size": $size, "telidP" : "$pn_telematikID", "ipP" : "$pn_ipaddress", "mode": "$modus" } Hinweis: der "size"-Parameter ist optional, sofern beim Modus ($modus) = "FHIR" ist. In diesem Fall ist "size" : null zu übermitteln. |
EPA.UC_A2.1 | Befugnis ablegen PS | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version", "proof" : $auditProof , "telidP" : "$pn_telematikID", "ipP" : "$pn_ipaddress", "cissP" : "$pn_certissuer", "csnP" : "$pn_certserialnumber" } |
EPA.UC_C6.1 | Verordnungen einstellen eRP-FD | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. | { } |
EPA.UC_C6.1x | Dispensierung einstellen eRP-FD | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. | { } |
EPA.UC_C4.1x | Übermittlung VST | Beginnt mit dem Start des Versands der Lieferpseudonyme an die Vertrauensstelle und endet mit dem Abschluss des Versands. | { } |
EPA.UC_C4.1y | Übermittlung FDZ | Beginnt mit dem Erhalt der Empfangsbereitschaft vom Forschungsdatenzentrum und endet mit dem Abschluss des Versands des FDZ-Packages. | { "size": $size } |
EPA.UC_C6a | Widerspruch LEI-Zugriff Medication Service | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version" } |
EPA.UC_C6b | Rücknahme Widerspruch LEI-Zugriff Medication Service | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version" } |
EPA.UC_B1.4 | Dokument herunterladen PS | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Hinweis: Das Abrufen der eML (auch als PDF) wird über EPA.UC_C6.1g realisiert. |
{ "cid": "$clientID", "cv" : "$version", "size": $size, "profOID": "$professionOID", "cat": "$category", "telidP" : "$pn_telematikID", "ipP" : "$pn_ipaddress" } |
EPA.UC_6.19 | Medikationsplan abrufen PS | Beginnt mit dem Erhalt des Requests und endet mit Abschluss des Absendens der Response. Während ggf. notwendigem Request an externen Komponenten pausiert die Messung. | { "cid": "$clientID", "cv" : "$version", "size": $size } |
EPA.UC_3 | Aktualisierung EntitlementDenyList | Als "duration" ist für die Lieferung der Wert 0 (Null - Zero) zulässig. Eine Messung der Aktualisierung ist nicht notwendig | { "EDLHash" : "$hash"} |
[<=]
A_22469-* - Performance - Betriebsdatenlieferung v2 - Spezifika ePA-Aktensystem - Message
Der Produkttyp Aktensystem_ePA MUSS bei Betriebsdatenlieferungen bzgl. des Feldes "message" folgende spezifischen Festlegungen hinsichtlich des Formates und der Inhalte berücksichtigen.
{ "cid": "$clientID", "cv" : "$version", "size": $size, "profOID": "$professionOID", "cat": "$category", "telidP" : "$pn_telematikID", "ipP" : "$pn_ipaddress", "cissP" : "$pn_certissuer", "csnP" : "$pn_certserialnumber", "mode": "$modus", "proof" : $auditProof, "EDLHash" : "$hash" }
- $clientID: ClientID-Parameter aus dem HTTP-Header-Feld gemäß Anforderungslage für Clientsysteme aus [gemSpec_Aktensystem_ePAfuerAlle#A_22470-xx] (erster Teil des Useragent-Parameters), Datentyp String
- $version: Versionsnummer-Parameter aus dem HTTP-Header-Feld gemäß Anforderungslage für Clientsysteme aus [gemSpec_Aktensystem_ePAfuerAlle#A_22470-xx] (zweiter Teil des Useragent-Parameters), Datentyp String
- $size: Größe des Requests in Kilobyte, Datentyp Integer
- $professionOID: professionOID gemäß OID-Datenbank des BfArM als OID, Datentyp String
- $category: Dokumentenkategorie gemäß der Spalte "technischer Identifier" in [gemSpec_Aktensystem_ePAfuerAlle#A_19303-*], Datentyp String
- $pn_telematikID: Telematik-ID des angemeldeten Nutzers, verschlüsselt gemäß A_27332-*, Datentyp String
- $pn_ipaddress: IP-Adresse des angemeldeten Nutzers, verschlüsselt gemäß A_27332-*, Datentyp String
- $pn_certissuer: issuer-Parameter aus C.HCI.AUT, verschlüsselt gemäß A_27332-*, Datentyp String
- $pn_certserialnumber: serialNumber-Parameter aus C.HCI.AUT, verschlüsselt gemäß A_27332-*, Datentyp String
- $modus: je nachdem welche Art der Medikationsliste (render-eML-HTML, render-eML-PDF oder FHIR-eML = "FHIR") abgerufen wurde, ist für den EPA.UC_C1.6g folgender Wert einzutragen [render-eML-HTML = "HTML", render-eML-PDF = "PDF", FHIR-eML = "FHIR"], Datentyp String
- $auditProof: je nachdem auf welche Art der Behandlungskontext nachgewiesen wurde, ist für den EPA.UC_B1.2 folgender Wert einzutragen [VSDM-Prüfnachweis = 1, PoPP-Token = 2], Datentyp Integer
- $hash: als Hash ist der gemäß A_27781-* berechnete Wert zu übermitteln, Datentyp String (Base64-kodierter Hashwert)
Für die jeweilige Operation sind dabei nur die in der Spalte "Message" aus Tabelle Tab_gemSpec_Perf_Berichtsformat_ePA angegebenen Key-Value Paare zu übermitteln.
Bei der Erstellung des message-Feldes ist darauf zu achten, dass weder Whitespaces noch Newlines zwischen JSON-Elementen enthalten sind (kein Indenting) und Vorgaben nach [RFC7493] eingehalten werden.
[<=]
3 Änderung in gemKPT_Betr
In Kapitel 5.3.1.8 ist in Tabelle Tab_gemKPT_Betr_ePA_S::O/A eine Zeile zu ergänzen:
Produkttyp / Anwen-dungstyp | S/A-ID |
Schnittstellen::Operation / Anwendungsfall |
Beschreibung | Berichtsformat-Alias (sofern von Schnittstellen::Operation abweichend) |
---|---|---|---|---|
PDT43 | S?? | EPA_UC_3 | Aktualisierung EntitlementDenyList |
Die ?? sind zum entsprechenden Zeitpunkt der Umsetzung einzutragen, da mehrere Änderungseinträge parallel geschrieben werden.
4 Änderung in gemAktensystem_ePAfueralle
Am Ende von Abschnitt "EntitlementDenyList" (bei 3.0.x ist diese Abschnitt 3.8.6 bei 3.1.x ist dies 3.9.6) wird folgendes hinzugefügt (auf die Gelbmarkierung wird der besseren Lesbarkeit halber verzichtet, kompletter Text ist neu).
Technische Details zur Aktualisierung der EntitlementDenyList im Aktensystem:
Die gematik liefert regelmäßige Aktualisierungen der EntitlementDenyList an die Betreiber der ePA-Aktensysteme. Die gematik möchte automatisiert überwachen können, ob in den ePA-Aktensystemen jeweils die aktuelle Version der EntitlementDenylist geladen ist. In den ePA-Aktensystemen gibt es jeweils ein Enforcement-Point an dem die EntitlementDenyList technisch durchgesetzt wird. Mindestens bei Aktualisierung der EntitlementDenyList im ePA-Aktensystem soll solch ein Enforcement-Point Auskunft über eine BDE-Meldung darüber geben welche EntitlementDenyList ihm aktuell vorliegt. Dabei soll eine hohe Aussagekraft der Information erreicht werden, deshalb wird ein Hashwert über die TelematikIDs der aktuellen EntitlementDenyList erzeugt und dieser Hashwert wird über die BDE-Daten an die gematik (Betriebsüberwachung) übermittelt.
A_27780 - Übertragungsformat der EntitlementDenyList (gematik->ePA-Aktensystem).
Das ePA-Aktensystem MUSS sicherstellen, dass es eine EntitlementDenyList im JSON-Format von der gematik in folgender Art entgegen nehmen / auswerten kann.
{
"type": "EntitlementDenyList",
"version": <natürliche Zahl>,
"iat": <Unix-Zeit als natürliche Zahl>,
"separator": "<Trennsequenz>",
"TelematikIDs": [
"<TID_1>", ... "<TID_2>"
],
"TruncatedHash": "Base64-kodierter 24-Byte-gekürzter-SHA256-Hashwert"
}
Die Attribute "version", "iat" dienen nur der Information, i. S. v. müssen von Aktensystem nicht notwendiger Weise technisch ausgewertet werden.
Ein ePA-Aktensystem KANN den TruncatedHash analog A_27781-* berechnen (es werden nur die ersten 192 Bit / 24 Byte verwendet) und für aktensysteminterne Zwecke verwendet.
Die Telematik-IDs im Array "TelematikIDs" (bspw. "1-1.12345678") sind in alphabetisch aufsteigender Ordnung sortiert (werden also schon durch die gematik sortiert geliefert). Die JSON-Datei ist wie üblich UTF-8 kodiert. [<=]
Beispiel für eine EntitlementDenyList gemäß A_27780-*:
{
"type": "EntitlementDenyList",
"version": 6,
"iat": 1749563839,
"separator": "+++",
"TelematikIDs": [
"1-1.1234567890",
"1-123456789",
"1-12345678901234",
"1-22345678901234",
"3-06.2.1234567890.10.123",
"3-07.2.1234567890.123",
"3-14.2.1234567890.123"
],
"TruncatedHash": "pee1nuX5TxSce3QSawdqs+Pf0L6UMCr8"
}
A_27781 - Hashwertberechnung der Telematik-ID-Einträge in einer EntitlementDenyList
Eine ePA-Aktensystem MUSS bei der Berechnung des Hashwertes für die BDE-Datenlieferung gemäß A_22469-*:
- die Einträge in Array "TelematikIDs" alphabetisch aufsteigend sortieren,
- die Einträge jeweils mit dem Inhalt von "separator" als Verbindungselement zu einer einzigen lange Bytefolge konkatenieren,
- von dieser langen Bytefolge den SHA-256-Hashwert berechnen.
[<=]
Beispiele für A_27281-*:
1)
Wäre separator="AAA" und TelematikIDs=["1", "2", "3"], dann wären die dtbh="1AAA2AAA3". Der Base64-kodierte Hashwert wäre dann NFtIcjtAGzo8tL5goB6QMXpHkNCjDSFK5oTzILjXu8k=
2)
Mit den Daten aus dem oben aufgeführten Beispiel für A_27780-* würde ein Aktensystem pee1nuX5TxSce3QSawdqs+Pf0L6UMCr80uM3VYtVJdU= berechnen.
A_27782 - EntitlementDenyList: Hashwertberechnung der Telematik-ID-Einträge im Aktensystem
Ein ePA-Aktensystem MUSS sicherstellen, dass bei Aktualisierung der EntitlementDenyList-Daten am Enforcement-Point der EntitlementDenyList wie in A_22467-* definiert, eine Meldung an die BDE erzeugt und übermittelt wird. Dabei MUSS es den dabei zu übermittelnden Hashwert wie in A_27781 definiert berechnen. (vgl. auch Hinweise zu A_22782-*)
[<=]
Hinweise zu A_27782-*:
Zum besseren Verständnis, falls der Enforcement-Point die VAU-Instanz ist, so muss beim initialen Starten der VAU-Instanz die EntitlementDenyList in die VAU-Instanz geladen werden. Diese gilt als Aktualisierung der EntitlementDenyList-Daten in der VAU-Instanz. Somit gilt dort A_27782-*.