# Package at.chipkarte.client.kse.soap

Interface und Klassen der Konsultationsverwaltung (KSE).

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  IKseService | Dieses Service stellt die Funktionen der KSE-Applikation einer Vertragspartnersoftware Version 20 zur Verfügung.

- Class Summary
  Class | Description
  --- | ---
  Anspruch | Enthält die Daten für einen eigenen Anspruch beziehungsweise für einen abgeleiteten Anspruch, siehe `AnspruchException`.
  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.
  CardData | Enthält card Data.
  EndedatumOfflinekonsi | Enthält GINA_OFFLINE_FUNKTIONALITAET_ENDE datum
  ErgebnisKonsultation | Enthält das Ergebnis einer positiv durchgeführten Konsultation.
  ErgebnisKonsultationFoto | Enthält das Ergebnis einer positiv durchgeführten Konsultation, sowie bei Bedarf die Information bezüglich eines benötigten Fotos.
  Erstkonsultationsdaten | Enthält die Daten zu einer Erstkonsultation.
  KonsultationdatenAnfrage | Enthält die Daten zu einer asynchronen Konsultationsanfrage.
  KonsultationsBeleg | Enthält die Daten zu einer Version eines Konsultationsbelegs.
  Konsultationsdaten | Enthält die Daten zu einer (nacherfassten) Konsultation.
  KonsultationsdatenSuchergebnis |
  Limit | Enthält die Daten zu den Limits eines Vertragspartners bezogen auf einen Bezugsbereich, auf ein Fachgebiet und einen Krankenversicherungsträger.
  LimitKonfig | Enthält die am Server konfigurierten Limitwerte für den konkreten Vertrag des Vertragspartners.
  LimitValue | Enthält den konkreten Limitstand zu einem Vertrag.
  OfflineKonsultation | Enthält die Ein-/Ausgangsparameter einer Offlinekonsultation.
  OfflineRecord | Enthält den Offlinedatensatz einer Konsultation oder Nachsignatur.
  SuchFilter | Enthält die Daten zur Einschränkung der Datensätze im Zuge von `getKonsultationsdaten` oder `sendKonsultationsdatenAnfrage`.
  Zusatzinformation | Enthält die zusätzlichen Informationen zu einem Patienten und fordert den Vertragspartner (in Abhängigkeit des Parameters AntwortAnzeigeBedingung) zur Durchführung einer bestimmten Aktion auf.

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

Interface und Klassen der Konsultationsverwaltung (KSE). Dieses Package enthält den SOAP-Endpoint `IKseService` sowie die dazu notwendigen Klassen.
Inhalt der KSE Package-Beschreibung:

- Allgemein

- Rechte
- Dynamische Ermittlung von Parameterwerten des e-card-Regelwerks
- Online-/Offline-Status
- SV-Nummer vs. e-card CardToken
- Online- vs. Offline-Konsultationsverwaltung
- Fotoinformation
- Ersatzbelegcode
- Behandlungsfall Telekonsultation

- Funktionalitäten des KSE Service

- Behandlungsfall durchführen
- Konsultation stornieren
- Storno zurücksetzen
- Behandlungsfall ändern
- Behandlungsfall nacherfassen
- e-card nachbringen (Konsultation nachsignieren)
- Konsultationsdaten anfordern

# Allgemein

## Rechte

Je nach Funktion des KSE Service benötigt der Vertragspartner für die Durchführung das Recht:

- KSE.CORE
- KSE.FULL
- KSE.BKF
- KSE.RESCREEN

