# Package at.chipkarte.client.fdas.soap

Interface und Klassen des Freien Datenabfrageservice (FDAS).

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  IFdasService | Dieses Service beinhaltet Funktionen für die Abfrage frei (d.h. ohne Dialog) verfügbarer Daten ("Freies Datenabfrage-Service").

- Class Summary
  Class | Description
  --- | ---
  BehandlungsfallZusatzProperty | Enthält Daten zu den Behandlungsfällen sowie die Information, ob zur Durchführung einer Konsultation mit dem Behandlungsfall ein weiteres Zusatzrecht benötigt wird.

## Package at.chipkarte.client.fdas.soap Description

Interface und Klassen des Freien Datenabfrageservice (FDAS). Enthält den SOAP Endpoint `IFdasService` sowie die dazu notwendigen Klassen.
Inhalt der FDAS package-Beschreibung:

- Allgemein

- Inhalt des FDAS-Services
- Rechte
- Online-/Offline-Status

- Funktionalität des FDAS-Service

- Ermittlung der KV-Träger
- Ermittlung der UV-Träger
- Ermittlung der Fachgebiete
- Ermittlung der Staatenlisten
- Ermittlung der Behandlungsfälle

# Allgemein

## Inhalt

Das FDAS Service sellt allgemeine Abfragefunktionen für dynamische Werte aus dem Regelwerk zur Verügung.

## Rechte

Für die Funktionen des FDAS-Service werden keine bestimmten Rechte benötigt.

## Online-/Offline-Status

Im laufenden Betrieb kann ein Offline-Zustand bzw. das Auftreten eines Verbindungsproblems in Abängigkeit der Kommunikationsart mit dem e-card System wie folgt identifiziert werden:

- die Kommunikation erfolgt direkt über die GINA:
  Die aufrufende Funktion retourniert eine entsprechende SOAP Exception (ServiceException.CONNECTION_ERROR).
- die Kommunikation erfolgt über den Proxy auf der GINA:
  Es wird als Response HTTP 503 retourniert.
- die Kommunikation erfolgt direkt mit dem Serversystem:
  Es erfolgt keine Response.

Ob eine Verbindung für ein bestimmtes Service zum e-card-Serversystem 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: Der Aufruf erfolgt mittels:
GET https://<gina-adresse>/<service-name>/<versionsnummer>/status
Ist der Server erreichbar, wird der Response HTTP 200 retourniert. Ist der Server nicht erreichbar (Offline) und der Request wird über die GINA geschickt (direkt über die GINA bzw. über den GINA Proxy), wird der Response HTTP 503 retourniert.
Hinweis: Erfolgt die Kommunikation mittels GINA Proxy wird im HTTP 503 Response zusätzlich der Text "Die GINA konnte keine Verbindung zum Serversystem herstellen." im Response-Body befüllt.
Erfolgt die Abfrage direkt auf das Serversystem (nach Entfall der GINA) wird im Offline-Fall keine Response mehr retourniert.

# Funktionalität des FDAS-Service

### Ermittlung der KV-Träger

Die Funktion getSvts() dient der Abfrage der KV-Träger. Es werden alle bekannten KV-Träger retourniert (als Property-Objekte). Der Parameter nurAnzeige definiert dabei, ob der KVT aktuell noch vom eCS unterstützt wird, oder ob der Wert nur noch für die Anzeige (zuvor erfasster Daten) dient.
Die Information ob ein bestimmter KV-Träger in einem bestimmten Service verwendet werden kann (z.B. in eKOS oder in ABS) findet sich in den jeweiligen Services (die Services bieten in diesem Fall eigene Abfragefunktionen an). Ist in den jeweiligen Services keine Information zu finden, werden alle KVTs (mit nurAnzeige gleich false) für die Eingabe unerstützt.

#### Wichtige Informationen zur SV-Reform "Zusammenlegung der KV-Träger":

Aufgrund der geplanten Zusammenführung der derzeit bestehenden Sozialversicherungsträger liefert die Abfragefunktion ab dem Stichtag 01.01.2020 neue Trägerbezeichnungen zurück! Vor Erreichen des Stichtags werden die bestehenden Namen retourniert!
Eine explizite Liste der neuen Bezeichnungen ist bei Bedarf vorab beim Partnersupport zu erfragen!

##### Berücksichtigung der Zusammenlegung der neun Gebietskrankenkassen zur ÖGK ab 1.1.2020:

Mit 01.01.2020 erfolgt für alle ehemaligen Gebietskrankenkassen ein gemeinsamer ÖGK Auftritt nach außen, darunter fallen folgende KVTs: 11, 12, 13, 14, 15, 16, 17, 18, 19.
Ab diesen Zeitpunkt soll die Anzeige der Namen der lokal zuständiger ÖGK-Stelle (neue Anzeigetexte ab 01.01.2020) nur im Ausnahmefall zur Anwendung kommen.
Hierbei gelten folgende Vorgaben und Empfehlungen:

