Coverage Terms

Overview

Coverage terms are a special kind of policy data. They are more rigidly defined than data extensions, but serve a similar purpose: storing information about the policy and what it covers.

Coverage terms are useful for managing policy aspects such as:

  • Deductibles

  • Exclusions

  • Limits (e.g. split limits, aggregate limits, lifetime limits, etc.)

  • Benefit Levels (e.g. term-life payouts)

  • Riders (e.g. optional inclusion of additional coverage that doesn’t need a full Coverage element)

Coverage terms are associated with elements, typically of the coverage category. However, coverage terms can be assigned to elements of any category.

Configuration

Like elements, coverage terms are defined at the root level of the tenant configuration. Each element definition can specify which coverage terms may be used with that element.

Each coverage term definition contains:

  • A name which must be a valid identifier.

  • An optional list of options which define the value that the coverage term can take when it is on an element. Each option definition has:

    • A name (which also most be a valid identifier)

    • An optional numeric value

    • An optional tag of type string

Each element definition contains an optional coverageTerms property, with an array of strings, each of which must be the name of one of the coverage terms as defined above.

Elements with Coverage Terms

Creation

At run time, each element create request has an optional coverageTerms property, which is a map<string, string>. For each item, the key must be the name of a valid coverage term for that element, and the value must be the name of an option (or null is allowed if the coverage term has no options or has a default option.)

Update

When an element is updated, the update request can do any of:

  • Remove a coverage term from the element

  • Add a new coverage term to the element, along with its value (just like the protocol on element creation)

  • Change the option for a coverage term

Default Coverage Term Options

If the name of a coverage term option is prefixed with an asterisk, such as *deductible, then that option will be the default option for that coverage term. That means that it doesn’t need to be specified when setting the coverage terms for an element.

Automatic elements cannot have any coverage terms, unless one of these things is true for all coverage terms on the element:

  • The coverage term is optional; or

  • The coverage term either has no options or has a default option.

When an automatic element with coverage terms is automatically added, optional coverage terms will not be added, but required coverage terms will.

Plugins

In plugins, when elements are exposed via the plugin payload, each coverage term is included with its selected option name, value, and tag, if the coverage term has options.