KSE.CORE gewährt hierbei den generellen Zugriff auf die Funktionen des KSE Service. Ein Vertragspartner erhält dieses Recht, wenn er mindestens einen Vertrag mit Konsultationsrecht besitzt, unabhängig der angemeldeten Kombination aus Ordination und Tätigkeitsbereich. KSE.FULL berechtigt zur Erfassung einer Konsultation im KSE Service. Ein Vertragspartner erhält dieses Recht, wenn er an der angemeldeten Kombination aus Ordination und Tätigkeitsbereich mindestens einen Vertrag mit Konsultationsrecht besitzt.
Gewisse Behandlungsfälle benötigen zur Buchung einer Konsultation ein bestimmtes Recht.
Der Behandlungsfall "VM" (Vorsorgeuntersuchung Mammographie) kann nur durchgeführt werden, wenn der Vertragspartner im verwendeten Dialog auch das Recht KSE.BKF besitzt.
Der Behandlungsfall "VR" (Vorsorgeuntersuchung Mammographie - Rescreening) kann nur durchgeführt werden, wenn der Vertragspartner im verwendeten Dialog das Recht KSE.RESCREEN besitzt.
Wird eine Funktion, welche eines dieser Rechte benötigt, ohne das entsprechende Recht aufgerufen, erhält man die entsprechende Exception: AccessException.MISSING_KSE_CORE, AccessException.MISSING_KSE_FULL, AccessException.MISSING_RIGHT_FOR_BEHANDLUNGSFALL.
Zwecks Vereinheitlichung und dynamischen Aufbaus ist die Zuordnung von Behandlungsfällen zu eventuell benötigten Rechten mittels einer Funktion abfragbar (siehe hierzu auch das folgende Kapitel Dynamische Ermittlung von Parameterwerten des e-card-Regelwerks).
Mittels der Funktion getBerechtigungen() aus dem BASE Service ist es möglich, die Rechte des Vertragspartners abzufragen.
Welches Recht für welche Funktion benötigt wird, ist zusätzlich den Funktionsbeschreibungen der JavaDoc zu entnehmen (jeweils in den Vorbedingungen).
Für genaue (fachliche) Informationen zu den einzelnen Rechten siehe das Vertragspartnerhandbuch.

## 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:

- Liste aller Behandlungsfälle ermitteln – FDAS-Methode: getBehandlungsfaelle()
- Liste aller Fachgebiete ermitteln – FDAS-Methode: getFachgebiete()
- Liste aller Krankenversicherungsträger (die am e-card System teilnehmen) ermitteln – FDAS-Methode: getSVTs()
- erlaubte Fachgebiete für die angemeldete Ordinationsadresse und den gemeldeten Tätigkeitsbereich mit Konsultationsrecht – BASE-Methode: getFachgebieteByOrdId()
- erlaubte Behandlungsfälle für das Fachgebiet ermitteln – FDAS-Methode: getBehandlungsfaelleByFachgebietZusatz()
  Diese Funktion liefert die Behandlungsfälle zum Fachgebiet zurück, sowie zusätzlich eine eventuell benötigte Berechtigung (siehe hierzu auch das Kapitel Rechte), die der Vertragspartner zum Buchen dieses Behandlungsfalles benötigt.
  Eine tagesaktuelle Abfrage der Werte ist für eine Vertragspartnersoftware im Bereich der Radiologie empfohlen. Nicht jeder Radiologe ist unter Umständen berechtigt die BKF relevanten Behandlungsfälle zu buchen (nicht jeder VP hat das Recht KSE.BKF bzw. KSE.RESCREEN).
  Den Vertragspartnern sollte ein Behandlungsfall, zu dem die notwendige Berechtigung fehlt, bei der Buchung der Konsultation nicht zur Auswahl angeboten werden. Vertragspartnersoftware in anderen Bereichen als Radiologie wird ebenfalls empfohlen, diese Funktion zu nutzen (da auch andere Behandlungsfälle in weiterer Folge zusätzliche Berechtigungen benötigen könnten).

## 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 den KSE Funktionen mit Kartenunterstützung unterscheidet man folgende unterschiedliche Eingabevarianten zur Identifikation des Patienten:

- SV-Nummer und/oder e-card CardToken
- SV-Nummer und o-card CardToken
- e-card CardToken

