EPD-Anbindung

EPD - Schnittstellen

Folgende Informationen richten sich an Technikverantwortliche, die wissen möchten, welche Schnittstellen und Sicherheitsanforderungen sie implementieren müssen, damit sie eine Gesundheitseinrichtung erfolgreich ans EPD anschliessen können.

Die tiefe Integration des EPD in die internen Systeme einer Gesundheitseinrichtung – zusammenfassend als «Primärsystem» bezeichnet – hat gegenüber der Nutzung des Zugangsportals viele Vorteile, insbesondere weil so Medienbrüche vermieden und für Gesundheitsfachpersonen vieles erleichtert und teilweise sogar automatisiert werden kann.

Eine Gesundheitseinrichtung schliesst sich einer zertifizierten Gemeinschaft oder Stammgemeinschaft an. Die technischen Schnittstellen zur EPD-Plattform einer Gemeinschaft oder einer Stammgemeinschaft unterscheiden sich aus Sicht Primärsystem grundsätzlich nicht. Aus diesem Grund wird nachfolgend immer von einer Gemeinschaft gesprochen. Sämtliche Kommunikation mit anderen Gemeinschaften oder mit Bundesdiensten führt die Gemeinschaft im Hintergrund aus.

Für den Zugriff auf das EPD ist der Anschluss an zwei Plattformen erforderlich:

  • Identity Provider der Gemeinschaft: Authentifizierung von Gesundheitsfachpersonen sowie weiterer Benutzer mittels zertifizierter Multi-Faktor-Authentifizierung.
  • EPD-Plattform der Gemeinschaft: Authentifizierte und berechtigte Benutzer haben gemäss ihrer Rolle und Zugriffsrechte Zugang zu Diensten und Daten des EPD (z.B. Suche und Abruf von Dokumenten einer Patientin oder eines Patienten).

Die Umsetzung der EPD-Schnittstellen kann auch schrittweise erfolgen und mit der Zeit weiter ausgebaut respektive vertieft werden. Mögliche Integrationsgrade sind auf der Seite « Systeme mit EPD-Anbindung » beschrieben.

Interner Link: Systeme mit EPD-Anbindung

Für die EPD-Anbindung gibt es fünf Anwendungsfälle, für die rund ein Dutzend Schnittstellen benötigt werden. eHealth Suisse hat für den raschen Umsetzungserfolg für Entwicklerinnen und Entwickler Informationen zu den Schnittstellen zusammengefasst. Dazu gehören kommentierte Code-Beispiele mit Referenzen zu den Detailspezifikationen. eHealth Suisse und Partner bieten auch kostenlose Angebote fürs Testen von frühen Reifegraden bis hin zu voll ausgebauten Implementationen inklusive aller Sicherheitsanforderungen an.

Externer Link: Mehr Informationen zu den Schnittstellen auf GitHub

Interner Link: Testangebote

Übersicht der relevanten Komponenten und Schnittstellen

Externer Link: Die Grafik kann hier auch als PDF heruntergeladen werden. (418 KB, 30.10.23)

EPD-Anbindung: Übersicht Systemlandschaft
Die Grafik zeigt die erforderlichen Anwendungsfälle (Pfeile zwischen dem Primärsystem und der (Stamm-)Gemeinschaft resp. dem Primärsystem und dem Identity Provider) zusammen mit den relevanten technischen EPD-Komponenten.

Die Anwendungsfälle und Schnittstellen im Detail

Damit eine Gesundheitsfachperson oder ihre Hilfsperson auf ein EPD zugreifen kann, muss das Primärsystem die Patientin oder den Patienten bei der Gemeinschaft registrieren.

Dazu schickt das Primärsystem seine lokale Patienten–ID zusammen mit den zuvor abgefragten demographischen Daten aus der Personendatenbank UPI des Bundes an den Master Patient Index (MPI) der Gemeinschaft.

Um zu erfahren, wie Sie die demographischen Daten der UPI-Datenbank erhalten, kontaktieren Sie bitte Ihre Gemeinschaft.

Hat das Primärsystem die Patientin oder den Patienten erfolgreich bei der Gemeinschaft registriert, kann es für den Zugriff auf das EPD anhand seiner lokalen Patienten-ID die Identifikatoren abfragen, die für den Zugriff auf Daten im EPD erforderlich sind.

1.1 Patient suchen

Ist die Patientin oder der Patient bereits im MPI der Gemeinschaft registriert, kann ein Primärsystem auch mittels demographischer Angaben (z.B. Name, Vorname oder Geburtsdatum) im MPI mit der Patient Demographics Query nach der Patientin oder dem Patienten suchen, um zum Beispiel danach die lokale ID zu registrieren.

Nach einer Patientin oder einem Patienten mittels Personenstammdaten suchen:

Externer Link: PDQ V3

EPD-Anbindung - Patient suchen

1.2 Patient registrieren

Für die Registrierung einer Patientin oder eines Patienten im MPI der Gemeinschaft schickt das Primärsystem beim Patient Identity Feed die Personenangaben aus der UPI sowie die lokale Patienten-ID.

Lokale Patientenidentifikationsnummer und Personenstammdaten einer Patientin oder eines Patienten bei der Gemeinschaft registrieren:

Externer Link: PIX V3 Feed

EPD-Anbindung - Patient registrieren

1.3 Patientenidentitäten abfragen

