Reinsurance plugin interface methods

The main purpose of the IReinsurancePlugin interface is to create and manage RIRisk instances associated with reinsurable risks (Reinsurable and descendants). PolicyCenter uses the plugin methods as integration points with a reinsurance system, such as Reinsurance Management. If you are integrating your own reinsurance system, you must create your own implementation of the IReinsurancePlugin.

Attaching reinsurable risks to policy periods

PolicyCenter calls the attachRisk method on IReinsurancePlugin to attach the reinsurable risk to the applicable reinsurance agreements. The method splits the risk at program boundaries, if necessary.

override function attachRisk(reinsurable : Reinsurable)

The attachRisk method takes a Reinsurable instance.

In the base implementation, the method either finds an RIRiskVersionList or creates a new one by copying an older version. The method finds or creates an RIRisk as of that date.

Next, the method computes the set of attachments for the RIRisk. This method finds applicable reinsurance programs that are effective on a specific date for given coverage group. The default implementation of the reinsurance plugin calls the finder.findApplicablePrograms method. This method returns an array of RIProgram entities. If you need to modify how PolicyCenter finds applicable programs, you can override this method.

In PolicyCenter, you can see the agreements attached to the policy on the Reinsurance screen. If there are multiple programs that apply during the policy period, the View As Of drop-down list has multiple date ranges.

See also

Reattaching risks

PolicyCenter calls the reattachRisk method on IReinsurancePlugin to recompute program-related information associated with the given RIRisk. This normally occurs in situations where the reinsurance programs changed. The reattachRisk method reattaches a risk to its attachments.

override function reattachRisk(reinsurable : Reinsurable)

The reattachRisk method takes one argument, which is the risk that needs attachments refreshed. It computes the attachments and returns no values.

Removing RIRisk instances associated with reinsurable risks

PolicyCenter calls the detachRisk method on IReinsurancePlugin to remove from the version list a risk that expires after the specified edit effective date of the policy period.

override function detachRisk(reinsurable : Reinsurable, branch : PolicyPeriod)

In the default implementation for a given Reinsurable, this method performs the following operations to each RIRisk in the RIRiskVersionList.

  • Finds the one RIRisk that is effective at the edit effective date of the policy period.
  • Changes the ExpirationDate of that RIRisk to the edit effective date of the policy period.
  • Removes any RIRisk after that date.

In effective time, this means that the RIRisk expires on the given date. There is no future version of that risk.


Object hierarchy of RIRiskVersionList, RIRisk, and other risk objects.

Validating risks

PolicyCenter calls the validateRisk method on IReinsurancePlugin to validate all risks attached to a reinsurable at the specified validation level.

override function validateRisk(reinsurable : Reinsurable, level : ValidationLevel) : EntityValidation[]

See also

Cleaning up after removing reinsurables in a renewal job

PolicyCenter calls the postApplyChangesFromBranch method on IReinsurancePlugin to clean up after removing reinsurables from the branch in a renewal job. In a renewal job, PolicyCenter removes the Reinsurable entity instances, but the cloned branch may contain implementation data related to the removed Reinsurable entity instances.

override function postApplyChangesFromBranch(policyPeriod : PolicyPeriod)

See also

Binding draft reinsurance version lists associated with a branch

When a policy period is bound, PolicyCenter calls the bindBranch method on IReinsurancePlugin to bind its associated RIRiskVersionLists, one for each reinsurable risk.

override function bindBranch(branch : PolicyPeriod)

The method must bind all of the draft version list instances associated with a branch. PolicyCenter usually calls this method while binding a policy period.

Withdrawing reinsurance version lists associated with a branch

PolicyCenter calls the withdrawBranch method on IReinsurancePlugin to withdraw all of the RIVersionList instances associated with a branch. PolicyCenter usually calls this method while withdrawing a policy period.

override function withdrawBranch(branch : PolicyPeriod)

Whether contacts can be deleted

PolicyCenter calls the isContactDeletable method on IReinsurancePlugin to check if a contact is unused by reinsurance.

override function isContactDeletable(contact : Contact) : boolean

This method takes a contact as a parameter. The method returns true if the contact can be deleted. Otherwise, the method returns false.

Getting the location risk group

PolicyCenter calls the getLocationRiskGroup method on IReinsurancePlugin to return the location risk group for a given reinsurable risk.

override function getLocationRiskGroup(risk : Reinsurable) : String

The risk parameter is the Reinsurable risk from which to get the location risk group. The method returns the location risk group as a String.

Setting the location risk group

PolicyCenter calls the setLocationRiskGroup method on IReinsurancePlugin to set the risk group on the given reinsurable risk.

override function setLocationRiskGroup(risk : Reinsurable, locationRiskGroup : String)

The risk parameter is the Reinsurable risk on which to set the location risk group. The method sets the location risk group on the RIRisk associated with the Reinsurable.

Getting risks in a location risk group

PolicyCenter calls the getRisksInALocationRiskGroup method on IReinsurancePlugin to get the risks in a location risk group at a given date.

override function getRisksInALocationRiskGroup(locationRiskGroup : String, date : Date) : List<String>

The locationRiskGroup is the location risk group from which to get the risks. The date is the date on which the risks must be in effect. This method returns all the risks in the group as a list of riskNumbers.