Cúram Milestone Developer...

28
IBM Cúram Social Program Management Version 6.0.5 Cúram Milestone Developer Guide

Transcript of Cúram Milestone Developer...

Page 1: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

IBM Cúram Social Program ManagementVersion 6.0.5

Cúram Milestone Developer Guide

���

Page 2: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

NoteBefore using this information and the product it supports, read the information in “Notices” on page 15

Revised: March 2014

This edition applies to IBM Cúram Social Program Management v6.0.5 and to all subsequent releases unlessotherwise indicated in new editions.

Licensed Materials - Property of IBM.

© Copyright IBM Corporation 2012, 2013.US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contractwith IBM Corp.

© Cúram Software Limited. 2011. All rights reserved.

Page 3: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Contents

Figures . . . . . . . . . . . . . . . v

Tables . . . . . . . . . . . . . . . vii

Developing with Milestones . . . . . . 1Introduction . . . . . . . . . . . . . . 1

Objective . . . . . . . . . . . . . . 1Prerequisites . . . . . . . . . . . . . 1Audience . . . . . . . . . . . . . . 1Background. . . . . . . . . . . . . . 1Chapters in this Guide . . . . . . . . . . 1

Configuring Milestones . . . . . . . . . . . 2Introduction . . . . . . . . . . . . . 2Milestone Configuration Settings . . . . . . 2Associating Milestones with Cases . . . . . . 4Configuring Milestone Waiver Request Approvals 5

Milestone Entities. . . . . . . . . . . . . 5Objective . . . . . . . . . . . . . . 5Milestone Configuration . . . . . . . . . 6Milestone Link. . . . . . . . . . . . . 7

Milestone Waiver Approval Check . . . . . . 7Milestone Delivery . . . . . . . . . . . 8Milestone Waiver Approval Request . . . . . 9

Milestone Business Processing . . . . . . . . 10Objective . . . . . . . . . . . . . . 10Milestone Configuration . . . . . . . . . 10Maintain Milestone Waiver Approval . . . . . 11Maintain Waiver Approval Request . . . . . 11Milestone Delivery . . . . . . . . . . . 12

Implementing a Generic Milestone Event Handler 13Introduction . . . . . . . . . . . . . 13Create Milestone Delivery when MilestoneCreation Event is Raised . . . . . . . . . 13Complete Milestone Delivery when a MilestoneCompletion Event is Raised . . . . . . . . 14

Notices . . . . . . . . . . . . . . 15Privacy Policy considerations . . . . . . . . 17Trademarks . . . . . . . . . . . . . . 18

© Copyright IBM Corp. 2012, 2013 iii

Page 4: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

iv IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 5: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Figures

© Copyright IBM Corp. 2012, 2013 v

Page 6: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

vi IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 7: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Tables

1. Milestone Configuration Settings . . . . . . 22. Summary of MILESTONECONFIGURATION

Entity Fields . . . . . . . . . . . . 63. Summary of MILESTONELINK Entity Fields 74. Summary of

MILESTONEWAIVERAPPROVALCHECKEntity Fields . . . . . . . . . . . . 7

5. Summary of MILESTONEDELIVERY EntityFields . . . . . . . . . . . . . . . 8

6. Summary ofMILESTONEWAIVERAPPROVALREQUESTEntity Fields . . . . . . . . . . . . 9

7. Summary of MilestoneConfiguration Methods 108. Summary of

MaintainMilestoneWaiverApproval Methods . 119. Summary of MaintainWaiverApprovalRequest

Methods . . . . . . . . . . . . . 1110. Summary of MilestoneDelivery Methods 13

© Copyright IBM Corp. 2012, 2013 vii

Page 8: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 9: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Developing with Milestones

Use this information to design milestone functionality, a key component of Cúramintegrated cases. Case milestones are used to track the completion of significantevents or tasks during the life cycle of a case, for example, to track the submission,approval, and activation of a case. Milestone processing can be customized to suitagency needs.

Introduction

ObjectiveThis document describes the design and processing of milestone functionalitywhich is a key component of Cúram integrated cases. It describes milestoneconfiguration and details how milestone processing can be customized to suitagency needs.

PrerequisitesThe reader should be familiar with both the basic elements of case processing inthe human services industry and with the functionality available in the CúramCase Manager.

AudienceThis guide is intended for developers responsible for customizing milestones tosuit the business needs of an organization.