Der e-card CardToken (SV-Signaturtoken mit e-card), sowie der o-card CardToken (SV-Signaturtoken mit o-card) kann mittels REST-Schnittstelle vom GINO angefordert werden.
Die Dokumentation des REST-Service 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 (siehe hierzu auch Kapitel Online- vs. Offline-Konsultationsverwaltung - Abschnitt CardToken Verwendbarkeit bei Nacherfassungen).
Welcher CardToken vom jeweiligen Service unterstützt wird, ist bei den Services selbst definiert.
In KSE wird sowohl der e-card CardToken, als auch ein o-card CardToken (mit SV-Signatur) unterstützt.
In KSE gibt es nur zwei Funktionen mit der Mölichkeit, einen CardToken zu verwenden:
doKonsultation()
Bei dieser Funktion werden folgende Angabemöglichkeiten unterstützt:

- e-card CardToken
- e-card CardToken und SV-Nummer
- o-card CardToken und SV-Nummer

Ist kein e-card CardToken vorhanden (da keine e-card vorhanden ist), muss die Konsultation mit einem o-card CardToken erfasst werden. In diesem Fall muss zwingend die SV-Nummer des Patienten angegeben werden.
Wird ein CardToken und eine SV-Nummer angegeben, muss die SV-Nummer zum Patienten gehören, für den das jeweilige CardToken erstellt wurde (SV-Signaturtoken).
nachsignierenKonsultationen()
Bei dieser Funktion wird nur folgende Angabemöglichkeit unterstützt:

- e-card CardToken

## Online- vs. Offline-Konsultationsverwaltung

Ist das KSE Service nicht verfügbar (siehe Kapitel Online-/Offline-Status), müssen die Daten in der VPSW gespeichert werden.
Eine nachträgliche Übermittlung der Daten ist mittels der Funktionen

- doKonsultation()
- nachsignierenKonsultationen()

möglich.
Zur Kennzeichung, dass es sich um offline erfasste Daten handelt, muss beim Funktionsaufruf der Parameter isOffline mit true angegeben werden.
CardToken Verwendbarkeit bei Nacherfassungen
Wie bereits im Kapitel SV-Nummer vs. e-card CardToken beschrieben, ist ein CardToken in der Regel 10 Stunden verwendbar.
In KSE werden folgende weitere Fälle unterschieden:

- Erfassung einer Konsultation oder Nachsignieren
  Der verwendete CardToken darf nicht älter als 10 Stunden alt sein.
- Nacherfassung einer Konsultation
  Der verwendete CardToken darf nicht älter als 10 Stunden alt sein. Das Erstelldatum des Tokens darf max. 120 Tage vom Behandlungsdatum abweichen.
- Übermittlung einer Offline (in der VPSW) erfassten Konsultation
  Der verwendete CardToken darf bis zu 120 Tage alt sein. Der Erstellzeitpunkt des Tokens muss am Behandlungsdatum sein bzw. max. 10 Stunden am Vortag.
- Übermittlung einer Offline (in der VPSW) nacherfassten Konsultation
  Der verwendete CardToken darf bis zu 120 Tage alt sein. Das Erstelldatum des Tokens darf max. 120 Tage vom Behandlungsdatum abweichen.
- Übermittlung einer Offline erfassten Nachsignierung
  Der verwendete CardToken darf bis zu 120 Tage alt sein.

## Fotoinformation

Im Zuge folgender Funktion ist die Übermittlung einer Fotoinformation möglich:

- Konsultation verwalten (Behandlungsfall durchführen/nacherfassen): doKonsultation()

Die Übermittlung einer Fotoinformation ist nur bei Nutzung dieser Funktionen für online erfasste Konsultationen möglich (d.h. der Parameter isOffline wird nicht oder mit false angegeben). Wird in dieser Funktion vom e-card Server eine Fotoinformation retourniert, muss der im Parameter enthaltene String dem Vertragspartner angezeigt werden.

## Ersatzbelegcode

