Package org.ehrbase.service
Class CompositionServiceImp
- java.lang.Object
-
- org.ehrbase.service.BaseServiceImp
-
- org.ehrbase.service.CompositionServiceImp
-
- All Implemented Interfaces:
BaseService,CompositionService,VersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
@Service @Transactional public class CompositionServiceImp extends BaseServiceImp implements CompositionService
-
-
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 CompositionServiceImp(KnowledgeCacheService knowledgeCacheService, ValidationService validationService, EhrService ehrService, org.jooq.DSLContext context, ServerConfig serverConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadminDelete(UUID compositionId)com.nedap.archie.rm.composition.CompositionbuildComposition(String content, org.ehrbase.response.ehrscape.CompositionFormat format, String templateId)Optional<org.ehrbase.response.ehrscape.CompositionDto>create(UUID ehrId, com.nedap.archie.rm.composition.Composition objData)Optional<org.ehrbase.response.ehrscape.CompositionDto>create(UUID ehrId, com.nedap.archie.rm.composition.Composition objData, UUID contribution)Optional<org.ehrbase.response.ehrscape.CompositionDto>create(UUID ehrId, com.nedap.archie.rm.composition.Composition objData, UUID systemId, UUID committerId, String description)booleandelete(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId)booleandelete(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, UUID contribution)booleandelete(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, UUID systemId, UUID committerId, String description)booleanexists(UUID versionedObjectId)IntegergetLastVersionNumber(UUID compositionId)Optional<com.nedap.archie.rm.changecontrol.OriginalVersion<com.nedap.archie.rm.composition.Composition>>getOriginalVersionComposition(UUID versionedObjectUid, int version)com.nedap.archie.rm.generic.RevisionHistorygetRevisionHistoryOfVersionedComposition(UUID composition)StringgetTemplateIdFromInputComposition(String content, org.ehrbase.response.ehrscape.CompositionFormat format)StringgetUidFromInputComposition(String content, org.ehrbase.response.ehrscape.CompositionFormat format)Internal helper funcition to read UID from given composition input in stated format.IntegergetVersionByTimestamp(UUID compositionId, LocalDateTime timestamp)com.nedap.archie.rm.ehr.VersionedCompositiongetVersionedComposition(UUID ehrId, UUID composition)booleanisDeleted(UUID versionedObjectId)Optional<org.ehrbase.response.ehrscape.CompositionDto>retrieve(UUID compositionId, Integer version)Optional<org.ehrbase.response.ehrscape.CompositionDto>retrieveByTimestamp(UUID compositionId, LocalDateTime timestamp)org.ehrbase.response.ehrscape.StructuredStringserialize(org.ehrbase.response.ehrscape.CompositionDto composition, org.ehrbase.response.ehrscape.CompositionFormat format)Public serializer entry point which will be called with composition dto fetched from database and the desired target serialized string format.Optional<org.ehrbase.response.ehrscape.CompositionDto>update(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, com.nedap.archie.rm.composition.Composition objData)Optional<org.ehrbase.response.ehrscape.CompositionDto>update(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, com.nedap.archie.rm.composition.Composition objData, UUID contribution)Optional<org.ehrbase.response.ehrscape.CompositionDto>update(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, com.nedap.archie.rm.composition.Composition objData, UUID systemId, UUID committerId, String description)-
Methods inherited from class org.ehrbase.service.BaseServiceImp
getDataAccess, getServerConfig, getSystemUuid, getUserUuid
-
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
-
-
-
-
Field Detail
-
DESCRIPTION
public static final String DESCRIPTION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CompositionServiceImp
@Autowired public CompositionServiceImp(KnowledgeCacheService knowledgeCacheService, ValidationService validationService, EhrService ehrService, org.jooq.DSLContext context, ServerConfig serverConfig)
-
-
Method Detail
-
create
public Optional<org.ehrbase.response.ehrscape.CompositionDto> create(UUID ehrId, com.nedap.archie.rm.composition.Composition objData, UUID systemId, UUID committerId, String description)
- Specified by:
createin interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
create
public Optional<org.ehrbase.response.ehrscape.CompositionDto> create(UUID ehrId, com.nedap.archie.rm.composition.Composition objData, UUID contribution)
- Specified by:
createin interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
create
public Optional<org.ehrbase.response.ehrscape.CompositionDto> create(UUID ehrId, com.nedap.archie.rm.composition.Composition objData)
- Specified by:
createin interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
update
public Optional<org.ehrbase.response.ehrscape.CompositionDto> update(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, com.nedap.archie.rm.composition.Composition objData, UUID systemId, UUID committerId, String description)
- Specified by:
updatein interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
update
public Optional<org.ehrbase.response.ehrscape.CompositionDto> update(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, com.nedap.archie.rm.composition.Composition objData, UUID contribution)
- Specified by:
updatein interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
update
public Optional<org.ehrbase.response.ehrscape.CompositionDto> update(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, com.nedap.archie.rm.composition.Composition objData)
- Specified by:
updatein interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
delete
public boolean delete(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, UUID systemId, UUID committerId, String description)
- Specified by:
deletein interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
delete
public boolean delete(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, UUID contribution)
- Specified by:
deletein interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
delete
public boolean delete(UUID ehrId, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId)
- Specified by:
deletein interfaceVersionedObjectService<com.nedap.archie.rm.composition.Composition,org.ehrbase.response.ehrscape.CompositionDto>
-
retrieve
public Optional<org.ehrbase.response.ehrscape.CompositionDto> retrieve(UUID compositionId, Integer version) throws InternalServerException
- Specified by:
retrievein interfaceCompositionService- Throws:
InternalServerException
-
retrieveByTimestamp
public Optional<org.ehrbase.response.ehrscape.CompositionDto> retrieveByTimestamp(UUID compositionId, LocalDateTime timestamp)
- Specified by:
retrieveByTimestampin interfaceCompositionService
-
serialize
public org.ehrbase.response.ehrscape.StructuredString serialize(org.ehrbase.response.ehrscape.CompositionDto composition, org.ehrbase.response.ehrscape.CompositionFormat format)Public serializer entry point which will be called with composition dto fetched from database and the desired target serialized string format. Will parse the composition dto into target format either with a custom lambda expression for desired target format- Specified by:
serializein interfaceCompositionService- Parameters:
composition- Composition dto from databaseformat- Target format- Returns:
- Structured string with string of data and content format
-
buildComposition
public com.nedap.archie.rm.composition.Composition buildComposition(String content, org.ehrbase.response.ehrscape.CompositionFormat format, String templateId)
- Specified by:
buildCompositionin interfaceCompositionService
-
getLastVersionNumber
public Integer getLastVersionNumber(UUID compositionId) throws InternalServerException
- Specified by:
getLastVersionNumberin interfaceCompositionService- Throws:
InternalServerException
-
getVersionByTimestamp
public Integer getVersionByTimestamp(UUID compositionId, LocalDateTime timestamp)
- Specified by:
getVersionByTimestampin interfaceCompositionService
-
getUidFromInputComposition
public String getUidFromInputComposition(String content, org.ehrbase.response.ehrscape.CompositionFormat format) throws IllegalArgumentException, InternalServerException, UnexpectedSwitchCaseException
Internal helper funcition to read UID from given composition input in stated format.- Specified by:
getUidFromInputCompositionin interfaceCompositionService- Parameters:
content- Composition inputformat- Composition format- Returns:
- Throws:
IllegalArgumentExceptionInternalServerExceptionUnexpectedSwitchCaseException
-
getTemplateIdFromInputComposition
public String getTemplateIdFromInputComposition(String content, org.ehrbase.response.ehrscape.CompositionFormat format)
- Specified by:
getTemplateIdFromInputCompositionin interfaceCompositionService
-
exists
public boolean exists(UUID versionedObjectId)
- Specified by:
existsin interfaceCompositionService
-
isDeleted
public boolean isDeleted(UUID versionedObjectId)
- Specified by:
isDeletedin interfaceCompositionService
-
adminDelete
@PreAuthorize("hasRole(\'ADMIN\')") public void adminDelete(UUID compositionId)- Specified by:
adminDeletein interfaceCompositionService
-
getVersionedComposition
public com.nedap.archie.rm.ehr.VersionedComposition getVersionedComposition(UUID ehrId, UUID composition)
- Specified by:
getVersionedCompositionin interfaceCompositionService
-
getRevisionHistoryOfVersionedComposition
public com.nedap.archie.rm.generic.RevisionHistory getRevisionHistoryOfVersionedComposition(UUID composition)
- Specified by:
getRevisionHistoryOfVersionedCompositionin interfaceCompositionService
-
getOriginalVersionComposition
public Optional<com.nedap.archie.rm.changecontrol.OriginalVersion<com.nedap.archie.rm.composition.Composition>> getOriginalVersionComposition(UUID versionedObjectUid, int version)
- Specified by:
getOriginalVersionCompositionin interfaceCompositionService
-
-