C_11585_Anlage_V1.0.0
Prereleases:
C_11585 - E-Rezept: Push Notification für E-Rezept-FdV
Inhaltsverzeichnis
1 Änderungsbeschreibung
Im Rahmen der Anwendung ePA wurde die Feature-Spezifikation "Anwendungsübergreifende Push Notification" ([gemF_PushNotifion]) entwickelt, um Nutzern eines Frontend des Versicherten zu unterrichten, wenn Ereignisse bezüglich ihrer Daten auftreten.
Dieses Feature soll für die Anwendung E-Rezept umgesetzt werden, um den Nutzer über den Statusverlauf seiner Verordnungen und über die Kommunikation mit der Apotheke zu informieren.
2 Technisches Konzept
Der Systemüberblick und das technische Konzept zur Push Notification sind in der Feature-Spezifikation "Anwendungsübergreifende Push Notification" ([gemF_PushNotification]) beschrieben.
Der E-Rezept-Fachdienst übernimmt die Rolle „Fachdienst“. Er verwaltet FdV-Instanzen, die sich bei ihm für den Empfang von Push Notifications registriert haben, erstellt Push Notifications für vom Nutzer abonnierte Ereignisse und übermittelt diese an das zuständige Push Gateway. Der E-Rezept-Fachdienst bietet Schnittstellen für das E-Rezept-FdV zur Registrierung, Deregistrierung und Konfiguration von Kanälen an.
Das E-Rezept-Frontend des Versicherten übernimmt die Rolle „FdV“.
3 Datenschutz und Informationssicherheit
Die wesentlichen Datenschutz- und Sicherheitsmerkmale des Push-Notifications-Feature sind in und durch die Feature-Spezifikation "Anwendungsübergreifende Push Notification" ([gemF_PushNotification]) festgelegt. Dort sind Anforderungen an Fachdienste spezifiziert, die dieses Feature unterstützen. Es gilt der dort festgestellte Schutzbedarf für die Informationsobjekte des Push Notifications Feature.
Bereits in [gemF_PushNotification] festgelegt ist
- der Einsatz von TLS mit beidseitiger Authentifizierung (mTLS) für die Kommunikation zwischen dem Fachdienst (Client) zum Push Gateway (Server),
- das Einholen einer informierten Einwilligung vom Nutzer des FdV,
- die Möglichkeit des Widerrufs der Einwilligung durch den Nutzer,
- die Mechanismen und Schlüssel zur Registrierung der App.
In der Anwendung E-Rezept werden folgende Maßnahmen umgesetzt, die nicht in [gemF_PushNotification] festgelegt sind:
- Verschlüsselung des Benachrichtigungsinhalts zwischen Fachdienst und FdV, die sowohl die Vertraulichkeit als auch die Authentizität/Integrität des Benachrichtigungsinhalts schützt,
- Die Prozesse des Push Notification Managements müssen in der VAU des E-Rezept-Fachdienstes ablaufen.
- Die vom Push Notification Management verarbeiteten Daten müssen verschlüsselt persistiert werden.
- Die Registrierung und die Deregistrierung werden im Protokoll für den Versicherten protokolliert.
Die Einwilligung zum Erhalt von Push Nachrichten erfolgt anwendungsunabhängig im FdV bzw. Gerät des Versicherten, ebenso der Widerspruch. Im E-Rezept-Fachdienst werden die E-Rezept-spezifischen Registrierungs- bzw. Benachrichtigungskanalinformationen gespeichert. Die Deregistrierung einer FdV-Instanz bzw. die Abwahl aller Benachrichtigungskanäle bewirkt, dass der Versicherte keine Push Notifications vom E-Rezept-Fachdienst erhält. Falls der Versicherte über die Betriebssystemfunktion seine Einwilligung widerruft, erfolgt im E-Rezept-Fachdienst eine Deregistrierung
des FdVs falls der E-Rezept-Fachdienst beim Versuch eine Push Notification an das FdV zu senden, vom Push Gateway eine entsprechende Fehlermeldung erhält.
4 Spezifikation
4.1 Anforderungen an den E-Rezept-Fachdienst
Die nachfolgenden Anforderungen werden in das Dokument [gemSpec_FD_eRp] übernommen.
4.1.1 Neues Kapitel 6.13 Push Notification für E-Rezept-FdV
Die Funktionalität zu Push Notification für FdVs ist anwendungsübergreifend in [gemF_PushNotification] beschrieben. Die umzusetzenden Anforderungen aus [gemF_PushNotification] sind im [gemProdT_eRp_FD_PTV] gelistet. In diesem Kapitel werden die zusätzlichen E-Rezept spezifischen Anforderungen beschrieben.
4.1.1.1 Neues Kapitel 6.13.1 Pusher registrieren
A_28111 - E-Rezept-Fachdienst - Push Notifications - OpenApi_Notification_Fachdienst
Der E-Rezept-Fachdienst MUSS die API mit den Endpunkten GET /pushers und POST /pushers/set gemäß [OpenAPI_FD] bereitstellen. [<=]
A_28112 - E-Rezept-Fachdienst - Push Notifcations - App-Registrierung - Rolle Versicherter
Der E-Rezept-Fachdienst MUSS beim Aufruf der Operation POST /pushers/set die Rolle "professionOID" des Aufrufers im ACCESS_TOKEN im HTTP-RequestHeader "Authorization" feststellen und sicherstellen, dass ausschließlich Versicherte in der Rolle
- oid_versicherter
A_28113 - E-Rezept-Fachdienst - Push Notifcations - App-Registrierungen Abrufen - Rolle Versicherter
Der E-Rezept-Fachdienst MUSS beim Aufruf der Operation GET /pushers die Rolle "professionOID" des Aufrufers im ACCESS_TOKEN im HTTP-RequestHeader "Authorization" feststellen und sicherstellen, dass ausschließlich Versicherte in der Rolle
- oid_versicherter
A_28114 - E-Rezept-Fachdienst - unzulässige Operationen Pushers
Der E-Rezept-Fachdienst MUSS alle Zugriffe auf die Ressource Pushers mittels der HTTP-Operationen PUT, PATCH, HEAD und DELETE sowie POST unterbinden, damit keine unzulässigen Operationen auf den Daten ausgeführt werden können. [<=]
Die folgenden Anforderungen aus der anwendungsübergreifenden Spezifikation [gemF_PushNotification] zur Operation Pusher registrieren werden dem E-Rezept-Fachdienst zugewiesen.
Anforderung | Prüfverfahren |
---|---|
A_27104 - Fachdienst - Push Notifications - OpenApi_Notification_Fachdienst | funkt. Eignung: Test Produkt/FA |
A_27154 - Fachdienst - FdV-Instanz registrieren - App-Registrierung anlegen | funkt. Eignung: Herstellererklärung |
A_27155 - Fachdienst - FdV-Instanz registrieren - App-Registrierung aktualisieren | funkt. Eignung: Herstellererklärung |
A_27156 - Fachdienst - FdV-Instanz deregistrieren - App-Registrierung löschen | funkt. Eignung: Herstellererklärung |
A_27157 - Fachdienst - FdV-Instanz registrieren – Initiale Schlüsselableitung | Sich.techn. Eignung: Produktgutachten |
A_27158 - Fachdienst - Schlüsselableitung shared-secret-Jahr-Monat und AES/GCM-Schlüssel-Jahr-Monat | Sich.techn. Eignung: Produktgutachten |
4.1.1.2 Neues Kapitel 6.13.2 Operation Notify
A_28115 - E-Rezept-Fachdienst - Push Notification senden - Nachrichteninhalt erzeugen
Der E-Rezept-Fachdienst MUSS den Nachrichteninhalt einer Push Notification gemäß TAB_eRPFD_028 erzeugen. Tabelle 1 TAB_eRPFD_028 Nachrichteninhalt Push Notification
[<=]
ChannelId
Identifier
IdentifierType
PrescribedProduct
ActorName
Message
erp.task.activate
Task.identifier.PrescriptionID
TaskId
Falls Task.flowType gleich "160", "169", "200" oder "209" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /Task/<id>/$activate
-
erp.task.accept
Task.identifier.PrescriptionID
TaskId
Falls Task.flowType gleich "160", "169", "200" oder "209" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /Task/<id>/$accept
-
erp.task.reject
Task.identifier.PrescriptionID
TaskId
Falls Task.flowType gleich "160", "169", "200" oder "209" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /Task/<id>/$reject
-
erp.task.close
Task.identifier.PrescriptionID
TaskId
Falls Task.flowType gleich "160", "169", "200" oder "209" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /Task/<id>/$close
-
erp.task.dispense
Task.identifier.PrescriptionID
TaskId
Falls Task.flowType gleich "160", "169", "200" oder "209" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /Task/<id>/$dispense
-
erp.task.abort
Task.identifier.PrescriptionID
TaskId
Falls Task.flowType gleich "160", "169", "200" oder "209" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /Task/<id>/$abort
-
erp.communication.new
Communication.basedOn.reference
TaskId
Falls Communication.basedOn.reference.Task.flowType gleich "160" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Communication.basedOn.reference.Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /Communication
Communication.payload.content.info_text
erp.task.vertreter
Task.identifier.PrescriptionID
TaskId
Falls Task.flowType gleich "160", "169", "200" oder "209" ist:
KBV_PR_ERP_Bundle.entry.Medication.code.text
Falls Task.flowType gleich "162" ist:
KBV_PR_EVDGA_Bundle.entry.DeviceRequest.codeCodeableConcept.textLesbarer Name aus dem ID_TOKEN des Zugreifenden bei GET /Task/<id>
-
erp.chargeitem.create
ChargeItem.identifier.PrescriptionID
TaskId
ChargeItem.supportingInformation.KBV_PR_ERP_Bundle.entry.Medication.code.text
Lesbarer Name aus dem ID_TOKEN des Ausführenden bei POST /ChargeItem
-
erp.chargeitem.update
ChargeItem.identifier.PrescriptionID
TaskId
ChargeItem.supportingInformation.KBV_PR_ERP_Bundle.entry.Medication.code.text
Lesbarer Name aus dem ID_TOKEN des Ausführenden bei PUT /ChargeItem/<id>
-
Die Datenstruktur des Nachrichteninhalts ist in [gemSpec_DM_eRp#TAB_eRpDM_004] beschrieben.
A_28116 - E-Rezept-Fachdienst - Push Notification senden - verpflichtende Verschlüsselung
Der E-Rezept-Fachdienst MUSS den Nachrichteninhalt einer Push Notification verschlüsseln. [<=]
Die Vorgaben für die Verschlüsselung ist in "A_27161-* - Fachdienst - Push Notification senden – Nachricht verschlüsseln" beschrieben.
A_28135 - E-Rezept-Fachdienst - Push Notification senden - Referenz auf Protokolleintrag
Der E-Rezept-Fachdienst MUSS beim Erstellen einer Push Notifcation die Identifier des zugehörigen Protokolleintrags (AuditEvent) des Triggers im Feld notification/identifier angeben. [<=]
Die folgenden Anforderungen aus der anwendungsübergreifenden Spezifikation [gemF_PushNotification] zur Operation Notify werden dem E-Rezept-Fachdienst zugewiesen.
Anforderung | Prüfverfahren |
---|---|
A_27160 - Fachdienst - Push Notification senden – Schlüsselableitung | Sich.techn. Eignung: Produktgutachten |
A_27405 - Fachdienst - Schlüsselableitung - Alte Schlüssel löschen | Sich.techn. Eignung: Produktgutachten |
A_27680 - Fachdienst - Push Notification senden - Nachricht kodieren | funkt. Eignung: Test Produkt/FA |
A_27161 - Fachdienst - Push Notification senden – Nachricht verschlüsseln | Sich.techn. Eignung: Produktgutachten |
A_27610 - Fachdienst - Push Notification senden - Größe des Nachrichteninhalts verschleiern | Sich.techn. Eignung: Produktgutachten |
A_27162 - Fachdienst - Push Notification senden – Einbetten des Zeitstempels | funkt. Eignung: Herstellererklärung |
A_27163 - Fachdienst - Push Notification senden - Aufruf Push Gateway | funkt. Eignung: Herstellererklärung |
A_27652 - Fachdienst - Push Notification senden - Hinterlegte URL | Sich.techn. Eignung: Produktgutachten |
A_27374 - Fachdienst - Push Notification senden - Aufruf Push Gateway Response verarbeiten | funkt. Eignung: Herstellererklärung |
A_27436 - Fachdienst – Keine personenbezogenen Klartextdaten in Push Notifications | Sich.techn. Eignung: Produktgutachten |
A_27166 - Fachdienst - Exponential Back-off bei Fehlern im Versand an Push Gateway | funkt. Eignung: Herstellererklärung |
4.1.1.3 Neues Kapitel 6.13.3 Channel/Trigger Konfiguration
A_28117 - E-Rezept-Fachdienst - Push Notifications - Channels - OpenApi_Notification_Fachdienst
Der E-Rezept-Fachdienst MUSS die API mit den Endpunkten GET /channels, GET /channels/{pushkey} und POST /channels/{pushkey} gemäß [OpenAPI_FD] bereitstellen. [<=]
A_28118 - E-Rezept-Fachdienst - Push Notifcations - Channels abrufen - Rolle Versicherter
Der E-Rezept-Fachdienst MUSS beim Aufruf der Operation GET /channels die Rolle "professionOID" des Aufrufers im ACCESS_TOKEN im HTTP-RequestHeader "Authorization" feststellen und sicherstellen, dass ausschließlich Versicherte in der Rolle
- oid_versicherter
A_28119 - E-Rezept-Fachdienst - Push Notifcations - Channels des Geräts abrufen - Rolle Versicherter
Der E-Rezept-Fachdienst MUSS beim Aufruf der Operation GET /channels/{pushkey} die Rolle "professionOID" des Aufrufers im ACCESS_TOKEN im HTTP-RequestHeader "Authorization" feststellen und sicherstellen, dass ausschließlich Versicherte in der Rolle
- oid_versicherter
A_28120 - E-Rezept-Fachdienst - Push Notifcations - Channels konfigurieren - Rolle Versicherter
Der E-Rezept-Fachdienst MUSS beim Aufruf der Operation POST /channels/{pushkey} die Rolle "professionOID" des Aufrufers im ACCESS_TOKEN im HTTP-RequestHeader "Authorization" feststellen und sicherstellen, dass ausschließlich Versicherte in der Rolle
- oid_versicherter
A_28121 - E-Rezept-Fachdienst - unzulässige Operationen Channels
Der E-Rezept-Fachdienst MUSS alle Zugriffe auf die Ressource Channels mittels der HTTP-Operationen PUT, PATCH, HEAD und DELETE sowie POST unterbinden, damit keine unzulässigen Operationen auf den Daten ausgeführt werden können. [<=]
Die folgenden Anforderungen aus der anwendungsübergreifenden Spezifikation [gemF_PushNotification] zur Channel/Trigger Konfiguration werden dem E-Rezept-Fachdienst zugewiesen.
Anforderung | Prüfverfahren |
---|---|
A_27190 - Fachdienst - Push Notifications - Channels - OpenApi_Notification_Fachdienst | funkt. Eignung: Test Produkt/FA |
A_27193 - Fachdienst - FdV-Instanz registrieren - Liste der event_ids des Geräts anlegen | funkt. Eignung: Herstellererklärung |
A_27196 - Fachdienst - Push Notification senden - Status der event_id prüfen | funkt. Eignung: Herstellererklärung |
A_27197 - Fachdienst - FdV-Instanz deregistrieren - Liste der event_ids des Geräts löschen | funkt. Eignung: Herstellererklärung |
4.1.2 Änderung in Kapitel 6.1.2.2 POST /Task/<id>/$activate
Nach A_25925
A_28126 - E-Rezept-Fachdienst - Task aktivieren - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Zugriff auf einen Task mittels HTTP-POST-Operation über /Task/<id>/$activate den Push Notification Prozess für den Trigger mit der ChannelId "erp.task.activate" und den Versicherten mit der KVNR = Task.for initiieren. [<=]
4.1.3 Änderung in Kapitel 6.1.2.3 POST /Task/<id>/$accept
Nach A_19149
A_28127 - E-Rezept-Fachdienst - Task akzeptieren - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Zugriff auf einen Task mittels HTTP-POST-Operation über /Task/<id>/$accept den Push Notification Prozess für den Trigger mit der ChannelId "erp.task.accept" und den Versicherten mit der KVNR = Task.for initiieren. [<=]
4.1.4 Änderung in Kapitel 6.1.2.4 POST /Task/<id>/$reject
Nach A_24286-02
A_28128 - E-Rezept-Fachdienst - Task zurückweisen - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Zugriff auf einen Task mittels HTTP-POST-Operation über /Task/<id>/$reject den Push Notification Prozess für den Trigger mit der ChannelId "erp.task.reject" und den Versicherten mit der KVNR = Task.for initiieren. [<=]
4.1.5 Änderung in Kapitel 6.1.2.5 POST /Task/<id>/$close
Nach A_19233-05
A_28129 - E-Rezept-Fachdienst - Task schließen - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Beenden eines Tasks mittels HTTP-POST-Operation über /Task/<id>/$close den Push Notification Prozess für den Trigger mit der ChannelId "erp.task.close" und den Versicherten mit der KVNR = Task.for initiieren. [<=]
4.1.6 Änderung in Kapitel 6.1.2.6 POST /Task/<id>/$abort
Nach A_19121
A_28131 - E-Rezept-Fachdienst - Task löschen - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Zugriff auf einen Task mittels HTTP-POST-Operation über /Task/<id>/$abort den Push Notification Prozess für den Trigger mit der ChannelId "erp.task.abort" und den Versicherten mit der KVNR = Task.for initiieren. [<=]
4.1.7 Änderung in Kapitel 6.1.2.7 POST /Task/<id>/$dispense
Nach A_24285-01
A_28130 - E-Rezept-Fachdienst - Dispensierinformationen bereitstellen - Push Notifications
Der E-Rezept-Fachdienst MUSS bei der Bereitstellung von Dispensierinformationen mittels HTTP-POST-Operation über /Task/<id>/$dispense den Push Notification Prozess für den Trigger mit der ChannelId "erp.task.dispense" und den Versicherten mit der KVNR = Task.for initiieren. [<=]
4.1.8 Änderung in Kapitel 6.5.2.1 POST /Communication/
Bevor A_22367-02
A_28132 - E-Rezept-Fachdienst - Nachricht einstellen - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Einstellen einer Nachricht mittels HTTP-POST-Operation über /Communication den Push Notification Prozess für den Trigger mit der ChannelId "erp.communication.new" und den Versicherten mit der KVNR = Communication.recipient initiieren [<=]
4.1.9 Änderung in Kapitel 6.1.1 HTTP-Operation GET
Nach A_19116-01
A_28125 - E-Rezept-Fachdienst - Task abrufen - Vertreter - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Aufruf der Operation GET /Task/<id> durch einen Versicherten mit der Rolle oid_versicherter, sofern die KVNR des Aufrufenden ungleich der KVNR in Task.for ist, den Push Notification Prozess für den Trigger mit der ChannelId "erp.task.vertreter" und den Versicherten mit der KVNR = Task.for initiieren. [<=]
4.1.10 Änderung in Kapitel 6.3.4.1 POST /ChargeItem
Nach A_23704
A_28133 - E-Rezept-Fachdienst - Abrechnungsinformation bereitstellen - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-POST-Operation auf den /ChargeItem den Push Notification Prozess für den Trigger mit der ChannelId "erp.chargeitem.create" und den Versicherten mit der KVNR = ChargeItem.subject initiieren. [<=]
4.1.11 Änderung in Kapitel 6.3.5.1 PUT /ChargeItem/<id>
Nach A_22615-02
A_28134 - E-Rezept-Fachdienst - Abrechnungsinformation ändern - Push Notifications
Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-PUT-Operation auf eine konkrete über <id> adressierte /ChargeItem/<id> Ressource durch eine abgebende Leistungserbringerinstitution (Apotheke), den Push Notification Prozess für den Trigger mit der ChannelId "erp.chargeitem.create" und den Versicherten mit der KVNR = ChargeItem.subject initiieren. [<=]
4.1.12 Änderung zu Kapitel 5.4 Fehlercodes
Änderung zu TAB_eRPFD_003 Übersicht HTTP-Statuscodes
HTTP-Status-Code | Bedeutung | in welchen Operationen als Statuscode möglich | Bedingung |
---|---|---|---|
200 | Operation erfolgreich beendet, in der Rückgabe ist ggfs. das Ergebnis der Operation enthalten | ... GET /pushers POST /pushers/set GET /channels GET /channels/{pushkey} POST /channels/{pushkey} |
Die Operation wurde erfolgreich bearbeitet. In der Rückgabe sind die erzeugten bzw. gelesenen Daten enthalten. |
400 | Bad Request, der Operationsaufruf enthält ungültige Daten. | ... GET /pushers POST /pushers/set GET /channels GET /channels/{pushkey} POST /channels/{pushkey} |
In der aufgerufenen Operation werden vom Client Daten für die Verarbeitung erwartet. Entsprechen sie nicht dem erwarteten FHIR-Profil oder sind sie ungültig (bspw. Signatur), werden sie vom E-Rezept-Fachdienst zurückgewiesen. |
401 | Der Nutzer konnte nicht authentifiziert werden. | ... GET /pushers POST /pushers/set GET /channels GET /channels/{pushkey} POST /channels/{pushkey} |
Der Aufruf enthält keine oder abgelaufene oder ungültige Authentifizierungsinformationen im HTTP-Request-Header "Authorization" |
403 | Der Nutzer ist nicht berechtigt, die aufgerufene Operation anzufordern | ... GET /pushers POST /pushers/set GET /channels GET /channels/{pushkey} POST /channels/{pushkey} |
Gemäß Rollenprüfung in jedem Operationsaufruf sind nur bestimmte Operationen je aufrufendem Nutzer zulässig. |
408 | Request Timeout. Die Anfrage konnte innerhalb der erwarteten Zeit nicht beantwortet werden | ... GET /pushers POST /pushers/set GET /channels GET /channels/{pushkey} POST /channels/{pushkey} |
Der E-Rezept-Fachdienst ist überlastet und kann die Anfrage innerhalb der Wartezeit des Clients (PVS, AVS, FdV) nicht beantworten |
429 | Der Client hat zu viele Aufrufe innerhalb einer festgelegten Zeitspanne getätigt | ... GET /pushers POST /pushers/set GET /channels GET /channels/{pushkey} POST /channels/{pushkey} |
Der Client (PVS, AVS, FdV) hat innerhalb des konfigurierten Zeitabschnitts zu viele Requests geschickt |
4.1.13 Änderung zu Kapitel 5.5 Zugriffsprotokollierung
Änderung zu A_19284-* (Hinzufügen der Operation POST /pushers/set)
A_19284-12 - E-Rezept-Fachdienst - Versichertenprotokoll zu Operationen
Der E-Rezept-Fachdienst MUSS jeden Aufruf der folgenden Operationen protokollieren:
Tabelle 2: TAB_eRPFD_004 Versichertenprotokoll
Operation | Rolle des zugreifenden Nutzers |
Beschreibung (ggf. als Vorschlag für einen lesbaren Protokolleintrag in einfacher Sprache) |
---|---|---|
http GET /Task/<id> | ||
- | Versicherter, Vertreter |
Patient/Versicherter/Vertreter hat das E-Rezept heruntergeladen |
Apotheker | Apotheke hat die E-Rezept-Quittung heruntergeladen | |
http GET /Task | ||
Apotheker |
Apotheke hat mit Ihrer eGK die Liste der offenen E-Rezepte abgerufen.
Apotheke hat mit Ihrer eGK die Liste der offenen E-Rezepte abgerufen. (Offline-Check wurde akzeptiert)
Apotheke konnte aufgrund eines Fehlerfalls nicht die Liste der offenen E-Rezepte mit Ihrer eGK abgerufen. (Offline-Check wurde nicht akzeptiert)
Apotheke konnte aufgrund eines Fehlerfalls nicht die Liste der offenen E-Rezepte mit Ihrer eGK abgerufen.
|
|
Kostenträger | Krankenkasse hat die Liste der offenen E-Rezepte (DiGA-Verordnungen) abgerufen. | |
http POST /Task | ||
$activate | Arzt-/Zahnarztpraxis/Krankenhaus/Psychotherapeut | Arzt-/Zahnarztpraxis/Krankenhaus/Psychotherapeut hat das E-Rezept bereitgestellt |
$accept | Apotheke | Apotheke hat das E-Rezept heruntergeladen |
Kostenträger | Krankenkasse hat das E-Rezept heruntergeladen | |
$reject | Apotheke | Apotheke hat das E-Rezept zurückgegeben |
Kostenträger | Krankenkasse hat das E-Rezept zurückgegeben | |
$dispense | Apotheke | Apotheke hat das E-Rezept beliefert |
$close | Apotheke | Apotheke hat das E-Rezept abgeschlossen |
Kostenträger | Krankenkasse hat das E-Rezept abgeschlossen | |
$eu-close | NCPeH-FD | Der Parameters.parameter:requestData.part:practitionerRole Parameters.parameter:requestData.part:practitionerName hat in Parameters.parameter:requestData.part:healthcare-facility-type Parameters.parameter:requestData.part:pointOfCare in Land B (Klartext aus: Parameters.parameter:requestData.part:countryCode) Ihr E-Rezept eingelöst. |
$abort | Versicherter, Vertreter |
Patient/Versicherter/Vertreter hat das E-Rezept gelöscht |
Arzt-/Zahnarztpraxis/Krankenhaus/Psychotherapeut | Arzt-/Zahnarztpraxis/Krankenhaus/Psychotherapeut hat das E-Rezept gelöscht | |
Apotheke | Apotheke hat das E-Rezept gelöscht | |
http PATCH /Task/<id> | Versicherter | Versicherter hat Markierung zu Einlösung im EU Ausland gespeichert |
GET /MedicationDispense?<parameter>=... | ||
Versicherter, Vertreter |
Patient/Versicherter hat Medikament-Informationen heruntergeladen | |
http DELETE /ChargeItem/<id> | Versicherter | Versicherter hat Abrechnungsinformation gelöscht |
http GET /ChargeItem/<id> | Versicherter | Versicherter hat Abrechnungsinformation gelesen |
Apotheke | Apotheke hat Abrechnungsinformation gelesen | |
http POST /ChargeItem | Apotheke | Apotheke hat Abrechnungsinformation bereitgestellt |
http PATCH /ChargeItem/<id> | Versicherter | Versicherter hat Markierung zu Abrechnungsinformation gespeichert |
http PUT /ChargeItem/<id> | Apotheke | Apotheke hat PKV-Abgabedatensatz gespeichert |
http POST /Consent | Versicherter | Versicherter hat Einwilligung für "Beschreibung für Consent.category.coding.code" erteilt. |
http DELETE /Consent | Versicherter | Versicherter hat Einwilligung für "Beschreibung für Consent.category.coding.code" widerrufen. |
http POST /$grant-eu-access-permission | Versicherter | Sie haben eine Zugriffsberechtigung zum Einlösen von E-Rezepten für das Land "Land B" erteilt. |
http DELETE /$revoke-eu-access-permission | Versicherter | Sie haben die Zugriffsberechtigung zum Einlösen von E-Rezepten für das Land "Land B" gelöscht. |
POST /$get-eu-prescriptions | ||
Parameters.parameter:requestData.part:requesttype = demographics | NCPeH-FD | Der Parameters.parameter:requestData.part:practitionerRole Parameters.parameter:requestData.part:practitionerName hat in Parameters.parameter:requestData.part:healthcare-facility-type Parameters.parameter:requestData.part:pointOfCare in Land B (Klartext aus: Parameters.parameter:requestData.part:countryCode) Ihre Patientendaten abgerufen. |
Parameters.parameter:requestData.part:requesttype = e-prescriptions-list | NCPeH-FD | Der Parameters.parameter:requestData.part:practitionerRole Parameters.parameter:requestData.part:practitionerName hat in Parameters.parameter:requestData.part:healthcare-facility-type Parameters.parameter:requestData.part:pointOfCare in Land B (Klartext aus: Parameters.parameter:requestData.part:countryCode) Ihre offenen E-Rezepte abgerufen. |
Parameters.parameter:requestData.part:requesttype = e-prescriptions-retrieval | NCPeH-FD | Der Parameters.parameter:requestData.part:practitionerRole Parameters.parameter:requestData.part:practitionerName hat in Parameters.parameter:requestData.part:healthcare-facility-type Parameters.parameter:requestData.part:pointOfCare in Land B (Klartext aus: Parameters.parameter:requestData.part:countryCode) Ihre einzulösenden E-Rezepte abgerufen. |
POST /pushers/set | Versicherter |
|
Automatisches Löschen durch den Fachdienst | ||
Ressource Task | E-Rezept-Fachdienst | Veraltete E-Rezepte vom Fachdienst automatisch gelöscht |
Ressource MedicationDispense | Veraltete Medikament-Informationen vom Fachdienst automatisch gelöscht | |
Ressource Communication | Veraltete Nachrichten vom Fachdienst automatisch gelöscht | |
Ressource ChargeItem | Veraltete Abrechnungsinformation vom E-Rezept-Fachdienst automatisch gelöscht |
und die gelesene bzw. geschriebene Ressource im Protokolleintrag AuditEvent.entity.what als Referenz hinzufügen sowie die KVNR des betroffenen Versicherten in AuditEvent.entity.name speichern.
Mit diesen Informationen kann der Versicherte die Zugriffe auf seine Daten nachvollziehen und bei einem unberechtigten Zugriff ggf. intervenieren. [<=]
4.1.14 Änderung zu Kapitel 5.8.4 Sicherheit der Netzübergänge
Änderung zu A_19815-* (Hinzufügen der Push Gateways)
A_19815-03 - E-Rezept-Fachdienst – Richtlinien für den Paketfilter zum Internet
Der Paketfilter des E-Rezept-Fachdienstes MUSS die Weiterleitung von IP-Paketen an der Schnittstelle zum Internet auf die nachfolgenden Protokolle beschränken:
- HTTPS, und
- OCSP-Zugriffe für das OCSP-Stapling nach A_20026 (vgl. Hinweis nach A_19815-*), ggf. notwendige DNS Anfragen (und Antworten)
- Zugriff auf den FHIR-VZD
- Zugriff auf Webdienste des BfArM
- Zugriff auf die authentisierten Push Gateways
4.2 Anforderungen an das E-Rezept-FdV
Die nachfolgenden Anforderungen werden in das Dokument [gemSpec_eRp_FdV] übernommen.
4.2.1 Neues Kapitel 5.2.3.23 Push Notifications
Die Funktionalität zu Push Notification für FdVs ist anwendungsübergreifend in [gemF_PushNotification] beschrieben. Die umzusetzenden Anforderungen aus [gemF_PushNotification] sind im [gemProdT_eRp_FD_PTV] gelistet. In diesem Kapitel werden die zusätzlichen E-Rezept spezifischen Anforderungen beschrieben.
4.2.1.1 Neues Kapitel 5.2.3.23.1 FdV-Instanz Registrieren
A_28122 - E-Rezept-FdV: Push Notifications - Instanz registrieren - OpenAPI
Das E-Rezept-FdV MUSS, wenn es den Anwendungsfall "Push Notifications" umsetzt, für die Registrierung und Verwaltung der FdV-Instanzen am E-Rezept-Fachdienst die Operationen gemäß [OpenAPI_FD] verwenden. [<=]
Die folgenden Anforderungen aus der anwendungsübergreifenden Spezifikation [gemF_PushNotification] zur FdV-Instanz werden dem E-Rezept-Fachdienst zugewiesen.
Anforderung | Prüfverfahren |
---|---|
A_27168 - FdV: Push Notifications - Instanz registrieren - app_id | funkt. Eignung: Herstellererklärung |
A_27171 - FdV: Push Notifications - Instanz registrieren - pushkey aktualisieren | funkt. Eignung: Test Produkt/FA |
A_27172 - FdV: Push Notifications - Instanz registrieren | funkt. Eignung: Test Produkt/FA |
A_27173 - FdV: Push Notifications - Instanz registrieren - pushkey ermitteln | funkt. Eignung: Herstellererklärung |
A_27174 - FdV: Push Notifications - Instanz registrieren - initial shared secret (iss) erzeugen | Sich.techn. Eignung: Produktgutachten |
A_27175 - FdV: Push Notifications - Instanz registrieren - Aufruf | funkt. Eignung: Test Produkt/FA |
A_27396 - FdV: Push Notifications - Instanz registrieren - Keine personenbezogenen Daten bei der Registrierung nutzen | Sich.techn. Eignung: Produktgutachten |
A_27176 - FdV: Push Notifications - Instanz registrieren - Initiale Schlüsselableitung shared-secret-Jahr-Monat und AES/GCM-Schlüssel-Jahr-Monat | Sich.techn. Eignung: Produktgutachten |
A_27177 - FdV: Push Notifications - Instanz registrieren - Speichern des kryptographischen Materials | funkt. Eignung: Herstellererklärung |
A_27375 - FdV: Push Notifications - Instanz registrieren - initial shared secret (iss) löschen | Sich.techn. Eignung: Produktgutachten |
A_27664 - FdV: Push Notifications - Instanz registrieren - Registrierte Instanzen anzeigen | Sich.techn. Eignung: Produktgutachten |
A_27665 - FdV: Push Notifications - Instanz löschen | Sich.techn. Eignung: Produktgutachten |
A_27170 - FdV: Push Notifications - Schlüsselableitung shared-secret-Jahr-Monat und AES/GCM-Schlüssel-Jahr-Monat | Sich.techn. Eignung: Produktgutachten |
A_27178 - FdV: Push Notifications empfangen | funkt. Eignung: Test Produkt/FA |
A_27179 - FdV: Push Notifications empfangen - Schlüsselableitung | Sich.techn. Eignung: Produktgutachten |
A_27180 - FdV: Push Notifications empfangen - Löschen alter Schlüssel | Sich.techn. Eignung: Produktgutachten |
A_27181 - FdV: Push Notifications empfangen - Benachrichtigungsinhalt entschlüsseln | Sich.techn. Eignung: Produktgutachten |
A_27612 - FdV: Push Notifications empfangen - Aktive Bestätigung bei Verlassen des FdVs | Sich.techn. Eignung: Produktgutachten |
A_27182 - FdV: Push Notifications - Default deaktiviert | funkt. Eignung: Herstellererklärung |
A_27183 - FdV: Push Notifications - Option aktivieren | funkt. Eignung: Test Produkt/FA |
A_27184 - FdV: Push Notifications - Option deaktivieren | funkt. Eignung: Test Produkt/FA |
A_27185-01 - FdV: Datenschutzinformationen zu Push Notifications | Sich.techn. Eignung: Produktgutachten |
4.2.1.2 Neues Kapitel 5.2.3.23.2 Channel/Trigger Konfiguration
A_28123 - E-Rezept-FdV: Push Notifications - Channelkonfiguration - OpenAPI
Das E-Rezept-FdV MUSS, wenn es den Anwendungsfall "Push Notifications" umsetzt, für die Registrierung und Verwaltung der Channels für die FdV-Instanzen des Versicherten am E-Rezept-Fachdienst die Operationen gemäß [OpenAPI_FD] verwenden. [<=]
Die folgenden Anforderungen aus der anwendungsübergreifenden Spezifikation [gemF_PushNotification] zur Channel/Trigger Konfiguration werden dem E-Rezept-Fachdienst zugewiesen.
Anforderung | Prüfverfahren |
---|---|
A_27198 - FdV Push Notifications - Instanz registrieren - Channelkonfiguration anlegen | funkt. Eignung: Test Produkt/FA |
A_27666 - FdV Push Notifications - Channelkonfiguration verwalten | funkt. Eignung: Test Produkt/FA |
4.2.1.3 Neues Kapitel 5.2.3.23.3 Push Notification Historie
Das optionale Feature "Push Notification Historie" wird im E-Rezept-Fachdienst nicht wie in [gemF_PushNotification] beschrieben umgesetzt. Stattdessen übermittelt der E-Rezept-Fachdienst den Identifier des AuditEvents, der durch den Trigger der Push Notifcation erstellt wird, an das Push Gateway im Feld notification.identifier. Dadurch besteht die Möglichkeit, dem Nutzer eine Historie der gesendeten Push Notifications anzubieten.
4.3 Anforderung für gemSpec_DM_eRp
Die nachfolgenden Anforderungen werden in das Dokument [gemSpec_DM_eRp] übernommen.
4.3.1 Neues Kapitel 2.8 Push Notifications
A_28124 - E-Rezept - Push Notifications - Datenstruktur Nachrichteninhalte
Der E-Rezept-Fachdienst und das E-Rezept-FdV MÜSSEN für den Anwendungsfall "Push Notifications" Nachrichteninhalte mit der Datenstrukur im JSON Format gemäß TAB_eRpDM_004 unterstützen.
Tabelle 3 TAB_eRp_DM_004 Push Notification Datenstruktur Nachrichteninhalte
Attribut | verpflichtend | Beschreibung | zulässige Werte | Beispiel |
---|---|---|---|---|
ChannelId | ja | Der Trigger, der die Push Notification initiiert hat. | bis zu 30 Stellen, UTF-8 | erp.task.activate |
Identifier | ja | Ein Identifier, der als Kontext zur Nachricht dient. | bis zu 50 Stellen, UTF-8 | 160.000.000.000.123.76 |
IdentifierType | ja | Der Art Identifier, der mitgeschickt wird. | bis zu 20 Stellen, UTF-8 | TaskId |
PrescribedProduct | nein | Der Name des verordneten Produkts (Medikament oder DiGA). | bis zu 100 Stellen, UTF-8 | Sumatriptan-1a Pharma 100 mg Tabletten |
ActorName | nein | Der Name des Akteurs. Das kann zum Beispiel der Name der Apotheke oder des Kostenträgers sein. | bis zu 100 Stellen, UTF-8 | Meine Apotheke |
Message | nein | Die Nachricht, die an den Versicherten verschickt wird. | bis zu 300 Stellen, UTF-8 | Wir möchten Sie informieren, dass Ihre bestellten Medikamente zur Abholung bereitstehen. |
5 Anhang A – Verzeichnisse
5.1 Abkürzungen
Kürzel |
Erläuterung |
---|---|
FdV | Frontend des Versicherten |
5.2 Referenzierte Dokumente
5.2.1 Dokumente der gematik
Die nachfolgende Tabelle enthält die Bezeichnung der in dem vorliegenden Dokument referenzierten Dokumente der gematik zur Telematikinfrastruktur.
[Quelle] |
Herausgeber: Titel |
---|---|
[gemF_PushNotification] | gematik: Feature: Anwendungsübergreifende Push Notification |
[gemProdT_eRp_FD_PTV] | gematik: Produkttypsteckbrief E-Rezept-Fachdienst |
[gemSpec_DM_eRp] | gematik: Spezifikation Datenmodell E-Rezept |
[gemSpec_eRp_FdV] | gematik: Spezifikation E-Rezept Frontend des Versicherten |
[gemSpec_FD_eRp] | gematik: Spezifikation E-Rezept-Fachdienst |
[OpenAPI_FD] | gematik: https://github.com/gematik/api-erp/blob/feature/push-notifications/resources/openapi/erp_fd_push_notifications.yaml |