Kann für einen Patienten keine e-card mit Foto ausgestellt werden, wird nach einer bestimmten Zeit für die Durchführung bestimmter Konsultationen die Angabe eines Ersatzbelegcodes notwendig. Der Patient erhält im Zuge der Ausstellung eines Ersatzbelegs durch seinen KV-Träger einen Ersatzbelegcode.
Der Ersatzbelegcode kann im Zuge folgender Funktionen in den Eingangsdaten angegeben werden:

- Konsultation verwalten (Behandlungsfall durchführen/nacherfassen): doKonsultation()

Für die Angabe gilt: Die Angabe des Ersatzbelegcodes ist nur erlaubt, wenn die Konsultation nicht mit einem e-card CardToken durchgeführt wird.
Die Angabe ist nur zulässig, wenn der Ersatzbelegcode im e-card System bekannt ist und wenn die Bedingungen zur Nutzung des Ersatzbelegcodes erfüllt sind (keine e-card mit Foto ausstellbar).
Wird im Zuge der Verarbeitung einer Konsultation festgestellt, dass ein Ersatzbelegcode zur Durchführung der Konsultation benötigt wird und kein Ersatzbelegcode oder ein nicht valider Code angegeben wurde, bietet die Exceptionklasse PatientServiceException die Möglichkeit, Informationen hinsichtlich eines bestehenden Ersatzbelegs zu retournieren.
Wird einer der beiden folgenden Meldungen retourniert:

- OTHER_ERSATZBELEG_FOUND
- NEEDED_ERSATZBELEG_FOUND

werden innerhalb der Exception Personendaten und Ersatzbeleginformationen retourniert. Die Ersatzbeleginformationen enthalten den aktuell gültigen Ersatzbelegcode und die Ausweisdaten, mit dem die Identität des Patienten beim Ausstellen des e-card Ersatzbelegs festgestellt wurde. Die Ausweisdaten sind dem Vertragspartner entsprechend anzuzeigen.
Wurde bei der Durchführung der Konsultation ein valider Ersatzbelegcode angegeben, wird dieser auch in den entsprechenden Rückgabeobjekten (KonsultationsBeleg) retourniert.
Bei der Funktion zum Ändern einer Konsultation wird keine Ersatzbelegcode-Angabe unterstützt. Wird beim Ändern einer Konsultation, die ohne Ersatzbelegcode erfasst wurde, festgestellt, dass aufgrund der Änderung ein Ersatzbelegcode benötigt wird, ist die bestehende Konsultation zu stornieren und (falls ein passender Ersatzbeleg vorhanden ist) eine neue Konsultation zu erfassen.

## Behandlungsfall Telekonsultation

Der Behandlungsfall "TK - Telekonsultation" dient zur Erfassung von Konsultationen, die über telemedizinische Wege (z.B. Telefon) stattfinden. Die Buchung des Behandlungsfalls ist nur ohne e-card möglich. Behandlungen, bei denen der Patient vor Ort ist, dürfen nicht als Telekonsultationen gebucht werden.
Wird eine Konsultation mit dem Behandlungsfall "TK" und einem e-card CardToken übermittelt, wird eine entsprechende Fehlermeldung retourniert. Die Prüfung wird unabhängig vom Parameter isOffline der Funktion doKonsultation() durchgeführt.
Äquivalent ist auch das Ändern des Behandlungsfalls einer bereits zuvor mit e-card erfassten Konsultation auf den Behandlungsfall "TK" nicht zulässig.
Für die Abrechnung sind die entsprechenden Honorarpositionen des Verrechnungsträger zu verwenden.
Bzgl. der Zuordnung des neuen Behandlungsfalls zu bestimmten Fachgebieten gilt dasselbe Vorgehen wie bisher: Ist der Behandlungsfall für ein bestimmtes Fachgebiet durchführbar, wird er im Rahmen der Abfrage mittels der Funktion getBehandlungsfaelleByFachgebietZusatz() (FDAS Service) für das angegebene Fachgebiet retourniert.

# Funktionalitäten des KSE Service