Nachdem die Patientin oder der Patient im MPI der Gemeinschaft registriert worden ist, kann das Primärsystem anhand der registrierten lokalen Patienten-ID die Patienten-IDs für den Zugriff auf das EPD (EPR-SPID und MPI-PID) mittels PIXV3 Query abfragen.

Hinweis: Die EPR-SPID darf aus rechtlichen Gründen nicht dauerhaft im Primärsystem gespeichert werden und muss deshalb erneut abgefragt werden.

Patientenidentifikationsnummern für den EPD-Zugriff (d.h. MPI-PID und EPR-SPID) abfragen:

Externer Link: PIX V3 Query

EPD-Anbindung - Patientenidentitäten abfragen

Die Gesundheitsfachperson oder die Hilfsperson authentisiert sich über das Primärsystem mittels elektronischer Identität (E-ID) beim Identity Provider. Dieser bestätigt der Gemeinschaft, dass es sich um die behauptete Person handelt und baut eine Identity Provider User Session auf.

Dazu sind die drei Schnittstellen erforderlich: Die Authentisierung des Benutzers (Authenticate User), die Erneuerung einer abgelaufenen aber erneuerbaren Identity Provider User Session (IdP Renew) sowie das Logout (SSO Logout).

Benutzer authentifizieren:

Externer Link: Authenticate User

Renew einer Identity Provider Assertion:

Externer Link: IdP Renew

Logout eines authentifizierten Benutzers

Externer Link: SSO Logout

EPD-Anbindung - EPD-Benutzer authentisieren_1

Im EPD-Kontext ist die Nutzung des SAML 2 Artifact Bindings über HTTP mit einem XML SOAP Webservice Backchannel vorgeschrieben. Dabei erfolgt die Authentisierung in zwei Schritten, wobei im ersten Schritt nur abstrakte Token via HTTP übertragen werden und die Angaben zum Benutzer (Claims) erst im zweiten Schritt über einen abgesicherten Webservice-Aufruf abgefragt werden.

EPD-Anbindung - EPD-Benutzer authentisieren_2

Ist die Gesundheitsfachperson oder die Hilfsperson beim Identity Provider authentifiziert, gibt sie den Kontext des EPD-Zugriffs an, beispielsweise ihre Benutzerrolle oder die Vertraulichkeitsstufe für die Dokumentenabfrage. Diese Angaben schickt sie mittels Get X-User Assertion an den X-Assertion Provider. Als Antwort erhält sie eine SAML 2.0 User Assertion, welche die gemachten Angaben bestätigt.

Bei sämtlichen Schnittstellen, welche zusätzlich über die Zugriffsrechtesteuerung abgesichert sind (dies betrifft primär das Dokumentenmanagement), muss neben der fachlichen Nachricht zusätzlich diese SAML 2.0 Assertion via Provide X-User Assertion mitgeschickt werden.

SAML 2.0 Assertions für die Autorisierung ausstellen lassen:

Externer Link: Externer Link: Get X-User Assertion

SAML 2.0 Assertion für die Autorisierung von Transaktionen verwenden:

Externer Link: Provide X-User Assertion

EPD-Anbindung - EPD-Benutzer autorisieren

Nachfolgend werden die Anwendungsfälle zur Bereitstellung, der Suche und dem Abruf sowie der Aktualisierung von Dokumenten und Dokumentenmetadaten im EPD erläutert.

4.1 Dokumente bereitstellen

Mittels Provide and Register Document Set registriert und speichert das Primärsystem Dokumente in der eigenen Gemeinschaft. Dabei übermittelt es ein oder mehrere Dokumente mit den zugehörigen Metadaten (Autor, Fachrichtung des Autors, Dokumentenklasse, u.a.). Das Document Repository nimmt die Anfrage entgegen, registriert die Dokumenten-ID und die Metadaten in der Document Registry und legt das Dokument selbst bei sich ab.

Dokumente im EPD bereitstellen:

Externer Link: Provide and Register Document Set

EPD-Anbindung - Dokumente bereitstellen

4.2 Dokumente suchen und abrufen

Die Abfrage von Dokumenten wird normalerweise in zwei Schritten durchgeführt:

Im ersten Schritt fragt das Primärsystem die Dokumentmetadaten aller Dokumente eines Patienten – gegebenenfalls gefiltert nach gewissen Metadaten – ab. Dazu führt das Primärsystem eine Registry Stored Query aus und zeigt dem Benutzer eine Liste der Ergebnisse.

Im zweiten Schritt fragt das Primärsystem via Retrieve Document Set ein oder mehrere ausgewählte Dokumente ab und zeigt die Inhalte in den Benutzeroberflächen an oder speichert sie im Primärsystem.

Dokumentenmetadaten abfragen und anzeigen:

Externer Link: Registry Stored Query

Dokumente abrufen:

Externer Link: Retrieve Document Set

EPD-Anbindung - Dokumente suchen und abrufen

Für die sichere Kommunikation verwendet das Primärsystem TLS. Es authentisiert sich mittels seines Client Zertifikats (mutual authentication).

Bei jeder Kommunikation schreibt das Primärsystem ein Audit Log und übermittelt dieses mittels Record Audit Event an die Gemeinschaft. Als Format ist ein spezielles XML Schema definiert. Die Details zu den Audit Nachrichten sind bei den Schnittstellen auf GitHub angegeben.

Externer Link: Record Audit Event