BackgroundMilestones functionality satisfies the following business requirements:v Track the completion of significant events or tasks during the life cycle of a case.v Provide configuration to associate milestones with a case.v Provide administration to support the association of milestone configuration

with case components and events.v Support ability to create and complete milestones automatically.v Capability to configure and use milestone waiver approval requests at user,

organization unit, and milestone levels.v Generic infrastructure support to create or complete milestone deliveries

automatically based on raised events.

Chapters in this GuideThe following list describes the chapters in this guide:

Configuring MilestonesThis chapter covers the administrative configuration options that areavailable for milestones.

Milestone EntitiesThis chapter describes milestone entities and the fields they contain.

Milestone Business ProcessingThis chapter describes milestone process classes and associated methods.

© Copyright IBM Corp. 2012, 2013 1

Page 10: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Implementing a Generic Milestone Event HandlerThis chapter describes how to implement generic milestone event handlersto create deliveries when milestones are created and also when they arecompleted.

Configuring Milestones

IntroductionCase milestones are used to track the completion of significant events or tasksduring the life cycle of a case, for example, to track the submission, approval, andactivation of a case. Each milestone has an expected start and end date duringwhich the important event is scheduled to start and complete and an actual startand end date.

Cúram case management provides adminstration support to configure milestones,and to associate milestone configurations with cases. Capability to configure anduse miletone waiver approval requests at user, organization unit, and milestonelevel is also provided. For example, a child care solution will configure milestonesto track the completion of important events that occur on a child care case.

Note: Case milestones can be configured for integrated case, product, andscreening case types; however; there is currently no functionality available withinthese case types to create milestone deliveries. Development effort is required inorder to create milestone deliveries at the case level.

Milestone Configuration SettingsAll case milestones are based on an associated milestone configuration. Thefollowing table describes the available milestone configuration settings (bothoptional and mandatory):

Table 1. Milestone Configuration Settings.

This table describes how the milestone configuration settings are used.

ConfigurationSettings How it is Used

Optional orMandatory

Name and Type The name and type are used to distinguishthe milestone configuration. When creatinga manual milestone, a user must select themilestone configuration to be applied usingthe milestone configuration name.

Mandatory

Earliest Start Day(days)

This setting is used to determine theexpected start date for automatically createdmilestones. The expected start date is set tothe current date on which the milestone iscreated plus the number of days definedhere. This setting is also used to validatethe expected start date entered by a userwhen manually creating a milestone. Amilestone cannot have an expected startdate earlier than this number of days afterthe start date of the case. For example, ifthe milestone is created on April 1 and thissetting is 3, then the expected start date ofthe milestone cannot be earlier than April 4.

Mandatory

2 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 11: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Table 1. Milestone Configuration Settings (continued).

This table describes how the milestone configuration settings are used.

ConfigurationSettings How it is Used

Optional orMandatory

Duration (days) This setting is used to determine theexpected end date for all milestones. Formanually created milestones, the expectedend date is set to the user-entered expectedstart date plus this duration minus one. Forexample if the expected start date is April 1and the duration is 7 days, the expectedend date is set to April 6. For automaticallycreated milestones, the same calculation isapplied to the expected start date definedby the date on which the milestone wascreated and the Earliest Start Day (days).

Mandatory

Start Date The start date determines the active, andthus availability, period of the milestoneconfiguration.

Mandatory

End Date The end date determines when themilestone configuration is no longer active.This date is not mandatory as milestoneconfigurations can remain active for anindefinite time period.

Optional

Expected DateExtension Allowed

This indicates whether or not the expectedstart and end dates for an automaticallycreated milestone can be modified by a caseworker. If this indicator is not set, then theexpected start and expected end datecalculated upon creation of a milestone areunchangeable.

Optional

Waiver Required This indicates whether or not a waiver isrequired in order to change the expectedstart and expected end date for anautomatically created milestone. This canonly be set for milestone configurationswhich allow the expected dates to beextended (as described in the settingabove).

Optional

Milestone Added Any existing workflow event can beassociated with the creation of a milestone.This event can be used to extend the OOTBmilestone creation processing. For example,when a milestone is added, a workflow canbe enacted to notify the case owner.

Optional

Milestone Complete Any existing workflow event can beassociated with the completion of amilestone. This event can be used to extendthe OOTB milestone completion processing.For example, when a milestone iscompleted, a workflow can be enacted tonotify the case owner.

Optional

Developing with Milestones 3

