Policy hold job evaluation plugin
PolicyCenter uses the IPolicyHoldJobEvalPlugin plugin
to configure policy holds in the policy hold batch process. A batch process
called Policy Hold Job Evaluation runs nightly to reevaluate the policy
holds that changed and no longer apply to the job. You can also run this
batch process manually. Refer to the Batch
Process Info menu item in the Server Tools page.
By default, this batch process performs the following operations.
- Checks if the policy hold was modified and no longer applies to the job.
- If so, sends activity reminders to producers to retry quote or bind of the job.
To support this behavior, a policy hold (PolicyHold) contains an array
of PolicyHoldJob entity
instances. They keep track of jobs that are currently held by a policy
hold and the last time the job evaluated against the policy hold.
A PolicyHoldJob
consists of the following fields.
PolicyHold– A foreign key to the policy holdJob– A foreign key to the jobLastEvalTime– The last time this job was evaluated against this policy hold
A PolicyHoldJob
is created when PolicyCenter evaluates the Policy Holds Type Filter checking
set and determines that an underwriting issue needs to be raised. In
the base configuration, PolicyCenter evaluates the checking set in the
DefaultUnderwriterEvaluator
class.
PolicyCenter updates LastEvalTime when the batch process
reevaluates a job against a policy hold. The PolicyHoldJob row for that policy
hold and job is deleted if the hold no longer applies to the job and
an activity reminder is sent to the producer.
IPolicyHoldJobEvalPlugin
exposes the methods that this batch process uses to find jobs that need
to be reevaluated and how to evaluate it. This plugin interface has two
methods.
To find jobs that need to be evaluated against the policy holds blocking them, implement the following method.
public IQueryBeanResult<PolicyHoldJob> findJobsToEvaluate();In the base configuration,
this plugin is implemented by PolicyHoldJobEvalPlugin
and finds jobs that have any of the following qualities.
- Open jobs
- Jobs with policy periods with a active blocking policy hold
- Jobs not evaluated since the last time the policy hold changed
To evaluate a job against a policy hold, implement the following method.
public void evaluate(PolicyHoldJob policyHoldJob)In the built-in plugin implementation, the evaluate method checks if the policy hold has been deleted or the hold changed to cause the job to no longer match. If so, the method creates an activity and assigns to the producer.
