at.chipkarte.client.elgaad.soap

## Interface IElgaadService

-     public interface IElgaadService

  Dieses Service stellt die Funktionalitäten des ELGA-Adapters (ELGAAD) zur Verfügung.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `AbgabeAendernErgebnis` | `abgabeAendern(String dialogId, String cardToken, String svNummer, AbgabeVerordnungAenderung aenderung, Metadaten metadaten, String emedId)` Diese Funktion dient der Änderung oder Absetzung einer Abgabe eines Patienten.
    `AbgabenAbrufenErgebnis` | `abgabenAbrufen(String dialogId, String cardToken, String svNummer, String emedId, MedikationFilterkriterien filterkriterien)` Diese Funktion dient dem Abruf der Abgaben eines ELGA-Teilnehmers entsprechend der angegebenen Filterkriterien.
    `AbgabenSpeichernErgebnis` | `abgabenSpeichern(String dialogId, String cardToken, String svNummer, Abgabe[] abgaben, String emedId)` Diese Funktion dient der Speicherung von Abgaben für einen ELGA-Teilnehmer.
    `BefundPdfAufbereitenErgebnis` | `befundPdfAufbereiten(String dialogId, String cardToken, String svNummer, DokumentId dokumentId)` Diese Funktion dient der PDF-Aufbereitung eines Befundes.
    `DokumentAbfrageErgebnis` | `dokumenteAbrufen(String dialogId, String cardToken, String svNummer, String eMedId, DokumentId[] dokumente)` Diese Funktion dient dem Abruf eines oder mehrerer Dokumente (e-Befunde, e-Impfpass oder e-Medikations-Dokumente) im CDA-Format.
    `Dokumentenuebersicht` | `dokumentenuebersichtAbrufen(String dialogId, String cardToken, String svNummer, Boolean befundeAbfragen, Boolean medikationslisteAbfragen, Boolean impfpassAbfragen, BefundFilterkriterien filterkriterien, Boolean sortieren, Boolean withKOS)` Diese Funktion dient der Ermittlung der Übersicht aller Dokumente (Befunde und Medikationsliste) eines Patienten.
    `DokumenteStornierenErgebnis` | `dokumenteStornieren(String dialogId, String cardToken, String svNummer, String emedId, String[] entryUuids)` Diese Funktion dient zum Stornieren von Dokumenten der e-Medikation.
    `EmedIdErstellenErgebnis` | `emedIdErstellen(String dialogId, String cardToken, String svNummer, Boolean isDataMatrixRequired)` Diese Funktion fordert von e-Medikation eine eindeutige Dokument-ID an und retourniert diese.
    `GdaDeskriptor[]` | `gdaKriterienSuche(String dialogId, String gdaName, String elgaRolle, String plz)` Diese Funktion dient der Suche nach GDAs (Gesundheitsdiensteanbieter) mittels Selektionskriterien.
    `GdaDeskriptor[]` | `gdasOidsSuche(String dialogId, String[] gdaOids)` Diese Funktion dient der Suche nach GDAs (Gesundheitsdiensteanbieter) mittels GDA-OIDs.
    `GdaDeskriptor` | `gdaVpnrSuche(String dialogId, String vpNummer)` Diese Funktion dient der Suche nach einem GDA (Gesundheitsdiensteanbieter) mittels VPNR.
    `String` | `hcpAssertionAbfragen(String dialogId)` Diese Funktion dient der Abfrage einer HCP Assertion.
    `ImmunisierungseintraegeAbrufenErgebnis` | `immunisierungseintraegeAbrufen(String dialogId, String cardToken, String svNummer, ImmunisierungseintragFilterkriterien filterkriterien)` Diese Funktion dient der Abfrage der, durch den abfragenden Vertragspartner selbsterstellten, Immunisierungseinträge eines Patienten entsprechend der angeführten Filterkriterien.
    `ImmunisierungseintraegeAktualisierenErgebnis` | `immunisierungseintraegeAktualisieren(String dialogId, String cardToken, String svNummer, Immunisierungsstatus[] immunisierungseintraegeList)` Diese Funktion dient der Aktualisierung von Immunisierungseinträge eines Patienten.
    `ImmunisierungseintraegeSpeichernErgebnis` | `immunisierungseintraegeSpeichern(String dialogId, String cardToken, String svNummer, Immunisierungsstatus[] immunisierungseintraege)` Diese Funktion dient der Speicherung eines Immunisierungseintrags für einen bestimmten Patienten.
    `ImmunisierungseintraegeStornierenErgebnis` | `immunisierungseintraegeStornieren(String dialogId, String cardToken, String svNummer, DokumentId[] entryUuids)` Diese Funktion dient der Stornierung von Immunisierungseinträgen eines Patienten.
    `ImpfpassAbrufenErgebnis` | `impfpassAbrufen(String dialogId, String cardToken, String svNummer, DokumentId dokumentId)` Diese Funktion dient der Abfrage des Impfpasses eines Patienten.
    `ImpfpassPdfAufbereitenErgebnis` | `impfpassPdfAufbereiten(String dialogId, String cardToken, String svNummer, DokumentId dokumentId)` Diese Funktion dient der PDF-Aufbereitung eines Befundes.
    `ImpfstoffeSuchenErgebnis` | `impfstoffeSuchen(String dialogId, String pzn, String handelsname)` Diese Funktion dient der Abfrage von Impfstoffen.
    `String` | `kontaktbestaetigungDelegieren(String dialogId, String cardToken, String svNummer, String gdaId)` Diese Funktion bietet einem GDA die Möglichkeit seinen Kontakt mit einem Patienten an einen anderen GDA, der Zugriff auf die ELGA-Daten des Patienten benötigt (wie z.B. ein Labor), zu delegieren.
    `Kontaktbestaetigung[]` | `kontaktbestaetigungenAbfragen(String dialogId, String cardToken, String svNummer, String abfragetyp)` Diese Funktion dient der Abfrage von Kontaktbestätigungen eines Patienten, die durch den abfragenden GDA eingebracht, vom ihm delegiert oder an ihn delegiert wurden.
    `KontaktbestaetigungErstellenErgebnis` | `kontaktbestaetigungErstellen(String dialogId, String cardToken, String svNummer)` Diese Funktion erlaubt es einem GDA zu gewährleisten, dass eine Kontaktbestätigung zu einem Patienten an das KBS gemeldet wurde beziehungsweise, dass falls notwendig eine Kontaktbestätigung an das KBS gesendet wird.
    `KontaktbestaetigungErstellenErgebnis` | `kontaktbestaetigungZuweisungErstellen(String dialogId, String svNummer)` Diese Funktion erlaubt dem GDA, einen ELGA-Zuweisungskontakt ohne e-card cardToken auszustellen.
    `Arznei[]` | `medikamenteSuchen(String dialogId, String pzn, String handelsname, String zulassungsnummer, Boolean wechselwirkungsrelevant)` Diese Funktion dient der Abfrage von Medikamenten.
    `MedikationslisteAbfrufenErgebnis` | `medikationslisteAbrufen(String dialogId, String cardToken, String svNummer, DokumentId dokumentId)` Diese Funktion dient der Abfrage der Medikationsliste eines Patienten.
    `Protokolleintrag[]` | `protokolldatenAbrufen(String dialogId, String svNummer, String datumVon, String datumBis, String ordinationId, String taetigkeitsBereichId)` Diese Funktion ermöglicht die Abfrage der eigenen ELGAAD Protokolldaten.
    `RezeptAusstellenErgebnis` | `rezeptAusstellen(String dialogId, String cardToken, String svNummer, Rezept rezept, String emedId)` Diese Funktion dient der Speicherung eines Rezepts für einen ELGA-Teilnehmer.
    `RezepteAbrufenErgebnis` | `rezepteAbrufen(String dialogId, String cardToken, String svNummer, String emedId, Boolean fuerAbgabe, MedikationFilterkriterien filterkriterien)` Diese Funktion dient dem Abruf der Rezepte eines ELGA-Teilnehmers entsprechend der angegebenen Filterkriterien.
    `VerordnungenAbrufenErgebnis` | `verordnungenAbrufen(String dialogId, String cardToken, String svNummer, DokumentId dokumentId)` Diese Funktion dient der Extrahierung empfohlener Verordnungen aus einem ärztlichen Entlassungsbrief.
    `VerordnungenAendernErgebnis` | `verordnungenAendern(String dialogId, String cardToken, String svNummer, AbgabeVerordnungAenderung[] aenderungen, Metadaten metadaten)` Diese Funktion dient der Änderung oder Stornierung einer oder mehrerer Verordnungen eines Patienten.
    `Code[]` | `wirkstoffeSuchen(String dialogId, String wirkstoffname, String atcCode)` Diese Funktion dient der Abfrage von Wirkstoffen.

