Entity properties for foreign keys between effdated entities

The foreign key of an entity having the effdated type matches a different property on the entity to which the foreign key refers than most foreign keys. Most foreign keys refer to and match on the value of another object's ID property. By contrast, PolicyCenter compares the foreign key, the BranchValue property, and the SliceDate property of an effdated entity with four properties of a referenced entity. These four comparisons result in the source entity instance of the foreign key matching at most one target entity instance.

The target entity properties in the four comparisons are FixedID, BranchValue, EffectiveDate, and ExpirationDate. The comparisons for the FixedID and BranchValue properties on the source and target entities require exact matches. The comparison for the EffectiveDate property on the target entity requires the value of the SliceDate property on the source entity to be greater than or equal to the value of the EffectiveDate property on the target entity. The comparison for the ExpirationDate property requires the value of the SliceDate property to be less than the value of the ExpirationDate property.

PolicyCenter restricts effdated entity instances with the same FixedID and BranchValue property values from having overlapping effective date ranges or EffectiveDate and ExpirationDate pairs. As a result, through the sequence of property comparisons, the source entity instance of the foreign key will match no more than one target entity instance.

The following table provides information about these target entity properties as well as the SliceDate property for the source entity:

Property

Type

Meaning

FixedID

Integer

Identifies a single object across effective date periods, both:

  • Within the same period but with different effective dates
  • Across multiple periods but in one contractual policy period

This value must be non-null.

BranchValue

Integer

Note: At the database layer, BranchValue is the BranchID column.

Foreign key to the entity instance that contains this entity instance. Within the same branch, all entities must share the same BranchValue value. This value must be non-null. This is a read-only property.

From Gosu, the foreign key property appears as the BranchValue property, although the database column name for that property is actually BranchID.

EffectiveDate

Date

Date the entity instance becomes effective.

ExpirationDate

Date

Date the entity instance expires or is no longer effective.

SliceDate Date The slice date is the current view, or slice, of the branch (and its entities) in effective time. If the slice date is null, the branch is being viewed/edited in window mode. Any edits made with the slice date set are made in that effective time, splitting the entity instance if necessary. This is a read-only property. To get this PolicyPeriod at a different slice date, use the getAsOf method.
Note: PolicyCenter never persists the slice date value itself in the database. The slice date property exists as a special property on the in-memory entity instance that Gosu can access.

See also