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
RIRiskthat is effective at the edit effective date of the policy period. - Changes the
ExpirationDateof thatRIRiskto the edit effective date of the policy period. - Removes any
RIRiskafter that date.
In effective time, this means that the RIRisk expires on the given date.
There is no future version of that risk.
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) : booleanThis 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) : StringThe 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.
