public class HubServiceImpl extends Object implements 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:
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:
HubService
Constructor and Description |
---|
HubServiceImpl(SessionValidator sessionValidator)
Instantiates a new Hub Service.
|
Modifier and Type | Method and Description |
---|---|
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 hcPartyId)
This operation should be used to retrieve the consent of a healthcare party within a hub.
|
PersonType |
getPatient(PatientIdType patientId)
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 patientConsent)
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 kmehrHeader)
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.
|
public HubServiceImpl(SessionValidator sessionValidator) throws TechnicalConnectorException, IntraHubBusinessConnectorException
sessionValidator
- the session validatorTechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic List<IDKMEHR> declareTransaction(KmehrHeaderDeclareTransaction kmehrHeader) throws TechnicalConnectorException, IntraHubBusinessConnectorException
declareTransaction
in interface HubService
kmehrHeader
- A Kmehr message formatted as XML String containing a Patient and a Transaction.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
public void putTransaction(Kmehrmessage kmehrHeader) throws TechnicalConnectorException, IntraHubBusinessConnectorException
putTransaction
in interface HubService
kmehrHeader
- A Kmehr message formatted as XML String containing a Patient and a Transaction.TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
public void revokeTransaction(PatientIdType patient, TransactionIdType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
revokeTransaction
in interface HubService
patient
- Patient for which to revoke the transaction.transaction
- Transaction to revoke.TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
public KmehrHeaderGetTransactionList getTransactionList(PatientIdType patient, LocalSearchType searchType, TransactionWithPeriodType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getTransactionList
in interface HubService
patient
- Patient for which to retrieve the transaction list.searchType
- The search type (local or national)transaction
- Transaction types to search.TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic Kmehrmessage getTransaction(PatientIdType patient, TransactionBaseType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getTransaction
in interface HubService
patient
- Patient for which to retrieve the transaction.transaction
- Transaction identificationTechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic void requestPublication(PatientIdType patient, TransactionWithPeriodType transaction, String comment) throws TechnicalConnectorException, IntraHubBusinessConnectorException
requestPublication
in interface HubService
patient
- The Patient for who the ation is.transaction
- Transaction types and Health Care Partiescomment
- CommentIntraHubBusinessConnectorException
SessionManagementException
TechnicalConnectorException
- the technical connector exceptionpublic HCPartyAdaptedType getHCParty(HCPartyIdType hcParty) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getHCParty
in interface HubService
hcParty
- This is the NIHII or SSIN number according to the type of healthcare party. Other local identifiers are allowed.IntraHubBusinessConnectorException
SessionManagementException
TechnicalConnectorException
- the technical connector exceptionpublic HCPartyAdaptedType putHCParty(HCPartyAdaptedType hcParty) throws TechnicalConnectorException, IntraHubBusinessConnectorException
putHCParty
in interface HubService
hcParty
- Information about the healthcare partyIntraHubBusinessConnectorException
SessionManagementException
TechnicalConnectorException
- the technical connector exceptionpublic void putHCPartyConsent(ConsentHCPartyType consent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
putHCPartyConsent
in interface HubService
consent
- A Consent containing a HCParty and the signature date.IntraHubBusinessConnectorException
SessionManagementException
TechnicalConnectorException
- the technical connector exceptionpublic ConsentHCPartyType getHCPartyConsent(HCPartyIdType hcPartyId) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getHCPartyConsent
in interface HubService
hcPartyId
- This is the NIHII or INSS number according to the type of healthcare party. Other local identifiers are allowed.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic void revokeHCPartyConsent(ConsentHCPartyType consent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
revokeHCPartyConsent
in interface HubService
consent
- A Consent containing a HCParty and the signature date.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
public PersonType putPatient(PersonType patient) throws TechnicalConnectorException, IntraHubBusinessConnectorException
putPatient
in interface HubService
patient
- Information about a patientSessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic PersonType getPatient(PatientIdType patientId) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getPatient
in interface HubService
patientId
- Patient contains only the identifiers of the patient. Several identifiers of the same patient are allowed.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic void putPatientConsent(ConsentType patientConsent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
putPatientConsent
in interface HubService
patientConsent
- Patient Consent data structure that contains signing date of the consent, scope of the consent,
'retrospective'/ 'prospective' attribute.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic ConsentType getPatientConsent(SelectGetPatientConsentType patientConsent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getPatientConsent
in interface HubService
patientConsent
- Contains the Patient Identifiers and the scope of the consentSessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic void revokePatientConsent(ConsentType patientConsent) throws TechnicalConnectorException, IntraHubBusinessConnectorException
revokePatientConsent
in interface HubService
patientConsent
- Patient Consent data structure that contains signing date of the consent, scope of the consent, 'retrospective'
'prospective' attribute.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic void putTherapeuticLink(TherapeuticLinkType therapeuticLink) throws ConnectorException, SessionManagementException
putTherapeuticLink
in interface HubService
therapeuticLink
- A Therapeutic link containing Patient Identifier, HCP identifier, Link type, link start date , link end date
(optional), comment (optional)).SessionManagementException
ConnectorException
public Collection<TherapeuticLinkType> getTherapeuticLink(SelectGetHCPartyPatientConsentType patientConsent) throws ConnectorException
getTherapeuticLink
in interface HubService
patientConsent
- Contains the Patient Identifiers and the scope of the consentConnectorException
SessionManagementException
- the session management exceptionpublic void revokeTherapeuticLink(TherapeuticLinkType therapeuticLink) throws TechnicalConnectorException, IntraHubBusinessConnectorException
revokeTherapeuticLink
in interface HubService
therapeuticLink
- the therapeutic linkSessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic void putAccessRight(AccessRightType accessRight) throws TechnicalConnectorException, IntraHubBusinessConnectorException
putAccessRight
in interface HubService
accessRight
- the access rightSessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic AccessRightListType getAccessRight(TransactionIdType transaction) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getAccessRight
in interface HubService
transaction
- A transaction ID Type containing the Transaction Identifier.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic void revokeAccessRight(SelectRevokeAccessRightType accessRight) throws TechnicalConnectorException, IntraHubBusinessConnectorException
revokeAccessRight
in interface HubService
accessRight
- Contains a transaction and a HC PartySessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exceptionpublic TransactionAccessListType getPatientAuditTrail(SelectGetPatientAuditTrailType patientAuditTrail) throws TechnicalConnectorException, IntraHubBusinessConnectorException
getPatientAuditTrail
in interface HubService
patientAuditTrail
- Contains the search parameters for the audit trail.SessionManagementException
TechnicalConnectorException
- the technical connector exceptionIntraHubBusinessConnectorException
- the business connector exception
Connector Packaging PERSPHYSICIAN 4.5.4 API
Copyright © {inceptionYear}-2024 eHealth. All Rights Reserved.