Page 12: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Table 1. Milestone Configuration Settings (continued).

This table describes how the milestone configuration settings are used.

ConfigurationSettings How it is Used

Optional orMandatory

Expected Start DateNot Achieved

Any existing workflow event can beassociated with the expected start date inorder to track the timeliness of themilestone. For example, if no actual startdate is entered for the milestone and theexpected start date passes, a workflow canbe enacted to notify the supervisor that themilestone has not yet started.

Optional

Expected End DateNot Achieved

Any existing workflow event can beassociated with the expected end date inorder to track the timeliness of themilestone. For example, if no actual enddate is entered for the milestone and theexpected end date passes, a workflow canbe enacted to notify the supervisor that themilestone has not been completed in atimely fashion.

Optional

Associating Milestones with CasesTo support the manual and automatic creation of milestones within a case, it isnecessary to set up an association between a milestone configuration and the casetype (product delivery, integrated case, or screening type). There are two optionsfor setting up these associations: either a new milestone configuration can berecorded at the same time it is associated with the case type or an existingmilestone configuration can be selected.

When recording a new milestone configuration as part of the association process,the milestone configuration information must be defined. Additional associationinformation can also be defined if the milestone is to be created automatically. Thetwo main configuration settings for automatically created milestones are thecreation event and the completion event. These events are used by the applicationto automatically create and complete an instance of the milestone.

For example, a milestone can be set up to track the approval of a product deliverycase. To set up the automatic creation of this milestone, the Submit Case event canbe selected as the creation event and the Approve Case event can be selected as thecompletion event. When a case is submitted for approval, the Submit Case eventwill trigger an instance of the milestone. Later when the case is approved, theApprove Case event will close the milestone instance.

The matching process for creating milestones within a case can be further specifiedusing the component type and component category settings. A clear distinction canbe made between creation and completion events at the case level and at the casecomponent level. For example, the case component, Contract, can be set, with acreation event of Create Contract and a completion event of Close Contract.

When a contract is created, the Create Contract event will trigger an instance of themilestone and the application will associate both the contract ID and the case IDwith it. Later when the contract is closed, the Close Contract event will use both ofthese IDs to find and close the correct milestone instance.

4 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 13: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Configuring Milestone Waiver Request ApprovalsA milestone waiver request may be required in order for the milestone expectedstart and end dates to be changed for an automatically created milestone.Milestone waiver request approval checks can be set up at the organization anduser level. Expected start and end dates for manually created milestones can bechanged without a waiver request. The milestone waiver request approval processis used to confirm that the changes in dates to the milestone are valid. Once asubmitted request has been approved, the new expected start and/or end dateswill take effect.

Milestone waiver requests can only be submitted (i.e., the expected dates for amilestone can only be changed) if the Expected Date Extension Allowed setting hasbeen configured. The approval process (i.e. the need to submit a waiver request forapproval) for these requests will only be necessary if the Waiver Required settinghas also been configured. If the Waiver Required setting has not been configured, auser will be able to change the expected start and/or end dates directly.

Milestone waiver request approval check settings for a milestone include a settingthat is used to determine the percentage of submitted waiver requests for amilestone of a particular type that need to be reviewed by a case supervisor, e.g.,40%. Alternatively, an administrator can indicate that all waiver requests for amilestone need to be reviewed by a case supervisor.

User configuration settings take precedence over organization unit settings. Whena waiver request is submitted for approval, the system first checks the user'smilestone waiver request approval check settings, then checks the milestone waiverrequest approval check settings for the organization unit that the user belongs to.After checking these settings, the system checks the approval settings at themilestone level. The system may determine at any point in this process that themilestone waiver request requires approval.

Milestone Entities

ObjectiveThis chapter describes milestone entities and the fields they contain. It should benoted that tables are used to represent each of the following milestonerequirements:v the milestone configuration details available in the systemv the relationship between milestone configuration and a case typev the milestone waiver approvals percentage for a user, organization unit or a

milestone.v the milestone deliveries created by the user or by the systemv the milestone waiver approvals requests for a milestone. A milestone can have

multiple approval requests.

The following entities form the actual design of milestone functionality:v MILESTONECONFIGURATIONv MILESTONELINKv MILESTONEWAIVERAPPROVALCHECKv MILESTONEDELIVERYv MILESTONEWAIVERAPPROVALREQUEST

Developing with Milestones 5

