Data model design "with damageable"
This section identifies the requirements for custom incidents and risk units that make use of a damageable. For example, an insurer could offer Personal Auto policies that cover "towables", such as trailers. These policies cover towables listed on the policy, and towables owned by third parties. Therefore, there is a need for a damageable entity.
The following sections discuss an example of TowableIncident_Ext
,
TowableRU_Ext
, and Towable_Ext
. The entities and
required fields are summarized in the following diagram. Note the following text
conventions:
- Base configuration entities and fields are listed in blue.
- Custom entities and fields are listed in orange.
- Italics are used to denote fields that provide general information about the entities in question. They may be required from a business perspective, and they appear in the examples in later topics. But, they are not required from a data model design perspective.
The custom incident entity with damageable
A custom incident must be a subtype of the Incident
entity (either
directly or indirectly). Thus, it inherits the following fields:
Description
, LossParty
,
Severity
.
If the data model design makes use of a damageable, there must be a foreign key pointing from the custom incident to the damageable.
For example, the following .eti file creates a custom incident named
TowableIncident_Ext
. It contains a general information column
(DamageDescription
) and the foreign key to the damageable
(Towable_Ext
). The Description
,
LossParty
, and Severity
fields are not specified
as they are inherited from Incident
.
The custom risk unit entity with damageable
A custom risk unit must be a subtype of the RiskUnit
entity (either
directly or indirectly). Thus, it inherits the following fields:
Description
, PolicySystemID
,
RUNumber
.
If the data model design makes use of a damageable, there must be a foreign key pointing from the custom risk unit to the damageable.
For example, the following .eti file creates a custom risk unit named
TowableRU_Ext
. It contains a general information column
(UsedInternationally
) and a foreign key to the damageable
(Towable_Ext
). The Description
,
PolicySystemID
, and RUNumber
fields are not
specified as they are inherited from RiskUnit
.
The damageable entity
A damageable is typically not a subtype of any existing data model entity.
There are several fields needed to make the damageable fully functional:
PolicySystemId
- This field stores the identifier for the damageable as used by the Policy Administration System. Its type must bepolicysystemid
.Policy<Damageable>
- This field is used to identify whether the damageable is listed on the policy (typically a damageable owned by the insured) or belongs to a third party. For example, in the Vehicle entity, thePolicyVehicle
field identifies whether the vehicle is listed on the policy.- This is typically implemented as a Boolean field. (In the data model,
Boolean fields have a type of
bit
.) - However, this could also be implemented as a virtual field that checks if any risk unit points to the Damageable.
- This is typically implemented as a Boolean field. (In the data model,
Boolean fields have a type of
Although it is not technically required, it is easier to complete endpoint configuration is the damageable has a one-to-one field pointing to the risk unit.
For example, the following .eti file creates a custom damageable named
Towable_Ext
. It contains a general information column
(LicensePlate
), the required fields
(PolicySystemId
and PolicyTowable
) and a
one-to-one to the risk unit (TowableRU_Ext
).