Package org.ehrbase.service
Class EhrServiceImp
- java.lang.Object
-
- org.ehrbase.service.BaseServiceImp
-
- org.ehrbase.service.EhrServiceImp
-
- All Implemented Interfaces:
BaseService,EhrService
@Service("ehrService") @Transactional public class EhrServiceImp extends BaseServiceImp implements EhrService
-
-
Field Summary
Fields Modifier and Type Field Description static StringDESCRIPTION-
Fields inherited from class org.ehrbase.service.BaseServiceImp
DEMOGRAPHIC, PARTY
-
-
Constructor Summary
Constructors Constructor Description EhrServiceImp(KnowledgeCacheService knowledgeCacheService, ValidationService validationService, org.jooq.DSLContext context, ServerConfig serverConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadminDeleteEhr(UUID ehrId)voidadminDeleteOrphanHistory()voidadminPurgePartyIdentified()UUIDcreate(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus status)booleandoesEhrExist(UUID ehrId)Optional<UUID>findBySubject(String subjectId, String nameSpace)com.nedap.archie.rm.datavalues.quantity.datetime.DvDateTimegetCreationTime(UUID ehrId)Fetches time of creation of specific EHR recordUUIDgetDirectoryId(UUID ehrId)com.nedap.archie.rm.ehr.EhrStatusgetEhrStatus(UUID ehrUuid)Optional<com.nedap.archie.rm.changecontrol.OriginalVersion<com.nedap.archie.rm.ehr.EhrStatus>>getEhrStatusAtVersion(UUID ehrUuid, UUID versionedObjectUid, int version)Optional<org.ehrbase.response.ehrscape.EhrStatusDto>getEhrStatusEhrScape(UUID ehrUuid, org.ehrbase.response.ehrscape.CompositionFormat format)IntegergetEhrStatusVersionByTimestamp(UUID ehrUid, Timestamp timestamp)UUIDgetEhrStatusVersionedObjectUidByEhr(UUID ehrUid)StringgetLatestVersionUidOfStatus(UUID ehrStatusId)Get latest version Uid of an EHR_STATUS by given versioned object UID.com.nedap.archie.rm.generic.RevisionHistorygetRevisionHistoryOfVersionedEhrStatus(UUID ehrUid)StringgetSubjectExtRef(String ehrId)List<String>getSubjectExtRefs(Collection<String> ehrIds)UUIDgetSubjectUuid(String ehrId)com.nedap.archie.rm.ehr.VersionedEhrStatusgetVersionedEhrStatus(UUID ehrUid)booleanhasEhr(UUID ehrId)booleanhasStatus(UUID statusId)voidinit()booleanisModifiable(UUID ehrId)booleanremoveDirectory(UUID ehrId)UUIDupdateStatus(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus status, UUID contributionId)-
Methods inherited from class org.ehrbase.service.BaseServiceImp
createInternalUser, getCurrentUserId, getDataAccess, getServerConfig, getSystemUuid
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ehrbase.api.service.BaseService
getServerConfig, getSystemUuid
-
Methods inherited from interface org.ehrbase.api.service.EhrService
checkEhrExists, checkEhrExistsAndIsModifiable
-
-
-
-
Field Detail
-
DESCRIPTION
public static final String DESCRIPTION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EhrServiceImp
@Autowired public EhrServiceImp(KnowledgeCacheService knowledgeCacheService, ValidationService validationService, org.jooq.DSLContext context, ServerConfig serverConfig)
-
-
Method Detail
-
init
@PostConstruct public void init()
-
create
public UUID create(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus status)
- Specified by:
createin interfaceEhrService
-
getEhrStatusEhrScape
public Optional<org.ehrbase.response.ehrscape.EhrStatusDto> getEhrStatusEhrScape(UUID ehrUuid, org.ehrbase.response.ehrscape.CompositionFormat format)
- Specified by:
getEhrStatusEhrScapein interfaceEhrService
-
getEhrStatus
public com.nedap.archie.rm.ehr.EhrStatus getEhrStatus(UUID ehrUuid)
- Specified by:
getEhrStatusin interfaceEhrService
-
getEhrStatusAtVersion
public Optional<com.nedap.archie.rm.changecontrol.OriginalVersion<com.nedap.archie.rm.ehr.EhrStatus>> getEhrStatusAtVersion(UUID ehrUuid, UUID versionedObjectUid, int version)
- Specified by:
getEhrStatusAtVersionin interfaceEhrService
-
updateStatus
public UUID updateStatus(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus status, UUID contributionId)
- Specified by:
updateStatusin interfaceEhrService
-
findBySubject
public Optional<UUID> findBySubject(String subjectId, String nameSpace)
- Specified by:
findBySubjectin interfaceEhrService
-
doesEhrExist
public boolean doesEhrExist(UUID ehrId)
- Specified by:
doesEhrExistin interfaceEhrService
-
getCreationTime
public com.nedap.archie.rm.datavalues.quantity.datetime.DvDateTime getCreationTime(UUID ehrId)
Fetches time of creation of specific EHR record- Specified by:
getCreationTimein interfaceEhrService- Parameters:
ehrId-- Returns:
- LocalDateTime instance of timestamp from DB
-
getEhrStatusVersionByTimestamp
public Integer getEhrStatusVersionByTimestamp(UUID ehrUid, Timestamp timestamp)
- Specified by:
getEhrStatusVersionByTimestampin interfaceEhrService
-
getLatestVersionUidOfStatus
public String getLatestVersionUidOfStatus(UUID ehrStatusId)
Get latest version Uid of an EHR_STATUS by given versioned object UID.- Specified by:
getLatestVersionUidOfStatusin interfaceEhrService- Parameters:
ehrStatusId- given versioned object UID- Returns:
- latest version Uid
-
getEhrStatusVersionedObjectUidByEhr
public UUID getEhrStatusVersionedObjectUidByEhr(UUID ehrUid)
- Specified by:
getEhrStatusVersionedObjectUidByEhrin interfaceEhrService
-
hasEhr
public boolean hasEhr(UUID ehrId)
- Specified by:
hasEhrin interfaceEhrService
-
isModifiable
public boolean isModifiable(UUID ehrId)
- Specified by:
isModifiablein interfaceEhrService
-
hasStatus
public boolean hasStatus(UUID statusId)
- Specified by:
hasStatusin interfaceEhrService
-
getVersionedEhrStatus
public com.nedap.archie.rm.ehr.VersionedEhrStatus getVersionedEhrStatus(UUID ehrUid)
- Specified by:
getVersionedEhrStatusin interfaceEhrService
-
getRevisionHistoryOfVersionedEhrStatus
public com.nedap.archie.rm.generic.RevisionHistory getRevisionHistoryOfVersionedEhrStatus(UUID ehrUid)
- Specified by:
getRevisionHistoryOfVersionedEhrStatusin interfaceEhrService
-
getDirectoryId
public UUID getDirectoryId(UUID ehrId)
- Specified by:
getDirectoryIdin interfaceEhrService
-
removeDirectory
public boolean removeDirectory(UUID ehrId)
- Specified by:
removeDirectoryin interfaceEhrService
-
adminDeleteEhr
@PreAuthorize("hasRole(\'ADMIN\')") public void adminDeleteEhr(UUID ehrId)- Specified by:
adminDeleteEhrin interfaceEhrService
-
adminPurgePartyIdentified
@PreAuthorize("hasRole(\'ADMIN\')") public void adminPurgePartyIdentified()- Specified by:
adminPurgePartyIdentifiedin interfaceEhrService
-
adminDeleteOrphanHistory
@PreAuthorize("hasRole(\'ADMIN\')") public void adminDeleteOrphanHistory()- Specified by:
adminDeleteOrphanHistoryin interfaceEhrService
-
getSubjectUuid
public UUID getSubjectUuid(String ehrId)
- Specified by:
getSubjectUuidin interfaceEhrService
-
getSubjectExtRefs
public List<String> getSubjectExtRefs(Collection<String> ehrIds)
- Specified by:
getSubjectExtRefsin interfaceEhrService
-
getSubjectExtRef
public String getSubjectExtRef(String ehrId)
- Specified by:
getSubjectExtRefin interfaceEhrService
-
-