Page 14: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Milestone ConfigurationMILESTONECONFIGURATION entity is focused on the administration ofmilestones within the Administration component. A milestone can be associatedwith one or more types of cases or service plans. This entity contains the followingfields:

Table 2. Summary of MILESTONECONFIGURATION Entity Fields

Entity Field Description

milestoneConfigurationID Unique reference number assigned by thesystem to the milestone configuration record.

name Name of the milestone. This field ismandatory.

type Type of the milestone. This field ismandatory.

earliestStartDay The earliest number of days after the serviceplan or case start date that this milestonecan start. This field is mandatory.

duration Indicates how long this milestone shouldtake to complete(this is used to calculate theexpected end date of a milestone unless themilestone has been added as part of aservice plan template in which case theduration on the template supersedes thisvalue). This field is mandatory.

startDate The date on which this milestoneconfiguration becomes effective.This field ismandatory.

endDate The date on which this milestoneconfiguration will expire.

addedEvent Indicates the event to be raised when amilestone of this type is added to a case orservice plan

expctdStDateEvent Indicates the event to be raised when theexpected start date of the milestone has beenreached and it's status is Not Started.

expctdEndDateEvent Indicates the event to be raised when theexpected end date of the milestone has beenreached and it's status is Not Started or InProgress.

completeEvent Indicates the event to be raised when thestatus of the milestone is Completed i.e. Theactual end date has been entered and thestatus is Complete.

creationDate The date on which this milestone wascreated.

comments General remarks entered by a user.

waiverRequired Indicates if an approved waiver is requiredin order to modify the automatically createdmilestone delivery by system.

waiverAllowed Indicates if a user can modify the ExpectedStart Date or Expected End Date of anmilestone delivery that has beenautomatically created by the system.

6 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 15: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Table 2. Summary of MILESTONECONFIGURATION Entity Fields (continued)

Entity Field Description

commentsTextID Unique Identifier correspoding to localizedTextID of milestone comments.

nameTextID Unique Identifier correspoding to localizedTextID of name.

recordStatus The status of the milestone i.e. Active orCancelled. Logical deletion supported.

typeTextID Unique Identifier correspoding to localizedTextID of Milestone type.

Milestone LinkMILESTONELINK entity allows for the administration of the links between casesor service plan and milestones. This entity contains the following fields:

Table 3. Summary of MILESTONELINK Entity Fields

Entity Field Description

milestoneLinkID Unique reference number assigned by thesystem to the milestone link record.

caseTypeID Unique reference number of the case orservice plan which is associated with themilestone record.

caseType Type of case which is linked to the milestoneconfiguration e.g. service plan, product,issue.

componentCategory The category of a component associated to acase, which is linked to the milestoneconfiguration.

componentType Type of a component associated to acomponent category, which is linked to themilestone configuration.

creationEvent Identifies the event based on which amilestone delivery is created.

completionEvent Identifies the event based on which amilestone delivery is completed.

milestoneConfigurationID Unique reference number of the milestonerecord which is associated with the case orservice plan record.

Milestone Waiver Approval CheckMILESTONEWAIVERAPPROVALCHECK entity is focused on the administrationof milestone waiver approval. A milestone waiver can be associated with user ormilestone or organization unit.

Table 4. Summary of MILESTONEWAIVERAPPROVALCHECK Entity Fields

Entity Field Description

milestoneWaiverApprovalCheckID Unique reference number assigned by thesystem to the milestone waiver approvalcheck record. This field is mandatory.

Developing with Milestones 7

Page 16: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Table 4. Summary of MILESTONEWAIVERAPPROVALCHECK Entity Fields (continued)

Entity Field Description

percentage Percentage of waiver requests for themilestone that requires approval. This fieldis mandatory.

type Type of milestone waiver approval check.This field is mandatory.

status The status of the milestone waiver approvalcheck i.e Active or Cancelled. Logicaldeletion supported. This field is mandatory.

milestoneConfigurationID Unique identifier of the milestoneconfiguration on which this milestonewaiver approval check is based.

userName The user name of the milestone waiverapproval check.

organisationUnitID Unique organization unit reference numberof the milestone waiver approval check.

comments General remarks entered by a user.

versionNo Version number of the milestone waiverapproval check.

Milestone DeliveryMILESTONEDELIVERY entity is focused on the addition of a milestone to anytype of case, e.g., service plan, product delivery.

Table 5. Summary of MILESTONEDELIVERY Entity Fields

Entity Field Description

