Reinsurance ceding plugin methods

The main purpose of IReinsuranceCedingPlugin is to calculate ceded premiums on covered reinsurable risks. All ceding calculations are done through the PremiumCeding work queue. To trigger a calculation, the entity that needs ceding calculations performed must be added to the queue. For example, if a policy period undergoes a branch promotion, its reinsurance ceding amounts must be calculated.

If you are integrating your own reinsurance system, you must create your own implementation of the methods in the IReinsuranceCedingPlugin.

Enqueuing policy periods for ceding calculations

The PremiumCeding work queue calls the enqueueForCeding method on IReinsuranceCedingPlugin to add a policy period to the work queue to calculate its ceding amounts. The work queue calls this method only for an initial ceding, not a full recalculation.

function enqueueForCeding(period : PolicyPeriod, reason : RIRecalcReason, comment : String)

The parameters are described below.

Parameter

Description

period

The policy period for which ceding calculations are needed.

reason

The reason for needing to recalculate ceding amounts, as a code from the RIRecalcReason typelist.

comment

An optional comment describing why a recalculation is requested.

To trigger calculations, an entity that needs ceding calculations must be added to the work queue. For example, with a branch promotion, the PolicyPeriod is added to the work queue.

Calculating ceded premiums for policy periods

The PremiumCeding work queue calls the calculateCedingForPeriod method on IReinsuranceCedingPlugin to calculate the ceding amounts for a given policy period.

function calculateCedingForPeriod(period : PolicyPeriod, recalculateAll : boolean,
        reason : RIRecalcReason, comment : String, updateUser : User)

The parameters are described in the following table.

Parameter

Description

period

The policy period for which ceding calculations are needed.

recalculateAll

Whether all ceding amounts on the policy period must be recalculated.

If the value is true, the method must calculate all ceding amounts attached to the policy period. If the value is false, the method must calculate ceding amounts only for new reinsurable risks on the policy period.

reason

The reason for needing to recalculate ceding amounts, as a code from the RIRecalcReason typelist.

comment

An optional comment describing why a recalculation is requested.

updateUser

The user to assign the activity to if the work queue change caused an error in an RIRisk.

Whether to recalculate ceding amounts

The PremiumCeding work queue calls the shouldRecalculateCeding method on IReinsuranceCedingPlugin to determine whether to recalculate ceding amounts for a given work item.

function shouldRecalculateCeding(workItem : RICedingWorkItem) : boolean

The method takes a single parameter of type RICedingWorkItem, which is the item to evaluate for recalculation.

The method returns a boolean in which the value true indicates that ceding amounts must be recalculated on the work item.

Which user is responsible for reinsurance program changes

The PremiumCeding work queue calls the userResponsibleForProgramChange method on IReinsuranceCedingPlugin to determine which user is responsible for fixing validation errors caused by a program change.

function userResponsibleForProgramChange(period : PolicyPeriod, dirtyPrograms : RIProgram[]) : User

The parameters are described in the following table.

Parameter

Description

period

The period that the program affected.

dirtyPrograms

The list of programs that changed.

The method returns the user who is responsible for correcting validation errors. After calling this method, PolicyCenter assigns the user an activity to look at the job affected by the program change.

Logging errors for invalid reinsurance programs

The PremiumCeding work queue calls the logErrorForInvalidPrograms method on IReinsuranceCedingPlugin to log an error message for each invalid program added to the work queue for recalculating ceded premiums.

function logErrorForInvalidPrograms(programs : List<RIProgram>)

The method has a programs parameter which is a list of changed programs.