Package be.ehealth.businessconnector.hub.session

# Interface HubServiceComplete

All Known Implementing Classes:
  `HubServiceCompleteImpl`

public interface HubServiceComplete
This class is a `HubService` that will return the WS response object directly, so that you can retrieve the full error messages, codes,... received from the WS. See `HubService` for further information

Pre-requisites

- An active and valid eHealth-platform session (initiated via the Session Management component)
- Hub configuration

Default impl : `HubServiceCompleteImpl` Factory : `HubSessionServiceFactory`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DeclareTransactionResponse`
  `declareTransaction(KmehrHeaderDeclareTransaction kmehrHeader)`
  This operation should be used to declare a transaction within a hub.
  `GetAccessRightResponse`
  `getAccessRight(TransactionIdType transaction)`
  This operation should be used to get access rights on a transaction within a hub.
  `GetHCPartyResponse`
  `getHCParty(HCPartyIdType hcParty)`
  This operation should be used to retrieve the data associated with a healthcare party within a hub.
  `GetHCPartyConsentResponse`
  `getHCPartyConsent(HCPartyIdType hcParty)`
  This operation should be used to retrieve the consent of a healthcare party within a hub.
  `GetPatientResponse`
  `getPatient(PatientIdType patient)`
  This operation should be used to declare the consent of an healthcare party within a hub.
  `GetPatientAuditTrailResponse`
  `getPatientAuditTrail(SelectGetPatientAuditTrailType patientAuditTrail)`
  This operation should be used to get the list of transaction accesses for a given patient.
  `GetPatientConsentResponse`
  `getPatientConsent(SelectGetPatientConsentType patientConsent)`
  This operation should be used to retrieve the consent of a patient within a hub.
  `GetTherapeuticLinkResponse`
  `getTherapeuticLink(SelectGetHCPartyPatientConsentType consent)`
  This operation should be used to get therapeutic link between a patient and a healthcare party within a hub.
  `GetTransactionResponse`
  `getTransaction(PatientIdType patient, TransactionBaseType transaction)`
  This operation should be used to retrieve a transaction (given a transaction identifier) within a hub.
  `GetTransactionListResponse`
  `getTransactionList(PatientIdType patient, LocalSearchType searchType, TransactionWithPeriodType transaction)`
  This operation should be used to get the list of available transactions that fulfill some given criteria.
  `PutAccessRightResponse`
  `putAccessRight(AccessRightType accessRight)`
  This operation should be used to put an access right on a transaction within a hub.
  `PutHCPartyResponse`
  `putHCParty(HCPartyAdaptedType hcParty)`
  This operation should be used to create a healthcare party within a hub.
  `PutHCPartyConsentResponse`
  `putHCPartyConsent(ConsentHCPartyType consent)`
  This operation should be used to declare the consent of an healthcare party within a hub.
  `PutPatientResponse`
  `putPatient(PersonType patient)`
  This operation should be used to create a patient within a hub.
  `PutPatientConsentResponse`
  `putPatientConsent(ConsentType patientConsent)`
  This operation should be used to declare the consent of a patient within a hub.
  `PutTherapeuticLinkResponse`
  `putTherapeuticLink(TherapeuticLinkType therapeuticLink)`
  This operation should be used to declare therapeutic link between a patient and a healthcare party within a hub.
  `PutTransactionResponse`
  `putTransaction(Kmehrmessage msg)`
  This operation should be used to declare and to store a given transaction within a hub.
  `RequestPublicationResponse`
  `requestPublication(PatientIdType patient, TransactionWithPeriodType transaction, String comment)`
  This operation allows a healthcare party to ask to another healthcare party to publish documents related to a patient.
  `RevokeAccessRightResponse`
  `revokeAccessRight(SelectRevokeAccessRightType accessRight)`
  This operation should be used to revoke access right on a transaction within a hub.
  `RevokeHCPartyConsentResponse`
  `revokeHCPartyConsent(ConsentHCPartyType consent)`
  This operation should be used to revoke the consent of a healthcare party within a hub.
  `RevokePatientConsentResponse`
  `revokePatientConsent(ConsentType patientConsent)`
  This operation should be used to revoke the consent of a patient within a hub.
  `RevokeTherapeuticLinkResponse`
  `revokeTherapeuticLink(TherapeuticLinkType therapeuticLink)`
  This operation should be used to revoke a therapeutic link between a patient and a healthcare party within a hub.
  `RevokeTransactionResponse`
  `revokeTransaction(PatientIdType patient, TransactionIdType transaction)`
  This operation should be used to 'unpublish' a given transaction.

- ## Method Details

  - ### declareTransaction

    DeclareTransactionResponse declareTransaction(KmehrHeaderDeclareTransaction kmehrHeader) throws TechnicalConnectorException, SessionManagementException, IntraHubBusinessConnectorException
    This operation should be used to declare a transaction within a hub.
    Parameters:
      `kmehrHeader` - A Kmehr message formatted as XML String containing a Patient and a Transaction.
    Returns:
      `DeclareTransactionResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `SessionManagementException`
      `IntraHubBusinessConnectorException`

  - ### putTransaction

    PutTransactionResponse putTransaction(Kmehrmessage msg) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to declare and to store a given transaction within a hub.
    Parameters:
      `msg` - A Kmehr message formatted as XML String containing a Patient and a Transaction.
    Returns:
      `PutTransactionResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException`

  - ### revokeTransaction

    RevokeTransactionResponse revokeTransaction(PatientIdType patient, TransactionIdType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to 'unpublish' a given transaction.
    Parameters:
      `patient` - Patient for which to revoke the transaction.
      `transaction` - Transaction to revoke.
    Returns:
      `RevokeTransactionResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException`

  - ### getTransactionList

    GetTransactionListResponse getTransactionList(PatientIdType patient, LocalSearchType searchType, TransactionWithPeriodType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to get the list of available transactions that fulfill some given criteria.
    Parameters:
      `patient` - Patient for which to retrieve the transaction list.
      `searchType` - The search type (local or national)
      `transaction` - Transaction types to search.
    Returns:
      `GetTransactionListResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### getTransaction

    GetTransactionResponse getTransaction(PatientIdType patient, TransactionBaseType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to retrieve a transaction (given a transaction identifier) within a hub.
    Parameters:
      `patient` - Patient for which to retrieve the transaction.
      `transaction` - Transaction identification
    Returns:
      `GetTransactionResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### requestPublication

    RequestPublicationResponse requestPublication(PatientIdType patient, TransactionWithPeriodType transaction, String comment) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation allows a healthcare party to ask to another healthcare party to publish documents related to a patient.
    Parameters:
      `patient` - The Patient for who the publication is.
      `transaction` - Transaction types and Health Care Parties
      `comment` - Comment
    Returns:
      `RequestPublicationResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### putHCParty

    PutHCPartyResponse putHCParty(HCPartyAdaptedType hcParty) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to create a healthcare party within a hub. It can also be used to update the information about this healthcare party.
    Parameters:
      `hcParty` - Information about the healthcare party
    Returns:
      `PutHCPartyResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### getHCParty

    GetHCPartyResponse getHCParty(HCPartyIdType hcParty) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to retrieve the data associated with a healthcare party within a hub.
    Parameters:
      `hcParty` - This is the NIHII or SSIN number according to the type of healthcare party. Other local identifiers are allowed.
    Returns:
      `GetHCPartyResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### putPatient

    PutPatientResponse putPatient(PersonType patient) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to create a patient within a hub. It can also be used to update the information about a patient.
    Parameters:
      `patient` - Information about a patient
    Returns:
      `PutPatientResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### getPatient

    GetPatientResponse getPatient(PatientIdType patient) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to declare the consent of an healthcare party within a hub.
    Parameters:
      `patient` - Patient contains only the identifiers of the patient. Several identifiers of the same patient are allowed.
    Returns:
      `GetPatientResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### putHCPartyConsent

    PutHCPartyConsentResponse putHCPartyConsent(ConsentHCPartyType consent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to declare the consent of an healthcare party within a hub.
    Parameters:
      `consent` - A Consent containing a HCParty and the signature date.
    Returns:
      `PutHCPartyConsentResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### getHCPartyConsent

    GetHCPartyConsentResponse getHCPartyConsent(HCPartyIdType hcParty) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to retrieve the consent of a healthcare party within a hub.
    Parameters:
      `hcParty` - This is the NIHII or INSS number according to the type of healthcare party. Other local identifiers are allowed.
    Returns:
      `GetHCPartyConsentResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### revokeHCPartyConsent

    RevokeHCPartyConsentResponse revokeHCPartyConsent(ConsentHCPartyType consent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to revoke the consent of a healthcare party within a hub.
    Parameters:
      `consent` - A Consent containing a HCParty and the signature date.
    Returns:
      `RevokeHCPartyConsentResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException`

  - ### putPatientConsent

    PutPatientConsentResponse putPatientConsent(ConsentType patientConsent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to declare the consent of a patient within a hub.
    Parameters:
      `patientConsent` - Patient Consent data structure that contains signing date of the consent, scope of the consent, 'retrospective'/ 'prospective' attribute.
    Returns:
      `PutPatientConsentResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### getPatientConsent

    GetPatientConsentResponse getPatientConsent(SelectGetPatientConsentType patientConsent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to retrieve the consent of a patient within a hub.
    Parameters:
      `patientConsent` - Contains the Patient Identifiers and the scope of the consent
    Returns:
      `GetPatientConsentResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### revokePatientConsent

    RevokePatientConsentResponse revokePatientConsent(ConsentType patientConsent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to revoke the consent of a patient within a hub.
    Parameters:
      `patientConsent` - Patient Consent data structure that contains signing date of the consent, scope of the consent, 'retrospective' 'prospective' attribute.
    Returns:
      `RevokePatientConsentResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### putTherapeuticLink

    PutTherapeuticLinkResponse putTherapeuticLink(TherapeuticLinkType therapeuticLink) throws ConnectorException, SessionManagementException
    This operation should be used to declare therapeutic link between a patient and a healthcare party within a hub.
    Parameters:
      `therapeuticLink` - A Therapeutic link containing Patient Identifier, HCP identifier, Link type, link start date , link end date (optional), comment (optional)).
    Returns:
      `PutTherapeuticLinkResponse` the WS response object
    Throws:
      `SessionManagementException` - the session management exception
      `ConnectorException`

  - ### getTherapeuticLink

    GetTherapeuticLinkResponse getTherapeuticLink(SelectGetHCPartyPatientConsentType consent) throws SessionManagementException, ConnectorException
    This operation should be used to get therapeutic link between a patient and a healthcare party within a hub.
    Parameters:
      `consent` - Contains the Patient Identifiers and the scope of the consent
    Returns:
      `GetTherapeuticLinkResponse` the WS response object
    Throws:
      `SessionManagementException` - the session management exception
      `ConnectorException`

  - ### revokeTherapeuticLink

    RevokeTherapeuticLinkResponse revokeTherapeuticLink(TherapeuticLinkType therapeuticLink) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to revoke a therapeutic link between a patient and a healthcare party within a hub.
    Parameters:
      `therapeuticLink` - the therapeutic link
    Returns:
      `RevokeTherapeuticLinkResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### putAccessRight

    PutAccessRightResponse putAccessRight(AccessRightType accessRight) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to put an access right on a transaction within a hub.
    Parameters:
      `accessRight` - the access right
    Returns:
      `PutAccessRightResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### getAccessRight

    GetAccessRightResponse getAccessRight(TransactionIdType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to get access rights on a transaction within a hub.
    Parameters:
      `transaction` - A transaction ID Type containing the Transaction Identifier.
    Returns:
      `GetAccessRightResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### revokeAccessRight

    RevokeAccessRightResponse revokeAccessRight(SelectRevokeAccessRightType accessRight) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to revoke access right on a transaction within a hub.
    Parameters:
      `accessRight` - Contains a transaction and a HC Party
    Returns:
      `RevokeAccessRightResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception

  - ### getPatientAuditTrail

    GetPatientAuditTrailResponse getPatientAuditTrail(SelectGetPatientAuditTrailType patientAuditTrail) throws TechnicalConnectorException, IntraHubBusinessConnectorException
    This operation should be used to get the list of transaction accesses for a given patient.
    Parameters:
      `patientAuditTrail` - Contains the search parameters for the audit trail.
    Returns:
      `GetPatientAuditTrailResponse` the WS response object
    Throws:
      `TechnicalConnectorException` - the technical connector exception
      `IntraHubBusinessConnectorException` - the business connector exception