milestoneDeliveryID Unique identifier assigned by the system tothis milestone record. This field ismandatory.

milestoneConfigurationID Unique identifier of the milestoneconfiguration on which this milestone isbased. This field is mandatory.

caseID Unique identifier of the case to which thismilestone has been added. This field ismandatory.

ownerUserName Unique identifier of the user who is themilestone owner. This field is mandatory.

expectedStartDate Date on which the milestone is expected tostart. This field is mandatory.

expectedEndDate Date on which the milestone is expected toend. This field is mandatory.

actualStartDate Date on which the milestone started.

actualEndDate Date on which the milestone ended.

comments General remarks entered by a user.

status Status of this milestone i.e. Not Started, InProgress or Completed. This field ismandatory.

8 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 17: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Table 5. Summary of MILESTONEDELIVERY Entity Fields (continued)

Entity Field Description

createdBySystem Indicates whether this milestone delivery issystem generated record. This field ismandatory.

relatedID Identifier which relates the instance of amilestone to a component category or acomponent type of a case instance.

Milestone Waiver Approval RequestMILESTONEWAIVERAPPROVALREQUEST entity is focused on the milestonewaiver approval request raised by the user and is only applicable for systemgenerated milestone deliveries.

Table 6. Summary of MILESTONEWAIVERAPPROVALREQUEST Entity Fields

Entity Field Description

waiverApprovalRequestID Unique reference number assigned by thesystem to the milestone waiver approvalrequest record. This field is mandatory.

approvalRequestID Unique reference number of approvalrequest record.

milestoneDeliveryID Unique reference number of a milestonedelivery to which milestone waiver approvalrequest is related. This field is mandatory.

originalExpStartDate Date on which the milestone was originallyexpected to start. This field is mandatory

requestedExpStartDate Date on which the milestone is beingrequested to start. This field is mandatory

approvedExpStartDate Date on which the milestone is approved tostart.

originalExpEndDate Date on which the milestone was originallyexpected to end.

requestedExpEndDate Date on which the milestone is beingrequested to end.

approvedExpEndDate Date on which the milestone is approved toend.

requestComments Comments entered by a user whensubmitting a milestone waiver request forapproval.

approvalComments Comments entered by a user whenapproving a milestone waiver request.

requestedDate Date on which this milestone waiverapproval request created. This field ismandatory.

Developing with Milestones 9

Page 18: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Milestone Business Processing

ObjectiveThe functionality for event driven milestone creation/completion and waiverprocessing has been implemented using the following business process classes:v MilestoneConfigurationv MaintainMilestoneWaiverApprovalv MaintainWaiverApprovalRequestv MilestoneDelivery

These process classes and their methods are described below.

Milestone ConfigurationThe process class which supports the business process MilestoneConfiguration isProduct.

Table 7. Summary of MilestoneConfiguration Methods

Method Description

cancelMilestoneConfiguration This method sets the status of a milestoneconfiguration to canceled.

createMilestoneConfiguration This method creates a milestoneconfiguration record. The milestone type of amilestone configuration must be unique.

listMilestoneConfigurationsForCaseType This method lists all active and canceledmilestone configuration records.

modifyMilestoneConfiguration Modifies the details of a milestoneconfiguration record.

readMilestoneConfiguration Reads the details for a milestoneconfiguration record.

addInvestigationCaseExistingMilestone This method adds a set of existingmilestones to the investigation case.

createInvestigationCaseMilestone This method creates a new milestoneconfiguration and then creates the linkbetween the milestone and the investigationcase.

listMilestone This method lists all the milestones whichare currently associated with a particularproduct.

listUnassociatedMilestone Lists all the active milestones not alreadyassociated with a particular product.

removeMilestone This method removes the link between amilestone and a product.

cancelApprovalCheckForInvestigation This method allows an administrator tocancel an Investigation Approval Check for aparticular investigation.

getComponentList This method returns a list of componentsbased on the component base type. Thismethod works on a hook mechanism and isbased on the component base type which isbeing passed to it.

10 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 19: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Table 7. Summary of MilestoneConfiguration Methods (continued)

Method Description

getSubComponentList This method returns a list of subcomponents based on the component basetype. The list of sub components retrieved isalso handled by a hook mechanism which isdriven by the component base type.

addInvestigationCaseExistingMilestoneWithConfigThis method adds a set of existingmilestones to the investigation case alongwith configuration details such ascomponent category, component type,creation event and completion event.

