Package org.ehrbase.service
Class CompositionServiceImp
- java.lang.Object
-
- org.ehrbase.service.BaseService
-
- org.ehrbase.service.CompositionServiceImp
-
- All Implemented Interfaces:
BaseService,CompositionService
@Service @Transactional public class CompositionServiceImp extends BaseService implements CompositionService
-
-
Field Summary
Fields Modifier and Type Field Description static StringDESCRIPTION-
Fields inherited from class org.ehrbase.service.BaseService
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 UUIDcreate(UUID ehrId, com.nedap.archie.rm.composition.Composition composition, UUID contributionId)UUIDcreate(UUID ehrId, String content, CompositionFormat format)UUIDcreate(UUID ehrId, String content, CompositionFormat format, String templateId, UUID linkUid)LocalDateTimedelete(UUID compositionId)LocalDateTimedelete(UUID compositionId, UUID contributionId)booleanexists(UUID versionedObjectId)IntegergetLastVersionNumber(UUID compositionId)StringgetUidFromInputComposition(String content, CompositionFormat format)Internal helper funcition to read UID from given composition input in stated format.IntegergetVersionByTimestamp(UUID compositionId, LocalDateTime timestamp)booleanisDeleted(UUID versionedObjectId)Optional<CompositionDto>retrieve(UUID compositionId, Integer version)Optional<CompositionDto>retrieveByTimestamp(UUID compositionId, LocalDateTime timestamp)StructuredStringserialize(CompositionDto composition, CompositionFormat format)Public serializer entry point which will be called with composition dto fetched from database and the desired target serialized string format.Stringupdate(UUID compositionId, com.nedap.archie.rm.composition.Composition composition, UUID contributionId)Stringupdate(UUID compositionId, CompositionFormat format, String content)Stringupdate(UUID compositionId, CompositionFormat format, String content, String templateId)-
Methods inherited from class org.ehrbase.service.BaseService
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
-
retrieve
public Optional<CompositionDto> retrieve(UUID compositionId, Integer version) throws InternalServerException
- Specified by:
retrievein interfaceCompositionService- Throws:
InternalServerException
-
retrieveByTimestamp
public Optional<CompositionDto> retrieveByTimestamp(UUID compositionId, LocalDateTime timestamp)
- Specified by:
retrieveByTimestampin interfaceCompositionService
-
serialize
public StructuredString serialize(CompositionDto composition, 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
-
create
public UUID create(UUID ehrId, String content, CompositionFormat format)
- Specified by:
createin interfaceCompositionService
-
create
public UUID create(UUID ehrId, String content, CompositionFormat format, String templateId, UUID linkUid)
- Specified by:
createin interfaceCompositionService
-
create
public UUID create(UUID ehrId, com.nedap.archie.rm.composition.Composition composition, UUID contributionId)
- Specified by:
createin interfaceCompositionService
-
update
public String update(UUID compositionId, CompositionFormat format, String content)
- Specified by:
updatein interfaceCompositionService
-
update
public String update(UUID compositionId, CompositionFormat format, String content, String templateId)
- Specified by:
updatein interfaceCompositionService
-
update
public String update(UUID compositionId, com.nedap.archie.rm.composition.Composition composition, UUID contributionId)
- Specified by:
updatein interfaceCompositionService
-
delete
public LocalDateTime delete(UUID compositionId)
- Specified by:
deletein interfaceCompositionService
-
delete
public LocalDateTime delete(UUID compositionId, UUID contributionId)
- Specified by:
deletein 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, 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
-
exists
public boolean exists(UUID versionedObjectId)
- Specified by:
existsin interfaceCompositionService
-
isDeleted
public boolean isDeleted(UUID versionedObjectId)
- Specified by:
isDeletedin interfaceCompositionService
-
-