- KV-Träger als Eingangsparameter (Auswahlliste):
  Ist in Ihrer Software genau ein KVT für den Patienten gespeichert, verwenden Sie diesen für Ihre Abfragen. Als Anzeige ist in diesen Fällen für die Träger 11-19 der Text "ÖGK" zu wählen.
  Sind in Ihrer Software mehr als einer der betroffenen KVTs als Anspruchs-Träger des Patienten gespeichert, bringen Sie diese dem Vertragspartner zur Auswahl zur Anzeige. In diesem Fall ist die Anzeige der Anzeigetexte laut getSvts() zulässig (d.h. mit lokal zuständiger ÖGK-Stelle).
  Ist in Ihrer Software kein KVT für den Patienten gespeichert, verwenden Sie "automatisch" ermitteln zur Ermittlung der Ansprüche und reagieren Sie anschließend bei Bedarf auf eine auftretende Fehlermeldung:
  - Es werden Ansprüche retourniert
    - Alle Ansprüche sind bei derselben lokal zuständigen ÖGK-Stelle => Anzeige "ÖGK"
    - Ansprüche sind bei unterschiedlichen ÖGK-Stellen => Anzeige Anzeigetext laut getSvts()
  - Es werden keine Ansprüche retourniert, aber eine Fehlermeldung betreffend der Versicherung => Anzeige aller möglichen SVTs mit den Anzeigetexten entsprechend getSvts()
  Ausnahme: In AUM und VDAS ist die Verwendung aller SVTs mit den Anzeigetexten laut getSvts() als Auswahlliste zulässig.
- KV-Träger als Ausgangsparameter:
  Auf Druckausgaben muss immer für die lokal zuständige ÖGK-Stelle der Text "ÖGK" angezeigt werden!
  In der Services AUM und VDAS ist auf den Masken die Anzeige der Anzeigetexte laut getSvts() gefordert.
  In den Services DBAS, BKF, PROP und FUS ist für die lokal zuständige ÖGK-Stelle immer der Text "ÖGK" anzuzeigen!
  In den Services KSE, ABS, EBS und DMP gilt folgendes Vorgehen:
  In den Abläufen der Funktionen mit Anspruchsprüfungen ist innerhalb des Verlaufs der Funktion die Anzeige des Anzeigetextes laut getSvts() zulässig wenn zuvor eine Mehrfachversicherung festgestellt worden. Anderenfalls ist für lokal zuständigen ÖGK-Stellen der Text "ÖGK" anzuzeigen.
  In den Abläufen der reinen Datenabfrage ist für lokal zuständige ÖGK-Stellen immer der Text "ÖGK" anzuzeigen.

### Ermittlung der UV-Träger

Die Funktion getUvts() dient der Abfrage der Unfallversicherungsträger-Träger. Es werden alle im eCS unterst¨tzten Unvallversicherungs-Träger retourniert (als Property-Objekte). Der Parameter nurAnzeige definiert dabei, ob der UVT aktuell noch vom eCS unterstützt wird, oder ob der Wert nur noch für die Anzeige (zuvor erfasster Daten) dient.
Die Information wo UV-Träger als Eingabeparameter verwendet werden können, findet sich in den jeweiligen Services mittels Verweis aus die Funktion getUvts().
UV-Träger werden nicht in der Liste der KV-Träger retourniert und umgekehrt!

### Ermittlung der Fachgebiete

Die Funktion getFachgebiete() dient der Abfrage der Fachgebiete. Es werden alle bekannten Fachgebiete retourniert (als Property-Objekte). Der Parameter nurAnzeige definiert dabei, ob das Fachgebiet aktuell noch vom eCS unterstützt wird, oder ob der Wert nur noch für die Anzeige (zuvor erfasster Daten) dient.

### Ermittlung der Staatenlisten

Die Funktionen getStaaten() und getStaatenISO3166alpha2() dienen der Abfrage von Staaten. Die Funktion getStaaten() retourniert dabei den Staatencode im dreistelligen ISO3166-Alpha3 und die Funktion getStaatenISO3166alpha2() im zweistelligen ISO3166-Alpha2 Format.
Es ist bei den jeweiligen Funktionen mit Eingabemöglichkeit eines Staatencodes in der Javadoc beschrieben, welche der beiden Funktionen die passenden Wertebereiche zur Verfügung stellt.

### Ermittlung der Behandlungsfälle

Die Funktionen getBehandlungsfaelle() und getBehandlungsfaelleByFachgebietZusatz() dienen der Abfrage von Behandlungsfällen.
Die Funktion getBehandlungsfaelle() retourniert die Liste aller Behandlungsfälle (als Property-Objekte).
Die Funktion getBehandlungsfaelleByFachgebietZusatz() verlangt als Eingangsparameter ein bestimmtes Fachgebiet. Als Rückgabe liefert die Funktion alle Behandlungsfälle zurück, die für das angegebene Fachgebiet zulässig sind. Zusätzlich wird zu jedem Behandlungsfall retourniert, ob ein explizites Recht zur Buchung des Behandlungsfalls notwendig ist.
Der Parameter nurAnzeige (im BaseProperty) definiert, ob der Behandlungsfall aktuell noch vom eCS unterstützt wird, oder ob der Wert nur noch für die Anzeige (zuvor erfasster Daten) dient.