modifyMilestoneLinkAssociation This method modifies associatedconfiguration details such as creation event,completion event, component type and subcomponent type for the milestone link.

Maintain Milestone Waiver ApprovalTable 8. Summary of MaintainMilestoneWaiverApproval Methods

Method Description

viewOrgUnitMWApproval This method returns milestone waiverapproval check details based on themilestone waiver approval check id for anorganizational unit. A similar method existsfor users.

listMilestoneApprovals This method lists the milestone approvalchecks for a particular milestoneconfiguration. It also determines whether anew milestone approval can be created ornot.

listUserMWApprovals Returns a list of milestone waiver approvalcheck records based on the organizationalunit id.

viewUserMWApproval Returns milestone waiver approval checkdetails based on the milestone waiverapproval check id.

Maintain Waiver Approval RequestThe process class which supports the business process MilestoneConfiguration isProductDelivery.

Table 9. Summary of MaintainWaiverApprovalRequest Methods

Method Description

readMilestoneDeliveryDetails This method reads milestone details such asexpected start date and end dateadministratively configured for themilestone.

Developing with Milestones 11

Page 20: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Table 9. Summary of MaintainWaiverApprovalRequest Methods (continued)

Method Description

createWaiverApprovalRequest This method allows users to create a waiverrequest for a milestone and submit it for theapproval. It also checks whether the manualapproval is required or not based on casesupervisor or milestone approval checks. Ifnot required it approves the waiver requestautomatically.

listMilestoneWaiverRequests This method lists all the waivers requestedfor a milestone along with the statuswhether it is in submit status or approved orrejected.

readMilestoneWaiverRequests This method reads the details of waiverrequest.

approveWaiver This method allows to approve the waiverrequest. It also checks the date validationsand whether the approver has thesupervisor privilege to approve the waiveror checks he approval check for a user or foruser belonging to a organization and whichhas approval check.

modifyAndApprove This method allows system to modify thewaiver request details and approve thewaiver request. It also checks the datevalidations and whether the approver hasthe supervisor privilege to approve thewaiver or checks the approval check for auser or for user belonging to a organizationand which has approval check.

rejectWaiver This method allows to reject the waiverrequest. It also checks the date validationsand whether the logged in user has thesupervisor privilege to reject the waiver.

readExpStartAndEndDate This method reads the expected start dateand end date of a waiver request.

readWaiverIndicatorDetails This method will set a boolean parameter totrue only when the Expected Time Frameindicator is set to true and if WaiverRequired indicator is set to false in theAdministration application for a milestone.Based on this boolean value the user will beallowed to change the Expected Start andEnd Date at the client side.

modifyMilestoneForWaiver This method is used to modify the milestonedelivery details

Milestone DeliveryThe methods listed below are part of the APIs which support automatic creation ofmilestone deliveries using the milestone configuration.

12 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 21: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Administration configuration allows the user to associate work flow events with amilestone type for the creation and completion of milestone deliveries. When suchevents are raised, the appropriate event handlers use create or complete milestonedelivery APIs.

Table 10. Summary of MilestoneDelivery Methods

Method Description

createMilestoneDelivery This method Creates milestone deliverybased on event details. All milestonedeliveries created by this method will have'Created By System' indicator set to true. Theearliest start day will be added to thecurrent date to calculate the expected startdate of this milestone delivery.

completeMilestoneDelivery This method completes milestone deliverybased on event details. If related ID hasbeen passed as a parameter then a search formilestone deliveries is based on the 'RelatedId'. Once retrieved these milestone deliveriesare completed. If the related id is not passedthen a search based on case type, componentand the completion event is made. The listof milestone deliveries retrieved are thencompleted.

Implementing a Generic Milestone Event Handler

IntroductionThis chapter describes how to implement a generic milestone event handler toautomatically create or complete milestone deliveries based on raised events.

Create Milestone Delivery when Milestone Creation Event isRaised

Customers who wish to have milestone deliveries created when a milestonecreation event is raised should follow the steps below.v For milestones configured at the case level:

1. Configure the Creation Event for a milestone.2. Define an entry in handler_config.xml to map the configured Creation Event

class to 'MilestoneCreationEventHandler'.3. Customers should raise the creation event with 'caseID' as primary data.

v For milestones configured on case component level:1. Configure the Creation Event for a milestone.2. Define an entry in handler_config.xml to map the configured Creation Event