Wichtiger Hinweis:
KSE-Funktionen mit Konsultationssuche (explizit, z.B. "Konsultationsdaten anfordern" und implizit, z.B. Nachsignieren von Konsultationen bei "Behandlungsfall durchführen") betrachten nur Konsultationen mit derselben TätigkeitsbereichID des aktuell verwendeten Dialogs.
Eine Konsultation im Sinne der Sozialversicherung ist die Inanspruchnahme einer Leistung eines Vertragspartners durch einen Patienten. Folgende Funktionen können in Bezug auf Konsultationen durchgeführt werden:

## Behandlungsfall durchführen:

Die Inanspruchnahme einer Leistung erfolgt als Behandlungsfall (Regel- oder Betriebsfall). Der Regelfall entspricht der früheren Inanspruchnahme mit Krankenschein. Weiters werden ein Fachgebiet, sowie der Krankenversicherungsträger angegeben.
Es lassen sich folgende Vorgangsweisen, wie Behandlungsfälle durchgeführt werden, unterscheiden:

- Konsultation mit e-card (Signatur der e-card wird verwendet, Angabe eines e-card CardTokens notwendig, Angabe der Sozialversicherungsnummer optional)
- Konsultation ohne e-card (Signatur der o-card wird verwendet, Angabe eines o-card CardTokens notwendig, Angabe der Sozialversicherungsnummer notwendig)

CardToken: Informationen hinsichtlich der Nutzung des CardTokens → siehe Kapitel SV-Nummer vs. e-card CardToken.
Offline-Konsultationen: Im Fall einer Netzwerkstörung zum e-card System sind die Daten durch die VPSW zu speichern. Die Daten sind nach Behebung der Netzwerstörung mittels der Funktion doKonsultation() ans e-card System zu übermitteln. Als Kennzeichnung dass es sich dabei um eine offline erfasste Konsultation handelt, ist der Parameter isOffline() mit true anzugeben. Bei der Übermittlung von offline erfassten Konsulationen ist im Request zwingend das Behandlungsdatum anzugeben.
Siehe hierzu auch Kapitel Online- vs. Offline-Konsultationsverwaltung.
Die Unterstützung der Offline-Funktionalität des KSE Service durch die Vertragspartnersoftware ist verpflichtend.
Ersatzbelegcode:
Informationen hinsichtlich des Ersatzbelegcodes entnehmen Sie bitte dem Kapitel Ersatzbelegcode.
Fotoinformation:
Wird im Rückgabeobjekt ErgebnisKonsultationFoto durch den e-card Server der Parameter Fotoinformation versorgt, so muss der darin enthaltene String dem Vertragspartner angezeigt werden.
Zusatzinformation:
Im Objekt ErgebnisKonsultation kann zusätzlich zu den Daten KonsultationsDaten, KseMessageCodes und NachsignKonsultationen das Objekt Zusatzinformation enthalten sein. Siehe hierzu das Kapitel Zusatzinformation verarbeiten und Antwort senden.

##### Szenario 5 - Behandlungsfall durchführen:

Abfrage, ob für den Patienten bereits eine Erstkonsultation besteht:
Optional kann vor der Durchführung der Konsultation geprüft werden, ob für den Patienten bereits eine relevante Erstkonsultation gebucht wurde.
Die Prüfung wird mittels der Funktion getErstkonsultationen() durchgeführt.
Die Funktion erfordert neben den Parametern dialogId, svNummer und fachgebietsCode, den Parameter nacherfassung.
Alle Parameter sind aufgrund anschließender Durchführung der Konsultation zu versorgen. D.h.:

dialogId | Dialog-ID des Dialogs, mit dem im Anschluss die Konsultation gebucht werden soll. Es werden nur Erstkonsultationen zur angemeldeten Kombination aus Ordination und Tätigkeitsbereich ermittelt.
svNummer | SV-Nummer des Patienten, für den im Anschluss die Konsultation gebucht werden soll.
fachgebietsCode | Fachgebiet, für das im Anschluss die Konsultation gebucht werden soll. Äquivalent zur Fachgebietsangabe bei Konsultationsbuchung muss der Vertragspartner an der angemeldeten Kombination aus Ordination und Tätigkeitsbereich einen kurativen Vertrag mit Konsultationsrecht besitzen.
nacherfassung | Der Parameter nacherfassung dient der Feststellung des zu überprüfenden Zeitrahmens. Will man eine aktuelle Konsultation erfassen, ist der Parameter mit false anzugeben; will man eine Konsultation nacherfassen (in diesem Fall wird im anschließenden Aufruf von doKonsultation() ein explizites Behandlungsdatum und ein Nacherfassungsgrund angegeben), ist der Parameter mit true anzugeben. Wird der Parameter nicht versorgt, wird automatisch der Wert false angenommen.

Wird mindestens eine Erstkonsultation gefunden, werden die Daten der Erstkonsultation retourniert.
Aufgrund der Daten der Erstkonsultationen können bei Bedarf bei der Buchung der Konsultation Parameter wie z.B. Behandlungsfall oder KV-Träger voreingestellt werden.
Zusatzinformation verarbeiten und Antwort senden:
Bei der Durchführung einer Konsultation wird festgestellt, dass für den Patienten weitere Informationen im e-card System vorhanden sind. Diese werden im Zuge der Ergebnisübermittlung der Konsultation retourniert. In diesem Fall ist der kseMessageCode mit dem Wert "4", sowie das Objekt Zusatzinformation versorgt.
Im Objekt Zusatzinformation befindet sich der Zusatzinformationstext, sowie die Angabe, wie die Anzeige der Zusatzinformation zu erfolgen hat. Der Zusatzinformationstext muss immer gemeinsam mit dem zurückgemeldeten Krankenversicherungsträger (Ansprechpartner bei Fragen) dem Vertragspartner angezeigt werden. In Abhängigkeit des Parameters antwortAnzeigeBedingung muss dem Vertragspartner eine Möglichkeit der Antwort zur Verfügung gestellt werden.
antwortAnzeigeBedingung gleich "1": Der Vertragspartner wird in der Zusatzinformation zu einer Aktion/Prüfung aufgefordert, auf die er mit "ja" oder "nein" antworten muss. Das Ergebnis der Aktion/Prüfung muss mittels der Funktion sendZusatzinformationsAntwort() übermitteln werden. Als Antwort wird die Information erwartet, ob die Prüfung positiv (Konstante zusatzinformationsAntwort = "1" – JA) bzw. negativ oder nicht (Konstante zusatzinformationsAntwort = "2" – NEIN) durchgeführt wurde.
antwortAnzeigeBedingung gleich "1": Der Vertragspartner wird in der Zusatzinformation über einen Sachverhalt informiert. Es ist keine Ja/Nein Antwortmöglichkeit anzuzeigen. Es ist jedoch der Erhalt bzw. die Kenntnisnahme des Sachverhalts zu bestätigen (z.B. mittels Button "Hinweis erhalten" oder "Zur Kenntnis genommen"). Der Erhalt bzw. die Kenntnisnahme ist mittels der Funktion sendZusatzinformationsAntwort() unter Angabe der zusatzinformationsAntwort = "1" (Ja) zu übermitteln.
Hinweis:
Zusatzinformationen können bei jedem Patienten auftreten und erlauben somit keinerlei Rückschluss über den Patienten.
Im Vertragspartner-Benutzerhandbuch zur Konsultationsverwaltung (KONV) ist eine Liste mit Ansprechpersonen der einzelnen KV-Träger zu finden.
Bsp.:
Zusatzinformationstext = "Bitte überprüfen Sie die Identität des Patienten.", KVT = 11, AntwortAnzeigeBedingung = 1
Der Text und der KV-Träger werden dem Vertragspartner angezeigt. Dieser prüft und bestätigt die Identität. Die Funktion sendZusatzinformationsAntwort wird mit der zugehörigen zusatzinformationsAntwortID und der entsprechenden Konstante für die zusatzinformationsAntwort aufgerufen.

