Class EhrRepository

java.lang.Object
org.ehrbase.repository.AbstractVersionedObjectRepository<org.ehrbase.jooq.pg.tables.records.EhrStatusVersionRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusVersionHistoryRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataHistoryRecord,com.nedap.archie.rm.ehr.EhrStatus>
org.ehrbase.repository.EhrRepository

@Repository public class EhrRepository extends AbstractVersionedObjectRepository<org.ehrbase.jooq.pg.tables.records.EhrStatusVersionRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusVersionHistoryRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataHistoryRecord,com.nedap.archie.rm.ehr.EhrStatus>
Handles DB Access to Ehr and EhrStatusVersion etc.
  • Field Details

    • IS_MODIFIABLE_JSON_PATH

      public static final String[] IS_MODIFIABLE_JSON_PATH
    • SUBJECT_ID_JSON_PATH

      public static final String[] SUBJECT_ID_JSON_PATH
    • SUBJECT_NAMESPACE_JSON_PATH

      public static final String[] SUBJECT_NAMESPACE_JSON_PATH
  • Constructor Details

    • EhrRepository

      public EhrRepository(org.jooq.DSLContext context, ContributionRepository contributionRepository, org.ehrbase.api.service.SystemService systemService, TimeProvider timeProvider)
  • Method Details

    • getVersionDataJoinFields

      protected List<org.jooq.TableField<org.ehrbase.jooq.pg.tables.records.EhrStatusVersionRecord,?>> getVersionDataJoinFields()
      Specified by:
      getVersionDataJoinFields in class AbstractVersionedObjectRepository<org.ehrbase.jooq.pg.tables.records.EhrStatusVersionRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusVersionHistoryRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataHistoryRecord,com.nedap.archie.rm.ehr.EhrStatus>
    • commit

      @Transactional public void commit(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus status, UUID contributionId, UUID auditId)
    • hasEhr

      public boolean hasEhr(UUID ehrId)
      Overrides:
      hasEhr in class AbstractVersionedObjectRepository<org.ehrbase.jooq.pg.tables.records.EhrStatusVersionRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusVersionHistoryRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataHistoryRecord,com.nedap.archie.rm.ehr.EhrStatus>
    • hasEhrNewTransaction

      @Transactional(readOnly=true, propagation=REQUIRES_NEW) public boolean hasEhrNewTransaction(UUID ehrId)
    • fetchIsModifiable

      public Boolean fetchIsModifiable(UUID ehrId)
    • findBySubject

      public Optional<UUID> findBySubject(String subjectId, String nameSpace)
    • findVersionByTime

      public Optional<com.nedap.archie.rm.support.identification.ObjectVersionId> findVersionByTime(UUID ehrId, OffsetDateTime time)
    • findLatestVersion

      public Optional<com.nedap.archie.rm.support.identification.ObjectVersionId> findLatestVersion(UUID ehrId)
    • findHead

      public Optional<com.nedap.archie.rm.ehr.EhrStatus> findHead(UUID ehrId)
    • isDeleted

      protected boolean isDeleted(org.jooq.Condition condition, org.jooq.Condition historyCondition, Integer version)
      Overrides:
      isDeleted in class AbstractVersionedObjectRepository<org.ehrbase.jooq.pg.tables.records.EhrStatusVersionRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusVersionHistoryRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataHistoryRecord,com.nedap.archie.rm.ehr.EhrStatus>
    • getOriginalVersionStatus

      public Optional<com.nedap.archie.rm.changecontrol.OriginalVersion<com.nedap.archie.rm.ehr.EhrStatus>> getOriginalVersionStatus(UUID ehrId, UUID versionedObjectUid, int version)
    • findEhrCreationTime

      public OffsetDateTime findEhrCreationTime(UUID ehrId)
    • adminDelete

      public void adminDelete(UUID ehrId)
    • update

      @Transactional public void update(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus ehrStatus, UUID contributionId, UUID auditId)
    • getVersionedEhrStatus

      public Optional<com.nedap.archie.rm.ehr.VersionedEhrStatus> getVersionedEhrStatus(UUID ehrId)
    • getLocatableClass

      protected Class<com.nedap.archie.rm.ehr.EhrStatus> getLocatableClass()
      Specified by:
      getLocatableClass in class AbstractVersionedObjectRepository<org.ehrbase.jooq.pg.tables.records.EhrStatusVersionRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusVersionHistoryRecord,org.ehrbase.jooq.pg.tables.records.EhrStatusDataHistoryRecord,com.nedap.archie.rm.ehr.EhrStatus>