Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## be.ehealth.businessconnector.hub.session
Interface HubService

All Known Implementing Classes:
  HubServiceImpl

    public interface HubService

As part of the Business Connector for General Practitioners, a Hub Consultation component is foreseen that provides connectivity to a local hub. As part of this component a set of 23 operations are available. They can be grouped as follows:

- Transactions: Put, Get, Revoke, Get List, Declare
- Request Publication
- Health Care Party: Get, Put
- Patient: Get, Put
- Health Care Party Consent: Put, Get, Revoke
- Patient Consent: Put, Get, Revoke
- Therapeutic Link: Put, Get, Revoke
- Access Right: Put, Get, Revoke
- Get Patient Audit Trail

The Hub Consultation component, part of the Business Connector for General Practitioners, provides a simple API to access the wide range of hub operations. It hides the complexity on both functional and technical level (web service communication, simplified data interface, handles encryption/decryption, etc).

The following principles have been applied while defining the interface for the set of operations:

- The request/response messages exchanged with the hub system include a header element that includes some general information related to the message and sender. This information will be added automatically, no intervention is required by the client application using the API. The necessary information will be retrieved from the Business Connector's configuration file.
- The Kmehr XML format is used extensively to structure data elements that are exchanged between hubs, hospitals and a General Practitioner. Whenever a Kmehr document is requested as input parameter or provided as response, the Kmehr XML format is foreseen as interface for the operation. This means that the client application must provide a valid Kmehr XML structure as input or will receive a Kmehr XML structure as response for certain operations.
- As medical information is exchanged, the sensitive data will be encrypted using the end-to-end encryption framework. The Hub Consultation component will take care of the encryption/decryption of the content.

Pre-requisites

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

Default impl : `HubServiceImpl` Factory : `HubSessionServiceFactory`

Method Summary
`List<IDKMEHR>` | `declareTransaction(KmehrHeaderDeclareTransaction kmehrHeader)` This operation should be used to declare a transaction within a hub.
`AccessRightListType` | `getAccessRight(TransactionIdType transaction)` This operation should be used to get access rights on a transaction within a hub.
`HCPartyAdaptedType` | `getHCParty(HCPartyIdType hcParty)` This operation should be used to retrieve the data associated with a healthcare party within a hub.
`ConsentHCPartyType` | `getHCPartyConsent(HCPartyIdType hcParty)` This operation should be used to retrieve the consent of a healthcare party within a hub.
`PersonType` | `getPatient(PatientIdType patient)` This operation should be used to declare the consent of an healthcare party within a hub.
`TransactionAccessListType` | `getPatientAuditTrail(SelectGetPatientAuditTrailType patientAuditTrail)` This operation should be used to get the list of transaction accesses for a given patient.
`ConsentType` | `getPatientConsent(SelectGetPatientConsentType patientConsent)` This operation should be used to retrieve the consent of a patient within a hub.
`Collection<TherapeuticLinkType>` | `getTherapeuticLink(SelectGetHCPartyPatientConsentType consent)` This operation should be used to get therapeutic link between a patient and a healthcare party within a hub.
`Kmehrmessage` | `getTransaction(PatientIdType patient, TransactionBaseType transaction)` This operation should be used to retrieve a transaction (given a transaction identifier) within a hub.
`KmehrHeaderGetTransactionList` | `getTransactionList(PatientIdType patient, LocalSearchType searchType, TransactionWithPeriodType transaction)` This operation should be used to get the list of available transactions that fulfill some given criteria.
`void` | `putAccessRight(AccessRightType accessRight)` This operation should be used to put an access right on a transaction within a hub.
`HCPartyAdaptedType` | `putHCParty(HCPartyAdaptedType hcParty)` This operation should be used to create a healthcare party within a hub.
`void` | `putHCPartyConsent(ConsentHCPartyType consent)` This operation should be used to declare the consent of an healthcare party within a hub.
`PersonType` | `putPatient(PersonType patient)` This operation should be used to create a patient within a hub.
`void` | `putPatientConsent(ConsentType patientConsent)` This operation should be used to declare the consent of a patient within a hub.
`void` | `putTherapeuticLink(TherapeuticLinkType therapeuticLink)` This operation should be used to declare therapeutic link between a patient and a healthcare party within a hub.
`void` | `putTransaction(Kmehrmessage msg)` This operation should be used to declare and to store a given transaction within a hub.
`void` | `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.
`void` | `revokeAccessRight(SelectRevokeAccessRightType accessRight)` This operation should be used to revoke access right on a transaction within a hub.
`void` | `revokeHCPartyConsent(ConsentHCPartyType consent)` This operation should be used to revoke the consent of a healthcare party within a hub.
`void` | `revokePatientConsent(ConsentType patientConsent)` This operation should be used to revoke the consent of a patient within a hub.
`void` | `revokeTherapeuticLink(TherapeuticLinkType therapeuticLink)` This operation should be used to revoke a therapeutic link between a patient and a healthcare party within a hub.
`void` | `revokeTransaction(PatientIdType patient, TransactionIdType transaction)` This operation should be used to 'unpublish' a given transaction.

Method Detail

### declareTransaction

    List<IDKMEHR> 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:
    A list of Transaction ID's.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `SessionManagementException`
    `IntraHubBusinessConnectorException`

### putTransaction

    void 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.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException`

### revokeTransaction

    void 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.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException`

### getTransactionList

    KmehrHeaderGetTransactionList 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:
    A Kmehr message formatted as XML String containing a Patient and 1 or more Transactions.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### getTransaction

    Kmehrmessage 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:
    the transaction
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### requestPublication

    void 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 ation is.
    `transaction` - Transaction types and Health Care Parties
    `comment` - Comment
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### putHCParty

    HCPartyAdaptedType 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:
    Information about the healthcare party
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### getHCParty

    HCPartyAdaptedType 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:
    Information about the healthcare party
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### putPatient

    PersonType 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:
    Information about a patient.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### getPatient

    PersonType 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:
    Information about a patient.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### putHCPartyConsent

    void 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.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### getHCPartyConsent

    ConsentHCPartyType 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:
    A Consent containing a HCParty and the signature date.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### revokeHCPartyConsent

    void 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.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException`

### putPatientConsent

    void 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.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### getPatientConsent

    ConsentType 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:
    Patient Consent data structure that contains signing date of the consent, scope of the consent, 'retrospective' 'prospective' attribute.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### revokePatientConsent

    void 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.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### putTherapeuticLink

    void 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)).
  Throws:
    `SessionManagementException` - the session management exception
    `ConnectorException`

### getTherapeuticLink

    Collection<TherapeuticLinkType> 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:
    the therapeutic link
  Throws:
    `SessionManagementException` - the session management exception
    `ConnectorException`

### revokeTherapeuticLink

    void 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
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### putAccessRight

    void 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
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### getAccessRight

    AccessRightListType 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:
    The List of access rights on a transaction. Can be empty.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### revokeAccessRight

    void 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
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

### getPatientAuditTrail

    TransactionAccessListType 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:
    A list of Transaction Access elements.
  Throws:
    `TechnicalConnectorException` - the technical connector exception
    `IntraHubBusinessConnectorException` - the business connector exception

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Connector Package PERSMIDWIFE 3.14.1 API
Copyright © {inceptionYear}-2017 eHealth. All Rights Reserved.