Interface und Klassen des Authentifizierungsservice (AUTH). Enthält den SOAP-Endpoint
Vertragspartner
Vertragspartner im e-card System (eCS) besitzen eine Vertragspartnernummer (VPNR), eine
oder mehrere Ordinationen/Standorte
(der Parameter ordinationId im Objekt "Ordination" dient als Referenz der jeweiligen Ordinationsadresse in
anderen Funktionen) sowie in
diesen Ordinationen einen oder mehrere Tätigkeitsbereiche (der Parameter id im Objekt
"TaetigkeitsBereich" dient als Referenz des jeweiligen Tätigkeitsbereichs in anderen Funktionen).
Die Kombination aus der Ordination und des (in der Ordination gültigen) Tätigkeitsbereichs legt die
gültigen Verträge und Servicerechte des Vertragspartners fest.
Im Zuge des Dialogaufbaus wird das Objekt vertragspartnerV2 zurückgeliefert. Dieses enthält
Informationen zum Vertragspartner, zu den einzelnen Ordinationen des Vertragspartners sowie die darin
zulässigen Tätigkeitsbereiche.
Man unterscheidet verschiedene Tätigkeitsbereiche wie z.B. Arzt, öffentliche Krankenanstalt, Apotheke,
Transportunternehmen, usw.
Ein Tätigkeitsbereich ist spezifiziert mittels eines Codes, eines Textes und einer ID.
Zur weiteren Verwendung bei anderen Funktionen ist immer die taetigkeitsbereichId (spezifisch für den
Vertragspartner) zu verwenden.
Äquivalent zur ordinationId sollte auch die taetigkeitsbereichId nicht in der
Vertragspartnersoftware gespeichert werden. D.h. es sollte immer mit den aktuell zurückgelieferten IDs
gearbeitet werden.
Zur Anzeige des Tätigkeitsbereichs für den Vertragspartner ist der mitgelieferte Text zu verwenden.
ELGA Nutzung über das e-card System (eCS)
Das eCS bietet als Service den ELGA-Adapter (ELGAAD) an. Dieser bildet definierte Funktionalitäten aus ELGA
mittels SS12 ab.
Dabei werden die geforderten bzw. verwendeten Strukturen aus ELGA (IHE, CDA, ...) auf einfacher zu verarbeitende
Strukturen gemappt.
Um diese Funktionalitäten im vollen Umfang nutzen zu können, muss unter anderem eine Authentifizierung
des Vertragspartners/Gesundheitsdiensteanbieters (VP/GDA) gegenüber ELGA erfolgen. Hierfür ist die
Angabe der
ELGA-Rolle des GDA, sowie die Angabe des ausführenden GDA-Mitarbeiters bzw. des Prozesses notwendig.
Im eCS wird die Eingabe dieser Daten zum Zeitpunkt des Dialogaufbaus verlangt. D.h. die Daten werden einmal
für den Dialog eingegeben (im Zuge der Funktion
setdialogAddress()) und sind in diesem Dialog nicht
mehr änderbar.
Hinweise:
- Angegebene ELGA Daten werden im Dialog gespeichert und im Bedarfsfall für die Authentifizierung
gegenüber ELGA verwendet. Da die Daten erst im Bedarfsfall verwendet werden, wird erst dann über
mögliche Fehlerzustände
informiert, die nur in den Backendsystemen von ELGA bekannt sind, wie z.B. "Der Vertragspartner hat nicht die
angegebene Rolle."
- Die angegebenen GDA-Mitarbeiterdaten sind (nach Zugriffsprotokollierung) für den ELGA-Teilnehmer, sowie
die ELGA-Ombudsstelle am ELGA-Portal sichtbar!
Wichtig: Dialoge mit denen ELGA-Zugriffe durchgeführt werden, gelten als personalisiert. Es ist darauf
zu achten, dass für diese Dialoge keine Nutzung durch
unterschiedliche Nutzer erfolgt (z.B. durch zwei Ärzte innerhalb einer Ordination). In diesem Fall muss jeder
Arzt einen eigenen Dialog besitzen (bei dem der jeweilige
Arzt als GDA-Mitarbeiter angegeben wird).
Die Angabe von ELGA Daten für den Dialog ist optional.
D.h. sofern der GDA keinerlei Funktionalität aus ELGA über das eCS nutzt, ist die Angabe von
ELGA Daten an dieser Stelle nicht notwendig.
Werden Daten eingegeben, muss immer verpflichtend
eine ELGA-Rolle des GDA, sowie wahlweise des GDA-Mitarbeiter oder eine Prozess-Kennzeichnung angegeben werden.
Durch die Angabe der Daten beim Dialogaufbau, erhält der GDA bei den betroffenen Services ein entsprechendes
Recht
(siehe hierzu auch das Kapitel
Rechte bzw. die Konstanten für die Berechtigungen im
eCS). Die Zuteilung der Rechte zu den
jeweiligen Funktionen ist der entsprechenden Servicebeschreibung in der JavaDoc zu entnehmen.
Rechte
Vertragspartner können bestimmte Services nur dann nutzen, wenn sie dazu berechtigt sind. Mittels der
Funktion getBerechtigungen() ist
es möglich, die jeweiligen Berechtigungen des Vertragspartners abzufragen. Es werden dabei jene Rechte
abgefragt, die der Vertragspartner mit
dem aufgebauten Dialog (spezifiziert über die dialogId) besitzt. Die Ermittlung erfolgt hierbei
mittels der beim Dialogaufbau
angegebenen ordinationId und taetigkeitsBereichId.
Jedes Service benötigt dabei bestimmte Rechte, z.B. benötigt das
Sozialversicherungsnummern-Abfrage-Service (SAS)
das Recht SAS.CORE.
Die Information, welches Recht bzw. welche Rechte ein Service benötigt, ist bei der jeweiligen
Servicebeschreibung bzw. den
jeweiligen Funktionsbeschreibungen (Vorbedingungen) in der JavaDoc zu finden.
Die Vertragspartnersoftware bzw. der Vertragspartnersoftware-Hersteller ist dazu angehalten dem Vertragspartner
nur dann Zugriff zu den jeweiligen Services zu gewähren, wenn die dazu benötigten Rechte vorhanden
sind.
Online-/Offline-Status
Ob eine Verbindung für ein bestimmtes Service zum e-card System besteht, sollte im Normalbetrieb
NICHT abgefragt werden!
Die Abfrage sollte nur dann durchgeführt werden, um festzustellen, ab wann das Service
wieder online ist, wenn zuvor Verbindungsprobleme aufgetreten sind.
Die empfohlene Frequenz für die Abfragen liegt in diesem Fall bei > 1 Minute.
Die Abfrage ist über eine REST-Schnittstelle durchzuführen:
GET https://services.ecard.sozialversicherung.at/<service-name>/<versionsnummer>/status
(PROD-Instanz)
bzw. GET
https://services-a.ecard-test.sozialversicherung.at/<service-name>/<versionsnummer>/status
(VPSWH-Instanz)
Ist der Server erreichbar, wird die Response HTTP 200 retourniert. Im Offline-Fall wird keine Response
retourniert.
Dialogverwaltung
Mit einem aufgebauten Dialog (spezifiziert über die
dialogId) kann immer nur gleichzeitig ein Request
verarbeitet werden.
Werden zwei Requests mit dem selben Dialog geschickt, muss der zweite Request warten bis der erste Request
beantwortet wurde.
Dies kann zu ungewollt langen Laufzeiten bzw. zu Request-Timeouts (bei vielen parallelen Requests) führen.
Vor dem Senden eines neuen Requests mit einer bestimmten
dialogId sollte daher immer auf die Response des
zuvor
abgesetzten Requests mit identer
dialogId gewartet werden.
Bezüglich der Request-Timeouts siehe auch den Punkt "Request-Timeouts" im Kapitel "Voraussetzungen für
die Vertragspartnersoftware" in
Overview).
Die Vertragspartnersoftware ist dazu angehalten die erzeugten Dialoge zu verwalten und immer den aktuellen Stand
zu jedem Dialog zu kennen (Welche Dialoge gibt es? Wer verwendet gerade welchen Dialog? Ist ein Dialog noch gültig
(Inaktivitäts-Timeout, siehe Bild)?).

