# Package at.chipkarte.client.fus.soap

Interface und Klassen des Formularübermittlungsservice (FUS).

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  IFusService | Dieses Service stellt die Funktionalitäten des Formularübermittlungsservice (FUS) Version 6 zur Verfügung.

- Class Summary
  Class | Description
  --- | ---
  AdministrativeVODaten | Dient der Ausgabe der Administrativen Daten zu einem VO Formular.
  AIBDaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für den Formulartyp AIB.
  AKBDaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für den Formulartyp AKB.
  AttachmentInfo | Dient der Ein- und Ausgabe der AttachmentInfo.
  BIBDaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für den Formulartyp BIB.
  BKIDaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für den Formulartyp BKI.
  Dateiinfo | Dient der Ein- und Ausgabe der Dateiinfo.
  EKVDaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für das EKV Formular.
  EkvErstformular | Beinhaltet die Eingangsdaten zur Erfassung eines EKV Formulars durch den Vertragspartner.
  Erstformular | Beinhaltet die Eingangsdaten zur Erfassung eines Formulars durch den Vertragspartner.
  Formular | Dient der Ausgabe der Detaildaten des Formulars.
  Formularcodegruppe | Dient der Ein- und Ausgabe der Formularcodegruppe.
  Formularinfo | Dient der Ausgabe der Formularinformation.
  Formularreferenz | Dient der Ausgabe der Minimaldaten zur Darstellung der gefundenen Formulare.
  FormularstammdatenErmittelnErgebnis | Enthält die Rückgabewerte der Funktion `formularstammdatenErmitteln`.
  Konsultation | Dient der Ausgabe der Daten der Konsultation.
  Korrekturformular | Beinhaltet die Eingangsdaten zur Korrektur eines Formulars durch den Benutzer.
  RIBDaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für den Formulartyp RIB.
  RKBDaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für den Formulartyp RKB.
  Rueckantwort | Dient der Ausgabe der Rückantwort.
  Verordnungstyp | Enthält die Rückgabewerte der Funktion `voTypenAbfragen`.
  VODaten | Dient der Ein- und Ausgabe der Formular spezifischen Daten für das VO Formular.
  VoErstformular | Beinhaltet die Eingangsdaten zur Erfassung eines VO Formulars durch den Vertragspartner.
  VoFormularerfassungPruefenErgebnis | Enthält die Rückgabewerte der Funktion `voFormularerfassungPruefen`.
  WpBehandlungsdaten | Dient der Ausgabe der Daten der Behandlung des Wahlbehandlers.
  WpErstformular | Beinhaltet die Eingangsdaten zur Erfassung eines Wahlbehandler Formulars durch den Vertragspartner.

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

Interface und Klassen des Formularübermittlungsservice (FUS). Enthält den SOAP-Endpoint `IFusService`, sowie die dazu notwendigen Klassen.
Inhalt der FUS Package-Beschreibung:

- Allgemein

- Rechte
- Dynamische Ermittlung von Parameterwerten des e-card-Regelwerks
- Online-/Offline-Status
- SV-Nummer vs. e-card CardToken
- Attachmenthandling
- Prinzipielle Erklärungen und Ablauf für die Verwendung des Formularübermittlungsservice

- Funktionalität des FUS

- Zahnbehandler-Formulare

- Zahnbehandler-Formular als FUS-Vertragspartner erfassen
- Formularstammdaten ermitteln
- Zahnbehandler-Formular als FUS-Wahlbehandler erfassen
- Relevante Fachgebiete des Vertragspartners zur Wahlbehandlererfassung abfragen
- FUS-Wahlbehandler Formularerfassung prüfen

- EKV-Formulare
- Verordnungsformulare

- Verordnungsformular erfassen
- Verordnungstypen abfragen
- Verordnungsformularerfassung prüfen

- Formularinformationen (Anlagen möglich) ermitteln
- Korrektur senden
- Formulare abfragen
- Detaildaten eines Formulars abfragen

## Allgemein

Vertragspartner haben die Möglichkeit, bestimmte Formulare elektronisch auszufüllen und an die zuständigen SV-Träger zu übermitteln. Man unterscheidet folgende Formulare:

- Zahnbehandler-Formulare
- EKV-Formular (Formular für die Europäische Krankenversicherungskarte)
- Verordnungsformulare

Die Erfassung von Zahnbehandler-Formularen ist als FUS-Vertragspartner mit Bindung an eine Konsultation oder als FUS-Wahlbehandler mit Angabe des zuständigen KV-Trägers möglich. Die Erfassung eines EKV-Formulars erfolgt zur lokal zuständigen ÖGK der Ordination. Die Erfassung eines Verordnungsformulars erfolgt mit Angabe des gewünschten Verordnungstyps und dem zuständigen KV-Träger.

### Rechte

Mittels der Funktion getBerechtigungen() aus dem BASE Service ist es möglich, die Rechte des Vertragspartners abzufragen.
Das FUS unterscheidet folgende Rechte:

- FUS.CORE
- FUS.VP
- FUS.WP
- FUS.EK
- FUS.VO

Zusätzlich werden für die Erfassung der Verordnungstypen noch einzelne Rechte vergeben, die sich wie folgt zusammensetzen: FUS.VO_<Codewert des Verordnungstyps> (z.B. FUS.VO_HG).
Die Erweiterung um neue Verordnungstypen ist auch zwischen einzelnen Releases möglich (ohne SS12-Hebung).

Funktionen | benötigte Rechte | Fehlermeldung bei Aufruf ohne die benötigten Rechte
--- | --- | ---
Formulare abfragen Detaildaten eines Formulars abfragen Korrektur senden Formularinformationen (Anlagen möglich) ermitteln | FUS.CORE | AccessException.MISSING_FUS_CORE
Formularstammdaten ermitteln Formular als FUS-Vertragspartner erfassen | FUS.CORE FUS.VP | AccessException.MISSING_FUS_CORE AccessException.MISSING_FUS_VP
Relevante Fachgebiete des Vertragspartners zur Wahlbehandlererfassung abfragen FUS-Wahlbehandler Formularerfassung prüfen Formular als FUS-Wahlbehandler erfassen | FUS.CORE FUS.WP | AccessException.MISSING_FUS_CORE AccessException.MISSING_FUS_WP
EKV-Formular erfassen | FUS.CORE FUS.EK | AccessException.MISSING_FUS_CORE AccessException.MISSING_FUS_EK
Verordnungstypen abfragen Verordnungsformularerfassung prüfen Verordnungsformular erfassen | FUS.CORE FUS.VO | AccessException.MISSING_FUS_CORE AccessException.MISSING_FUS_VO