##### Szenario 5 - Zusatzinformationsantwort senden:

## Konsultation stornieren:

Eine bereits durchgeführte Konsultation kann storniert werden.
Achtung: Eine Konsultation, für die im Rahmen des BKF Service bereits eine Dokumentation übermittelt wurde, kann nicht mehr storniert werden.

## Storno zurücksetzen:

In diesem Fall wird eine bereits stornierte Konsultation wieder reaktiviert.

## Behandlungsfall ändern:

Die Funktion aendernKonsultation() dient zur nachträglichen Änderung einer bereits gültigen und im e-card System gespeicherten Konsultation. Es kann lediglich der Behandlungsfall geändert werden.
Achtung: Eine Konsultation, für die im Rahmen des BKF Service bereits eine Dokumentation übermittelt wurde, kann nicht mehr geändert werden.
Zusätzlich ist es nicht möglich, beim Ändern einer Konsultation einen Ersatzbelegcode anzugeben. Wird beim Ändern einer Konsultation erkannt, dass ein Ersatzbelegcode zur Durchführung der Konsultation benötigt wird, wird mit der Exception ERSATZBELEG_NEEDED_NO_CHANGE_POSSIBLE abgebrochen. In diesem Fall kann die Änderung nicht durchgeführt werden. Zur Erfassung der gewünschten Konsultation ist (sofern ein passender Ersatzbeleg vorliegt) die zu ändernde Konsultation zu stornieren und eine neue Konsultation nachzuerfassen.

## Behandlungsfall nacherfassen:

In Störungsfällen und nach Hausbesuchen können die Daten von Patienten manuell nacherfasst werden und als Request an das e-card System gesendet. Es lassen sich folgende Nacherfassungsgründe unterscheiden:

- Aufgrund von Hausbesuch
- Aufgrund einer Störung
- Aufgrund einer Behandlung außerhalb der Ordination(szeit)
- Aufgrund einer nachträglichen Anspruchsermittlung

Die Nacherfassung einer Konsultation findet mittels der Funktion doKonsultation() statt (siehe auch Behandlungsfall durchführen).
CardToken: Informationen hinsichtlich der Nutzung des CardTokens, siehe Kapitel SV-Nummer vs. e-card CardToken.
Offline-Konsultationen: Im Fall einer Nichterreichbarkeit des e-card Systems sind durch die VPSW die Daten zu speichern. Die Daten sind nach Wiedererreichbarkeit mittels der Funktion doKonsultation() ans eCS zu übermitteln. Als Kennzeichnung dass es sich dabei um eine offline erfasste Konsultation handelt, ist der Parameter isOffline() mit true anzugeben. Bei der Übermittlung von offline erfassten Konsulationen ist im Request zwingend das Behandlungsdatum anzugeben.
Siehe hierzu auch Kapitel Online- vs. Offline-Konsultationsverwaltung.
Die Unterstützung dieser Offline-Funktionalität des KSE-Service durch die Vertragspartnersoftware ist verpflichtend.
Fotoinformation:
Wird im Rückgabeobjekt ErgebnisKonsultationFoto durch den e-card Server der Parameter Fotoinformation versorgt, so ist der darin enthaltene String dem Vertragspartner anzuzeigen.
Ersatzbelegcode:
Informationen hinsichtlich dem Ersatzbelegcode entnehmen Sie bitte dem Kapitel Ersatzbelegcode.

## e-card nachbringen (Konsultation nachsignieren)

