@Implementable
@AccessLevel(value=EXTERNAL)
public interface EvidencePeriodHook
Evidence types typically have business start and end dates, and these are what are used for the start date of the first record chronologically in an evidence succession and the end date of the last record chronologically in an evidence succession, respectively.
Example (business dates existing)
An example of how the periods work on the evidence list page(s) is outlined here for the Income evidence type, which has business start and end dates.
Example (no business dates existing)
In certain instances, business start and end dates don't exist on the evidence type. The default behavior in this circumstance is for the infrastructure to return the Case Start Date to signify when the evidence began and the Case End Date to signify when it ended.
However, returning the Case Start Date and Case End Date does not always make business sense. Let's say an evidence type exists called Paid Employment, with no business start and end dates. And let's say also that this evidence type is linked to the Employment entity which does have business dates on it, but which isn't an evidence entity. If the Employment started on 1/1/2015 but the integrated case on which the Paid Employment linked to that Employment is created on 1/1/2018, displaying a start date of 1/1/2018 for the Paid Employment period on the evidence list page just adds confusion to the case worker.
In this particular example, a custom implementation of this interface can be
provided for the Paid Employment evidence type with the start and end dates
of the Employment being returned from the #getStartDate()
and
#getEndDate()
APIs, respectively.
Modifier and Type | Method and Description |
---|---|
curam.util.type.Date |
getEndDate(curam.core.sl.infrastructure.entity.struct.EvidenceDescriptorDtls dtls)
Returns the overridden evidence period end date.
|
curam.util.type.Date |
getStartDate(curam.core.sl.infrastructure.entity.struct.EvidenceDescriptorDtls dtls)
Returns the overridden evidence period start date.
|
@AccessLevel(value=EXTERNAL) curam.util.type.Date getStartDate(curam.core.sl.infrastructure.entity.struct.EvidenceDescriptorDtls dtls) throws curam.util.exception.AppException, curam.util.exception.InformationalException
dtls
- Evidence Descriptor entity details.curam.util.exception.AppException
- Generic Exception Messagecuram.util.exception.InformationalException
- Generic Exception Message@AccessLevel(value=EXTERNAL) curam.util.type.Date getEndDate(curam.core.sl.infrastructure.entity.struct.EvidenceDescriptorDtls dtls) throws curam.util.exception.AppException, curam.util.exception.InformationalException
dtls
- Evidence Descriptor entity details.curam.util.exception.AppException
- Generic Exception Messagecuram.util.exception.InformationalException
- Generic Exception Message