Hinweis:
Um eine Korrektur zu senden, wird das Recht FUS.CORE benötigt, sowie das Recht, welches zur ursprünglichen Erfassung des Formulars notwendig war. Wird eine Korrektur für ein Formular gesendet, zu dem das Recht nicht mehr vorhanden ist, wird die Funktion mit dem Fehler FusException.KORREKTUR_MISSING_PROPER_RIGHT abgebrochen.
Beispiel: Soll ein Zahnbehandler-Formular korrigiert werden, welches als Vertragspartner erfasst wurde, wird zusätzlich zu FUS.CORE das Recht FUS.VP benötigt.
Um ein Verordnungsformular zu erfassen, wird das Recht FUS.VO benötigt, sowie auch das entsprechende Recht zum jeweiligen Verordnungstypen (z.B. FUS.VO_HG für den Verordnungstyp Hörgeräte "HG"). Ist das Recht nicht vorhanden, wird die Funktion mit dem Fehler FusException.VERORDNUNGSTYP_MISSING_RIGHT abgebrochen.

### Dynamische Ermittlung von Parameterwerten des e-card-Regelwerks
Für das Service relevante Parameterwerte des e-card-Regelwerks müssen dynamisch mindestens einmal pro Dialog mit den angebotenen Methoden ermittelt werden.

KVTs ermitteln |  | FDAS-Methode: getSVTs()
Fachgebiete ermitteln |  | FDAS-Methode: getFachgebiete()
Behandlungsfälle ermitteln |  | FDAS-Methode: getBehandlungsfaelle()

### Online-/Offline-Status

Ob eine Verbindung für ein bestimmtes Service zum e-card-Serversystem besteht, sollte im Normalbetrieb NICHT abgefragt werden! Die Abfrage sollte nur durchgeführt werden um festzustellen, ab wann das Service wieder online ist, sofern 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.

### SV-Nummer vs. e-card CardToken

Bei FUS Funktionen mit Kartenunterstützung ist folgende Eingabevariante zur Identifikation des Patienten möglich:

- SV-Nummer und/oder e-card CardToken

Der e-card CardToken (SV-Signaturtoken mit e-card) kann mittels REST-Schnittstelle vom GINO angefordert werden.
Die Dokumentation des REST-Services zur Kommunikation mit dem Kartenleser ist zu finden unter: Swagger Doku Kartenleser.
Bei der Anmeldung des Patienten kann in Abhängigkeit davon, ob eine e-card vorhanden ist, ein e-card CardToken (SV-Signaturtoken mit e-card) oder ein o-card CardToken (SV-Signaturtoken mit Admin-Karte) ausgestellt werden.
Der CardToken kann je nach Service für eine bestimmte Dauer nach Ausstellung genutzt werden. In der Regel ist ein ausgestellter CardToken für 10 Stunden verwendbar.
Welcher CardToken vom jeweiligen Service unterstützt wird, ist bei den Services selbst definiert.
In FUS wird nur der e-card CardToken unterstützt.
Für die Angabe innerhalb der Funktionen gilt:
SV-Nummer und/oder e-card CardToken
Darunter fallen folgende FUS Funktionen:

- formularstammdatenErmitteln()
- wpFormularerfassungPruefen()
- voFormularerfassungPruefen()
- formularErfassen()
- wpFormularErfassen()
- voFormularErfassen()

Der SV-Patient kann mittels SV-Nummer oder mittels e-card CardToken angegeben werden. Werden beide Parameter angegeben, muss die SV-Nummer zu dem Patienten gehören, dessen e-card zur Ausstellung des e-card CardTokens verwendet wurde.

### Attachmenthandling

Für die Übermittlung von Anlagen sind folgende drei Schritte durchzuführen:

1. Prüfen, ob Anlagen angegeben werden dürfen
2. Angabe der Metadaten beim SS12 Aufruf der Erfassungsfunktion
3. Übermittlung der Anlagen mittels REST-Service ATS (Attachment Transfer Service)

Prüfen, ob Anlagen angegeben werden dürfen
Ob zu dem Formulartyp Anlagen übergeben werden dürfen, kann mittels der Funktion formularinfoErmitteln() (siehe Formularinformationen (Anlagen möglich) ermitteln) abgefragt werden.
Generell gilt für die Erfassung von Formularen: Wenn Anlagen zulässig sind, muss auch mindestens eine Anlage angegeben werden.
Bei der Korrektur eines Formulars, bei der Anlagen angegeben werden dürfen, muss beim Übermitteln angegeben werden, ob zusätzlich Anlagen übermittelt werden.
Angabe der Metadaten beim SS12 Aufruf der Erfassungsfunktion
Im Zuge der Erfassung eines Formulars mit Anlagen müssen in der Funktion zwingend die Metadaten der Anlagen angegeben werden (Objekt attachmentInfo).
Wichtig: Dabei sind auch unbedingt die Größe der Datei sowie der MD5 Hashwert der Datei anzugeben.
Für die Anlagen und ihre Metadaten gelten folgende Einschränkungen:

- Anzahl: Innerhalb eines Funktionsaufrufs dürfen max. 10 Anlagen per Metadaten definiert werden.
- Größe: Die Dateigröße aller Anlagen innerhalb eines Funktionsaufrufs (muss für jede einzelne Datei in den jeweiligen Metadaten angegeben werden) darf die Maximalgröße von 50MB bei Zahnbehandler-Formularen und 3MB bei EKV- und Verordnungsformularen nicht überschreiten.
- Dateityp: Die unterstützten Dateitypen sind abhängig vom Formulartyp.
  Für EKV-Formulare werden folgende Dateitypen unterstützt: gif, jpg, jpeg, pdf, png, tiff, tif und xml.
  Für Zahnbehandler-Formulare werden folgende Dateitypen unterstützt: ii3, iii, 3ds, dxf, obj, ply, o3m, pmh, bre, bcd, stl, sop, off, zpr, dicom, jpeg, jpg, png, gif, tiff, tif, pdf und o3c.
  Für VO-Formulare wird nur folgender Dateityp unterstützt: pdf.

