at.chipkarte.client.vdas.soap

## Interface IVdasService

-     public interface IVdasService

  Dieses Service stellt die Funktionalitäten des Versichertendatenabfrageservice (VDAS) zur Verfügung.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `VersichertendatenAbfrageErgebnis` | `getVersichertenDaten(String dialogId, VersichertendatenAbfrage suchKriterien, String cardToken)` Mit dieser Funktion werden die tagesaktuellen Versichertendaten eines Patienten abgefragt.
    `VersichertendatenAbfrageErgebnis` | `retrieveVersichertendatenPerStichtag(String dialogId, VersichertendatenAbfragePerStichtag suchKriterien, String cardToken)` Mit dieser Funktion wird eine stichtagsaktuelle Versichertendatenabfrage durchgeführt.

- - ### Method Detail

    - #### retrieveVersichertendatenPerStichtag

          VersichertendatenAbfrageErgebnis retrieveVersichertendatenPerStichtag(String dialogId,
                                                                                VersichertendatenAbfragePerStichtag suchKriterien,
                                                                                String cardToken)
                                                                         throws AccessException,
                                                                                ServiceException,
                                                                                DialogException,
                                                                                VdasException,
                                                                                InvalidParameterVdasException

      Mit dieser Funktion wird eine stichtagsaktuelle Versichertendatenabfrage durchgeführt. Es können in der Vergangenheit liegende Anspruchsdaten gesucht werden.

      Die Abfrage kann wahlweise mit Cardtoken oder Software-Zertifikat durchgeführt werden.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Dialog ist im Online-Modus.
      - Zugriff auf VDAS zur Abfrage der tagesaktuellen Versichertendaten (siehe `VDAS_CORE`) und Zugriff auf VDAS zur Abfrage von Versichertendaten für ein bestimmtes Datum (in der Vergangenheit liegend), sowie zur Anzeige aller Ansprüche eines Patienten bei gemischter Mehrfachversicherung (ÖGK-Träger und Sonderversicherungsträger) (siehe `VDAS_ANSPRUCH_HISTORISCH`).
      - Bei Durchführung mit Cardtoken muss ein SV-Signaturtoken erstellt werden. Bei Erstellung des Signaturtokens mit der o-card muss zusätzlich die SV-Nummer des Patienten angegeben werden.
      - Bei Durchführung mit Software-Zertifikat muss zusätzlich die SV-Nummer des Patienten angegeben werden.

      Laufzeitgruppe: Mittel

      Replayability: Ja

      Parameters:
        `dialogId` - Dialog-Id eines aufgebauten Dialogs.
        `suchKriterien` - Die Suchkriterien für eine Abfrage der stichtagsaktuellen Versichertendaten für einen Patienten.
        `cardToken` - Mit e-card oder o-card erzeugtes Signaturtoken.
        Wird ein mit e-card erstelltes Token angegeben, ist die Angabe einer SV-Nummer in `suchKriterien` optional. Wird ein mit o-card erstelltes Token angegeben oder das SW-Zertifikat zur Erstellung verwendet, ist die Angabe einer SV-Nummer in `suchKriterien` verpflichtend. Wird die SV-Nummer und ein CardToken angegeben, muss das auch das CardToken zu dieser SV-Nummer erstellt worden sein.
      Returns:
        Ergebnis der stichtagsaktuellen Versichertendatenabfrage.
      Throws:
        `AccessException` - `MISSING_VDAS_CORE`, `MISSING_VDAS_ANSPRUCH_HISTORISCH`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `DialogException` - `DIALOG_INVALID`, `ORDINATION_ID_NOTSET`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `DIALOG_UNKNOWN`, `ORDINATION_ID_UNKNOWN`, `CORRUPT_DIALOGID`, `INVALID_TRANSACTION_ID`, `INVALID_CERTIFICATE`, `CERTIFICATE_MISMATCH`, `PARAMETER_MISMATCH_EXCEPTION`, `CERTIFICATE_SIGNATURE_ALGORITHM_INVALID`, `CERTIFICATE_TIMESTAMPS_INVALID`, `CERTIFICATE_TIMESTAMP_INTERVAL_INVALID`, `CERTIFICATE_REQUEST_OUT_OF_DATE`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `CARDTOKEN_VPNR_MISMATCH`, `SIGNATURE_INVALID`, `CARD_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `VdasException` - `NO_SVPERSON`, `BACKENDSYSTEM_NOT_AVAILABLE`, `BACKENDSYSTEM_SYSTEM_ERROR`, `NO_SVNR`
        `InvalidParameterVdasException` - `INVALID_SV_NUMBER`, `INVALID_SV_NUMBER_ABL`, `INVALID_SVT_NUMBER`, `INVALID_ABT_FUNK_CODE`, `INVALID_STICHTAGSDATUM`, `NO_ANSPRUECHE_PROVIDED_FOR_SELECTED_DATE`, `NO_CERTIFICATE_AND_NO_ECARD`, `STICHTAGSDATUM_NOT_VALID_FOR_PAST_REQUEST`, `STICHTAGSDATUM_NOT_SET`, `NO_CARD_TOKEN`

    - #### getVersichertenDaten

          VersichertendatenAbfrageErgebnis getVersichertenDaten(String dialogId,
                                                                VersichertendatenAbfrage suchKriterien,
                                                                String cardToken)
                                                         throws AccessException,
                                                                ServiceException,
                                                                DialogException,
                                                                VdasException,
                                                                InvalidParameterVdasException

      Mit dieser Funktion werden die tagesaktuellen Versichertendaten eines Patienten abgefragt.

      Die Abfrage kann wahlweise mit Cardtoken oder Software-Zertifikat durchgeführt werden.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Dialog ist im Online-Modus.
      - Zugriff auf VDAS (siehe `VDAS_CORE`).
      - Bei Durchführung mit Cardtoken muss ein SV-Signaturtoken erstellt werden. Bei Erstellung des Signaturtokens mit der o-card muss zusätzlich die SV-Nummer des Patienten angegeben werden.
      - Bei Durchführung mit Software-Zertifikat muss zusätzlich die SV-Nummer des Patienten angegeben werden.

      Laufzeitgruppe: Mittel

      Replayability: Ja

      Parameters:
        `dialogId` - Dialog-Id eines aufgebauten Dialogs.
        `suchKriterien` - Die Suchkriterien für eine Abfrage der tagesaktuellen Versichertendaten für einen Patienten.
        `cardToken` - Mit e-card oder o-card erzeugtes Signaturtoken.
        Wird ein mit e-card erstelltes Token angegeben, ist die Angabe einer SV-Nummer in `suchKriterien` optional. Wird ein mit o-card erstelltes Token angegeben oder das SW-Zertifikat zur Erstellung verwendet, ist die Angabe einer SV-Nummer in `suchKriterien` verpflichtend. Wird die SV-Nummer und ein CardToken angegeben, muss das auch das CardToken zu dieser SV-Nummer erstellt worden sein.
      Returns:
        Ergebnis der tagesaktuellen Versichertendatenabfrage.
      Throws:
        `AccessException` - `MISSING_VDAS_CORE`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `DialogException` - `DIALOG_INVALID`, `ORDINATION_ID_NOTSET`, `DIALOG_OFFLINE_MODUS_CHANGED_ONLINE`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `TOO_MANY_OPEN_DIALOGS_FOR_OR_CLI`, `DIALOG_UNKNOWN`, `ORDINATION_ID_UNKNOWN`, `CORRUPT_DIALOGID`, `INVALID_TRANSACTION_ID`, `INVALID_CERTIFICATE`, `CERTIFICATE_MISMATCH`, `PARAMETER_MISMATCH_EXCEPTION`, `CERTIFICATE_SIGNATURE_ALGORITHM_INVALID`, `CERTIFICATE_TIMESTAMPS_INVALID`, `CERTIFICATE_TIMESTAMP_INTERVAL_INVALID`, `CERTIFICATE_REQUEST_OUT_OF_DATE`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `CARDTOKEN_VPNR_MISMATCH`, `SIGNATURE_INVALID`, `CARD_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `VdasException` - `NO_SVPERSON`, `NO_SVNR`
        `InvalidParameterVdasException` - `INVALID_SV_NUMBER`, `INVALID_SV_NUMBER_ABL`, `INVALID_SVT_NUMBER`, `INVALID_ABT_FUNK_CODE`, `NO_CERTIFICATE_AND_NO_ECARD`, `NO_CARD_TOKEN`