@AccessLevel(value=EXTERNAL)
@Implementable
public interface OutcomePlanDateTrackableItem
extends curam.util.persistence.StandardEntity
OutcomePlan
and is required to be tracked
by its start date, expected end date and completion status must implement
this interface. Instances of OutcomePlanDateTrackableItem
will
typically be displayed on Outcome Planning Productivity pages.Modifier and Type | Method and Description |
---|---|
CaseHeader |
getCase()
Returns the
CaseHeader this item lives on. |
java.util.List<CaseParticipantRole> |
getClients()
Returns the list of
CaseParticipantRole records associated with
this OutcomePlanDateTrackableItem . |
curam.codetable.impl.OPDATETRACKABLEITEMTYPEEntry |
getDateTrackableItemType()
This is the type of item, for example Action, Service, Referral, which will
typically be used to describe the item on the client screen.
|
int |
getDaysOverDue()
Returns the number of days this item is overdue completion.
|
curam.util.type.Date |
getExpectedEndDate()
Returns the expected end date of this
OutcomePlanDateTrackableItem . |
java.lang.String |
getItemName()
Returns the name of the item.
|
curam.codetable.impl.ITEMSTOCOMPLETECONFIGTYPEEntry |
getItemsOverDueCompletionConfigType()
This is the type of item, for example Plan, Goal, Activity, which will be
used to ensure only items of the correct type are displayed on the client.
|
curam.codetable.impl.ITEMSTOCOMPLETECONFIGTYPEEntry |
getItemsToCompleteConfigType()
This is the type of item, for example Plan, Goal, Activity, which will be
used to ensure only items of the correct type are displayed on the client.
|
curam.util.type.Date |
getStartDate()
Returns the start date of this
OutcomePlanDateTrackableItem . |
ClientURI |
getTabURI()
Returns the client uri for opening the tab associated with this
OutcomePlanDateTrackableItem . |
boolean |
isCompleted()
Returns an indicator which denotes whether this
OutcomePlanDateTrackableItem is complete. |
boolean |
isDueToCompleteOnOrBefore(curam.util.type.Date dueToCompleteOnOrBeforeDate)
Returns an indicator which denotes whether this
OutcomePlanDateTrackableItem is due to complete on or before this
date. |
boolean |
isDueToStartOnOrBefore(curam.util.type.Date dueToStartOnOrBeforeDate)
Returns an indicator which denotes whether this
OutcomePlanDateTrackableItem is due to start on or before this
date. |
boolean |
isOverdueCompletion(int numDaysOverThreshold)
Returns an indicator which denotes whether this
OutcomePlanDateTrackableItem is overdue completion. |
curam.util.type.Date getExpectedEndDate()
OutcomePlanDateTrackableItem
.
Note that expected end date is a conceptual business term which will have
different meanings for different entities. As far as the data model is
concerned, for some implementations, the expected end date may be the
endDate field on the relevant entity.curam.util.type.Date getStartDate()
OutcomePlanDateTrackableItem
. Note
that the start date is a conceptual business term which will have different
meanings for different entities. As far as the data model is concerned, for
some implementations, the expected end date may be the endDate field on the
relevant entity.boolean isCompleted()
OutcomePlanDateTrackableItem
is complete.boolean isOverdueCompletion(int numDaysOverThreshold)
OutcomePlanDateTrackableItem
is overdue completion. This will
return true if isCompleted()
returns true for the specified
threshold and getExpectedEndDate()
returns a date which is before
the current date.numDaysOverThreshold
- The minimum number of days past the expected end date that is
considered overdue, in short if this value is 10 and the item is 1
day overdue, this operation would return true.int getDaysOverDue()
isOverdueCompletion(int)
.boolean isDueToCompleteOnOrBefore(curam.util.type.Date dueToCompleteOnOrBeforeDate)
OutcomePlanDateTrackableItem
is due to complete on or before this
date. Any item which is overdue completion will be excluded from this list,
only items which are due to complete after or on the current date, and
before or on the specified dueToCompleteOnOrBeforeDate, will be returned in
this list. It should be noted that an item were the getExpectedEndDate()
operation returns Date.kZeroDate will never be considered due to complete,
and will not be returned in this list. Only items which have a specified
end date are considered due to complete at some point. Finally, this
operation has will consider the actual completion status of an item before
including it in this list. The actual completion mechanism differs in each
implementation, but an item which returns true for the operation
isCompleted() will not appear in this list, in short an item which
completes early will not appear in this list.dueToCompleteOnOrBeforeDate
- An item which is due to complete on or before this date will
return true.boolean isDueToStartOnOrBefore(curam.util.type.Date dueToStartOnOrBeforeDate)
OutcomePlanDateTrackableItem
is due to start on or before this
date. Out of the box, only instances of OutcomePlanActivity
will
fully implement this operation, other implementations will always return
false.dueToStartOnOrBeforeDate
- An item which is due to start on or before this date will return
true.java.lang.String getItemName()
java.util.List<CaseParticipantRole> getClients()
CaseParticipantRole
records associated with
this OutcomePlanDateTrackableItem
. In the event that an
implementation which does not have any CaseParticipantRole
records
associated with it needs to implement OutcomePlanDateTrackableItem
,
the implementation should in this case return an empty list.ClientURI getTabURI()
OutcomePlanDateTrackableItem
.curam.codetable.impl.OPDATETRACKABLEITEMTYPEEntry getDateTrackableItemType()
curam.codetable.impl.ITEMSTOCOMPLETECONFIGTYPEEntry getItemsToCompleteConfigType()
OutcomePlanDateTrackableItemDAO#listDueToCompleteByRelatedCase(curam.piwrapper.caseheader.impl.CaseHeader, Date, List)
operation will compare the result of this operation with its
parameter, and only items where this
operation returns a value which is in the
Listcuram.codetable.impl.ITEMSTOCOMPLETECONFIGTYPEEntry getItemsOverDueCompletionConfigType()
OutcomePlanDateTrackableItemDAO#listOverdueCompletionByRelatedCase(curam.piwrapper.caseheader.impl.CaseHeader, Date, List)
operation will compare the result of this operation with its
parameter, and only items where this
operation returns a value which is in the
ListCaseHeader getCase()
CaseHeader
this item lives on. Out of the box this case
will always be of type OutcomePlan
. Note that OutcomePlan
is itself an instance of OutcomePlanDateTrackableItem
, and in its
implementation, this operation returns itself.