Die e-card wird nachgebracht, weil Konsultationen ohne e-card durchgeführt wurden. Dafür wird ein Konsultationsbeleg mit der nachgebrachten e-card erstellt.
Konsultationen, die mit der o-card durchgeführt wurden erhöhen den Limitzähler am e-card-Serversystem, ein Nachbringen reduziert diesen Zähler wieder. Derart nachsignierte Konsultationsdaten werden mit einem Kennzeichen für "nachgebrachte e-card" versehen.
Wurde das Limit für o-card-Konsultationen überschritten, produziert das e-card-System keine Fehlermeldung, der Status ist aber über die entsprechende Funktion (getLimits()) abrufbar.
CardToken: Informationen hinsichtlich der Nutzung des CardTokens, siehe Kapitel SV-Nummer vs. e-card CardToken.
Offlinekonsultationen: Im Fall einer Netzwerkstörung zum e-card-Serversystem sind durch die VPSW die Daten zu speichern. Die Daten sind nach Behebung der Netzwerstörung mittels der Funktion doKonsultation() ans e-card System zu übermitteln. Als Kennzeichnung, dass es sich dabei um eine offline erfasste Konsultation handelt, ist der Parameter isOffline() mit true anzugeben. Bei der Übermittlung von offline erfassten Konsulationen ist im Request zwingend das Behandlungsdatum anzugeben.
Siehe hierzu auch Kapitel Online- vs. Offline-Konsultationsverwaltung.

## Konsultationsdaten anfordern

Für die Abfrage von Konsultationsdaten gilt:
Bei einer Abfrage werden immer nur eine gewisse Anzahl an Konsultationsdaten retouniert.
Per Default liegt dieser Wert bei 100 Konsultationen.
Werden bei einer Abfrage mehr als der definierte Wert an Konsultationen gefunden, werden nur zu dieser Anzahl die Konsultationsdaten retourniert. Für alle weiteren Konsultationen werden nur die IDs retourniert. Die weiteren Konsultationen können anschließend mit der Funktion getKonsultationsdatenByIds() abgefragt werden. Die Abfragen sind dabei so aufzuteilen, dass immer maximal die definierte Anzahl an Konsultationen anhand deren IDs abgefragt wird.
Beispiel: Abfrage mittels Konsultationsdaten-Download (Anzahl = 100)
Es stehen 1500 Konsultationen für die Abfrage bereit. Die Funktion downloadKonsultationsdaten() liefert nur die Konsultationsdaten von 100 Konsultationen. Von den restlichen 1400 Konsultationen werden nur die IDs retourniert. Diese Konsultationen können mittels der Funktion getKonsultationsdatenByIds() abgefragt werden, wobei insgesamt 14 Abfragen mit je 100 Konsultations-IDs notwendig sind.
Abfrage der Konsultationsdaten des Vertragspartners zwecks Korrekturfunktionen:
Mittels der Funktion getKonsultationsdaten() können Konsultationen abgefragt werden, die dem Benutzer für Korrekturfunktionen (Stornieren, Wieder-in-Kraft-Setzen, Ändern) angeboten werden.
Abfrage der Konsultationsdaten des Vertragspartners z.B. zwecks Abrechnung
Der Vertragspartner kann "seine" Konsultationsdaten für die laufende bzw. für die vorangegangene Abrechnungsperiode vom e-card System abfragen. Die Funktion "Konsultationsdaten (vom e-card System) anfordern" (sendKonsultationsdatenAnfrage(), getKonsultationsdatenAnfragen() und downloadKonsultationsdaten() bzw. getKonsultationsdaten()) gibt dem Vertragspartner die Möglichkeit, nicht in der Vertragspartnersoftware gespeicherte Konsultationsdaten zu übernehmen (und somit der Vertragspartnersoftware zur Verfügung zu stellen).
Diese Funktionalität kann synchron bzw. asynchron durchgeführt werden, wobei Unterschiede bei den Einschränkungen der Suchkriterien sowie im Ergebnis liegen.
Das Vorliegen der Antwort beim asynchronen Anfordern der Konsultationsdaten wird über den Benachrichtigungsmechanismus signalisiert (für Informationen über den Abfragemechanismus mit einem entsprechenden Szenario, siehe "Benachrichtigungsmechanismus" in der Package-Beschreibung des BASE Service).

##### Szenario 5 - Download Konsultationsdaten: