at.chipkarte.client.abs.soap

## Interface IAbsService

-     public interface IAbsService

  Dieses Service stellt die Funktionalitäten für das Arzneimittelbewilligungsservice (ABS) Version 13 zur Verfügung.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `LangzeitbewilligungsAbfrageErgebnis[]` | `abfragenLangzeitbewilligung(String dialogId, String sVNRPatient, String cardToken)` Diese Funktion fragt ab, ob für einen bestimmten Patienten eine Langzeitbewilligung oder Arztbriefbewilligung im Bewilligungsvorrat besteht.
    `BewilligungsAnfrage` | `ermittelnPatientenDaten(String dialogId, String svNummer, String svtCode, String ekvkNummer, String geschlecht, String nachname, String vorname, String antragstyp, String cardToken)` Diese Funktion prüft bzw. ermittelt anhand der eingegebenen Daten die Personendaten, den zulässigen KV-Träger und den Antragstyp.
    `Rueckantwort` | `getRueckantwort(String dialogId, String anfrageId)` Diese Funktion liefert die Rückantwort zu einer Bewilligungsanfrage.
    `StatusBewilligungsAnfrage[]` | `getStatusBewilligungsAnfragen(String dialogId, FilterKriterien filterkriterien)` Diese Funktion liefert den Status sämtlicher Bewilligungsanfragen des aktuellen Zeitfensters.
    `StatusBewilligungsAnfrage[]` | `getStatusPatientBewilligungsAnfragen(String dialogId, String svNummer, String nachname, String vorname, String cardToken)` Diese Funktion liefert den Status bereits beantworteter Bewilligungsanfragen innerhalb eines definierten Zeitfensters zurück.
    `SvtProperty[]` | `getSVTs(String dialogId)` Mit dieser Funktion werden alle zurzeit gültigen Krankenversicherungsträger für ABS geliefert.
    `AnfrageAntwort` | `sendenAnfrage(String dialogId, BewilligungsAnfrage anfrage, String cardToken, DataHandler attachment)` Diese Funktion sendet eine Bewilligungsanfrage an den Ordinationsclient.
    `FolgeverordnungsAusstellungsErgebnis` | `sendenFolgeverordnung(String dialogId, FolgeverordnungsAusstellungsParameter ausstellungsParameter, String cardToken)` Diese Funktion stellt (auf Basis einer bestehenden Langzeitbewilligung oder Arztbriefbewilligung) eine Folgeverordnung aus und bestätigt die Ausstellung.

- - ### Method Detail

    - #### sendenAnfrage

          AnfrageAntwort sendenAnfrage(String dialogId,
                                       BewilligungsAnfrage anfrage,
                                       String cardToken,
                                       DataHandler attachment)
                                throws ServiceException,
                                       DialogException,
                                       InvalidParameterBewilligungsanfrageException,
                                       AbsException,
                                       AccessException

      Diese Funktion sendet eine Bewilligungsanfrage an den Ordinationsclient.

      Die Kennzeichnung einer Bewilligungsanfrage (Bewilligungsanfrage im Rahmen einer Rezeptausstellung bzw. Bewilligungsanfrage im Rahmen einer Arztbrieferstellung) erfolgt anhand des Antragstyps (siehe `Antragstyp`). Bewilligungsanfragen, die keine Rezeptausstellung zur Folge haben, können im Gegensatz zu den Bewilligungsanfragen zur Ausstellung eines Rezeptes, nur von Benutzern mit dem Recht für Bewilligungsanfragen im Rahmen der Arztbrieferstellung durchgeführt werden. Für etwaige Rückfragen kann optional eine Verordnerinformation angegeben werden, die nicht weiter geprüft wird.
      Einer Bewilligungsanfrage kann ein ZIP-Archiv als SOAP-Attachment angehängt werden, welches maximal 10 Dateien beinhalten darf. Die entpackten Dateien dürfen insgesamt die Größe von 3 MB (3245728 Byte / 3,095 MByte) nicht überschreiten.
      Generelle Informationen hinsichtlich der Übermittlung des Anhangs (SOAP-Attachment mittels MTOM) siehe Abschnitt "Attachments" in Overview .
      Die einzelnen Dateinamen müssen zwischen 5 und 128 Zeichen (inkl. Dateinamenerweiterung) haben.
      Erlaubte Dateinamenerweiterungen im Archiv: gif, jpg, jpeg, pdf, png, tiff, tif, xml.
      Die Bewilligungsanfrage wird zu einem späteren Zeitpunkt bearbeitet. Die Benachrichtigung, dass die Rückantwort zur Abholung bereitsteht, erfolgt über den Messaging-Mechanismus. Hat die Meldung die Kategorie `RUECKANTWORT`, können die bereitgestellten Statusantworten über die Funktion `getStatusBewilligungsAnfragen` angefordert werden.

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).
      - Falls es sich um eine Bewilligungsfrage für Rezeptausstellung handelt, ist das Recht für Bewilligungsanfragen im Rahmen der Rezeptausstellung (siehe `ABS_REZEPTUR`) notwendig. Bewilligungsanfragen im Rahmen einer Arztbrieferstellung sind nur von Vertragspartnern in Krankenanstalten mit dem Recht für Bewilligungsanfragen im Rahmen der Arztbrieferstellung (siehe `ABS_ARZTBRIEF`) zulässig.
      - Es ist sicherzustellen, dass ein XML-Parser verwendet wird, der die Reihenfolge der Verordnungen innerhalb der Bewilligungsanfrage nicht verändert.

      Laufzeitgruppe:

      - bei Anfragen ohne Attachment - Mittel
      - bei Anfragen mit Attachment - Lang
      Bei Aufruf der Funktion ohne Attachment, ist die Laufzeitgruppe Mittel ausreichend. Bei Anfragen mit Attachment, kann die in der Laufzeitgruppe Mittel definierte Zeitspanne unter Umständen nicht mehr eingehalten werden (in Abhängigkeit von der Attachmentgröße sowie der vom Provider zur Verfügung gestellten Upload-Bandbreite). Es wird daher empfohlen für diese Requests die Laufzeitgruppe Lang zu verwenden.
      Wird keine Unterscheidung aufgrund der Attachmentverwendung gewünscht, ist sicherheitshalber die Laufzeitgruppe Lang zu wählen!

      Replayability: Ja

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
        `anfrage` - `BewilligungsAnfrage`
        `cardToken` - Mit e-card erzeugtes Signaturtoken. Informationen bzgl. der Angabe des Parameters in Zusammenhang mit SV-Nummer/EKVK-Nummer siehe `PatientenDaten`.
        `attachment` - Bewilligungsanfrage als SOAP-Attachment (ZIP-Archiv)
      Returns:
        Objekt vom Typ AnfrageAntwort - Ergebnis der Anfrage
      Throws:
        `AccessException` - `MISSING_ABS_REZEPTUR`, `MISSING_ABS_ARZTBRIEF`, `MISSING_ABS_Core`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `DialogException` - `CORRUPT_DIALOGID`, `DIALOG_CANCELED`, `DIALOG_INVALID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_TIMEOUT`, `DIALOG_UNKNOWN`, `INVALID_TRANSACTION_ID`, `ORDINATION_ID_NOTSET`, `ORDINATION_ID_UNKNOWN`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `SIGNATURE_INVALID`, `CARD_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `InvalidParameterBewilligungsanfrageException` - `ATTACHMENT_DUPLICATE`, `ATTACHMENT_INVALID`, `ATTACHMENT_MAX_FILES_EXCEEDED`, `ATTACHMENT_NAME_NOT_VALID`, `ATTACHMENT_TYP_NOT_VALID`, `BEGRUENDUNG_INVALID`, `BEGRUENDUNG_NOT_SET`, `DIAGNOSE_INVALID`, `DIAGNOSE_NOT_SET`, `DOSIERUNG_INVALID`, `EKVK_NUMMER_INVALID`, `GESCHLECHT_PATIENT_INVALID`, `INTERNAL_ERROR`, `KOSTENTRAEGER_INVALID`, `LANGZEITVERORDNUNG_INVALID`, `MAGISTRALE_ZUBEREITUNG_INVALID`, `MEDIKAMENT_INVALID`, `MEDIKAMENT_NAME_NOT_SET`, `MEDIKAMENT_ZUBEREITUNG_NOT_SET`, `NACHNAME_PATIENT_INVALID`, `NACHNAME_PATIENT_NOT_SET`, `PACKUNGSANZAHL_NOT_SET`, `PACKUNGSANZAHL_INVALID`, `PHARMANUMMER_INVALID`, `SVNR_EKVKNR_NOT_SET`, `SVNR_PATIENT_INVALID`, `VERORDNUNG_MAX_EXCEEDED`, `VERORDNUNG_NOT_SET`, `VORNAME_PATIENT_INVALID`, `VORNAME_PATIENT_NOT_SET`, `ATTACHMENT_FILESIZE_NOT_ALLOWED`, `ANTRAGSTYP_INVALID`, `ANTRAGSTYP_NOT_SET`, `VERORDNERINFORMATION_INVALID`, `CARDTOKEN_AND_NACHNAME_NOT_ALLOWED`, `CARDTOKEN_AND_VORNAME_NOT_ALLOWED`
        `AbsException` - `NO_KVA_ANSPRUCH`, `NO_KVA_LEISTUNGSANSPRUCH_EXCEPTION`, `NO_KVT_PROVIDED`, `NO_PRESCRIPTION_RIGHT`, `SV_NUMMER_INVALID`

    - #### getStatusBewilligungsAnfragen

          StatusBewilligungsAnfrage[] getStatusBewilligungsAnfragen(String dialogId,
                                                                    FilterKriterien filterkriterien)
                                                             throws ServiceException,
                                                                    DialogException,
                                                                    AccessException,
                                                                    InvalidParameterGetAnfrageStatusException

      Diese Funktion liefert den Status sämtlicher Bewilligungsanfragen des aktuellen Zeitfensters.

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).
      - Das Recht `ABS_CORE`.

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
        `filterkriterien` - Filterkriterien zur Einschränkung des Ergebnisses.
        Dieser Parameter ist optional. Wird er nicht angegeben, liefert die Funktion den Status sämtlicher Bewilligungsanfragen des aktuellen Zeitfensters. Wird er angegeben, so wird das Ergebnis entsprechend eingeschränkt.
      Returns:
        Objekt vom Typ StatusBewilligungsAnfrage[]
      Throws:
        `AccessException` - `MISSING_ABS_CORE`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `DialogException` - `CORRUPT_DIALOGID`, `DIALOG_CANCELED`, `DIALOG_INVALID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_TIMEOUT`, `DIALOG_UNKNOWN`, `INVALID_TRANSACTION_ID`, `ORDINATION_ID_NOTSET`, `ORDINATION_ID_UNKNOWN`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `InvalidParameterGetAnfrageStatusException` - `ANFRAGESTATUS_INVALID`, `DATE_INVALID`, `DATE_ORDER_WRONG`

    - #### getRueckantwort

          Rueckantwort getRueckantwort(String dialogId,
                                       String anfrageId)
                                throws AccessException,
                                       ServiceException,
                                       DialogException,
                                       InvalidParameterRueckantwortException,
                                       AbsException

      Diese Funktion liefert die Rückantwort zu einer Bewilligungsanfrage.

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).
      - Das Recht `ABS_CORE`.
      - Es ist sicherzustellen, dass ein XML-Parser verwendet wird, der die Reihenfolge der Verordnungen innerhalb der Bewilligungsanfrage nicht verändert.

      Laufzeitgruppe: Mittel

      Replayability: Ja

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
        `anfrageId` - Format: maximal 38-stellig
        Es gibt zwei Möglichkeiten, die nötige `anfrageId` zu ermitteln:
        - aus dem Rückgabewert der Funktion `sendenAnfrage`
        - aus dem Attribut `Message.getData()`, die von der Funktion `IBaseService.getMessages` zurückgeliefert wird.
      Returns:
        Objekt vom Typ Rueckantwort
      Throws:
        `AccessException` - `MISSING_ABS_CORE`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `DialogException` - `CORRUPT_DIALOGID`, `DIALOG_CANCELED`, `DIALOG_INVALID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_TIMEOUT`, `DIALOG_UNKNOWN`, `INVALID_TRANSACTION_ID`, `ORDINATION_ID_NOTSET`, `ORDINATION_ID_UNKNOWN`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `InvalidParameterRueckantwortException` - `ANFRAGE_ID_NOT_NUMERIC`, `ANFRAGE_ID_NOT_SET`
        `AbsException` - `INVALID_ANFRAGE_ID`

    - #### getSVTs

          SvtProperty[] getSVTs(String dialogId)
                         throws ServiceException,
                                DialogException,
                                AccessException

      Mit dieser Funktion werden alle zurzeit gültigen Krankenversicherungsträger für ABS geliefert.

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).

      Laufzeitgruppe: Kurz

      Replayability: Nein

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
      Returns:
        Objekt vom Typ SvtProperty[] - Array der Krankenversicherungsträger, siehe auch `SvtProperty`
      Throws:
        `AccessException` - `MISSING_ABS_CORE`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `DialogException` - `DIALOG_INVALID`, `ORDINATION_ID_NOTSET`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `DIALOG_UNKNOWN`, `ORDINATION_ID_UNKNOWN`, `CORRUPT_DIALOGID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`

    - #### abfragenLangzeitbewilligung

          LangzeitbewilligungsAbfrageErgebnis[] abfragenLangzeitbewilligung(String dialogId,
                                                                            String sVNRPatient,
                                                                            String cardToken)
                                                                     throws AccessException,
                                                                            DialogException,
                                                                            ServiceException,
                                                                            AbsException,
                                                                            InvalidParameterBewilligungsanfrageException

      Diese Funktion fragt ab, ob für einen bestimmten Patienten eine Langzeitbewilligung oder Arztbriefbewilligung im Bewilligungsvorrat besteht.
      Wird mindestens eine Langzeitbewilligung oder Arztbriefbewilligung gefunden, so werden die Daten der gefundenen Bewilligungen sowie die Daten, die zur Durchführung einer Folgeverordnung zu diesen Bewilligungen benötigt werden, zurückgeliefert.

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).
      - Ein mit e-card erzeugtes CardToken wurde angegeben, oder es liegt eine gültige Konsultation für diesen Patienten im System vor, oder eine gültige e-Berechtigung im e-card System wurde gespeichert.
      - Das Recht für Bewilligungsanfragen im Rahmen der Rezeptausstellung (siehe `ABS_REZEPTUR`).

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
        `sVNRPatient` - Sozialversicherungsnummer des Patienten. Format: 10-stellig
        Dieser Parameter ist optional. Wird die SVNR nicht angegeben, muss ein mit e-card erzeugtes CardToken angegeben werden. Wird die SVNR gemeinsam mit dem CardToken angegeben, so muss das CardToken mit der entsprechenden e-card erzeugt worden sein.
        `cardToken` - Mit e-card erzeugtes Signaturtoken. Wird die SVNR nicht angegeben, muss ein mit e-card erzeugtes CardToken angegeben werden. Wird die SVNR gemeinsam mit dem CardToken angegeben, so muss das CardToken mit der entsprechenden e-card erzeugt worden sein.
      Returns:
        Objekt vom Typ LangzeitbewilligungsAbfrageErgebnis[] - Array der Abfrageergebnisse der Langzeitbewilligungsabfrage
      Throws:
        `AccessException` - `MISSING_ABS_REZEPTUR` `MISSING_ABS_CORE`
        `AbsException` - `NO_KVA_ANSPRUCH`, `NO_KVA_LEISTUNGSANSPRUCH_EXCEPTION`, `NO_LZB_FOUND`, `NO_PHYSICIAN_PATIENT_RELATIONSHIP`, `NO_PRESCRIPTION_RIGHT`, `UNAVAILABLE_BE`, `SV_NUMMER_INVALID`
        `DialogException` - `CORRUPT_DIALOGID`, `DIALOG_CANCELED`, `DIALOG_INVALID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_TIMEOUT`, `DIALOG_UNKNOWN`, `INVALID_TRANSACTION_ID`, `ORDINATION_ID_NOTSET`, `ORDINATION_ID_UNKNOWN`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `SIGNATURE_INVALID`, `CARD_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `InvalidParameterBewilligungsanfrageException` - `INTERNAL_ERROR`, `SVNR_PATIENT_INVALID`, `CARDTOKEN_SVNR_NOT_SET`
        `ServiceException` - `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### sendenFolgeverordnung

          FolgeverordnungsAusstellungsErgebnis sendenFolgeverordnung(String dialogId,
                                                                     FolgeverordnungsAusstellungsParameter ausstellungsParameter,
                                                                     String cardToken)
                                                              throws AccessException,
                                                                     DialogException,
                                                                     ServiceException,
                                                                     AbsException,
                                                                     InvalidParameterBewilligungsanfrageException

      Diese Funktion stellt (auf Basis einer bestehenden Langzeitbewilligung oder Arztbriefbewilligung) eine Folgeverordnung aus und bestätigt die Ausstellung.

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).
      - Ein mit e-card erzeugtes CardToken wurde angegeben, oder es liegt eine gültige Konsultation für diesen Patienten im System vor, oder eine gültige e-Berechtigung im e-card System wurde gespeichert.
      - Funktion `abfragenLangzeitbewilligung` wurde erfolgreich ausgeführt.
      - Das Recht für Bewilligungsanfragen im Rahmen der Rezeptausstellung (siehe `ABS_REZEPTUR`).

      Laufzeitgruppe: Mittel

      Replayability: Ja

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
        `ausstellungsParameter` - Die Ausstellungsparameter der Folgeverordnung. Siehe `FolgeverordnungsAusstellungsParameter`.
        `cardToken` - Mit e-card erzeugtes Signaturtoken. Informationen bzgl. der Angabe des Parameters in Zusammenhang mit den SV-Nummer des Patienten siehe `FolgeverordnungsAusstellungsParameter`.
      Returns:
        Objekt vom Typ FolgeverordnungsAusstellungsErgebnis - Das Ausstellungsergebnis der Folgeverordnung
      Throws:
        `AccessException` - `MISSING_ABS_REZEPTUR` `MISSING_ABS_CORE`
        `AbsException` - `LZB_CONFIRMATIONAMOUNT_EXCEEDED`, `LZB_RETENTION_PERIOD`, `NO_KVA_ANSPRUCH`, `NO_KVA_LEISTUNGSANSPRUCH_EXCEPTION`, `NO_KVT_PROVIDED`, `NO_LZB_FOUND`, `NO_PRESCRIPTION_RIGHT`, `REPEATED_LZB_CONFIRMATION`, `UNAVAILABLE_BE`, `NO_PHYSICIAN_PATIENT_RELATIONSHIP`, `SV_NUMMER_INVALID`
        `DialogException` - `CORRUPT_DIALOGID`, `DIALOG_CANCELED`, `DIALOG_INVALID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_UNKNOWN`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `ORDINATION_ID_NOTSET`, `ORDINATION_ID_UNKNOWN`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `SIGNATURE_INVALID`, `CARD_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `InvalidParameterBewilligungsanfrageException` - `INTERNAL_ERROR`, `KOSTENTRAEGER_INVALID`, `MEDIKAMENT_INVALID`, `PACKUNGSANZAHL_INVALID`, `PHARMANR_MEDIKAMENT_NOT_SET`, `PHARMANUMMER_INVALID`, `SVNR_PATIENT_INVALID`, `CARDTOKEN_SVNR_NOT_SET`
        `ServiceException` - `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### ermittelnPatientenDaten

          BewilligungsAnfrage ermittelnPatientenDaten(String dialogId,
                                                      String svNummer,
                                                      String svtCode,
                                                      String ekvkNummer,
                                                      String geschlecht,
                                                      String nachname,
                                                      String vorname,
                                                      String antragstyp,
                                                      String cardToken)
                                               throws AccessException,
                                                      DialogException,
                                                      ServiceException,
                                                      AbsException,
                                                      InvalidParameterBewilligungsanfrageException

      Diese Funktion prüft bzw. ermittelt anhand der eingegebenen Daten die Personendaten, den zulässigen KV-Träger und den Antragstyp.

      Bei positiver Durchführung wird eine `BewilligungsAnfrage` mit bereits ausgefüllten Personendaten retourniert. Diese kann als Basis für das Senden einer Bewilligungsanfrage dienen (Angabe der Verordnungen und Verordnerinformationen fehlen noch zur gültigen Bewilligungsanfrage). Aus diesem Grund wird bereits in dieser Funktion auf eine valide Versorgung des Antragscodes geprüft (Berechtigungen zur anschließenden Anfrageerfassung).

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).
      - Falls es sich um eine Abfrage zur anschließenden Erstellung einer Bewilligungsfrage für Rezeptausstellung handelt, ist das Recht für Bewilligungsanfragen im Rahmen der Rezeptausstellung (siehe `ABS_REZEPTUR`) notwendig. Bewilligungsanfragen im Rahmen einer Arztbrieferstellung sind nur von Vertragspartnern in Krankenanstalten mit dem Recht für Bewilligungsanfragen im Rahmen der Arztbrieferstellung (siehe `ABS_ARZTBRIEF`) zulässig. Zur Ermittlung der Rechte siehe `IBaseService.getBerechtigungen(java.lang.String)`

      Laufzeitgruppe: Mittel

      Replayability: Ja

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
        `svNummer` - Die Sozialversicherungsnummer des Patienten, sofern der Patient in Österreich versichert ist.
        Format: 10-stellig, numerisch
        Die Sozialversicherungsnummer muss den Regeln für Sozialversicherungsnummern entsprechen (Prüfziffer).
        Es muss entweder die SVNummer, die EKVKNummer oder das CardToken angegeben sein. Wird die SVNummer gemeinsam mit dem CardToken angegeben, so muss das CardToken mit der entsprechenden e-card erzeugt worden sein.
        `svtCode` - Der eindeutige Code des leistungszuständigen Krankenversicherungsträgers.
        Siehe `IAbsService.getSVTs(String)` bzw. auch `SvtProperty#getCode()`.
        Format: 2-stellig, alphanumerisch Die Angabe des KVT-Codes ist optional. In diesem Fall wird der KVT vom System automatisch ermittelt.
        `ekvkNummer` - Die EKVK-Nummer des Patienten aus der europäischen Krankenversicherungskarte (EKVK), sofern der Patient im EU-Ausland versichert ist.
        Format: maximal 20-stellig
        Es muss entweder die SVNummer, die EKVKNummer oder das CardToken angegeben sein. Die EKVKNummer darf nicht gemeinsam mit dem CardToken oder der SV-Nummer angegeben werden.
        `geschlecht` - Geschlecht des Patienten.
        Wertebereich: siehe `Geschlecht`
        Die Angabe des Geschlechts ist optional. Für die Eingabe sind nur die Werte `M` und `W` zulässig. Wird ignoriert bei Angabe einer SV-Nummer.
        `nachname` - Nachname des Patienten.
        Format: maximal 70-stellig
        Muss eingegeben werden wenn eine EKVK-Nummer angegeben wurde. Wird ignoriert bei Angabe einer SV-Nummer.
        `vorname` - Vorname des Patienten.
        Format: maximal 70-stellig
        Muss eingegeben werden wenn eine EKVK-Nummer angegeben wurde. Wird ignoriert bei Angabe einer SV-Nummer.
        `antragstyp` - Die Kennzeichnung der Bewilligungsanfrage (Bewilligungsanfrage im Rahmen einer Rezeptausstellung beziehungsweise einer Arztbrieferstellung), für die vorab der Patient geprüft werden soll.
        Wertebereich: siehe `Antragstyp`).
        `cardToken` - Mit e-card erzeugtes Signaturtoken. Es muss entweder die SVNummer, die EKVKNummer oder das CardToken angegeben sein. Wird die SVNummer gemeinsam mit dem CardToken angegeben, so muss das CardToken mit der entsprechenden e-card erzeugt worden sein. Die EKVKNummer darf nicht gemeinsam mit dem CardToken angegeben werden.
      Returns:
        Objekt vom Typ BewilligungsAnfrage - Bewilligungsanfrage mit bereits ausgefüllten Personendaten, die als Basis für das Senden verwendet werden kann.
      Throws:
        `AccessException` - `MISSING_ABS_REZEPTUR`, `MISSING_ABS_ARZTBRIEF` `MISSING_ABS_CORE`
        `DialogException` - `CORRUPT_DIALOGID`, `DIALOG_CANCELED`, `DIALOG_INVALID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_TIMEOUT`, `DIALOG_UNKNOWN`, `INVALID_TRANSACTION_ID`, `ORDINATION_ID_NOTSET`, `ORDINATION_ID_UNKNOWN`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `SIGNATURE_INVALID`, `CARD_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `AbsException` - `NO_KVA_ANSPRUCH`, `NO_KVA_LEISTUNGSANSPRUCH_EXCEPTION`, `NO_KVT_PROVIDED`, `NO_PRESCRIPTION_RIGHT`, `SV_NUMMER_INVALID`
        `InvalidParameterBewilligungsanfrageException` - `INTERNAL_ERROR`, `SVNR_PATIENT_INVALID`, `EKVK_NUMMER_INVALID`, `GESCHLECHT_PATIENT_INVALID`, `KOSTENTRAEGER_INVALID`, `NACHNAME_PATIENT_INVALID`, `NACHNAME_PATIENT_NOT_SET`, `SVNR_EKVKNR_NOT_SET`, `VORNAME_PATIENT_INVALID`, `VORNAME_PATIENT_NOT_SET`, `ANTRAGSTYP_INVALID`, `ANTRAGSTYP_NOT_SET`, `CARDTOKEN_AND_NACHNAME_NOT_ALLOWED`, `CARDTOKEN_AND_VORNAME_NOT_ALLOWED`

    - #### getStatusPatientBewilligungsAnfragen

          StatusBewilligungsAnfrage[] getStatusPatientBewilligungsAnfragen(String dialogId,
                                                                           String svNummer,
                                                                           String nachname,
                                                                           String vorname,
                                                                           String cardToken)
                                                                    throws AccessException,
                                                                           DialogException,
                                                                           ServiceException,
                                                                           InvalidParameterBewilligungsanfrageException,
                                                                           InvalidParameterGetAnfrageStatusException,
                                                                           AbsException

      Diese Funktion liefert den Status bereits beantworteter Bewilligungsanfragen innerhalb eines definierten Zeitfensters zurück.

      Voraussetzung:

      - Der Dialog wurde erfolgreich aufgebaut. Die Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Online-Status (siehe Online-/Offline-Status).
      - Das Recht `ABS_CORE`.

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Identifiziert einen aufgebauten Dialog
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10-stellig
        Es muss entweder ein e-card-Token oder mindestens eines der Felder SV-Nummer, Nachname oder Vorname angegeben werden. Wird die SVNR gemeinsam mit dem CardToken angegeben, so muss das CardToken mit der entsprechenden e-card erzeugt worden sein.
        `nachname` - Nachname des Patienten.
        Format: mindestens 2-stellig, maximal 70-stellig
        Es muss entweder ein e-card-Token oder mindestens eines der Felder SV-Nummer, Nachname oder Vorname angegeben werden. Der Nachname darf nicht gemeinsam mit dem CardToken angegeben werden.
        `vorname` - Vorname des Patienten.
        Format: mindestens 2-stellig, maximal 70-stellig
        Es muss entweder ein e-card-Token oder mindestens eines der Felder SV-Nummer, Nachname oder Vorname angegeben werden. Der Vorname darf nicht gemeinsam mit dem CardToken angegeben werden.
        `cardToken` - Mit e-card erzeugtes Signaturtoken. Es muss entweder ein e-card-Token oder mindestens eines der Felder SV-Nummer, Nachname oder Vorname angegeben werden. Wird die SVNR gemeinsam mit dem CardToken angegeben, so muss das CardToken mit der entsprechenden e-card erzeugt worden sein. Der Nachname und der Vorname darf nicht gemeinsam mit dem CardToken angegeben werden.
      Returns:
        Objekt vom Typ StatusBewilligungsAnfrage[]
      Throws:
        `AccessException` - `MISSING_ABS_CORE`
        `DialogException` - `CORRUPT_DIALOGID`, `DIALOG_CANCELED`, `DIALOG_INVALID`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_TIMEOUT`, `DIALOG_UNKNOWN`, `INVALID_TRANSACTION_ID`, `ORDINATION_ID_NOTSET`, `ORDINATION_ID_UNKNOWN`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `SIGNATURE_INVALID`, `CARD_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `InvalidParameterBewilligungsanfrageException` - `INTERNAL_ERROR`, `SVNR_PATIENT_INVALID`, `NACHNAME_PATIENT_INVALID`, `VORNAME_PATIENT_INVALID`, `CARDTOKEN_AND_NACHNAME_NOT_ALLOWED`, `CARDTOKEN_AND_VORNAME_NOT_ALLOWED`, `CARDTOKEN_SVNR_NACHNAME_VORNAME_NOT_SET`
        `InvalidParameterGetAnfrageStatusException` - `NO_DATA_FOUND`
        `AbsException` - `SV_NUMMER_INVALID`