Nach Übermittlung der Anlagen-Metadaten wird eine Sicherheitskennung für die Anlagen der Funktion retourniert.
Übermittlung der Anlagen mittels REST-Service ATS
Die Anlagen sind - NACH der Übermittlung der Anlagen-Metadaten mittels der Erfassungsfunktion - mittels eines REST-Service Aufrufs (ATS) zu übermitteln. Dabei muss zwingend die zuvor retournierte Sicherheitskennung verwendet werden.
Im Zuge der tatsächlichen Übermittlung findet eine Überprüfung der Anlagen gegen die zuvor angegebenen Metadaten statt. Stimmen die Daten nicht überein, ist die erfolgreiche Übertragung der betroffenen Anlagen nicht möglich.
Beim REST-Aufruf müssen alle Anlagen gemeinsam angegeben werden, die zuvor mittels Metadaten definiert wurden und die dieselbe Sicherheitskennung besitzen.
Die Dokumentation des REST-Service ist zu finden unter: Swagger Doku Attachment Transfer Service.
Zu den per Metadaten in den FUS Funktionen angegebenen Anlageinformationen wird jeweils der Status der Übermittlung (zum e-card System) verwaltet.
Es werden folgende Status unterschieden:

- Wartet auf Übertragung
  Eine Anlage hat diesen Status ab dem Zeitpunkt, ab dem die Metadaten der Anlage im e-card System bekannt sind, die Datei selber aber noch nicht übertragen wurde und das Zeitfenster für die Übertragung noch nicht abgelaufen ist.
- Übertragen
  Eine Anlage hat diesen Status ab dem Zeitpunkt, ab dem die Datei selbst im e-card System bekannt ist.
- Abbruch der Übertragung
  Eine Anlage hat diesen Status ab dem Zeitpunkt, ab dem die Metadaten der Anlage im e-card System bekannt sind, die Datei selber aber noch nicht übertragen wurde und keine Übertragung mehr möglich ist.
  Wird eine Datei innerhalb einer gewissen Zeitspanne (Tage) nicht an das e-card System übertragen, wird der Status der Anlage auf "Abbruch der Übertragung" gesetzt.

Die Information, wie lange der Zeitraum zwischen Übermittlung der Metadaten und erlaubter Übermittlung der Anlagen ist, kann bei Bedarf beim Partnersupport erfragt werden.
Ein Download von hochgeladenen Anlagen ist in FUS nicht möglich.

### Prinzipielle Erklärungen und Ablauf für die Verwendung des Formularübermittlungsservice

Man unterscheidet zwischen folgenden verschiedenen Formularen:

Formular | Formulartyp | Zahnbehandler-Formular
Formular Beginn einer Interzeptiven Behandlung | BIB | X
Formular bewilligungspflichtige Reparatur im Rahmen der Interzeptiven Behandlung | RIB | X
Formular Abschluss einer Interzeptiven Behandlung | AIB | X
Formular Beginn einer KFO Hauptbehandlung oder alleinige IOTN Feststellung | BKI | X
Formular bewilligungspflichtige Reparatur im Rahmen der KFO Hauptbehandlung | RKB | X
Formular Abschluss einer KFO Hauptbehandlung | AKB | X
Formular EKVK-Daten für Betreuungsfall aus EU/EWR/CH | EKV | -
Verordnungsformular | VO | -

#### Ablauf der Erfassung eines Formulars

Zahnbehandler-Formulare:
Der Patient kommt zum Zahnbehandler für die Durchführung einer bestimmten Untersuchung - z.B. für eine interzeptive Behandlung.
Handelt es sich um einen FUS-Vertragspartner (d.h. es existiert ein passender kurativer Vertrag, um den Patienten auf Kassenkosten zu behandeln), erfasst der Vertragspartner in der Konsultationsverwaltung die Konsultation - z.B. mit Behandlungsfall "IB" - und führt die entsprechende Untersuchung durch.
Gesundheitsdiensteanbieter ohne einen kurativen Vertrag können in FUS als Wahlbehandler agieren, wenn Sie einen Vertrag mit dem Vertragstyp ELGA besitzen. FUS-Wahlbehandler erfassen keine Konsultationen (da ihnen die dazu benötigten kurativen Verträge fehlen), sondern behandeln den Patienten auf Privatrechnung, welche der Patient beim zuständigen KV-Träger zwecks Kostenrückerstattung einreichen kann.
Hinweis: Sofern in der weiteren Beschreibung keine Unterscheidung zwischen FUS-Vertragspartner und FUS-Wahlbehandler benötigt wird, wird das Wording Vertragspartner verwendet (da auch FUS-Wahlbehandler mit einem Vertrag im e-card System abgebildet sind).
Der FUS-Vertragspartner benötigt zur Erfassung eine passende Konsultation. Aus dieser werden administrative Daten ermittelt. Der FUS-Wahlbehandler muss administrativen Daten "manuell" eingeben. Im Formularteil der medizinischen Daten erfasst der Vertragspartner die zuvor bei der Untersuchung festgestellten Werte, sowie bei Bedarf Anlagen, die zusätzlich an den KV-Träger übermittelt werden sollen.
Nach Eingabe aller benötigten Daten wird das fertig erfasste Formular, sowie die Metainformationen zu den angegebenen Anlagen an das e-card System mittels FUS übermittelt. Die Anlagen selbst sind mittels ATS zu übertragen - siehe hierzu auch Kapitel Attachmenthandling.
Sobald am e-card System alle benötigten Daten eines Formulars eingelangt sind, werden die kompletten Formulardaten (inkl. der zu dieser Formularversion gehörenden Anlagen) an die zuständigen KV-Träger (bei FUS-Vertragspartner: leistungszuständiger und verrechnungszuständiger KV-Träger laut der bei Erstellung ausgewählten Konsultation, bei FUS-Wahlbehandler: angegebener zuständiger KV-Träger) übermittelt.
EKV-Formular:
Der EKVK-Patient kommt zum GDA für die Durchführung einer Untersuchung.
Der GDA behandelt den Patienten - es wird keine Konsultation im e-card System verbucht. Der GDA scannt die EKVK, erfasst die notwendigen Formulare bzgl. der Behandlung und scannt auch diese ein. Anschließend erfasst der Arzt das EKV-Formular.
Hinweis: Die Erfassung eines EKV-Formulars ist nur möglich, wenn der Vertragspartner an der angemeldeten Kombination aus Ordination und Ausprägung mindestens einen KU, REZ oder GU-Vertrag zur lokal zuständigen ÖGK besitzt. Die lokal zuständige ÖGK wird dabei anhand des Bundeslands der Ordination ermittelt. Weiters muss die lokal zuständige ÖGK das EKV-Formular unterstützen. Wird mindestens eine der Vorgaben nicht erfüllt, erhält der Benutzer nicht das Recht FUS.EK. Eine Erfassung des Formulars ist somit nicht möglich.
Im EKV-Formular stehen die Datenfelder der EKVK zur direkten Eingabe zur Verfügung. Weiters wird die Möglichkeit gegeben, die Scans als Attachment dem Formular hinzuzufügen (es muss mindestens eine Anlage hinzugefügt werden). Nach Eingabe aller benötigten Daten wird das fertig erfasste Formular, sowie die Metainformationen zu den angegebenen Anlagen an das e-card System mittels FUS übermittelt. Die Anlagen selbst sind mittels ATS zu übertragen - siehe hierzu auch Kapitel Attachmenthandling.
Sobald am e-card System alle benötigten Daten eines Formulars eingelangt sind, werden die kompletten Formulardaten (inkl. der zu dieser Formularversion gehörenden Anlagen) an den zuständigen KV-Träger (die lokal zuständige ÖGK) übermittelt.
VO-Formular:
Der Patient kommt zum Vertragspartner (Hörgeräteaktustiker, Sauerstoffversorger) um die Verordnung einzulösen.
Der Vertragspartner erfasst eine entsprechende Verordnung, um diese beim zuständigen KV-Träger einzureichen. Zusätzlich zu den eingegebenen Daten wird die Originalverordnung sowie weitere Dokumente gescannt.
Hinweis: Bei mehreren Dokumenten (z.B. Verordnung mit zwei Dokumenten) sind diese innerhalb einer PDF-Datei an den KV-Träger zu übermitteln.
Nach Eingabe aller benötigten Daten werden das fertig erfasste Formular und die Metainformationen zu den angegebenen Anlagen an das e-card System mittels FUS übermittelt. Die Anlagen selbst sind mittels ATS zu übertragen - siehe hierzu Kapitel Attachmenthandling.
Sobald am e-card System alle benötigten Daten eines Formulars eingelangt sind, werden die kompletten Formulardaten (inkl. der zu dieser Formularversion gehörenden Anlagen) an den zuständigen KV-Träger übermittelt. Beim VO-Formular gibt es im Gegensatz zu den anderen Formularen einen Formularstatus. Nach Erfassung des VO-Formulars befindet sich das Formular im Status "Übertragen". Werden die Anlagen zum Formular mittels ATS nicht zeitgerecht übermittelt, gelangt das Formular in den Status "Fehlerhaft übertragen". Wurden die Anlagen rechtzeitig und das Formular an den zuständigen KV-Träger übermittelt, antwortet dieser mit einer entsprechenden Statusrückmeldung.
Rückmeldung durch den SV-Träger - allgemeine Rückmeldung bei allen Formularen möglich
Der SV-Träger besitzt die Möglichkeit, dem Vertragspartner allgemeine Meldungen (als Text) je Formular zukommen zu lassen. Die Nachricht des SV-Trägers wird dem Vertragspartner über das Messaging-System des e-card Systems zugestellt.
Die e-card Message beinhaltet u.a. folgende Informationen:

- appid: FUS (entsprechend der ServiceName-Konstante)
- category: INFO
- data: Betreff-ID (bestehend aus "Formular <Formulartyp>, <Formularcode-Prefix>, Version <Formular-Version>"

Hinweis: Mittels des in der Betreff-ID enthaltenen Formularcode-Prefixes ist die Detailabfrage des jeweiligen Formulars möglich.
Der Inhalt der Meldung unterliegt keinen bestimmten Vorgaben und enthält 1:1 die Nachricht des SV-Trägers.
Statusrückmeldung durch den KV-Träger - nur bei Verordnungsformular möglich
Das Formular wird vom zuständigen KV-Träger, der das Formular erhalten hat, fachlich bewertet.
In Abhängigkeit der fachlichen Bewertung wird durch den zuständigen KV-Träger eine der folgenden Statusmeldungen retourniert:

- "Bewilligt"
- "Abgelehnt"
- "Rückfrage"

Zusätzlich zum Status (dieser ist im Formular ersichtlich), übermittelt der KV-Träger optional als "Rückantwort" noch einen Text und/oder ein Attachment.
"Bewilligt" und "Abgelehnt" sind Endstatus-Werte eines Formulars. Eine Korrektur von VO-Formularen kann nur im Status "Rückfrage" übermittelt werden, sofern nach der letzten Rückantwort des KV-Trägers noch keine Korrektur durchgeführt wurde.
Der Status "Rückfrage" bedeutet, dass der zuständige KV-Träger zusätzliche Informationen zur Beurteilung benötigt. Der KV-Träger teilt dem Vertragspartner die offene Fragestellung im Freitext und/oder der Anlage mit. Die Rückgabe der Rückantwort (Text/Anlage) an den Vertragspartner erfolgt als eigenes Objekt innerhalb des FUS-Formulars. Es wird dabei jedoch immer nur die letzte Rückantwort retourniert. Die Rückgabe des Formularstatus erfolgt innerhalb des FUS-Formulars als Parameter (nicht innerhalb der Rückantwort).
Beispiel: Es wurde ein VO-Formular erfasst und an den KV-Träger übermittelt. Der KV-Träger stellt eine Rückfrage. Der Status im Formular ist "Rückfrage" und die Abfrage der Detaildaten liefert das "Rückantwort"-Objekt innerhalb des Formulars mit den Daten der Rückfrage. Der Vertragspartner erfasst eine entsprechende Formular-Korrektur mit den zusätzlich benötigten Daten und übermittelt diese. Die Korrektur wird dem KV-Träger zugestellt und das Formular vom KV-Träger erneut beurteilt. Der KV-Träger übermittelt als Rückantwort diesmal den Status "Bewilligt". Eine Abfrage der Detaildaten des Formulars liefert nun als "Rückantwort"-Objekt innerhalb des Formulars die Informationen zur Bewilligung. Die Rückfrage-Rückantwort wird nicht mehr übermittelt.
Zusätzlich zu den Daten innerhalb des Formulars wird, ebenso wie bei der allgemeinen Rückmeldung, der Vertragspartner mittels e-card Messaging über die Rückmeldung informiert. Da die Daten der Rückmeldung jedoch in diesem Fall innerhalb des "Rückantwort"-Objekts in FUS enthalten sind, wird bei dieser Message der Vertragspartner nur informiert, dass eine Rückantwort vorliegt.
Die e-card Message beinhaltet u.a. folgende Informationen:

- appid: FUS (entsprechend der ServiceName-Konstante)
- category: RUECKANTWORT
- data: Betreff-ID (bestehend aus "Formular <Formulartyp>, <Formularcode-Prefix>, Version <Formular Version>"
- text: "Es liegt eine Rückantwort für das FUS <Formulartyp> Formular <Formularcode-Prefix>, Version <Version> vor."

Hinweis: Mittels des in der Betreff-ID enthaltenen Formularcode-Prefixes ist die Detailabfrage des jeweiligen Formulars möglich.

#### Ablauf bei Korrekturen

Der Vertragspartner hat die Möglichkeit, innerhalb eines bestimmten Zeitraums Korrekturen zu seinen erfassten Zahnbehandler-, EKV- bzw. VO-Formularen zu übermitteln.
Ob zu einem Formular (noch) Korrekturen erfasst werden können, ist im Suchergebnis der Abfrage nach eigenen Formularen erkennbar.
Hinweis: Für VO-Formulare ist die Übermittlung von Korrekturen nur möglich, wenn sich das VO-Formular aktuell im Status "Rückfrage" befindet und nach der letzten Rückantwort des KV-Trägers noch keine Korrektur durchgeführt wurde.
Man unterscheidet folgende Korrekturarten:

- Formulardaten korrigieren
- zusätzliche Anlagen
- Formulardaten korrigieren und zusätzliche Anlagen

Sofern zu einem Formular eine Formulardatenkorrektur übermittelt wird, werden die vorherigen Formulardaten durch die neuen Formulardaten ersetzt. Bei Anlagen innerhalb eines Formulars gilt, dass die Anlagen eines Formulars immer additiv zum Formular verwaltet werden. D.h. es werden keine Anlagen entfernt. Im Zuge einer Korrektur gilt bzgl. der Übermittlung der Daten an den KV-Träger dasselbe Vorgehen, wie bei der Erfassung eines Formulars.
Um eine Korrektur durchführen zu können, benötigt der Benutzer dieselben Rechte, die er auch für die Erfassung des Formulars benötigt hat (siehe hierzu den Hinweis in Kapitel Rechte).

#### Hinweis Formularcode

Bei der Erstellung eines Formulars wird immer der Formularcode als fachlicher Schlüssel des Formulars erstellt. Dieser dient der eindeutigen Identifikation eines Formulars in einer bestimmten Version.
Der Formularcode setzt sich dabei wie folgt zusammen:

Formularcode
FormularcodePrefix | _ | FormularcodeVersion

Bei Zahnbehandler- und Verordnungsformularen lässt sich das Formularcode-Prefix noch wie folgt weiter herunterbrechen:

Formularcode
FormularcodePrefix | _ | FormularcodeVersion
FormularKennung | _ | SV-Nummer | _ | FormularcodeVersion

Bei EKV-Formularen entspricht die Formularkennung dem FormularcodePrefix:

Formularcode
FormularcodePrefix | _ | FormularcodeVersion
FormularKennung | _ | FormularcodeVersion

Das Objekt Formularcodegruppe enthält folgende Parameter zur eindeutigen Identifikation eines Formulars in FUS:

- Formularcode
- FormularKennung
- FormularcodePrefix
- FormularcodeVersion

In Abhängigkeit des Formulartyps wird eine 6- oder 9-stellige FormularKennung erzeugt:

- 6-stellig:
  Bei Zahnbehandler- und VO-Formularen erfolgt die Erstellung immer zu der SV-Nummer des Patienten. Die FormularKennung ist nur gemeinsam mit der SV-Nummer eindeutig.
- 9-stellig:
  Bei EKV-Formularen gibt es keine SV-Nummer. Die FormularKennung entspricht dem FormularcodePrefix und ist eindeutig.

Beispiel Zahnbehandler/Verordnung:

KLRSDX_1833010160_001
Formularcode
KLRSDX_1833010160 | _ | 001
FormularcodePrefix | _ | FormularcodeVersion
KLRSDX | _ | 1833010160 | _ | 001
FormularKennung | _ | SV-Nummer | _ | FormularcodeVersion

Beispiel EKV:

KE5A-LTC2_001
Formularcode
KE5A-LTC2 | _ | 001
FormularcodePrefix | _ | FormularcodeVersion
KE5A-LTC2 | _ | 001
FormularKennung | _ | FormularcodeVersion

Die FormularcodeVersion wird immer automatisch zu den Formulardaten vergeben. D.h. bei der Erfassung eines Formulars wird initial in Version "001" erstellt. Durch die Übermittlung einer Formulardatenkorrektur wird die Versionsnummer erhöht. In diesem Fall ändert sich der Formularcode aufgrund der Versionshebung. Der FormularcodePrefix wird nicht verändert.
Die zusätzliche Übermittlung von Anlagen (ohne Formulardatenkorrektur) führt zu keiner Erhöhung der FormularcodeVersion.
Beispiel:
Erfassung BIB Formular → Version "001"
Korrekturübermittlung mit Änderung der Formulardaten → Version "002"
Korrekturdatenübermittlung nur mit zusätzlichen Anlagen → Version "002"

#### Hinweis Druckaufbereitung

Das FUS stellt über die SS12 ein PDF mit der Druckaufbereitung zur Verfügung, ausgenommen für Verordnungsformulare. Der Ausdruck dient nur zur internen Archivierung für den GDA und soll nicht in Papierform an den zuständigen Träger gesendet werden.
Die Druckaufbereitung wird im Zuge der Datenerfassung (Formular erfassen / Korrektur senden), sowie bei Abfrage der Detaildaten eines Formulars retourniert.
Das PDF wird dabei als MTOM Attachment übermittelt.

#### Hinweis Fehlermeldungen:

Zur Vereinfachung des Fehlerhandlings auf Seiten der Vertragspartnersoftware sind im FUS die Fehlermeldungen der Validierung, die einem Parameter zugeordnet werden können, nach folgendem Schema gestaltet: Sie setzen sich jeweils aus der ParameterID (Parameter, der den Fehler verursacht hat) sowie einer Nummer, die die Fehlerursache charakterisiert, zusammen.
Die Zuordnung der ParameterID zu den jeweiligen Parametern findet man in den JavaDoc-Kommentaren der Objektbeschreibungen bei den einzelnen Parametern.
Fehlerursachen und dazugehörige Nummer:

Fehlerursache | Nummer
Pflichtfeld | 1 2
Formatfehler (Bsp.: Nur nummerische Zeichen erlaubt) | 3
Wertebereichfehler (Bsp.: Wertebereich 0-99 oder ungültige Konstante) | 4
Zusätzliche Bedingungen (Bsp.: Parameter darf nicht befüllt werden) | 5 6 7 8
Verknüpfte Bedingungen (Bsp.: Es muss entweder der eine oder der andere Parameter angegeben werden) | 0

#### Hinweis Array-Behandlung:

Wenn Eingabefelder Arrays sind, wird stets geprüft, ob diese

- keine Werte enthalten, die 'null' sind oder
- keine zwei identischen Werte enthalten.

Ist eine dieser Bedingungen verletzt, wird ein Wert-Fehler ausgegeben (Endziffer 4, Fehlertext: "Der Wert in 'Datenfeld' ist nicht zulässig."). Die Fehlermeldung für fehlende Pflichtfelder (Endziffer 1) kommt in diesem Fall nur, wenn das Array insgesamt 'null' ist.

## Funktionalität des FUS

Die Integration des FUS in die Vertragspartnersoftware ist optional. Wird das FUS integriert, müssen alle FUS-Funktionalitäten implementiert werden:

- Zahnbehandler-Formulare

- Zahnbehandler-Formular als FUS-Vertragspartner erfassen
- Formularstammdaten ermitteln
- Zahnbehandler-Formular als FUS-Wahlbehandler erfassen
- Relevante Fachgebiete des Vertragspartners zur Wahlbehandlererfassung abfragen
- FUS-Wahlbehandler Formularerfassung prüfen

- EKV-Formular erfassen
- Verordnungsformulare

- Verordnungsformular erfassen
- Verordnungstypen abfragen
- Verordnungsformularerfassung prüfen

- Formularinformationen (Anlagen möglich) ermitteln
- Korrektur senden
- Formulare abfragen
- Detaildaten eines Formulars abfragen

Hinweis bzgl. der Erfassung eines Zahnbehandler-Formulars als FUS-Vertragspartner bzw. als FUS-Wahlbehandler:
Anhand der ermittelten Rechte kann erkannt werden, ob ein Vertragspartner generell als FUS-Vertragspartner (Recht FUS.VP) und/oder als FUS-Wahlbehandler (Recht FUS.WP) auftreten kann. Sollte der Vertragspartner beide Rechte besitzen, obliegt es dem Vertragspartner zu entscheiden, in welcher Rolle er das Zahnbehandler-Formular übermitteln will.
Ein Vertragspartner kann nicht als Wahlbehandler im FUS Formulare übermitteln, wenn er zum gewählten KV-Träger auch als FUS-Vertragspartner auftreten kann.

### Zahnbehandler-Formulare erfassen

Die Tabelle in Kapitel Prinzipielle Erklärungen und Ablauf für die Verwendung des Formularübermittlungsservice gibt Auskunft über die Zuteilung der verschiedenen Formulartypen zu den Zahnbehandler-Formularen.

#### Formular als FUS-Vertragspartner erfassen

Mit der Funktion formularErfassen() hat der Vertragspartner die Möglichkeit, das befüllte Zahnbehandler-Erstformular und die dazugehörigen Anlagen als FUS-Vertragspartner zu übermitteln (siehe auch Hinweis bzgl. der Erfassung eines Zahnbehandler-Formulars als FUS-Vertragspartner bzw. als FUS-Wahlbehandler).
Konnte die Funktion erfolgreich durchgeführt werden, werden das Formular und die Druckaufbereitung retourniert.
Um ein Erstformular zu übermitteln, muss eine passende Konsultation existieren. Für die Abfrage der Konsultationen siehe Formularstammdaten ermitteln.
Wird mehr als eine passende Konsultation gefunden, muss der FUS-Vertragspartner eine Konsultation auswählen, an die das Formular gebunden werden soll.
Im Erstformular-Objekt ist die gewählte Konsultation mittels ID und Version anzugeben. Bzgl. der Angabe der SV-Nummer bzw. eines CardTokens, siehe SV-Nummer vs. e-card CardToken.
Soll das Formular mit Angabe von Anlagen erfolgen, so müssen bei der Formularerfassung zwingend die Metadaten der Anlagen angegeben werden. Die Anlagen selbst sind nachträglich durch die VPSW durch das ATS zu übermitteln (siehe Attachmenthandling).

##### Szenario 5 - Formular erfassen:

#### Formularstammdaten ermitteln

Die Funktion formularstammdatenErmittlen() ermittelt in Abhängigkeit des gewählten Formulartyps alle Konsultationen, die für eine Zuordnung zu dem entsprechenden Formular zur Verfügung stehen.
Hinweis: Es werden nur Konsultationen gefunden, die mit derselben TätigkeitsbereichID (beim Dialogaufbau angegeben) erstellt wurden, die im aktuell verwendeten Dialog gesetzt wurde.

##### Szenario 5 - Formularstammdaten ermitteln:

#### Formular als FUS-Wahlbehandler erfassen

Mit der Funktion wpFormularErfassen() hat der Vertragspartner die Möglichkeit, das befüllte Zahnbehandler-Wahlbehandler-Erstformular und die dazugehörigen Anlagen als FUS-Wahlbehandler zu übermitteln (siehe auch Hinweis bzgl. der Erfassung eines Zahnbehandler-Formulars als FUS-Vertragspartner bzw. als FUS-Wahlbehandler).
Konnte die Funktion erfolgreich durchgeführt werden, werden das Formular und die Druckaufbereitung retourniert.
Um ein Wahlbehandler-Erstformular zu übermitteln, müssen die Behandlungsdaten explizit angegeben werden. Diese umfassen die Daten, die bei einem FUS-Vertragspartner anhand der Konsultation ermittelt werden:

- Behandlungsdatum
- zuständiger KV-Träger
- Fachgebiet des Partners

Um zu prüfen, ob die Erfassung des gewünschten Formulars als Wahlbehandler mit den angegebenen Daten möglich ist, wird eine eigene Prüffunktion angeboten (siehe FUS-Wahlbehandler Formularerfassung prüfen), die vor der Erfassen-Funktion aufzurufen ist.
Hinweis: Wird erkannt, dass der Vertragspartner auch passende kurative Verträge besitzt und somit als FUS-Vertragspartner zum gewählten KV-Träger auftreten kann, ist eine Erfassung als Wahlbehandler nicht möglich. In diesem Fall muss der Vertragspartner eine Konsultation buchen und als FUS-Vertragspartner das Formular übermitteln.
Bzgl. der Angabe der SV-Nummer bzw. eines CardTokens, siehe SV-Nummer vs. e-card CardToken.
Soll das Formular mit Angabe von Anlagen erfolgen, so müssen bei der Formularerfassung zwingend die Metadaten der Anlagen angegeben werden. Die Anlagen selbst sind nachträglich durch die VPSW durch das ATS zu übermitteln (siehe Attachmenthandling).

##### Szenario 5 - Formular erfassen:

#### Relevante Fachgebiete des Vertragspartners zur Wahlbehandlererfassung abfragen

Die Funktion relevanteWpFachgebieteErmitteln() ermittelt alle Fachgebiete, die dem Vertragspartner bei einer Formularerfassung als FUS-Wahlbehandler zur Auswahl stehen.

#### FUS-Wahlbehandler Formularerfassung prüfen

Die Funktion wpFormularerfassungPruefen() prüft anhand der Eingangsdaten, ob die Erfassung des gewünschten Formulars zum gewählten KV-Träger mit dem angegebenen Fachgebiet als Wahlbehandler zulässig ist.

##### Szenario 5 - FUS-Wahlbehandler Formularerfassung prüfen:

### EKV-Formular erfassen

Mit der Funktion ekvFormularErfassen() hat der Vertragspartner die Möglichkeit, das befüllte EKV-Erstformular und die dazugehörigen Anlagen zu übermitteln.
Konnte die Funktion erfolgreich durchgeführt werden, werden das Formular und die Druckaufbereitung retourniert.
Im Gegensatz zu der Erfassung von Zahnbehandler-Formularen findet beim EKV-Formular keine explizite Unterscheidung in FUS-Vertragspartner und FUS-Wahlbehandler statt.
Die Erfassung des EKV-Formulars findet für EKVK-Patienten statt. Der Funktion ist daher weder eine SV-Nummer, noch eine Konsultation zuzuordnen.
Soll das Formular mit Angabe von Anlagen erfolgen, so müssen bei der Formularerfassung zwingend die Metadaten der Anlagen angegeben werden. Die Anlagen selbst sind nachträglich durch die VPSW durch das ATS zu übermitteln (siehe Attachmenthandling).

##### Szenario 5 - EKV-Formular erfassen:

### Verordnungsformular erfassen

#### Verordnungsformulare erfassen

Mit der Funktion voFormularErfassen() hat der Vertragspartner die Möglichkeit, das befüllte Verordnungsformular und die dazugehörigen Anlagen zu übermitteln.
Konnte die Funktion erfolgreich durchgeführt werden, wird das Formular retourniert.
Innerhalb des Verordnungsformulars unterscheidet man verschiedene Verordnungstypen. Mittels der Funktion voTypenAbfragen() (siehe Verordnungstypen abfragen) können die unterstützen Verordnungstypen abgefragt werden. Es ist zu beachten, dass für die Erfassung eines Verordnungsformulars einerseits das Hauptrecht FUS.VO benötigt wird und andererseits das jeweils zum Verordnungstypen passende Recht - FUS.VO_<Codewert Verordnungstyp> (z.B. FUS.VO_HG für den Verordnungstyp "HG").
Um ein Verordnungsformular mit einem gewissen Verordnungstyp zu übermitteln, muss der Patient einen für den Verordnungstyp passenden Anspruch und der Vertragspartner einen passenden Vertrag besitzen. Um zu prüfen, ob die Erfassung des gewünschten Formulars möglich ist, wird eine eigene Prüffunktion angeboten (siehe Verordnung Formularerfassung prüfen), die vor der Erfassen-Funktion aufzurufen ist.
Bzgl. der Angabe der SV-Nummer bzw. eines CardTokens, siehe SV-Nummer vs. e-card CardToken.
Bei der Formularerfassung müssen zwingend die Metadaten der Anlagen angegeben werden. Die Anlagen selbst sind nachträglich durch die VPSW durch das ATS zu übermitteln (siehe Attachmenthandling.)

##### Szenario 5 - Verordnungsformular erfassen:

#### Verordnungstypen abfragen

Mittels der Funktion voTypenAbfragen() können die verfügbaren Verordungstypen abgefragt werden.
Die Abfrage wird mittels folgender Parameter gesteuert:

- erfassbar (boolean)
- rechteVorhanden (boolean)

rechteVorhanden:
Optionale Angaben. Bei Nichtangabe wird der Default-Wert "false" verwendet. Wird der Parameter mit "false" angegeben (bzw. nicht angegeben), werden die aktuellen Rechte des Vertragspartners nicht bei der Ermittlung der Verordnungstypen berücksichtigt. Wird der Parameter mit "true" angegeben, werden nur die Verordnungstypen retourniert, zu denen der Vertragspartner im aufgebauten Dialog auch die passenden Rechte besitzt. Der Parameterwert wird nur berücksichtigt, wenn der Parameter erfassbar mit dem Wert gleich "true" angegeben wurde.
erfassbar:
Verpflichtend anzugeben. Wird der Parameter mit"false"angegeben, werden alle Verordnungstypen retourniert, die aktuell gültig sind, sowie diejenigen, die aktuell nicht mehr unterstützt werden. Diese Ermittlung erfolgt unabhängig der verfügbaren Rechte des Vertragspartners - der Parameter rechteVorhanden wird somit in dieser Abfrage nicht berücksichtigt. Wird der Parameter mit "true" angegeben, werden nur die aktuell gültigen Verordnungstypen ermittelt und retourniert. In Abhängigkeit des Parameters rechteVorhanden werden die Verordnungstypen zusätzlich noch auf diejenigen eingeschränkt, zu denen der Vertragspartner auch das benötigte Recht für die Erfassung besitzt.
D.h. für eine Abfrage der reinen Anzeigetexte aller Verordnungstypen (auch bereits abgelaufener) empfiehlt sich eine Abfrage mittels erfassbar = "false", da in diesem Fall auch die ValueSets aktuell nicht mehr erfassbarer Verordnungstypen retourniert werden. Um für einen Vertragspartner eine Auswahlliste der Verordnungstypen für die aktuelle Erfassung eines Verordnungsformulars zu befüllen, empfiehlt sich die Abfrage mit erfassbar = "true" und rechteVorhanden = "true", da somit nur Verordnungstypen retourniert werden, die dieser Vertragspartner mit dem angemeldeten Dialog erfassen kann.
Hinweis: Es ist möglich, dass zwischen den Releases neue Verordnungstypen hinzukommen. Die Abfrage der Verordnungstypen ist somit dynamisch durchzuführen.

#### Verordnungsformularerfassung prüfen

Die Funktion voFormularerfassungPruefen() prüft anhand der Eingangsdaten, ob die Erfassung des gewünschten VO-Formulars zum gewählten KV-Träger zulässig ist.

##### Szenario 5 - Verordnungsformularerfassung prüfen:

### Formularinformationen (Anlagen möglich) ermitteln

Die Funktion formularinfoErmitteln() ermittelt, ob zum angegebenen Formulartyp die Angabe von Anlagen zulässig ist. Die Abfrage kann für einen bestimmten Formulartyp durchgeführt werden oder bei leerer Angabe für alle verfügbaren Formulartypen.

### Korrektur senden

Mit der Funktion korrekturSenden() hat der Vertragspartner die Möglichkeit, zu einem bereits übermittelten Formular eine Korrektur zu übermitteln. Dabei ist mittels Korrekturart anzugeben, um welche Art der Korrektur es sich handelt (Korrektur Formulardaten, zusätzliche Anlagen oder beides).
Das zu ändernde Formular ist mittels des FormularcodePrefix zu identifizieren.
Hinweis: Die Korrektur eines Verordnungsformulars ist nur möglich, wenn sich das Formular aktuell im Status "Rückfrage" befindet und nach der letzten Rückantwort des KV-Trägers noch keine Korrektur durchgeführt wurde.

##### Szenario 5 - Korrektur senden:

### Formulare abfragen

Mit der Funktion eigeneFormulareAbfragen() hat der Vertragspartner die Möglichkeit, seine übermittelten Formulare abzufragen. Zur Einschränkung der Suchergebnisse können die verschiedenen Suchkriterien verwendet werden.
Bzgl. der Suchkriterien SV-Nummer, Formulartyp und Formularkennung gelten folgende Angabebedingungen:
Erfolgt eine Einschränkung nach dem Formulartyp "EKV", ist die Angabe der SV-Nummer nicht zulässig. Weiters muss in diesem Fall eine eingegebene Formularkennung 9-stellig sein.
Wird nach einem Zahnbehandler-Formulartyp oder nach dem Verordnungsformular eingeschränkt, ist die Eingabe der SV-Nummer zulässig. Eine eingegebene Formularkennung muss in diesem Fall 6-stellig sein.
Erfolgt keine Einschränkung auf einen bestimmten Formulartyp, muss eine eingegebene Formularkennung entweder 6- oder 9-stellig sein.
Die Suche retourniert für jedes Formular, das zu den Kriterien passt, jeweils Überblicksdaten.
Es wird immer automatisch die aktuellste Version eines Formulars abgefragt. Es ist nicht möglich, bestimmte Vorversionen abzufragen. Die Suchkriterien Formularstatus und Verordnungstyp dienen der Einschränkung von Verordnungsformularen. Es ist hierbei darauf zu achten, dass die Suchkriterien additiv bei der Ermittlung angewendet werden.

### Detaildaten eines Formulars abfragen

Mit der Funktion formularAbfragen() hat der Vertragspartner die Möglichkeit, zu genau einem Formular die erfassten Detaildaten abzufragen. Die Identifizierung des Formulars erfolgt mittels FormularcodePrefix.
Es wird dabei immer automatisch die aktuellste Version eines Formulars abgefragt. Es ist nicht möglich, bestimmte Vorversionen abzufragen!