- - ### Method Detail

    - #### dokumentenuebersichtAbrufen

          Dokumentenuebersicht dokumentenuebersichtAbrufen(String dialogId,
                                                           String cardToken,
                                                           String svNummer,
                                                           Boolean befundeAbfragen,
                                                           Boolean medikationslisteAbfragen,
                                                           Boolean impfpassAbfragen,
                                                           BefundFilterkriterien filterkriterien,
                                                           Boolean sortieren,
                                                           Boolean withKOS)
                                                    throws ElgaadInvalidParameterException,
                                                           ElgaadException,
                                                           AccessException,
                                                           DialogException,
                                                           ServiceException

      Diese Funktion dient der Ermittlung der Übersicht aller Dokumente (Befunde und Medikationsliste) eines Patienten. Es werden dabei nur die Metadaten der Dokumente retourniert, nicht die Dokumente selbst. Die Abfrage der Medikationsliste ist nur möglich, wenn der Vertragspartner das Recht `ELGAAD_MEDIKATION` besitzt. Die Abfrage von Befunden ist nur möglich, wenn der Vertragspartner das Recht `ELGAAD_BEFUND` besitzt.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - und `ELGAAD_AUTH`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `befundeAbfragen` - Kennzeichen, ob Befunde abgefragt werden sollen.
        Format: Boolean. `true` wenn Befunde abgefragt werden sollen, `false` wenn keine Befunde abfragt werden sollen. Default bei Nichtangabe: `true`.
        Angabe: Kann
        `medikationslisteAbfragen` - Kennzeichen, ob die Medikationsliste abgefragt werden sollen.
        Format: Boolean. `true` wenn die Medikationsliste abgefragt werden sollen, `false` wenn die Medikationsliste nicht abfragt werden sollen. Default bei Nichtangabe: `true`.
        Angabe: Kann
        `impfpassAbfragen` - Kennzeichen, ob der Impfpass abgefragt werden sollen.
        Format: Boolean. `true` wenn der Impfpass abgefragt werden sollen, `false` wenn der Impfpass nicht abfragt werden sollen. Default bei Nichtangabe: `true`.
        Angabe: Kann
        `filterkriterien` - Filterkriterien für die Spezifizierung der Befundabfrage. Siehe `BefundFilterkriterien`. Angabe: Kann. Nur relevant wenn `befundeAbfragen` nicht oder mit `true` angegeben wurde.
        `sortieren` - Gibt an, ob die ermittelten Metadaten gruppiert und sortiert werden sollen.
        Die Gruppierung erfolgt anhand der setId. Die Sortierung erfolgt anhand dem Erstellzeitpunkt, der Version und dem Status. Default bei Nichtangabe: `false`
        Angabe: Kann
        `withKOS` - Kennzeichen, ob im Suchergebnis eventuell vorhandene KOS Objekte herausgefiltert werden sollen. Voraussetzung: Suche nach KOS Objekten muss vom System erlaubt sein.
        Format: Boolean. `true` wenn im Ergebnis vorhandene KOS Objekte zurückgeliefert werden sollen, `false` wenn im Ergebnis vorhandene KOS Objekte nicht zurückgeliefert werden sollen. Default bei Nichtangabe: `false`.
        Angabe: Kann
      Returns:
        Liste der gefundenen Dokumentinformationen (Array von Metadaten) und/oder Meldungen aus dem Backend, siehe `Dokumentenuebersicht`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `CREATION_TIME_FROM_WRONG_FORMAT`, `CREATION_TIME_TO_WRONG_FORMAT`, `SERVICE_START_TIME_FROM_WRONG_FORMAT`, `SERVICE_START_TIME_TO_WRONG_FORMAT`, `SERVICE_STOP_TIME_FROM_WRONG_FORMAT`, `SERVICE_STOP_TIME_TO_WRONG_FORMAT`, `SUBMISSION_TIME_FROM_WRONG_FORMAT`, `SUBMISSION_TIME_TO_WRONG_FORMAT`, `CODE_CODESYSTEM_REQUIRED`, `AVAILABILITY_STATUS_INVALID`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `NO_SVPERSON`, `BEFUNDE_REQUEST_ERROR`, `MEDIKATIONSLISTE_REQUEST_ERROR`, `MISSING_EMEDIKATION_RIGHT`, `MISSING_BEFUND_RIGHT`, `DOKUMENT_NO_ACCESS_GRANTED`, `KB_NO_BPKGH_ERROR`, `FOUND_TO_MANY_DOCUMENTS`, `MISSING_IMPFPASS_RIGHT`, `IMPFPASS_REQUEST_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### dokumenteAbrufen

          DokumentAbfrageErgebnis dokumenteAbrufen(String dialogId,
                                                   String cardToken,
                                                   String svNummer,
                                                   String eMedId,
                                                   DokumentId[] dokumente)
                                            throws AccessException,
                                                   DialogException,
                                                   ServiceException,
                                                   ElgaadException,
                                                   ElgaadInvalidParameterException

      Diese Funktion dient dem Abruf eines oder mehrerer Dokumente (e-Befunde, e-Impfpass oder e-Medikations-Dokumente) im CDA-Format. Die Abfrage von e-Medikations-Dokumenten ist nur möglich, wenn der Vertragspartner das Recht `ELGAAD_MEDIKATION` besitzt. Die Abfrage von Befunden ist nur möglich, wenn der Vertragspartner das Recht `ELGAAD_BEFUND` besitzt. Die Abfrage vom Impfass ist nur möglich, wenn der Vertragspartner das Recht `ELGAAD_IMPFPASS` besitzt.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - und `ELGAAD_AUTH`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `eMedId` - EMED-ID des zugehörigen Rezepts.
        Format: 12 stellig.
        Angabe: Kann.
        Referenziert eine der angegebenen DokumentIds auf einen Befund, darf keine EMED-ID angegeben werden. Es muss in diesem Fall entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine EMED-ID angegeben, darf keine SV-Nummer und kein CardToken angegeben.
        `dokumente` - Liste der abzufragenden Dokumenten-Ids (DokumentId[]). Siehe `DokumentId`.
        Angabe: Muss.
      Returns:
        Gefundene CDA-Dokumente als SOAP Attachments und/oder Meldungen aus dem Backend, siehe `DokumentAbfrageErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `DOKUMENT_ID_MISSING_REQUIRED_IDS`, `DOKUMENT_ID_REQUIRED`, `EMED_ID_AND_SV_NUMMER_NOT_ALLOWED`, `BEFUNDABFRAGE_EMED_ID_NOT_ALLOWED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_ASSERTION_REQUEST_ERROR`, `NO_REZEPT_FOR_EMED_ID_FOUND`, `REZEPT_ALREADY_DISCHARGED`, `BEFUNDE_REQUEST_ERROR`, `MEDIKATIONSLISTE_REQUEST_ERROR`, `DOKUMENTS_MAX_SIZE_EXCEEDED`, `NO_SVPERSON`, `MISSING_EMEDIKATION_RIGHT`, `MISSING_BEFUND_RIGHT`, `DOKUMENT_NO_ACCESS_GRANTED`, `KB_NO_BPKGH_ERROR`, `FOUND_TO_MANY_DOCUMENTS`, `MISSING_IMPFPASS_RIGHT`, `IMPFPASS_REQUEST_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### medikationslisteAbrufen

          MedikationslisteAbfrufenErgebnis medikationslisteAbrufen(String dialogId,
                                                                   String cardToken,
                                                                   String svNummer,
                                                                   DokumentId dokumentId)
                                                            throws ElgaadInvalidParameterException,
                                                                   ElgaadException,
                                                                   AccessException,
                                                                   DialogException,
                                                                   ServiceException

      Diese Funktion dient der Abfrage der Medikationsliste eines Patienten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `dokumentId` - DokumentId (siehe `DokumentId`) der Medikationsliste.
        Angabe: Kann.
        Hinweis: Durch Angabe der zuvor mittels `dokumentenuebersichtAbrufen` abgefragten DokumentId der Medikationsliste erfolgt eine direkte Abfrage der Medikationsliste. Wird die DokumentId nicht angegeben, erfolgt im Zuge dieser Funktion ein (impliziter) Abruf der Dokumentenübersicht. D.h. die Funktion benötigt länger!
      Returns:
        Gefundene Daten der Medikationsliste (Array von Abgaben/Array von Verordnungen) und/oder Meldungen aus dem Backend, siehe `MedikationslisteAbfrufenErgebnis`
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `DOKUMENT_ID_MISSING_REQUIRED_IDS`
        `ElgaadException` - `MEDIKATIONSLISTE_REQUEST_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `DOKUMENTS_MAX_SIZE_EXCEEDED`, `DOKUMENT_NO_MEDIKATIONSLISTE`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR` `FOUND_TO_MANY_DOCUMENTS`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### verordnungenAbrufen

          VerordnungenAbrufenErgebnis verordnungenAbrufen(String dialogId,
                                                          String cardToken,
                                                          String svNummer,
                                                          DokumentId dokumentId)
                                                   throws ElgaadInvalidParameterException,
                                                          ElgaadException,
                                                          AccessException,
                                                          DialogException,
                                                          ServiceException

      Diese Funktion dient der Extrahierung empfohlener Verordnungen aus einem ärztlichen Entlassungsbrief.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_BEFUND`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `dokumentId` - DokumentId (siehe `DokumentId`) des zuvor per Funktion `dokumentenuebersichtAbrufen()` ermittelten Entlassungsbriefs.
        Angabe: Muss.
      Returns:
        Liste der abgerufenen Verordnungen (Array von Verordnungen) und/oder Meldungen aus dem Backend, siehe `VerordnungenAbrufenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `DOKUMENT_ID_MISSING_REQUIRED_IDS`, `DOKUMENT_ID_REQUIRED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_ASSERTION_REQUEST_ERROR`, `NO_REZEPT_FOR_EMED_ID_FOUND`, `REZEPT_ALREADY_DISCHARGED`, `BEFUNDE_REQUEST_ERROR`, `MEDIKATIONSLISTE_REQUEST_ERROR`, `DOKUMENT_NO_ENTLASSUNGSBRIEF`, `EXTRACTION_NOT_POSSIBLE`, `DOKUMENTS_MAX_SIZE_EXCEEDED`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR` `FOUND_TO_MANY_DOCUMENTS`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_BEFUND`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `CardTokenExpiredException`

    - #### rezepteAbrufen

          RezepteAbrufenErgebnis rezepteAbrufen(String dialogId,
                                                String cardToken,
                                                String svNummer,
                                                String emedId,
                                                Boolean fuerAbgabe,
                                                MedikationFilterkriterien filterkriterien)
                                         throws ElgaadInvalidParameterException,
                                                ElgaadException,
                                                AccessException,
                                                DialogException,
                                                ServiceException

      Diese Funktion dient dem Abruf der Rezepte eines ELGA-Teilnehmers entsprechend der angegebenen Filterkriterien.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `emedId` - EMED-ID des Rezepts.
        Format: 12 stellig.
        Angabe: Kann.
        Wird eine EMED-ID angegeben, darf keine SV-Nummer und kein CardToken angegeben werden.
        `fuerAbgabe` - Kennzeichen, ob nur jene Rezepte retourniert werden sollen, für die noch Abgaben durchgeführt werden können.
        Format: Boolean.
        - `true` wenn nur Rezepte retourniert werden sollen, für die noch Abgaben durchgeführt werden können
        - `false` wenn Rezepte retourniert werden sollen, für die noch Abgaben durchgeführt werden können und auch Rezepte bei denen eine Abgabe nicht mehr möglich ist. Es werden in diesem Fall auch bereits abgelaufene Rezepte geliefert. Die Erkennung eines abgelaufenen Rezeptes erfolgt anhand des `availabilityStatus` innerhalb der Metadaten des Rezeptes. Ist dieser mit dem Wert `DEPRECATED` versorgt, handelt es sich, bei Lieferung der Rezepte innerhalb dieser Funktion, um ein abgelaufenes Rezept. Die Verordnungen innerhalb des abgelaufenen Rezeptes werden mit dem Verordnungsstatus "Offen" geliefert.
        Default bei Nichtangabe: `true`.
        Angabe: Kann.
        `filterkriterien` - Filterkriterien um die Suche entsprechend einzuschränken. Siehe `MedikationFilterkriterien`.
        Angabe: Kann.
      Returns:
        Liste der abgerufenen Rezepte (Array von Rezepten) und/oder Meldungen aus dem Backend, Siehe `RezepteAbrufenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `CREATION_TIME_FROM_WRONG_FORMAT`, `CREATION_TIME_TO_WRONG_FORMAT`, `EMED_ID_AND_SV_NUMMER_NOT_ALLOWED`, `CODE_CODESYSTEM_REQUIRED`
        `ElgaadException` - `REZEPTE_REQUEST_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_ASSERTION_REQUEST_ERROR`, `NO_REZEPT_FOR_EMED_ID_FOUND`, `REZEPT_ALREADY_DISCHARGED`, `DOKUMENTS_MAX_SIZE_EXCEEDED`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR` `FOUND_TO_MANY_DOCUMENTS`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### abgabenAbrufen

          AbgabenAbrufenErgebnis abgabenAbrufen(String dialogId,
                                                String cardToken,
                                                String svNummer,
                                                String emedId,
                                                MedikationFilterkriterien filterkriterien)
                                         throws ElgaadInvalidParameterException,
                                                ElgaadException,
                                                AccessException,
                                                DialogException,
                                                ServiceException

      Diese Funktion dient dem Abruf der Abgaben eines ELGA-Teilnehmers entsprechend der angegebenen Filterkriterien.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `emedId` - EMED-ID des Rezepts.
        Format: 12 stellig.
        Angabe: Kann.
        Wird eine EMED-ID angegeben, darf keine SV-Nummer und kein CardToken angegeben werden.
        `filterkriterien` - Filterkriterien um die Suche entsprechend einzuschränken. Siehe `MedikationFilterkriterien`.
        Angabe: Kann.
      Returns:
        Liste der abgerufenen Abgaben ohne Verordnungsbezug (Array von Abgaben) und Liste der Abgaben mit Verordnungsbezug (Array von Rezepten) und/oder Meldungen aus dem Backend, siehe `AbgabenAbrufenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `CREATION_TIME_FROM_WRONG_FORMAT`, `CREATION_TIME_TO_WRONG_FORMAT`, `EMED_ID_AND_SV_NUMMER_NOT_ALLOWED`, `CODE_CODESYSTEM_REQUIRED`
        `ElgaadException` - `ABGABEN_REQUEST_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_ASSERTION_REQUEST_ERROR`, `NO_REZEPT_FOR_EMED_ID_FOUND`, `REZEPT_ALREADY_DISCHARGED`, `DOKUMENTS_MAX_SIZE_EXCEEDED`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR` `FOUND_TO_MANY_DOCUMENTS`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### rezeptAusstellen

          RezeptAusstellenErgebnis rezeptAusstellen(String dialogId,
                                                    String cardToken,
                                                    String svNummer,
                                                    Rezept rezept,
                                                    String emedId)
                                             throws ElgaadInvalidParameterException,
                                                    ElgaadException,
                                                    AccessException,
                                                    DialogException,
                                                    ServiceException

      Diese Funktion dient der Speicherung eines Rezepts für einen ELGA-Teilnehmer.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `rezept` - Rezept das gespeichert werden soll. Siehe `Rezept`.
        Angabe: Muss.
        `emedId` - EMED-ID des Rezepts.
        Format: 12 stellig.
        Angabe: Kann.
        Die hier zu übergebende EMED-ID kann bei Bedarf zuvor über die Funktion `IElgaadService.emedIdErstellen(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean)` abgerufen werden.
      Returns:
        Ausgestelltes Rezept und/oder Meldungen aus dem Backend, siehe `RezeptAusstellenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `STATUS_ERSTELLUNG_NOT_ALLOWED`, `EINLOESUNGEN_VERORDNUNGEN_NOT_ALLOWED`, `ABGABEN_VERORDNUNG_NOT_ALLOWED`, `AENDERUNGSZEITPUNKT_VERORDNUNG_NOT_ALLOWED`, `GUELTIG_VON_WRONG_FORMAT`, `GUELTIG_BIS_WRONG_FORMAT`, `EINNAHME_START_WRONG_FORMAT`, `EINNAHME_ENDE_WRONG_FORMAT`, `CODE_CODESYSTEM_REQUIRED`, `VERORDNUNGEN_REQUIRED`, `REZEPT_REQUIRED`, `METADATEN_REQUIRED`, `ARZNEIMITTEL_OR_MAGZUB_REQUIRED`, `PRECISELY_ONE_DOSIERUNGSVARIANTE_REQUIRED`, `PZN_REQUIRED`, `MAGZUB_NAME_REQUIRED`, `HCF_TYPE_CODE_REQUIRED`, `PRACTICE_SETTING_CODE_REQUIRED`, `GEBURTSDATUM_WRONG_FORMAT`, `ARZNEI_REQUIRED`, `EINNAHMENDAUER_AND_START_ENDE_NOT_ALLOWED`, `EINNAHMEDAUER_WERT_REQUIRED`, `EINNAHMEDAUER_EINHEIT_REQUIRED`, `EINNAHMETAG_INVALID`
        `ElgaadException` - `DOKUMENTE_STORAGE_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_REQUEST_ERROR`, `TOO_MANY_EMED_IDS`, `AUTHOR_NAME_REQUIRED`, `NO_SVPERSON`, `PZN_INVALID`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### abgabenSpeichern

          AbgabenSpeichernErgebnis abgabenSpeichern(String dialogId,
                                                    String cardToken,
                                                    String svNummer,
                                                    Abgabe[] abgaben,
                                                    String emedId)
                                             throws ElgaadInvalidParameterException,
                                                    ElgaadException,
                                                    AccessException,
                                                    DialogException,
                                                    ServiceException

      Diese Funktion dient der Speicherung von Abgaben für einen ELGA-Teilnehmer.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `emedId` - EMED-ID des Rezepts.
        Format: 12 stellig.
        Angabe: Kann.
        Wird eine EMED-ID angegeben, darf keine SV-Nummer und kein CardToken angegeben werden.
        `abgaben` - Liste der Abgaben die gespeichert werden sollen (Abgabe[]). Siehe `Abgabe`.
        Angabe: Muss.
      Returns:
        Liste gespeicherte Abgaben (Array von Abgaben) und/oder Meldungen aus dem Backend, siehe `AbgabenSpeichernErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `STATUS_ERSTELLUNG_NOT_ALLOWED`, `EINNAHME_START_WRONG_FORMAT`, `EINNAHME_ENDE_WRONG_FORMAT`, `EMED_ID_AND_SV_NUMMER_NOT_ALLOWED`, `CODE_CODESYSTEM_REQUIRED`, `ABGABEN_REQUIRED`, `METADATEN_REQUIRED`, `ARZNEIMITTEL_OR_MAGZUB_REQUIRED`, `PRECISELY_ONE_DOSIERUNGSVARIANTE_REQUIRED`, `PZN_REQUIRED`, `MAGZUB_NAME_REQUIRED`, `HCF_TYPE_CODE_REQUIRED`, `PRACTICE_SETTING_CODE_REQUIRED`, `PATIENT_NAME_WITH_EMED_ID_REQUIRED`, `GEBURTSDATUM_WRONG_FORMAT`, `EINNAHMENDAUER_AND_START_ENDE_NOT_ALLOWED`, `EINNAHMEDAUER_WERT_REQUIRED`, `EINNAHMEDAUER_EINHEIT_REQUIRED`, `EINNAHMETAG_INVALID`, `ARZNEI_REQUIRED`
        `ElgaadException` - `DOKUMENTE_STORAGE_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_REQUEST_ERROR`, `EMED_ID_ASSERTION_REQUEST_ERROR`, `NO_REZEPT_FOR_EMED_ID_FOUND`, `REZEPT_ALREADY_DISCHARGED`, `AUTHOR_NAME_REQUIRED`, `NO_SVPERSON`, `PZN_INVALID`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR`, `ABGABEDATUM_FORMAT_UNGUELTIG`, `ABGABEDATUM_UNGUELTIG`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### verordnungenAendern

          VerordnungenAendernErgebnis verordnungenAendern(String dialogId,
                                                          String cardToken,
                                                          String svNummer,
                                                          AbgabeVerordnungAenderung[] aenderungen,
                                                          Metadaten metadaten)
                                                   throws ElgaadInvalidParameterException,
                                                          ElgaadException,
                                                          AccessException,
                                                          DialogException,
                                                          ServiceException

      Diese Funktion dient der Änderung oder Stornierung einer oder mehrerer Verordnungen eines Patienten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `aenderungen` - Liste der Änderungen und IDs der Verordnungen die geändert/storniert werden sollen (AbgabeVerordnungAenderung[]). Siehe `AbgabeVerordnungAenderung`.
        Angabe: Muss.
        `metadaten` - Metadaten zu den Verordnungen. Siehe `Metadaten`.
        Angabe: Muss.
      Returns:
        Liste der ÄnderungsIds der geänderten Verordnungen und/oder Meldungen aus dem Backend, siehe `VerordnungenAendernErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `EINLOESUNGEN_VERORDNUNGEN_NOT_ALLOWED`, `ABGABEN_VERORDNUNG_NOT_ALLOWED`, `AENDERUNGSZEITPUNKT_VERORDNUNG_NOT_ALLOWED`, `EINNAHME_START_WRONG_FORMAT`, `EINNAHME_ENDE_WRONG_FORMAT`, `CODE_CODESYSTEM_REQUIRED`, `VERORDNUNGEN_REQUIRED`, `METADATEN_REQUIRED`, `ARZNEIMITTEL_OR_MAGZUB_REQUIRED`, `STATUS_INVALID`, `PRECISELY_ONE_DOSIERUNGSVARIANTE_REQUIRED`, `PZN_REQUIRED`, `MAGZUB_NAME_REQUIRED`, `HCF_TYPE_CODE_REQUIRED`, `PRACTICE_SETTING_CODE_REQUIRED`, `ARZNEI_REQUIRED`, `GEBURTSDATUM_WRONG_FORMAT`, `EINNAHMENDAUER_AND_START_ENDE_NOT_ALLOWED`, `EINNAHMEDAUER_WERT_REQUIRED`, `EINNAHMEDAUER_EINHEIT_REQUIRED`, `EINNAHMETAG_INVALID`, `REFERENZ_VERORDNUNG_ABGABE_ID_REQUIRED`, `ABGABE_VERORDNUNG_AENDERUNG_REQUIRED`
        `ElgaadException` - `DOKUMENTE_STORAGE_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_REQUEST_ERROR`, `TOO_MANY_EMED_IDS`, `AUTHOR_NAME_REQUIRED`, `NO_SVPERSON`, `PZN_INVALID`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### abgabeAendern

          AbgabeAendernErgebnis abgabeAendern(String dialogId,
                                              String cardToken,
                                              String svNummer,
                                              AbgabeVerordnungAenderung aenderung,
                                              Metadaten metadaten,
                                              String emedId)
                                       throws ElgaadInvalidParameterException,
                                              ElgaadException,
                                              AccessException,
                                              DialogException,
                                              ServiceException

      Diese Funktion dient der Änderung oder Absetzung einer Abgabe eines Patienten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `aenderung` - Änderungen und ID der Abgabe die geändert werden soll. Siehe `AbgabeVerordnungAenderung`.
        Angabe: Muss.
        `metadaten` - Metadaten zur Abgabe. Siehe `Metadaten`.
        Angabe: Muss.
        `emedId` - EMED-ID des Rezepts.
        Format: 12 stellig.
        Angabe: Kann.
        Wird eine EMED-ID angegeben, darf keine SV-Nummer und kein CardToken angegeben werden.
      Returns:
        ÄnderungsId der geänderten Abgabe und/oder Meldungen aus dem Backend, siehe `AbgabeAendernErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `EINNAHME_START_WRONG_FORMAT`, `EINNAHME_ENDE_WRONG_FORMAT`, `EMED_ID_AND_SV_NUMMER_NOT_ALLOWED`, `CODE_CODESYSTEM_REQUIRED`, `ABGABEN_REQUIRED`, `METADATEN_REQUIRED`, `STATUS_INVALID`, `PRECISELY_ONE_DOSIERUNGSVARIANTE_REQUIRED`, `HCF_TYPE_CODE_REQUIRED`, `PRACTICE_SETTING_CODE_REQUIRED`, `PATIENT_NAME_WITH_EMED_ID_REQUIRED`, `GEBURTSDATUM_WRONG_FORMAT`, `EINNAHMENDAUER_AND_START_ENDE_NOT_ALLOWED`, `EINNAHMEDAUER_WERT_REQUIRED`, `EINNAHMEDAUER_EINHEIT_REQUIRED`, `EINNAHMETAG_INVALID`, `REFERENZ_VERORDNUNG_ABGABE_ID_REQUIRED`, `ABGABE_VERORDNUNG_AENDERUNG_REQUIRED` `THERAPIEART_NOT_ALLOWED`
        `ElgaadException` - `DOKUMENTE_STORAGE_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `EMED_ID_REQUEST_ERROR`, `EMED_ID_ASSERTION_REQUEST_ERROR`, `NO_REZEPT_FOR_EMED_ID_FOUND`, `REZEPT_ALREADY_DISCHARGED`, `AUTHOR_NAME_REQUIRED`, `NO_SVPERSON`, `PZN_INVALID`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR`, `ABGABEDATUM_FORMAT_UNGUELTIG`, `ABGABEDATUM_UNGUELTIG`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### dokumenteStornieren

          DokumenteStornierenErgebnis dokumenteStornieren(String dialogId,
                                                          String cardToken,
                                                          String svNummer,
                                                          String emedId,
                                                          String[] entryUuids)
                                                   throws ElgaadInvalidParameterException,
                                                          ElgaadException,
                                                          AccessException,
                                                          DialogException,
                                                          ServiceException

      Diese Funktion dient zum Stornieren von Dokumenten der e-Medikation.
      Durch die Stornierung wird der Status dieser Dokumente von "APPROVED" auf "DEPRECATED" geändert (siehe `AvailabilityStatusTypConstants`).
      Im Gegensatz zur fachlichen Stornierung / Absetzung über die zuvor beschriebenen Änderungsfunktionen wird diese Funktion dann verwendet, wenn z.b. versehentlich das falsche Arzneimittel eingelesen wurde oder der ELGA-Teilnehmer das Arzneimittel nicht bezahlen kann und es daher nicht mitnimmt.
      Hinweis: Die Stornierung eines Rezeptes ist nur möglich, wenn das Rezept noch nicht abgegeben wurde.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Wird keine EMED-ID angegeben gilt: Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `emedId` - EMED-ID des Rezepts.
        Format: 12 stellig.
        Angabe: Kann.
        Wird eine EMED-ID angegeben, darf keine SV-Nummer und kein CardToken angegeben werden.
        `entryUuids` - Liste von entryUUIDs der zu stornierenden Dokumente (String[]).
        Siehe `entryUUID` in `DokumentId`.
        Angabe: Muss.
      Returns:
        Meldungen aus dem Backend, siehe `DokumenteStornierenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `ENTRY_UUIDS_REQUIRED`, `EMED_ID_AND_SV_NUMMER_NOT_ALLOWED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `DOKUMENTE_STORNO_ERROR`, `EMED_ID_ASSERTION_REQUEST_ERROR`, `NO_REZEPT_FOR_EMED_ID_FOUND`, `REZEPT_ALREADY_DISCHARGED`, `AUTHOR_NAME_REQUIRED`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### gdaVpnrSuche

          GdaDeskriptor gdaVpnrSuche(String dialogId,
                                     String vpNummer)
                              throws AccessException,
                                     DialogException,
                                     ServiceException,
                                     ElgaadException,
                                     ElgaadInvalidParameterException

      Diese Funktion dient der Suche nach einem GDA (Gesundheitsdiensteanbieter) mittels VPNR.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt das Recht `ELGAAD_CORE`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss
        `vpNummer` - VPNR nach der gesucht werden soll.
        Format: 6 stellig.
        Angabe: Muss
      Returns:
        GDA-Beschreibung des zur VPNR ermittelten GDAs, siehe `GdaDeskriptor`.
      Throws:
        `ElgaadInvalidParameterException` - `VPNR_WRONG_FORMAT`, `VPNR_REQUIRED`
        `ElgaadException` - `GDA_REQUEST_ERROR`, `VPNR_INVALID`
        `AccessException` - `MISSING_ELGAAD_CORE`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### gdaKriterienSuche

          GdaDeskriptor[] gdaKriterienSuche(String dialogId,
                                            String gdaName,
                                            String elgaRolle,
                                            String plz)
                                     throws AccessException,
                                            DialogException,
                                            ServiceException,
                                            ElgaadException,
                                            ElgaadInvalidParameterException

      Diese Funktion dient der Suche nach GDAs (Gesundheitsdiensteanbieter) mittels Selektionskriterien.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt das Recht `ELGAAD_CORE`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `gdaName` - Nachname oder Organisationsname des gesuchten GDAs.
        Format: max. 128 stellig (alphanumerisch).
        Kann als Eingangsparameter für die GDA-Suche auch % als Wildcard enthalten, wobei Wildcards nur am Anfang und am Ende des Suchstrings aufscheinen dürfen und der restliche Suchstring mindestens zwei Buchstaben lang sein muss.
        Angabe: Muss
        `elgaRolle` - ELGA-Rolle des gesuchten GDAs.
        Format: max. 8 stellig (alphanumerisch).
        mögliche Werte: siehe ELGA Terminologieserver, Value Set ELGA_Rollen_VS
        Angabe: Kann
        `plz` - Postleitzahl des gesuchten GDAs.
        Format: max. 10 stellig (alphanumerisch).
        Angabe: Kann
      Returns:
        Liste der ermittelten GDA-Beschreibungen (Array von GdaDeskriptoren). Siehe `GdaDeskriptor`.
      Throws:
        `ElgaadInvalidParameterException` - `GDA_NAME_WRONG_FORMAT`, `GDA_ROLLE_WRONG_FORMAT`, `PLZ_WRONG_FORMAT`, `GDA_NAME_REQUIRED`,
        `ElgaadException` - `MAX_RESULTS_EXCEEDED`, `GDA_REQUEST_ERROR`, `SUCHKRITERIEN_INVALID`
        `AccessException` - `MISSING_ELGAAD_CORE`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### hcpAssertionAbfragen

          String hcpAssertionAbfragen(String dialogId)
                               throws AccessException,
                                      DialogException,
                                      ServiceException,
                                      ElgaadException,
                                      ElgaadInvalidParameterException

      Diese Funktion dient der Abfrage einer HCP Assertion.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`
        - und `ELGAAD_AUTH`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
      Returns:
        Gültige HCP Assertion als String.
      Throws:
        `ElgaadException` - `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`
        `ElgaadInvalidParameterException`

    - #### kontaktbestaetigungDelegieren

          String kontaktbestaetigungDelegieren(String dialogId,
                                               String cardToken,
                                               String svNummer,
                                               String gdaId)
                                        throws ElgaadInvalidParameterException,
                                               ElgaadException,
                                               AccessException,
                                               DialogException,
                                               ServiceException

      Diese Funktion bietet einem GDA die Möglichkeit seinen Kontakt mit einem Patienten an einen anderen GDA, der Zugriff auf die ELGA-Daten des Patienten benötigt (wie z.B. ein Labor), zu delegieren.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_BEFUND`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `gdaId` - GDA-ID des GDAs, an den der Kontakt delegiert werden soll. ID (OID) des GDAs.
        Angabe: Muss
      Returns:
        kbId ID der deligierten Kontaktbestätigung
      Throws:
        `ElgaadInvalidParameterException` - `GDA_ID_REQUIRED`, `GDA_ID_WRONG_FORMAT`, `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`
        `ElgaadException` - `DELEGATION_PATKON_TICKET_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR` `ROLE_WRONG_OR_GDA_UNKOWN`, `NO_SVPERSON` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_BEFUND`.
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### kontaktbestaetigungErstellen

          KontaktbestaetigungErstellenErgebnis kontaktbestaetigungErstellen(String dialogId,
                                                                            String cardToken,
                                                                            String svNummer)
                                                                     throws ElgaadInvalidParameterException,
                                                                            ElgaadException,
                                                                            AccessException,
                                                                            DialogException,
                                                                            ServiceException

      Diese Funktion erlaubt es einem GDA zu gewährleisten, dass eine Kontaktbestätigung zu einem Patienten an das KBS gemeldet wurde beziehungsweise, dass falls notwendig eine Kontaktbestätigung an das KBS gesendet wird.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`
        - und `ELGAAD_AUTH`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
      Returns:
        Bestätigung für den Kontakt, siehe `KontaktbestaetigungErstellenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`
        `ElgaadException` - `KB_CREATION_ERROR`, `KB_NO_CONTACT_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR` `ROLE_WRONG_OR_GDA_UNKOWN`, `NO_SVPERSON` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### kontaktbestaetigungenAbfragen

          Kontaktbestaetigung[] kontaktbestaetigungenAbfragen(String dialogId,
                                                              String cardToken,
                                                              String svNummer,
                                                              String abfragetyp)
                                                       throws ElgaadInvalidParameterException,
                                                              ElgaadException,
                                                              AccessException,
                                                              DialogException,
                                                              ServiceException

      Diese Funktion dient der Abfrage von Kontaktbestätigungen eines Patienten, die durch den abfragenden GDA eingebracht, vom ihm delegiert oder an ihn delegiert wurden.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`
        - und `ELGAAD_AUTH`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `abfragetyp` - Gibt an, ob alle Kontakte oder nur der akuell aktive Kontakt des Patienten zum abfragenden GDA ermittelt werden soll.
        Mögliche Werte: `AbfragetypConstants`
        Angabe: Muss.
      Returns:
        Liste der Kontaktbestätigungen, siehe `Kontaktbestaetigung`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `ABFRAGETYP_REQUIRED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR` `ROLE_WRONG_OR_GDA_UNKOWN`, `KB_ABFRAGE_ERROR` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### kontaktbestaetigungZuweisungErstellen

          KontaktbestaetigungErstellenErgebnis kontaktbestaetigungZuweisungErstellen(String dialogId,
                                                                                     String svNummer)
                                                                              throws ElgaadInvalidParameterException,
                                                                                     ElgaadException,
                                                                                     AccessException,
                                                                                     DialogException,
                                                                                     ServiceException

      Diese Funktion erlaubt dem GDA, einen ELGA-Zuweisungskontakt ohne e-card cardToken auszustellen. Diese Funktion kann ausschließlich von GDAs mit der ELGA-Rolle 724 verwendet werden.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`
        - und `ELGAAD_AUTH`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
      Returns:
        Bestätigung für den Kontakt, siehe `KontaktbestaetigungErstellenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`
        `ElgaadException` - `KB_CREATION_ERROR`, `KB_NO_CONTACT_ERROR`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR` `ROLE_WRONG_OR_GDA_UNKOWN`, `NO_SVPERSON` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### medikamenteSuchen

          Arznei[] medikamenteSuchen(String dialogId,
                                     String pzn,
                                     String handelsname,
                                     String zulassungsnummer,
                                     Boolean wechselwirkungsrelevant)
                              throws ElgaadInvalidParameterException,
                                     ElgaadException,
                                     AccessException,
                                     DialogException,
                                     ServiceException

      Diese Funktion dient der Abfrage von Medikamenten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss
        `pzn` - Pharmazentralnummer der gesuchten Arznei.
        Format: max. 8 stellig (numerisch).
        Angabe: PZN, Handelsname oder Zulassungsnummer muss angegeben werden.
        `handelsname` - Handelsname der gesuchten Arznei.
        Format: max. 255 stellig (alphanumerisch).
        Angabe: PZN, Handelsname oder Zulassungsnummer muss angegeben werden.
        Hinweis: Es werden (kompatibel zu dem SQL Schlüsselwort LIKE) die Wildcards "%" für 0-n Zeichen und "_" für genau ein Zeichen unterstützt. Die Suche erfolgt case-insensitiv.
        Hinweis: Bei der Suche nach Handelsname wird die Suche automatisch mit dem Wildcard "%" am Ende durchgeführt.
        `zulassungsnummer` - Zulassungsnummer der gesuchten Arznei.
        Format: max. 255 stellig (alphanumerisch).
        Angabe: PZN, Handelsname oder Zulassungsnummer muss angegeben werden.
        `wechselwirkungsrelevant` - Filterkriterium für die Wechselwirkungsrelevanz der gesuchten Arznei.
        Angabe: Kann
        Hinweis: Der Parameter schränkt die Suche wie folgt ein:
        - nicht angegeben oder mit dem Wert "false" versorgt:
          Es erfolgt eine Suche sowohl nach wechselwirkungsrelvanten, als auch nach nicht relevanten Arzneien (entsprechend der weiteren Suchkritieren).
        - mit dem Wert "true" versorgt:
          Es erfolgt nur Suche nach wechselwirkungsrelvanten Arzneien (entsprechend der weiteren Suchkritieren).
      Returns:
        Liste der gefundenen Arzneien (Array von Arzneien). Siehe `Arznei`.
      Throws:
        `ElgaadInvalidParameterException` - `HANDELSNAME_WRONG_FORMAT`, `ZULASSUNGSNUMMER_WRONG_FORMAT`, `PZN_WRONG_FORMAT`, `PRECISELY_ONE_SUCHKRITERIUM_REQUIRED`
        `ElgaadException` - `MAX_RESULTS_EXCEEDED`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### wirkstoffeSuchen

          Code[] wirkstoffeSuchen(String dialogId,
                                  String wirkstoffname,
                                  String atcCode)
                           throws ElgaadInvalidParameterException,
                                  ElgaadException,
                                  AccessException,
                                  DialogException,
                                  ServiceException

      Diese Funktion dient der Abfrage von Wirkstoffen.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss
        `wirkstoffname` - Name des gesuchten Wirkstoffs.
        Format: max. 255 stellig (alphanumerisch).
        Angabe: Wirkstoffname oder ATC-Code muss angegeben werden.
        Hinweis: Es werden (kompatibel zu dem SQL Schlüsselwort LIKE) die Wildcards "%" für 0-n Zeichen und "_" für genau ein Zeichen unterstützt. Die Suche erfolgt case-insensitiv.
        Hinweis: Bei der Suche nach Wirkstoffnamen wird die Suche automatisch mit dem Wildcard "%" am Ende durchgeführt.
        `atcCode` - ATC-Code des gesuchten Wirkstoffs.
        Format: max. 255 stellig (alphanumerisch).
        Angabe: Wirkstoffname oder ATC-Code muss angegeben werden.
        Hinweis: Es werden (kompatible zu dem SQL Schlüsselwort LIKE) die Wildcards "%" für 0-n Zeichen und "_" für genau ein Zeichen unterstützt.
      Returns:
        Liste der gefundenen Wirkstoffe (Array von Codes). Siehe `Code`.
      Throws:
        `ElgaadInvalidParameterException` - `WIRKSTOFFNAME_WRONG_FORMAT`, `ATCCODE_WRONG_FORMAT`, `ATCCODE_OR_WIRKSTOFFNAME_REQUIRED`
        `ElgaadException` - `MAX_RESULTS_EXCEEDED`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### gdasOidsSuche

          GdaDeskriptor[] gdasOidsSuche(String dialogId,
                                        String[] gdaOids)
                                 throws AccessException,
                                        DialogException,
                                        ServiceException,
                                        ElgaadException,
                                        ElgaadInvalidParameterException

      Diese Funktion dient der Suche nach GDAs (Gesundheitsdiensteanbieter) mittels GDA-OIDs.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt das Recht `ELGAAD_CORE`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `gdaOids` - Liste der GDA-IDs des GDAs, die gesucht werden sollen. ID (OID) des GDAs.
        Angabe: Muss
      Returns:
        Liste der ermittelten GDA-Beschreibungen (Array von GdaDeskriptoren) oder leere Liste. Siehe `GdaDeskriptor`.
      Throws:
        `ElgaadInvalidParameterException` - `GDA_ID_REQUIRED`, `GDA_ID_WRONG_FORMAT`
        `ElgaadException` - `GDA_ID_INVALID`, `GDA_REQUEST_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### befundPdfAufbereiten

          BefundPdfAufbereitenErgebnis befundPdfAufbereiten(String dialogId,
                                                            String cardToken,
                                                            String svNummer,
                                                            DokumentId dokumentId)
                                                     throws AccessException,
                                                            DialogException,
                                                            ServiceException,
                                                            ElgaadException,
                                                            ElgaadInvalidParameterException

      Diese Funktion dient der PDF-Aufbereitung eines Befundes.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_BEFUND`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `dokumentId` - DokumentId des aufzubereitenden Befundes. Siehe `DokumentId`.
        Angabe: Muss.
      Returns:
        Aufbereiteter Befund (PDF) und/oder Meldungen aus dem Backend, siehe `BefundPdfAufbereitenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `DOKUMENT_ID_MISSING_REQUIRED_IDS`, `DOKUMENT_ID_REQUIRED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `BEFUNDE_REQUEST_ERROR`, `FUNCTION_NOT_ALLOWED_FOR_EMED_DOKU`, `DOKUMENT_ID_SVNR_MISMATCH`, `PDF_GENERATION_ERROR`, `DOKUMENT_NO_ACCESS_GRANTED` `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_BEFUND`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### protokolldatenAbrufen

          Protokolleintrag[] protokolldatenAbrufen(String dialogId,
                                                   String svNummer,
                                                   String datumVon,
                                                   String datumBis,
                                                   String ordinationId,
                                                   String taetigkeitsBereichId)
                                            throws AccessException,
                                                   DialogException,
                                                   ServiceException,
                                                   ElgaadException,
                                                   ElgaadInvalidParameterException

      Diese Funktion ermöglicht die Abfrage der eigenen ELGAAD Protokolldaten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt das Recht `ELGAAD_CORE`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Kann.
        `datumVon` - Es sollen nur Protokolldaten ermittelt werden, die am oder nach dem angegebenen Datum erzeugt wurden.
        Format: 10 stellig im Format `TT.MM.JJJJ`
        Hinweis: Das angegebenen Datum wird automatisch mit der Zeit "00:00:00" (hh:mm:ss) angenommen.
        Angabe: Kann.
        `datumBis` - Es sollen nur Protokolldaten ermittelt werden, die am oder vor dem angegebenen Datum erzeugt wurden.
        Format: 10 stellig im Format `TT.MM.JJJJ`
        Hinweis: Das angegebenen Datum wird automatisch mit der Zeit "23:59:59" (hh:mm:ss) angenommen.
        Angabe: Kann.
        `ordinationId` - Id der eigenen Ordination, zu der Protokolldaten ermittelt werden sollen.
        Die Liste der eigenen, aktiven Ordinationen wird jeweils beim Dialogaufbau (`authenticateDialog()` bzw. `authenticateDialogEnt`) retourniert.
        Angabe: Kann.
        `taetigkeitsBereichId` - Id des eigenen Tätigkeitsbereichs, zu der Protokolldaten ermittelt werden sollen.
        Die Liste der eigenen, aktiven Tätigkeitsbereiche wird jeweils beim Dialogaufbau (`authenticateDialog()` bzw. `authenticateDialogEnt`) retourniert.
        Angabe: Kann.
      Returns:
        Liste der ermittelten Protokolldaten (Array von Protokolleinträgen). Siehe `Protokolleintrag`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `DATUMVON_WRONG_FORMAT`, `DATUMBIS_WRONG_FORMAT`, `DATUMVON_DATUMBIS_MISMATCH`
        `ElgaadException` - `MAX_RESULTS_EXCEEDED`
        `AccessException` - `MISSING_ELGAAD_CORE`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### emedIdErstellen

          EmedIdErstellenErgebnis emedIdErstellen(String dialogId,
                                                  String cardToken,
                                                  String svNummer,
                                                  Boolean isDataMatrixRequired)
                                           throws ElgaadInvalidParameterException,
                                                  ElgaadException,
                                                  AccessException,
                                                  DialogException,
                                                  ServiceException

      Diese Funktion fordert von e-Medikation eine eindeutige Dokument-ID an und retourniert diese.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_MEDIKATION`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Kann.
        Dieser Parameter ist optional, auch falls keine SV-Nummer angegeben wurde, da für die Erstellung einer EMED-ID eine SV-Nummer nicht zwingend notwendig ist. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Kann.
        Dieser Parameter ist optional, auch falls keine SV-Nummer angegeben wurde, da für die Erstellung einer EMED-ID eine SV-Nummer nicht zwingend notwendig ist. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `isDataMatrixRequired` - Kennzeichen, ob auch ein DataMatrix-Code zurückgeliefert werden soll.
        Default bei Nichtangabe: `true`
        Angabe: Kann.
      Returns:
        Erstellte EMED-ID und DataMatrix-Code, siehe `EmedIdErstellenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`
        `ElgaadException` - `EMED_ID_REQUEST_ERROR`, `TOO_MANY_EMED_IDS`, `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_MEDIKATION`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### impfstoffeSuchen

          ImpfstoffeSuchenErgebnis impfstoffeSuchen(String dialogId,
                                                    String pzn,
                                                    String handelsname)
                                             throws ElgaadInvalidParameterException,
                                                    ElgaadException,
                                                    AccessException,
                                                    DialogException,
                                                    ServiceException

      Diese Funktion dient der Abfrage von Impfstoffen.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`
        - und `ELGAAD_IMPFPASS`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss
        `pzn` - Pharmazentralnummer des gesuchten Impfstoffes.
        Format: max. 8 stellig (numerisch).
        Angabe: PZN oder Handelsname muss angegeben werden.
        `handelsname` - Handelsname des gesuchten Impfstoffes.
        Format: max. 255 stellig (alphanumerisch).
        Angabe: PZN oder Handelsname muss angegeben werden.
        Hinweis: Es werden (kompatibel zu dem SQL Schlüsselwort LIKE) die Wildcards "%" für 0-n Zeichen und "_" für genau ein Zeichen unterstützt. Die Suche erfolgt case-insensitiv.
        Hinweis: Bei der Suche nach Handelsname wird die Suche automatisch mit dem Wildcard "%" am Ende durchgeführt.
      Returns:
        Liste der gefundenen Impfstoffe. Siehe `ImpfstoffeSuchenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `HANDELSNAME_WRONG_FORMAT`, `PZN_WRONG_FORMAT`, `PRECISELY_ONE_SUCHKRITERIUM_IMPFSTOFF_REQUIRED`
        `ElgaadException` - `MAX_RESULTS_EXCEEDED`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_IMPFPASS`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### impfpassAbrufen

          ImpfpassAbrufenErgebnis impfpassAbrufen(String dialogId,
                                                  String cardToken,
                                                  String svNummer,
                                                  DokumentId dokumentId)
                                           throws ElgaadInvalidParameterException,
                                                  ElgaadException,
                                                  AccessException,
                                                  DialogException,
                                                  ServiceException

      Diese Funktion dient der Abfrage des Impfpasses eines Patienten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_IMPFPASS`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `dokumentId` - DokumentId (siehe `DokumentId`) des Impfpasses.
        Angabe: Kann.
        Hinweis: Durch Angabe der zuvor mittels `dokumentenuebersichtAbrufen` abgefragten DokumentId des Impfpasses erfolgt eine direkte Abfrage des Impfpasses. Wird die DokumentId nicht angegeben, erfolgt im Zuge dieser Funktion ein (impliziter) Abruf der Dokumentenübersicht. D.h. die Funktion benötigt länger!
      Returns:
        Gefundene Daten des Impfpasses und/oder Meldungen aus dem Backend, siehe `ImpfpassAbrufenErgebnis`
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `DOKUMENT_ID_MISSING_REQUIRED_IDS`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `ETS_IMPFPASS_REQUEST_ERROR`, `DOKUMENTS_MAX_SIZE_EXCEEDED`, `NO_SVPERSON`, `DOKUMENT_NO_IMPFPASS`, `IMPFPASS_REQUEST_ERROR`, `IMPFPASS_NO_ACCESS_GRANTED`, `KB_NO_BPKGH_ERROR`, `FOUND_TO_MANY_DOCUMENTS`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_IMPFPASS`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### immunisierungseintraegeAbrufen

          ImmunisierungseintraegeAbrufenErgebnis immunisierungseintraegeAbrufen(String dialogId,
                                                                                String cardToken,
                                                                                String svNummer,
                                                                                ImmunisierungseintragFilterkriterien filterkriterien)
                                                                         throws ElgaadInvalidParameterException,
                                                                                ElgaadException,
                                                                                AccessException,
                                                                                DialogException,
                                                                                ServiceException

      Diese Funktion dient der Abfrage der, durch den abfragenden Vertragspartner selbsterstellten, Immunisierungseinträge eines Patienten entsprechend der angeführten Filterkriterien.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_IMPFPASS`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `filterkriterien` - Filterkriterien für die Spezifizierung der Abfrage der Immunisierungseinträge. Siehe `ImmunisierungseintragFilterkriterien`. Angabe: Kann.
      Returns:
        Gefundene Immunisierungseinträge und/oder Meldungen aus dem Backend, siehe `ImmunisierungseintraegeAbrufenErgebnis`
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `CREATION_TIME_FROM_WRONG_FORMAT`, `CREATION_TIME_TO_WRONG_FORMAT`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `ETS_IMPFPASS_REQUEST_ERROR`, `FOUND_TO_MANY_DOCUMENTS`, `NO_SVPERSON`, `KB_NO_BPKGH_ERROR`, `DOKUMENT_NO_ACCESS_GRANTED`, `ETS_IMMUNISIERUNG_REQUEST_ERROR`,
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_IMPFPASS`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### immunisierungseintraegeSpeichern

          ImmunisierungseintraegeSpeichernErgebnis immunisierungseintraegeSpeichern(String dialogId,
                                                                                    String cardToken,
                                                                                    String svNummer,
                                                                                    Immunisierungsstatus[] immunisierungseintraege)
                                                                             throws ElgaadInvalidParameterException,
                                                                                    ElgaadException,
                                                                                    AccessException,
                                                                                    DialogException,
                                                                                    ServiceException

      Diese Funktion dient der Speicherung eines Immunisierungseintrags für einen bestimmten Patienten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_IMPFPASS`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `immunisierungseintraege` - Zu speichernder Immunisierungseintrag. Siehe `Immunisierungsstatus`. Angabe: Muss. Es darf nur genau ein Immunisierungseintrag angegeben werden.
      Returns:
        Liste der Immunisierungseinträge des Patienten und/oder Meldungen aus dem Backend, siehe `ImmunisierungseintraegeSpeichernErgebnis`
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `CODE_CODESYSTEM_REQUIRED`, `METADATEN_REQUIRED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `ETS_IMPFPASS_REQUEST_ERROR`, `FOUND_TO_MANY_DOCUMENTS`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED`, `KB_NO_BPKGH_ERROR`, `IMMUNISIERUNG_STORAGE_ERROR`, `DOKUMENTE_STORAGE_ERROR`, `ZEITPUNKT_IMPFUNG_WRONG_FORMAT`, `DOSIERUNG_MENGE_IMPFUNG_WRONG_FORMAT`, `TIME_IMPFENDER_GDA_WRONG_FORMAT`, `TIME_NACHTRAGENDER_GDA_WRONG_FORMAT`, `ABLAUFDATUM_IMPFSTOFF_WRONG_FORMAT`, `IMPFSCHEMA_IMPFUNG_REQUIRED`, `IMPFSTOFF_REQUIRED`, `ARZNEIMITTEL_REQUIRED`, `ERKRANKUNG_IMPFRELEVANTE_ERKRANKUNG_REQUIRED`, `START_IMPFRELEVANTE_ERKRANKUNG_WRONG_FORMAT`, `ENDE_IMPFRELEVANTE_ERKRANKUNG_WRONG_FORMAT`, `ANALYSEZEITPUNKT_ANTIKOERPERBESTIMMUNG_UNTERSUCHUNG_WRONG_FORMAT`, `IMPFSCHEMA_IMPFEMPFEHLUNG_REQUIRED`, `START_IMPFEMPFEHLUNG_WRONG_FORMAT`, `ENDE_IMPFEMPFEHLUNG_WRONG_FORMAT`, `IMPFZIEL_IMPFEMPFEHUNG_REQUIRED`, `INTERVAL_IMPFEMPFEHLUNG_WRONG`, `ONLY_ONE_IMMUNISIERUNGSEINRAG_ALLOWED`, `VERWANDTER_INVALID`, `ANTIKOERPER_BESTIMMUNG_UNTERSUCHUNG_INVALID`, `INDIKATIONSGRUPPE_INVALID`, `IMPFSCHEMA_IMPFDOSIS_INVALID`, `IMPFSCHEMA_INVALID`, `IMPFUNG_VERRECHNUNGSINFO_INVALID`, `IMPFZIEL_INVALID`, `TEILNEHMER_INVALID`, `ONLY_ONE_IMMUNISIERUNGSEINTRAG_ALLOWED`, `CHARGENNUMMER_REQUIRED`, `IMPFDOSIS_REQUIRED`, `CODEWERT_DOSIERUNG_EINHEIT_UNKNOWN`, `ENDE_IMMUNISIERUNGSSTATUS_WRONG_FORMAT`, `START_IMMUNISIERUNGSSTATUS_WRONG_FORMAT`, `ERGEBNIS_ANTIKOERPER_BESTIMMUNG_UNTERSUCHUNG_MANDATORY`, `LISTE_ANTIKOERPER_BESTIMMUNG_MANDATORY`, `INDIKATIONSGRUPPE_MANDATORY`, `ENDE_ANTIKOERPER_BESTIMMUNG_WRONG_FORMAT`, `START_ANTIKOERPER_BESTIMMUNG_WRONG_FORMAT`, `BIS_INDIKATIONSGRUPPE_WRONG_FORMAT`, `VON_INDIKATIONSGRUPPE_WRONG_FORMAT`, `INDIKATIONSGRUPPE_VON_MANDATORY`, `INDIKATIONSGRUPPE_INTERVAL_WRONG_FORMAT`, `IMPFZEITPUNKT_ZUKUNFT_INVALID`, `IMPFRELEVANTE_ERKRANKUNG_STATUS_PFLICHT`, `VACCINATION_TIME_TO_EARLY`, `DUBLETTEN_IMPFUNG`, `DOKUMENT_REFERENZ_VERSION_WRONG_FORMAT`, `INDIKATIONSGRUPPE_STATUS_PFLICHT`, `INDIKATIONSGRUPPE_STATUS_WRONG_FORMAT`, `TEXT_PFLICHT`, `NAME_PFLICHT`, `IMPFUNG_BOOLEAN_NICHTANGEGEBEN`, `IMPFSTOFF_DEPRECATED`, `CODEWERT_IMPFSETTING_UNKNOWN` `IMPFSETTING_MANDATORY` `NACHTRAGENDE_PERSON_VERBOTEN` `VERRECHNUNGSINFORMATION_VERBOTEN` `IMPFZIEL_PFLICHT` `TEILNEHMER_FUNKTIONSCODE_PFLICHT` `AUTHOR_ORGANISATION_PFLICHT` `NAME_ODER_MODEL_SOFTWARE_PFLICHT` `IMPFZIEL_IMPFZIEL_PFLICHT` `ORGANISATION_NAME_PFLICHT` `ADRESSE_STREET_NAME_PFLICHT` `AUTHOR_OR_ORGANIZATION_NAME_PFLICHT` `NACHTRAGENDER_GDA_ZEITPUNKT_PFLICHT` `IMPFUNG_NACHTRAG_AUTHOR_OR_AUTOR_UNLESERLICH_PFLICHT` `IMPFRELEVANTE_ERKRANKUNG_START_OR_START_UNBEKANNT_PFLICHT` `VORNAME1_PFLICHT` `NACHNAME_PFLICHT` `AUTOR_NAME_PFLICHT` `ZEITPUNKT_IMPFUNG_PFLICHT` `ZEITPUNKT_IMPFUNG_GENAUIGKEIT` `DATUM_VOR_1900` `VORNAME_WRONG_FORMAT` `NACHNAME_WRONG_FORMAT` `TITEL_VORNE_WRONG_FORMAT` `TITEL_HINTEN_WRONG_FORMAT` `STRASSE_WRONG_FORMAT` `ORT_WRONG_FORMAT` `NUR_EIN_AUTOR_ERLAUBT` `DATUM_VOR_GEBURT_PATIENT` `IMPFPROGRAMM_UNGUELTIG` `IMPFPROGRAMM_VERBOTEN`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_IMPFPASS`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### immunisierungseintraegeAktualisieren

          ImmunisierungseintraegeAktualisierenErgebnis immunisierungseintraegeAktualisieren(String dialogId,
                                                                                            String cardToken,
                                                                                            String svNummer,
                                                                                            Immunisierungsstatus[] immunisierungseintraegeList)
                                                                                     throws ElgaadInvalidParameterException,
                                                                                            ElgaadException,
                                                                                            AccessException,
                                                                                            DialogException,
                                                                                            ServiceException

      Diese Funktion dient der Aktualisierung von Immunisierungseinträge eines Patienten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_IMPFPASS`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `immunisierungseintraege` - Zu aktualisierende Immunisierungseinträge. Siehe `Immunisierungsstatus`. Angabe: Muss.
      Returns:
        Liste der Immunisierungseinträge des Patienten und/oder Meldungen aus dem Backend, siehe `ImmunisierungseintraegeAktualisierenErgebnis`
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `CODE_CODESYSTEM_REQUIRED`, `METADATEN_REQUIRED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `ETS_IMPFPASS_REQUEST_ERROR`, `FOUND_TO_MANY_DOCUMENTS`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED`, `KB_NO_BPKGH_ERROR`, `IMMUNISIERUNG_STORAGE_ERROR`, `DOKUMENTE_STORAGE_ERROR`, `ZEITPUNKT_IMPFUNG_WRONG_FORMAT`, `DOSIERUNG_MENGE_IMPFUNG_WRONG_FORMAT`, `TIME_IMPFENDER_GDA_WRONG_FORMAT`, `TIME_NACHTRAGENDER_GDA_WRONG_FORMAT`, `ABLAUFDATUM_IMPFSTOFF_WRONG_FORMAT`, `IMPFSCHEMA_IMPFUNG_REQUIRED`, `IMPFSTOFF_REQUIRED`, `ARZNEIMITTEL_REQUIRED`, `ERKRANKUNG_IMPFRELEVANTE_ERKRANKUNG_REQUIRED`, `START_IMPFRELEVANTE_ERKRANKUNG_WRONG_FORMAT`, `ENDE_IMPFRELEVANTE_ERKRANKUNG_WRONG_FORMAT`, `ANALYSEZEITPUNKT_ANTIKOERPERBESTIMMUNG_UNTERSUCHUNG_WRONG_FORMAT`, `IMPFSCHEMA_IMPFEMPFEHLUNG_REQUIRED`, `START_IMPFEMPFEHLUNG_WRONG_FORMAT`, `ENDE_IMPFEMPFEHLUNG_WRONG_FORMAT`, `IMPFZIEL_IMPFEMPFEHUNG_REQUIRED`, `INTERVAL_IMPFEMPFEHLUNG_WRONG`, `VERWANDTER_INVALID`, `ANTIKOERPER_BESTIMMUNG_UNTERSUCHUNG_INVALID`, `INDIKATIONSGRUPPE_INVALID`, `IMPFSCHEMA_IMPFDOSIS_INVALID`, `IMPFSCHEMA_INVALID`, `IMPFUNG_VERRECHNUNGSINFO_INVALID`, `IMPFZIEL_INVALID`, `TEILNEHMER_INVALID`, `LEERMELDUNG_NOT_ALLOWED`, `CHARGENNUMMER_REQUIRED`, `IMPFDOSIS_REQUIRED`, `CODEWERT_DOSIERUNG_EINHEIT_UNKNOWN`, `ENDE_IMMUNISIERUNGSSTATUS_WRONG_FORMAT`, `START_IMMUNISIERUNGSSTATUS_WRONG_FORMAT`, `ENTRYUUID_MANDATORY`, `ERGEBNIS_ANTIKOERPER_BESTIMMUNG_UNTERSUCHUNG_MANDATORY`, `LISTE_ANTIKOERPER_BESTIMMUNG_MANDATORY`, `INDIKATIONSGRUPPE_MANDATORY`, `ENDE_ANTIKOERPER_BESTIMMUNG_WRONG_FORMAT`, `START_ANTIKOERPER_BESTIMMUNG_WRONG_FORMAT`, `BIS_INDIKATIONSGRUPPE_WRONG_FORMAT`, `VON_INDIKATIONSGRUPPE_WRONG_FORMAT`, `IMPFZEITPUNKT_ZUKUNFT_INVALID`, `IMPFRELEVANTE_ERKRANKUNG_STATUS_PFLICHT`, `VACCINATION_TIME_TO_EARLY`, `DUBLETTEN_IMPFUNG`, `DOKUMENT_REFERENZ_VERSION_WRONG_FORMAT`, `INDIKATIONSGRUPPE_STATUS_PFLICHT`, `INDIKATIONSGRUPPE_STATUS_WRONG_FORMAT`, `INDIKATIONSGRUPPE_VON_MANDATORY`, `INDIKATIONSGRUPPE_INTERVAL_WRONG_FORMAT`, `TEXT_PFLICHT`, `INFORMANT_GDA_OR_VERWANDTER_PFLICHT`, `NAME_PFLICHT`, `IMPFUNG_BOOLEAN_NICHTANGEGEBEN`, `IMPFSTOFF_DEPRECATED`, `CODEWERT_IMPFSETTING_UNKNOWN` `NACHTRAGENDE_PERSON_VERBOTEN` `VERRECHNUNGSINFORMATION_VERBOTEN` `IMPFZIEL_PFLICHT` `TEILNEHMER_FUNKTIONSCODE_PFLICHT` `AUTHOR_ORGANISATION_PFLICHT` `NAME_ODER_MODEL_SOFTWARE_PFLICHT` `IMPFZIEL_IMPFZIEL_PFLICHT` `ORGANISATION_NAME_PFLICHT` `ADRESSE_STREET_NAME_PFLICHT` `AUTHOR_OR_ORGANIZATION_NAME_PFLICHT` `NACHTRAGENDER_GDA_ZEITPUNKT_PFLICHT` `IMPFUNG_NACHTRAG_AUTHOR_OR_AUTOR_UNLESERLICH_PFLICHT` `IMPFRELEVANTE_ERKRANKUNG_START_OR_START_UNBEKANNT_PFLICHT` `VORNAME1_PFLICHT` `NACHNAME_PFLICHT` `AUTOR_NAME_PFLICHT` `ZEITPUNKT_IMPFUNG_PFLICHT` `ZEITPUNKT_IMPFUNG_GENAUIGKEIT` `DATUM_VOR_1900` `VORNAME_WRONG_FORMAT` `NACHNAME_WRONG_FORMAT` `TITEL_VORNE_WRONG_FORMAT` `TITEL_HINTEN_WRONG_FORMAT` `STRASSE_WRONG_FORMAT` `ORT_WRONG_FORMAT` `DATUM_VOR_GEBURT_PATIENT` `IMPFPROGRAMM_UNGUELTIG` `IMPFPROGRAMM_VERBOTEN`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_IMPFPASS`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### immunisierungseintraegeStornieren

          ImmunisierungseintraegeStornierenErgebnis immunisierungseintraegeStornieren(String dialogId,
                                                                                      String cardToken,
                                                                                      String svNummer,
                                                                                      DokumentId[] entryUuids)
                                                                               throws ElgaadInvalidParameterException,
                                                                                      ElgaadException,
                                                                                      AccessException,
                                                                                      DialogException,
                                                                                      ServiceException

      Diese Funktion dient der Stornierung von Immunisierungseinträgen eines Patienten.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_IMPFPASS`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `entryUuids` - Ids der zu stornierenden Immunisierungseinträge. Siehe `DokumentId`. Angabe: Muss.
      Returns:
        Liste der Immunisierungseinträge des Patienten und/oder Meldungen aus dem Backend, siehe `ImmunisierungseintraegeStornierenErgebnis`
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `CODE_CODESYSTEM_REQUIRED`, `METADATEN_REQUIRED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `ETS_IMPFPASS_REQUEST_ERROR`, `FOUND_TO_MANY_DOCUMENTS`, `NO_SVPERSON`, `DOKUMENT_NO_ACCESS_GRANTED`, `KB_NO_BPKGH_ERROR`, `IMMUNISIERUNG_STORAGE_ERROR`, `DOKUMENTE_STORAGE_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_IMPFPASS`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### impfpassPdfAufbereiten

          ImpfpassPdfAufbereitenErgebnis impfpassPdfAufbereiten(String dialogId,
                                                                String cardToken,
                                                                String svNummer,
                                                                DokumentId dokumentId)
                                                         throws AccessException,
                                                                DialogException,
                                                                ServiceException,
                                                                ElgaadException,
                                                                ElgaadInvalidParameterException

      Diese Funktion dient der PDF-Aufbereitung eines Befundes.

      Voraussetzungen:

      - Funktion `setDialogAddress` wurde erfolgreich ausgeführt.
      - Der Vertragspartner besitzt die Rechte
        - `ELGAAD_CORE`,
        - `ELGAAD_AUTH`,
        - und `ELGAAD_BEFUND`.

      Laufzeitgruppe: Mittel

      Parameters:
        `dialogId` - Id eines gültigen Dialogs.
        Angabe: Muss.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `svNummer` - Sozialversicherungsnummer des Patienten.
        Format: 10 stellig
        Angabe: Bedingt.
        Es muss entweder eine SV-Nummer oder ein mit e-card erzeugtes CardToken angegeben werden. Wird eine SV-Nummer und ein CardToken angegeben, wird überprüft ob die explizit angegebene SV-Nummer mit der SV-Nummer aus dem CardToken übereinstimmen.
        `dokumentId` - DokumentId des aufzubereitenden Befundes. Siehe `DokumentId`.
        Angabe: Muss.
      Returns:
        Aufbereiteter Impfpass (PDF) und/oder Meldungen aus dem Backend, siehe `ImpfpassPdfAufbereitenErgebnis`.
      Throws:
        `ElgaadInvalidParameterException` - `SV_NUMMER_INVALID`, `SVNR_WITHOUT_ECARD_REQUIRED`, `DOKUMENT_ID_MISSING_REQUIRED_IDS`, `DOKUMENT_ID_REQUIRED`
        `ElgaadException` - `ELGA_AUTH_TICKET_ERROR`, `ETS_REQUEST_ERROR`, `ROLE_WRONG_OR_GDA_UNKOWN`, `ETS_IMPFPASS_REQUEST_ERROR`, `DOKUMENTS_MAX_SIZE_EXCEEDED`, `NO_SVPERSON`, `DOKUMENT_NO_IMPFPASS`, `IMPFPASS_REQUEST_ERROR`, `IMPFPASS_NO_ACCESS_GRANTED`, `KB_NO_BPKGH_ERROR`
        `AccessException` - `MISSING_ELGAAD_CORE`, `MISSING_ELGAAD_AUTH`, `MISSING_ELGAAD_IMPFPASS`
        `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`, `DIALOG_CANCELED`, `DIALOG_TIMEOUT`, `INVALID_TRANSACTION_ID`, `CARD_INVALID`, `SIGNATURE_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_VPNR_MISMATCH`, `CARDTOKEN_SVNR_MISMATCH` , `CARDTOKEN_TYPE_NOT_ALLOWED`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `CONNECTION_ERROR`, `INCOMPATIBILITY_EXCEPTION`