class to 'MilestoneCreationEventHandler'.3. Implement the sample interface 'MilestoneComponentDelivery' and provide

an implementation for the 'populateMilestoneCreationDetails' method. Thismethod should populate the milestone creation start date as per the businessrequirements.

4. Create a module class that extends the AbstractModule(com.google.inject.AbstractModule).

Developing with Milestones 13

Page 22: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

5. Define a Map Binder to bind implemented class to'MilestoneComponentDelivery' interface.Ex: MapBinder<String, MilestoneComponentDelivery> mapbinder

= MapBinder.newMapBinder(binder(), String.class,MilestoneComponentDelivery.class);mapbinder.addBinding().toInstance(new ’customimplentationclass’();

6. Customers should raise the creation event with 'caseID' as primary data andID of the component as the secondary data.

Complete Milestone Delivery when a Milestone CompletionEvent is Raised

Customers who wish to complete a milestone delivery when a milestonecompletion event is raised should follow the steps described below.v For milestones configured at the case level:

1. Configure the Completion Event for a milestone.2. Define an entry in handler_config.xml to map the configured Completion

Event class to 'MilestoneCompletionEventHandler'.3. Customers should raise the completion event with 'CaseID' as primary data.

v For milestones configured at the case component level:1. Configure the Completion Event for a milestone.2. Define an entry in handler_config.xml to map the configured Completion

Event class to 'MilestoneCompletionEventHandler'.3. Implement the sample interface 'MilestoneComponentDelivery' and provide

an implementation for the method 'populateMilestoneCompletionDetails.This method should populate the milestone actual end date as per thebusiness requirements.

4. Create a module class that extends the AbstractModule(com.google.inject.AbstractModule).

5. Define a Map Binder to bind the implemented class to the'MilestoneComponentDelivery' interface.Ex: MapBinder<String, MilestoneComponentDelivery> mapbinder= MapBinder.newMapBinder(binder(), String.class,MilestoneComponentDelivery.class);mapbinder.addBinding().toInstance(new ’customimplentationclass’();

Note: There is no need to repeat Step 4 and 5 If the entry already exists inthe module class.

6. Customers should raise the completion event with 'caseID' as the primarydata and the ID of the component as the secondary data.

14 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 23: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Notices

This information was developed for products and services offered in the U.S.A.IBM may not offer the products, services, or features discussed in this document inother countries. Consult your local IBM representative for information on theproducts and services currently available in your area. Any reference to an IBMproduct, program, or service is not intended to state or imply that only that IBMproduct, program, or service may be used. Any functionally equivalent product,program, or service that does not infringe any IBM intellectual property right maybe used instead. However, it is the user's responsibility to evaluate and verify theoperation of any non-IBM product, program, or service. IBM may have patents orpending patent applications covering subject matter described in this document.The furnishing of this document does not grant you any license to these patents.You can send license inquiries, in writing, to:

IBM Director of Licensing

IBM Corporation

North Castle Drive

Armonk, NY 10504-1785

U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBMIntellectual Property Department in your country or send inquiries, in writing, to:

Intellectual Property Licensing

Legal and Intellectual Property Law.

IBM Japan Ltd.

19-21, Nihonbashi-Hakozakicho, Chuo-ku

Tokyo 103-8510, Japan

The following paragraph does not apply to the United Kingdom or any othercountry where such provisions are inconsistent with local law: INTERNATIONALBUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS"WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFNON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULARPURPOSE. Some states do not allow disclaimer of express or implied warranties incertain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors.Changes are periodically made to the information herein; these changes will beincorporated in new editions of the publication. IBM may make improvementsand/or changes in the product(s) and/or the program(s) described in thispublication at any time without notice.

© Copyright IBM Corp. 2012, 2013 15

Page 24: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

Any references in this information to non-IBM Web sites are provided forconvenience only and do not in any manner serve as an endorsement of those Websites. The materials at those Web sites are not part of the materials for this IBMproduct and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way itbelieves appropriate without incurring any obligation to you. Licensees of thisprogram who wish to have information about it for the purpose of enabling: (i) theexchange of information between independently created programs and otherprograms (including this one) and (ii) the mutual use of the information which hasbeen exchanged, should contact:

IBM Corporation

Dept F6, Bldg 1

294 Route 100

Somers NY 10589-3216

U.S.A.

Such information may be available, subject to appropriate terms and conditions,including in some cases, payment of a fee.

The licensed program described in this document and all licensed materialavailable for it are provided by IBM under terms of the IBM Customer Agreement,IBM International Program License Agreement or any equivalent agreementbetween us.

Any performance data contained herein was determined in a controlledenvironment. Therefore, the results obtained in other operating environments mayvary significantly. Some measurements may have been made on development-levelsystems and there is no guarantee that these measurements will be the same ongenerally available systems. Furthermore, some measurements may have beenestimated through extrapolation. Actual results may vary. Users of this documentshould verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers ofthose products, their published announcements or other publicly available sources.

IBM has not tested those products and cannot confirm the accuracy ofperformance, compatibility or any other claims related to non-IBM products.Questions on the capabilities of non-IBM products should be addressed to thesuppliers of those products.

All statements regarding IBM's future direction or intent are subject to change orwithdrawal without notice, and represent goals and objectives only

All IBM prices shown are IBM's suggested retail prices, are current and are subjectto change without notice. Dealer prices may vary.

This information is for planning purposes only. The information herein is subject tochange before the products described become available.

16 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 25: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

This information contains examples of data and reports used in daily businessoperations. To illustrate them as completely as possible, the examples include thenames of individuals, companies, brands, and products. All of these names arefictitious and any similarity to the names and addresses used by an actual businessenterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, whichillustrate programming techniques on various operating platforms. You may copy,modify, and distribute these sample programs in any form without payment toIBM, for the purposes of developing, using, marketing or distributing applicationprograms conforming to the application programming interface for the operatingplatform for which the sample programs are written. These examples have notbeen thoroughly tested under all conditions. IBM, therefore, cannot guarantee orimply reliability, serviceability, or function of these programs. The sampleprograms are provided "AS IS", without warranty of any kind. IBM shall not beliable for any damages arising out of your use of the sample programs.

Each copy or any portion of these sample programs or any derivative work, mustinclude a copyright notice as follows:

© (your company name) (year). Portions of this code are derived from IBM Corp.Sample Programs.

© Copyright IBM Corp. _enter the year or years_. All rights reserved.

If you are viewing this information softcopy, the photographs and colorillustrations may not appear.

Privacy Policy considerationsIBM Software products, including software as a service solutions, (“SoftwareOfferings”) may use cookies or other technologies to collect product usageinformation, to help improve the end user experience, to tailor interactions withthe end user or for other purposes. In many cases no personally identifiableinformation is collected by the Software Offerings. Some of our Software Offeringscan help enable you to collect personally identifiable information. If this SoftwareOffering uses cookies to collect personally identifiable information, specificinformation about this offering’s use of cookies is set forth below.

Depending upon the configurations deployed, this Software Offering may usesession cookies or other similar technologies that collect each user’s name, username, password, and/or other personally identifiable information for purposes ofsession management, authentication, enhanced user usability, single sign-onconfiguration and/or other usage tracking and/or functional purposes. Thesecookies or other similar technologies cannot be disabled.

If the configurations deployed for this Software Offering provide you as customerthe ability to collect personally identifiable information from end users via cookiesand other technologies, you should seek your own legal advice about any lawsapplicable to such data collection, including any requirements for notice andconsent.

For more information about the use of various technologies, including cookies, forthese purposes, see IBM’s Privacy Policy at http://www.ibm.com/privacy and

Notices 17

Page 26: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

IBM’s Online Privacy Statement at http://www.ibm.com/privacy/details thesection entitled “Cookies, Web Beacons and Other Technologies” and the “IBMSoftware Products and Software-as-a-Service Privacy Statement” athttp://www.ibm.com/software/info/product-privacy.

TrademarksIBM, the IBM logo, and ibm.com are trademarks or registered trademarks ofInternational Business Machines Corp., registered in many jurisdictions worldwide.Other product and service names might be trademarks of IBM or other companies.A current list of IBM trademarks is available on the Web at "Copyright andtrademark information" at http://www.ibm.com/legal/us/en/copytrade.shtml.

Other names may be trademarks of their respective owners. Other company,product, and service names may be trademarks or service marks of others.

18 IBM Cúram Social Program Management: Cúram Milestone Developer Guide

Page 27: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.
Page 28: Cúram Milestone Developer Guidepublic.dhe.ibm.com/.../6.0.5.3/en/pdf/CuramMilestoneDevelopersGui… · viii IBM Cúram Social Program Management: Cúram Milestone Developer Guide.

����

Printed in USA