Gosu implementation overview

This topic describes how to write Gosu code that defines the rule condition that raises underwriting issues. Use the Underwriting Rules interface to define basic information about the underwriting rule, primarily the name and UWIssueType properties. Use Gosu code to define the rule conditions and raise the underwriting issue. In your Gosu implementation, you can define rule conditions that correspond to the Start Date, End Date, Rule Condition, Applies to, and Rule Context in the Underwriting Rules user interface.

If you implement an underwriting rule in Gosu:

  • In the Underwriting Rules user interface, define the UWIssueType fields. See UWIssueType fields in underwriting rule.
  • In the underwriting Rule, set Enabled to No.
  • In the underwriting Rule, set the Rule Condition to None. You will define the rule condition in Gosu.
  • On the UWIssueType entity instance, set the ExternallyManaged property to true. In the base configuration, the user interface does not have a button to set this property for a rule. You can write code that sets this property. You can add a button to the user interface that accesses this code.

    However, be careful about when the button is available. Rules cannot be toggled between ExternallyManaged and not ExternallyManaged. Make this button available to set ExternallyManaged to true on a brand new rule that has no information beyond the underwriting issue type fields defined.

    If ExternallyManaged is true, then the business rules framework does not run the rule.

  • Provide the rule condition logic in the Gosu code. See Creating underwriting issues with policy evaluation plugin.
  • Manage the rule execution in the Gosu code. See Raise underwriting issues in Gosu code.