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 typestring
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.