at.chipkarte.client.prop.soap

## Interface IPropService

-     public interface IPropService

  Dieses Service stellt die Funktionalitäten der präoperativen Befundung bei elektiven Operationen (PROP) Version 3 zur Verfügung.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Befund` | `createBefund(String dialogId, String cardToken, Anamnese anamnese, Boolean save, BefundKommentare befundkommentare)` Erstellt einen Präoperativen Befund anhand der übergebenen Anamnesedaten (falls `save == true`, wird der Befund auch gespeichert).
    `Fachinformation` | `getAnamneseFachinformation(String dialogId)` Retourniert die Anamnese-Fachinformation.
    `DataHandler` | `getPatientenfragebogen(String dialogId, String spracheCode)` Retourniert Patienten-Fragebogen in der gewählten Sprache als SOAP-Attachment (PDF-Datei).
    `SprachePatientenfragebogen[]` | `getPatientenfragebogenSprachenFachinformation(String dialogId)` Retourniert die Sprache-Fachinformation (gültige Werte für den Parameter `spracheCode` der Funktion `IPropService.getPatientenfragebogenSprachenFachinformation(String)`).
    `PropFachgebiet[]` | `getPropFgsAndRelatedBfs(String dialogId, String fachgebiet)` Retourniert die für PROP relevanten Fachgebiete sowie die zugehörigen Behandlungsfälle.
    `String[]` | `getPropSvts(String dialogId)` Retourniert die Codes der für PROP relevanten verrechnungszuständigen Träger.
    `Befund` | `searchBefundByIdentifier(String dialogId, String svNummer, String kennung, String protokollnummer)` Holt den Präoperativen Befund, der den Suchkriterien entspricht, vom Server.
    `BefundReferenz[]` | `searchBefunde(String dialogId, String svNummer, String kennung, String vonDatum, String bisDatum, String vorname, String zuname)` Holt die Referenzdaten der Präoperativen Befunde, die den Suchkriterien entsprechen, vom Server.
    `PatientData` | `searchSvPatientData(String dialogId, String cardToken, String svNummer)` Diese Funktion liefert die Patientendaten für den (mit SV-Nummer oder gesteckter eCard identifizierten) Patienten.

- - ### Method Detail

    - #### searchSvPatientData

          PatientData searchSvPatientData(String dialogId,
                                          String cardToken,
                                          String svNummer)
                                   throws PropInvalidParameterException,
                                          PropException,
                                          DialogException,
                                          AccessException,
                                          ServiceException

      Diese Funktion liefert die Patientendaten für den (mit SV-Nummer oder gesteckter eCard identifizierten) Patienten.

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Es muss entweder eine `svNummer` oder ein mit e-card erstelltes `cardToken` angegeben werden.
        Wird die SV-Nummer und ein CardToken angegeben, muss das CardToken mit der zur SV-Nummer gehörenden e-card erstellt worden sein.
        `svNummer` - SV-Nummer des Patienten. Es muss entweder eine `svNummer` oder ein mit e-card erstelltes `cardToken` angegeben werden.
        Wird die SV-Nummer und ein CardToken angegeben, muss das CardToken mit der zur SV-Nummer gehörenden e-card erstellt worden sein.
      Returns:
        Patientendaten
      Throws:
        `PropException` - `INVALID_SV_NUMMER`
        `PropInvalidParameterException` - `SV_NUMMER_INVALID` `SVNR_MISSING_NO_ECARD`
        `AccessException` - `MISSING_PROP_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`, `CARD_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `CARDTOKEN_VPNR_MISMATCH`, `SIGNATURE_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### createBefund

          Befund createBefund(String dialogId,
                              String cardToken,
                              Anamnese anamnese,
                              Boolean save,
                              BefundKommentare befundkommentare)
                       throws PropInvalidParameterException,
                              PropException,
                              DialogException,
                              AccessException,
                              ServiceException

      Erstellt einen Präoperativen Befund anhand der übergebenen Anamnesedaten (falls `save == true`, wird der Befund auch gespeichert).

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Ja

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
        `cardToken` - Mit e-card erzeugtes Signaturtoken.
        Es muss entweder eine `svNummer` oder ein mit e-card erstelltes `cardToken` oder ein `ekvkPatient` angegeben werden.
        `anamnese` - Anamnese.
        `save` - falls `true`, wird der Befund gespeichert.
        `befundkommentare` - Erfasste Kommentare zu den zuvor ermittelten Befund (mittels Aufruf dieser Funktion mit save gleich "false").
      Returns:
        Befund
      Throws:
        `PropException` - `INVALID_SV_NUMMER` `INVALID_KONSULTATION` `INVALID_FIACHINFORMATION_VERSION`
        `PropInvalidParameterException` - `SV_NUMMER_INVALID` `SV_NUMMER_EKVKPATIENT_OR_ECARD_REQUIERED` `SV_NUMMER_AND_EKVKPATIENT_NOT_ALLOWED` `KONSULTATION_INVALID` `FACHINFORMATION_VERSION_REQUIRED` `FACHINFORMATION_VERSION_INVALID` `ANAMNESE_REQUIRED` `ANAMNESE_DATA_REQUIRED` `ANAMNESE_DATA_PARAMETER_INVALID` `RISIKOGRUPPE_REQUIRED` `RISIKOFAKTOR_NOT_ALLOWED` `RISIKOGRUPPE_RISIKOFAKTOR_NOT_SET` `RISIKOGRUPPE_SET_SEVERAL_TIMES` `RISIKOGRUPPE_CODE_REQUIRED` `RISIKOFAKTOR_CODE_REQUIRED` `RISIKOFAKTOR_SET_SEVERAL_TIMES` `RISIKOGRUPPE_RISIKOFAKTOR_REQUIRED` `TOO_MANY_RISIKOFAKTOR_FOR_RISIKOGRUPPE` `BEFUND_WITH_KONS_NOT_ALLOWED`
        `AccessException` - `MISSING_PROP_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`, `CARD_INVALID`, `CARDTOKEN_EXPIRED`, `CARDTOKEN_INVALID`, `CARDTOKEN_SVNR_MISMATCH`, `CARDTOKEN_TYPE_NOT_ALLOWED`, `CARDTOKEN_VPNR_MISMATCH`, `SIGNATURE_INVALID`, `MULTIPLE_DIALOGID`, `DIALOG_CURRENTLY_USED`
        `ServiceException` - `INTERNAL_ERROR`, `INCOMPATIBILITY_EXCEPTION`

    - #### searchBefunde

          BefundReferenz[] searchBefunde(String dialogId,
                                         String svNummer,
                                         String kennung,
                                         String vonDatum,
                                         String bisDatum,
                                         String vorname,
                                         String zuname)
                                  throws PropInvalidParameterException,
                                         PropException,
                                         DialogException,
                                         AccessException,
                                         ServiceException

      Holt die Referenzdaten der Präoperativen Befunde, die den Suchkriterien entsprechen, vom Server.

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
        `svNummer` - SV-Nummer des Patienten.
        `kennung` - Patienteneindeutige Kennung des PROP Befundes (eindeutig nur in Verbindung mit VSNR des jeweiligen Patienten).
        `vonDatum` - falls gesetzt, wird die Suche auf Befunde eingeschränkt, die nach diesem Datum erstellt wurden. Format TTMMJJJJ.
        `bisDatum` - falls gesetzt, wird die Suche auf Befunde eingeschränkt, die vor diesem Datum erstellt wurden. Format TTMMJJJJ.
        `vorname` - Vorname des Patienten zu dem Befunde gesucht werden sollen.
        `zuname` - Familienname des Patienten zu dem Befunde gesucht werden sollen.
      Returns:
        Referenzen auf selbst erstellte Präoperative Befunde
      Throws:
        `PropException` - `INVALID_SV_NUMMER` `MAX_RESULTS_EXCEEDED` `INVALID_VON_DATUM` `INVALID_BIS_DATUM`
        `PropInvalidParameterException` - `SV_NUMMER_INVALID` `KENNUNG_WRONG_FORMAT` `VON_DATUM_WRONG_FORMAT` `BIS_DATUM_WRONG_FORMAT` `VON_DATUM_VOR_BIS_DATUM` `VON_BIS_DATUM_INVALID`
        `AccessException` - `MISSING_PROP_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`, `INCOMPATIBILITY_EXCEPTION`

    - #### searchBefundByIdentifier

          Befund searchBefundByIdentifier(String dialogId,
                                          String svNummer,
                                          String kennung,
                                          String protokollnummer)
                                   throws PropInvalidParameterException,
                                          PropException,
                                          DialogException,
                                          AccessException,
                                          ServiceException

      Holt den Präoperativen Befund, der den Suchkriterien entspricht, vom Server.

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
        `svNummer` - SV-Nummer des Patienten.
        `kennung` - Patienteneindeutige Kennung des PROP Befundes (eindeutig nur in Verbindung mit VSNR des jeweiligen Patienten).
        `protokollnummer` - Eindeutige Kennung des PROP Befundes. 9 (Befund für einen Patienten ohne SV-Nummer) oder 16 stellig (Befund für einen Patienten mit SV-Nummer).
      Returns:
        Präoperativer Befund
      Throws:
        `PropException` - `INVALID_SV_NUMMER`
        `PropInvalidParameterException` - `SV_NUMMER_INVALID`, `KENNUNG_WRONG_FORMAT`, `PROTOKOLLNUMMER_WRONG_FORMAT`, `PROTOKOLLNUMMER_OR_SV_NUMMER_AND_KENNUNG_REQUIRED`
        `AccessException` - `MISSING_PROP_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`, `INCOMPATIBILITY_EXCEPTION`

    - #### getPatientenfragebogen

          DataHandler getPatientenfragebogen(String dialogId,
                                             String spracheCode)
                                      throws PropInvalidParameterException,
                                             PropException,
                                             DialogException,
                                             AccessException,
                                             ServiceException

      Retourniert Patienten-Fragebogen in der gewählten Sprache als SOAP-Attachment (PDF-Datei).

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
        `spracheCode` - Code für die Sprache, in der der Patientenfragebogen geliefert werden soll (siehe `IPropService.getPatientenfragebogenSprachenFachinformation(String)`).
      Throws:
        `PropInvalidParameterException` - `SPRACHE_CODE_INVALID`
        `AccessException` - `MISSING_PROP_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`, `INCOMPATIBILITY_EXCEPTION`
        `PropException`

    - #### getAnamneseFachinformation

          Fachinformation getAnamneseFachinformation(String dialogId)
                                              throws PropException,
                                                     PropInvalidParameterException,
                                                     DialogException,
                                                     AccessException,
                                                     ServiceException,
                                                     PropException,
                                                     PropInvalidParameterException

      Retourniert die Anamnese-Fachinformation.

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
      Returns:
        Anamnese-Fachinformation
      Throws:
        `AccessException` - `MISSING_PROP_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`, `INCOMPATIBILITY_EXCEPTION`
        `PropException`
        `PropInvalidParameterException`

    - #### getPatientenfragebogenSprachenFachinformation

          SprachePatientenfragebogen[] getPatientenfragebogenSprachenFachinformation(String dialogId)
                                                                              throws PropException,
                                                                                     PropInvalidParameterException,
                                                                                     DialogException,
                                                                                     AccessException,
                                                                                     ServiceException

      Retourniert die Sprache-Fachinformation (gültige Werte für den Parameter `spracheCode` der Funktion `IPropService.getPatientenfragebogenSprachenFachinformation(String)`).

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
      Returns:
        Liste von Sprachen-Codes.
      Throws:
        `AccessException` - `MISSING_PROP_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`, `INCOMPATIBILITY_EXCEPTION`
        `PropException`
        `PropInvalidParameterException`

    - #### getPropSvts

          String[] getPropSvts(String dialogId)
                        throws PropException,
                               PropInvalidParameterException,
                               DialogException,
                               AccessException,
                               ServiceException

      Retourniert die Codes der für PROP relevanten verrechnungszuständigen Träger.

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
      Returns:
        Liste von SVT-Codes.
      Throws:
        `AccessException` - `MISSING_PROP_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`, `INCOMPATIBILITY_EXCEPTION`
        `PropException`
        `PropInvalidParameterException`

    - #### getPropFgsAndRelatedBfs

          PropFachgebiet[] getPropFgsAndRelatedBfs(String dialogId,
                                                   String fachgebiet)
                                            throws PropException,
                                                   PropInvalidParameterException,
                                                   DialogException,
                                                   AccessException,
                                                   ServiceException

      Retourniert die für PROP relevanten Fachgebiete sowie die zugehörigen Behandlungsfälle.

      Voraussetzungen:

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

      Laufzeitgruppe: Mittel

      Replayability: Nein

      Parameters:
        `dialogId` - Dialog ID eines aufgebauten Dialogs.
        `fachgebiet` - Code des Fachgebiets.
      Throws:
        `PropException` - `INVALID_FACHGEBIET`
        `AccessException` - `MISSING_PROP_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`, `INCOMPATIBILITY_EXCEPTION`
        `PropInvalidParameterException`