Package org.ehrbase.dao.access.jooq
Class StatusAccess
- java.lang.Object
-
- org.ehrbase.dao.access.support.DataAccess
-
- org.ehrbase.dao.access.jooq.StatusAccess
-
- All Implemented Interfaces:
I_DomainAccess,I_StatusAccess,I_VersionedCRUD
public class StatusAccess extends DataAccess implements I_StatusAccess
Created by Christian Chevalley on 4/20/2015.
-
-
Field Summary
-
Fields inherited from interface org.ehrbase.dao.access.interfaces.I_DomainAccess
DBCP2_POOL, KEY_AUTO_RECONNECT, KEY_CONNECTION_MODE, KEY_DATABASE, KEY_DIALECT, KEY_HOST, KEY_INITIAL_CONNECTIONS, KEY_INTROSPECT_CACHE, KEY_KNOWLEDGE, KEY_LOG_ABANDONNED, KEY_LOGIN, KEY_MAX_ACTIVE, KEY_MAX_CONNECTION, KEY_MAX_IDLE, KEY_PASSWORD, KEY_PORT, KEY_REMOVE_ABANDONNED, KEY_REMOVE_ABANDONNED_TIMEOUT, KEY_SCHEMA, KEY_SET_MAX_PREPARED_STATEMENTS, KEY_SET_POOL_PREPARED_STATEMENTS, KEY_TEST_ON_BORROW, KEY_URL, KEY_WAIT_MS, PG_POOL
-
-
Constructor Summary
Constructors Constructor Description StatusAccess(I_DomainAccess domainAccess, UUID ehrId)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description UUIDcommit(LocalDateTime timestamp, UUID contribution)Commit the object with the necessary metadata, which will be derived from the contribution.UUIDcommit(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)Commit the object with the necessary metadata.intdelete(LocalDateTime timestamp, UUID contribution)Delete the object with the necessary metadata, which will be derived from the contribution.intdelete(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)Delete the object with the necessary metadata.static booleanexists(I_DomainAccess domainAccess, UUID ehrStatusId)Checks existence of given EHR_STATUS.I_AuditDetailsAccessgetAuditDetailsAccess()UUIDgetAuditDetailsId()UUIDgetContributionId()DataAccessgetDataAccess()UUIDgetEhrId()intgetEhrStatusVersionFromTimeStamp(Timestamp time)Get a specific version number of the associated EHR_STATUS of this instance by timestamp.UUIDgetId()TimestampgetInitialTimeOfVersionedEhrStatus()Get initial time (or time of oldest record) of the status object of this instance.static IntegergetLatestVersionNumber(I_DomainAccess domainAccess, UUID statusId)Get latest version number of EHR_STATUS by versioned object UID.com.nedap.archie.rm.datastructures.ItemStructuregetOtherDetails()com.nedap.archie.rm.ehr.EhrStatusgetStatus()Get current record asEhrStatusrepresentation.StatusRecordgetStatusRecord()static Map<Integer,I_StatusAccess>getVersionMapOfStatus(I_DomainAccess domainAccess, UUID statusId)Get complete version list, mapped to their version number.protected static StatusRecordhistoryRecToNormalRec(StatusHistoryRecord statusHistoryRecord)Helper method to convert result from query on history table to a record of the normal table.static I_StatusAccessretrieveInstance(I_DomainAccess domainAccess, UUID statusId)retrieve a status by given status IDstatic Map<com.nedap.archie.rm.support.identification.ObjectVersionId,I_StatusAccess>retrieveInstanceByContribution(I_DomainAccess domainAccess, UUID contributionId, String node)Retrieve a map of status accesses for all statuses referencing a contributionstatic I_StatusAccessretrieveInstanceByEhrId(I_DomainAccess domainAccess, UUID ehrId)retrieve latest status by given EHR IDstatic I_StatusAccessretrieveInstanceByNamedSubject(I_DomainAccess domainAccess, String partyName)retrieve a status for a named subject (patient)
NB. for security reason, most deployment will not provide an explicit subject name, this method is provided for small deployment or test purpose.static I_StatusAccessretrieveInstanceByParty(I_DomainAccess domainAccess, UUID partyIdentified)retrieve a status by an identified party idvoidsetAuditAndContributionAuditValues(UUID systemId, UUID committerId, String description, I_ConceptAccess.ContributionChangeType changeType)Helper that sets values in Status' direct audit and Status' implicit contribution auditvoidsetAuditDetailsAccess(I_AuditDetailsAccess auditDetailsAccess)voidsetContributionAccess(I_ContributionAccess contributionAccess)voidsetContributionId(UUID contribution)voidsetEhrId(UUID ehrId)voidsetOtherDetails(com.nedap.archie.rm.datastructures.ItemStructure otherDetails)voidsetStatusRecord(StatusHistoryRecord input)voidsetStatusRecord(StatusRecord record)booleanupdate(LocalDateTime timestamp, UUID contribution)Update the object with the necessary metadata, which will be derived from the contribution.booleanupdate(LocalDateTime timestamp, UUID committerId, UUID systemId, String description, I_ConceptAccess.ContributionChangeType changeType)Update the object with the necessary metadata.-
Methods inherited from class org.ehrbase.dao.access.support.DataAccess
getConnection, getContext, getDialect, getIntrospectService, getKnowledgeManager, getServerConfig, releaseConnection
-
-
-
-
Constructor Detail
-
StatusAccess
public StatusAccess(I_DomainAccess domainAccess, UUID ehrId)
-
-
Method Detail
-
commit
public UUID commit(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)
Description copied from interface:I_VersionedCRUDCommit the object with the necessary metadata.- Specified by:
commitin interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcommitterId- Audit committersystemId- Audit systemdescription- (Optional) Audit description- Returns:
- ID of object
-
commit
public UUID commit(LocalDateTime timestamp, UUID contribution)
Description copied from interface:I_VersionedCRUDCommit the object with the necessary metadata, which will be derived from the contribution.- Specified by:
commitin interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcontribution- Given contribution to use and derive audit data from- Returns:
- ID of object
-
update
public boolean update(LocalDateTime timestamp, UUID committerId, UUID systemId, String description, I_ConceptAccess.ContributionChangeType changeType)
Description copied from interface:I_VersionedCRUDUpdate the object with the necessary metadata.- Specified by:
updatein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcommitterId- Audit committersystemId- Audit systemdescription- (Optional) Audit descriptionchangeType- Specific change type, because there are more than DELETED.- Returns:
- Boolean representing success of update
-
update
public boolean update(LocalDateTime timestamp, UUID contribution)
Description copied from interface:I_VersionedCRUDUpdate the object with the necessary metadata, which will be derived from the contribution.- Specified by:
updatein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcontribution- Given contribution to use and derive audit data from- Returns:
- Boolean representing success of update
-
delete
public int delete(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)
Description copied from interface:I_VersionedCRUDDelete the object with the necessary metadata.- Specified by:
deletein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcommitterId- Audit committersystemId- Audit systemdescription- (Optional) Audit description- Returns:
- Number of deleted objects
-
delete
public int delete(LocalDateTime timestamp, UUID contribution)
Description copied from interface:I_VersionedCRUDDelete the object with the necessary metadata, which will be derived from the contribution.- Specified by:
deletein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcontribution- Given contribution to use and derive audit data from- Returns:
- Number of deleted objects
-
retrieveInstance
public static I_StatusAccess retrieveInstance(I_DomainAccess domainAccess, UUID statusId)
Description copied from interface:I_StatusAccessretrieve a status by given status ID- Parameters:
domainAccess- SQL accessstatusId- Id of an status to retrieve- Returns:
- UUID or null
-
retrieveInstanceByNamedSubject
public static I_StatusAccess retrieveInstanceByNamedSubject(I_DomainAccess domainAccess, String partyName)
Description copied from interface:I_StatusAccessretrieve a status for a named subject (patient)
NB. for security reason, most deployment will not provide an explicit subject name, this method is provided for small deployment or test purpose.- Parameters:
domainAccess- SQL accesspartyName- a subject name- Returns:
- UUID or null
-
retrieveInstanceByParty
public static I_StatusAccess retrieveInstanceByParty(I_DomainAccess domainAccess, UUID partyIdentified)
Description copied from interface:I_StatusAccessretrieve a status by an identified party id- Parameters:
domainAccess- SQL accesspartyIdentified- Id of an identified party- Returns:
- UUID or null
-
retrieveInstanceByEhrId
public static I_StatusAccess retrieveInstanceByEhrId(I_DomainAccess domainAccess, UUID ehrId)
Description copied from interface:I_StatusAccessretrieve latest status by given EHR ID- Parameters:
domainAccess- SQL accessehrId- Id of associated EHR- Returns:
- UUID or null
-
retrieveInstanceByContribution
public static Map<com.nedap.archie.rm.support.identification.ObjectVersionId,I_StatusAccess> retrieveInstanceByContribution(I_DomainAccess domainAccess, UUID contributionId, String node)
Description copied from interface:I_StatusAccessRetrieve a map of status accesses for all statuses referencing a contribution- Parameters:
domainAccess- SQL context, knowledgecontributionId- contribution object uuidnode- Name of local node, for creation of object version ID- Returns:
- a map of
I_StatusAccessand their version ID, that match the condition
-
getVersionMapOfStatus
public static Map<Integer,I_StatusAccess> getVersionMapOfStatus(I_DomainAccess domainAccess, UUID statusId)
Description copied from interface:I_StatusAccessGet complete version list, mapped to their version number.- Parameters:
domainAccess- Access- Returns:
-
getId
public UUID getId()
- Specified by:
getIdin interfaceI_StatusAccess
-
getDataAccess
public DataAccess getDataAccess()
- Specified by:
getDataAccessin interfaceI_DomainAccess
-
setStatusRecord
public void setStatusRecord(StatusRecord record)
- Specified by:
setStatusRecordin interfaceI_StatusAccess
-
setStatusRecord
public void setStatusRecord(StatusHistoryRecord input)
- Specified by:
setStatusRecordin interfaceI_StatusAccess
-
getStatusRecord
public StatusRecord getStatusRecord()
- Specified by:
getStatusRecordin interfaceI_StatusAccess
-
setAuditDetailsAccess
public void setAuditDetailsAccess(I_AuditDetailsAccess auditDetailsAccess)
- Specified by:
setAuditDetailsAccessin interfaceI_StatusAccess
-
setContributionAccess
public void setContributionAccess(I_ContributionAccess contributionAccess)
- Specified by:
setContributionAccessin interfaceI_StatusAccess
-
getAuditDetailsAccess
public I_AuditDetailsAccess getAuditDetailsAccess()
- Specified by:
getAuditDetailsAccessin interfaceI_StatusAccess
-
getAuditDetailsId
public UUID getAuditDetailsId()
- Specified by:
getAuditDetailsIdin interfaceI_StatusAccess
-
setContributionId
public void setContributionId(UUID contribution)
- Specified by:
setContributionIdin interfaceI_StatusAccess
-
getContributionId
public UUID getContributionId()
- Specified by:
getContributionIdin interfaceI_StatusAccess
-
setAuditAndContributionAuditValues
public void setAuditAndContributionAuditValues(UUID systemId, UUID committerId, String description, I_ConceptAccess.ContributionChangeType changeType)
Description copied from interface:I_StatusAccessHelper that sets values in Status' direct audit and Status' implicit contribution audit- Specified by:
setAuditAndContributionAuditValuesin interfaceI_StatusAccess- Parameters:
systemId- ID of committing systemcommitterId- ID of committerdescription- Optional descriptionchangeType- Change type of operation
-
historyRecToNormalRec
protected static StatusRecord historyRecToNormalRec(StatusHistoryRecord statusHistoryRecord)
Helper method to convert result from query on history table to a record of the normal table.- Parameters:
statusHistoryRecord- Given history record- Returns:
- Converted normal record
-
getLatestVersionNumber
public static Integer getLatestVersionNumber(I_DomainAccess domainAccess, UUID statusId)
Description copied from interface:I_StatusAccessGet latest version number of EHR_STATUS by versioned object UID.- Parameters:
domainAccess- accessstatusId- versioned object UID- Returns:
- version number
-
exists
public static boolean exists(I_DomainAccess domainAccess, UUID ehrStatusId)
Description copied from interface:I_StatusAccessChecks existence of given EHR_STATUS.- Parameters:
domainAccess- domain accessehrStatusId- given EHR_STATUS- Returns:
- True if object with ID exists, false if not
-
getEhrStatusVersionFromTimeStamp
public int getEhrStatusVersionFromTimeStamp(Timestamp time)
Description copied from interface:I_StatusAccessGet a specific version number of the associated EHR_STATUS of this instance by timestamp. General idea behind the algorithm: 'what version was the top version at moment T?'- Specified by:
getEhrStatusVersionFromTimeStampin interfaceI_StatusAccess- Parameters:
time- Timestamp- Returns:
- version number
-
getInitialTimeOfVersionedEhrStatus
public Timestamp getInitialTimeOfVersionedEhrStatus()
Description copied from interface:I_StatusAccessGet initial time (or time of oldest record) of the status object of this instance.- Specified by:
getInitialTimeOfVersionedEhrStatusin interfaceI_StatusAccess- Returns:
- time as
Timestamp
-
getStatus
public com.nedap.archie.rm.ehr.EhrStatus getStatus()
Description copied from interface:I_StatusAccessGet current record asEhrStatusrepresentation.- Specified by:
getStatusin interfaceI_StatusAccess- Returns:
- Current status object
-
setOtherDetails
public void setOtherDetails(com.nedap.archie.rm.datastructures.ItemStructure otherDetails)
- Specified by:
setOtherDetailsin interfaceI_StatusAccess
-
getOtherDetails
public com.nedap.archie.rm.datastructures.ItemStructure getOtherDetails()
- Specified by:
getOtherDetailsin interfaceI_StatusAccess
-
setEhrId
public void setEhrId(UUID ehrId)
- Specified by:
setEhrIdin interfaceI_StatusAccess
-
getEhrId
public UUID getEhrId()
- Specified by:
getEhrIdin interfaceI_StatusAccess
-
-