Resource Management Feature Guide
Overview
Resource files can be used in product configuration to store reference data that is relevant during document generation, rating, and other critical processes. These files typically need to evolve with the business and regulatory landscape, with updates coming into effect on a specific date while existing or historical data continues to be available on previously bound business. Resource Management meets these needs.
An evolution of the previously released Independent Tables and Static Documents features, Resource Management can be applied to the following product configuration resource files:
Tables
Static Documents
Dynamic Document Templates
Formula Templates
All of these types can now be deployed independently of the traditional configuration package.
While Resource Management supports the deployment of a single resource, generally numerous resources of varying types will be bundled into a single Resource Group (sometimes referred to as a Product Vintage) and assigned a product scope and effective time. Over time, as new versions of these resources are required, a new Resource Group with the desired effective time can be deployed.
Warning
Customers who have already implemented the Independent Tables and Static Documents features should redeploy the required resources via the new API set. Refer to the Migration section below or contact your account representative for further details.
Resource Selection
Resource Management introduces a resourcesAsOfTimestamp
for both new business and renewals. The value of resourcesAsOfTimestamp
is determined by the resourceAsOf
strategy configured for each transaction.
Two strategies - term_start
and quotation
- are available, and can be set for the new business and renewal transactions in the policy.json
and renewal.json
files, respectively.
term_start
- ensures that theresourcesAsOfTimestamp
matches the effective date of the transaction.
quotation
- ensures that theresourcesAsOfTimestamp
is set to the point in time at which the transaction is quoted.
Strategies can differ across products, and between new business and renewal transactions within a single product.
Once the system has determined the transaction’s resourcesAsOfTimestamp
, it will identify and access the necessary resource instances whose effectiveTimestamp
is an exact match or is the most recent previous timestamp.
The basic resource selection logic at new business looks like this:
See the Illustrations section for additional resource selection examples.
Manual Override
The overrideResourcesAsOfTimestamp
attribute provides the ability to override and manually set the resourcesAsOfTimestamp
on a per-transaction basis. The overrideResourcesAsOfTimestamp
can only be used when the transaction is in draft state, and only applies to that specific transaction. Subsequent transactions will revert to using the configured strategy.
The value provided for overrideResourcesAsOfTimestamp
must exactly match a timestamp assigned to a resource group. If no such timestamp is supplied, the platform will not automatically match on the most recent previous timestamp, but will instead report an error.
Important
Regardless of strategy or override, the resourcesAsOfTimestamp
established by the term-defining transaction (new business or renewal) will be used to identify resources by all other transaction types whose effective date falls within that term; for example, resources selected for endorsements, cancellations, and reinstatements with an effective date within the new business term will be based on the resourcesAsOfTimestamp
established for that term. There is no strategy or override available to change this behavior.
Configuration
Getting started with Resource Management requires just three simple steps:
Deploy the necessary resources to your tenant via API or the Admin Panel.
Set the desired
resourceAsOf
strategy with your product configuration.Update table lookup calls from plugins with the
asOfTimestamp
.
Deploying and Managing Resources
Resources can be bundled in a number of ways for deployment, but whichever method you choose, a product and effective timestamp should be specified.
Deploy a zip archive containing a single file or multiple files of a particular type.
Deploy a zip archive with a predefined directory structure containing multiple files of a variety of types. See Zip File Structure below, or download an archive with the proper directory layout
here
.
A single file with a distinct product name and effective timestamp is enough to establish a new resource group. Managing existing groups is simple:
To add new resources to an existing group, simply deploy the new files using an existing group’s product name and effective timestamp. The new files must have distinct names.
To update the contents an existing resource, simply upload the new content with the same product name, effective timestamp, and filename as the content you are replacing.
Any deployed file can be deleted from any group via its locator.
Configuring the resourceAsOf Strategy
Set the policyAsOf
attribute in policy.json
and renewals.json
for new business and renewals, respectively.
Important
Both the New Business and Renewal transactions must have a strategy defined. While the configured strategy for a transaction can be modified, disabling the use of Resource Management cannot be done via configuration.
{
// omitted lots of properties
"policyAsOf": "term_start" | "quotation"
}
New Response Object Attributes
Once Resource Management has been implemented, the following elements of the policy response will be decorated with a resourcesAsOfTimestamp
value:
PolicyResponse -
resourcesAsOfTimestamp
PolicyResponse -
overrideResourcesAsOfTimestamp
(if applicable)PolicyModificationResponse -
resourcesAsOfTimestamp
PerilCharacteristicsResponse -
characteristicsAsOfTimestamp
RenewalResponse -
resourcesAsOfTimestamp
RenewalResponse -
overrideResourcesAsOfTimestamp
(if applicable)
Accessing Table Resources
The system will generally identify and access the appropriate resource based on the established resourcesAsOfTimestamp
for a given transaction, and the effectiveTimestamp
of the deployed resources. Resource access methods allowing for a custom effectiveTimestamp
– for example, the get tables endpoint – will effectively override the resourcesAsOfTimestamp
for that data call.
Static Documents via Liquid
The {{ "state_disclosure_2020.pdf" | render_static_document }}
expression can continue to be used as-is. When Resource Management is implemented, this method is automatically decorated with the associated transaction’s resourcesAsOfTimestamp
.
If the resourcesAsOfTimestamp
should be overridden, implementers can use the expression {{ "state_disclosure_2020.pdf" | render_effective_document: as_of_timestamp}}
, passing a custom value via the as_of_timestamp
parameter.
Tables via Liquid
The {% assign rate = "my_rate_table" | lookup: my_lookup_key %}
expression can continue to be used as-is. When Resource Management is implemented, this method is automatically decorated with the associated transaction’s resourcesAsOfTimestamp
.
If the resourcesAsOfTimestamp
should be overridden, implementers can use the expression {% assign rate = "my_rate_table" | lookup_effective: my_lookup_key, as_of_timestamp %}
, passing a custom value via the as_of_timestamp
parameter.
Plugins
In order to ensure that the correct table resource instance is accessed from a plugin, the asOfTimestamp
must be provided in the lookup method.
socotraApi.tableLookup(configVersion, tableName, key, asOfTimestamp)
To simplify this, the characteristicsAsOfTimestamp
attribute has been added to peril characteristics.
PerilCharacteristicsResponse -
characteristicsAsOfTimestamp
The optional
asOfTimestamp
is a Unix epoch timestamp. IfasOfTimestamp
is not specified, the current date and time will be used.If the table is not found,
tableLookup
will look for the table in the configuration fromConfig.zip
.The
configVersion
parameter is used only if:An independent table matching the date is not found.
You use product versioning.
Migrating from Independent Tables and Static Documents
Resource Management is an enhancement upon the previously released Independent Tables and Static Documents features, which will be moved to legacy status once the Resource Management beta period draws to a close, and eventually deprecated.
We encourage clients who have implemented Independent Tables and Static Documents to migrate to Resource Management.
Adoption
The process of adopting Resource Management in an existing implementation is no different from a greenfield setup: simply redeploy the existing resources via the new Resource Management APIs, and set the desired resourceAsOf
strategy in configuration.
All references to resources within the configuration will continue to function just as they did before.
Please contact your account representative for more details on Resource Management migration.
API
See the Resource Management API.
Zip File Structure
resources.zip
|-- tables/
|-- staticDocuments/
|-- documentTemplates/
|-- formulaTemplates/
Admin Panel UI
The Resource Management API can also be fully exercised via the Tenant Admin Panel.
On the tenant login screen, choose “Switch To Administrator Login” and use your tenant admin credentials.
Select Resource Groups from the navigation menu.
Here, you can filter by Product to see all deployed resource groups by effective date.
Within each resource group, you can add new files. You can also view, download, or replace all existing files.