Dialoge, die unter Angabe von ELGA Daten (GDA-Mitarbeiter) aufgebaut wurden, sind personalisiert und dürfen
daher nur von dem angegebenen GDA-Mitarbeiter verwendet werden!
HTTP Header Informationen
Im Zuge der Request-Verarbeitung wird der HTTP Header des Requests im eCS auf folgende Parameterangaben
überprüft:
- X-SVC-CLIENT-IP
- X-SVC-CLIENT-TXID
X-SVC-CLIENT-IP:
Dieser Parameter dient der Identifikation des Vertragspartner-Anschlusses.
Werden die Requests direkt über den Anschluss des Vertragspartners ans eCS geschickt, ist dieser
Parameter nicht anzugeben. In diesem Fall wird
im Zuge des Requests automatisch die richtige IP Adresse des Vertragspartners übermittelt und für die
weitere
Verarbeitung verwendet.
Findet die Übermittlung des Requests jedoch über einen Server der VPSW statt (z.B. bei einer
Cloud-Lösung), wird als IP die IP-Adresse
des VPSW-Servers ermittelt (Remote-IP) und nicht mehr die des Vertragspartners (Client-IP/Anschluss-IP). In
diesem Fall (Remote-IP ungleich der Client-IP/Anschluss-IP) muss die IP Adresse des Vertragspartners
(Anschluss-IP, vergeben von SVC) explizit im HTTP-Header-Parameter X-SVC-CLIENT-IP angegeben werden.
Die Angabe ist in diesem Fall bei jedem Request zwingend notwendig.
Erfolgt hier keine explizite Angabe der X-SVC-CLIENT-IP, können die Requests keinem Anschluss zugeordnet
werden. Ein Dialogaufbau würde z.B. ebenfalls aufgrund der fehlenden Informationen und der
unterschiedlichen
Informationen innerhalb des anzugebenden CardTokens fehlschlagen.
X-SVC-CLIENT-TXID:
Dieser Parameter dient der Zusammenführung der einzelnen Requests zwischen der VPSW und dem e-card System
anhand eindeutiger Identifier.
Für
jeden Request ist hierzu eine
eindeutige ID per X-SVC-CLIENT-TXID im HTTP Header
anzugeben.
Hinweis: Im Gegensatz zur im nächsten Kapitel erklärten Transaction-Id ist die
X-SVC-CLIENT-TXID auch bei Request-Wiederholungen stets eindeutig zu vergeben!
Mittels dieses Parameters sollen Requests über die Systemgrenzen der einzelnen Systeme VPSW/eCS
hinweg zusammengeführt werden können um Fehleranalysen usw. zu vereinfachen.
Die Verwendung der X-SVC-CLIENT-TXID ist aktuell optional. Es wird jedoch
bereits jetzt empfohlen die X-SVC-CLIENT-TXID bei
jedem Aufruf zu versorgen.
Die X-SVC-CLIENT-TXID ist von der Vertragspartnersoftware zu generieren und hat folgende Anforderungen:
- Für jeden neuen Request muss eine eigene X-SVC-CLIENT-TXID erzeugt werden
- Darf weder mit null noch mit einem Leerstring versorgt werden
- Darf nicht länger als 100 Zeichen sein
- Muss für jeden Request (auch Request-Wiederholungen) eindeutig sein (Unique-Identifier)
Request Wiederholung
Siehe Abschnitt "Request Wiederholung (Replay)" in
Overview.
Produkt-Info
Im Zuge des Dialogaufbaus muss eine Produktinfo angegeben werden.
Diese beinhaltet folgende 3 Parameter:
- Produkt-ID
Produkt-ID des Softwareprodukts, das diese Schnittstelle implementiert. Die ID wird vom Dachverband der
österreichischen Sozialversicherungsträger vergeben.
- Produkt-Version
Versionsinformation des Softwareprodukts, das diese Schnittstelle implementiert.
- Hersteller-ID
Hersteller-ID des Softwareherstellers. Die ID wird vom SVC Partnersupport vergeben.
Wird eine Hersteller-ID angegeben, muss dies eine im eCS bekannte und gültige ID sein.
Alle Parameter sind verpflichtend anzugeben.
Verwaltung der Kartenleser (CRS - Card Reader Service)
Per REST-Service ist es möglich die verfügbaren Kartenleser abzufragen. Es werden dabei
die zur IP Adresse registrierten Kartenleser ermittelt. Sofern Kartenleser-Gruppen definiert wurden, können
auch diese abgefragt werden und zur Einschränkung der Suchergebnisse der Kartenleserabfrage verwendet werden.
Die Konfiguration der Gruppen ist direkt über den GINO Kartenleser zu tätigen.
Die Dokumentation des REST-Services zur Verwaltung der Kartenleser ist zu finden unter:
Swagger Doku Card Reader
Service (CRS).
Zugriff auf den Kartenleser (REST-Service Kartenleser)
Die Kommunikation mit dem GINO Kartenleser erfolgt per REST-Service.
Die Dokumentation des REST-Services zur Kommunikation mit dem Kartenleser ist zu finden unter:
Swagger Doku Kartenleser.
Übertragung von Attachments (ATS - Attachment Transfer Service)
Zur Übermittlung von Attachments an das eCS wird ein REST-Service angeboten.
Die fachlichen Informationen zu den Attachments sind jeweils im fachlichen Service bei den entsprechenden
Funktionscalls anzugeben. Dabei wird eine Sicherheitskennung erzeugt.
Mittels des REST-Services wird die reine Übermittlung der Anlagen unter Angabe der zuvor retournierten
Sicherheitskennung vorgenommen.
Bei der Übermittlung wird eine Prüfung zwischen den zuvor übermittelten Anlage-Informationen und
den aktuell zu übermittelnden Anlagen vorgenommen.
Hinweis: Das REST-Service ATS wird aktuell nur im FUS Service unterstützt.
Die Dokumentation des REST-Services zur Übertragung von Attachments ist zu finden unter:
Swagger Doku Attachment
Transfer Service (ATS).