Loading
保险
InsClaimService:invokeProductRules

InsClaimService:invokeProductRules

在索赔流中使用此服务,以调用您添加到产品的承保规则。

例如,如果您添加了将超过特定金额的索赔发送给承保人以待批准的规则,则此服务会调用这些规则。

类:InsClaimService

方法:invokeProductRules

工作原理

  1. 服务根据objectID查找索赔对象,并根据该objectID提取该对象的产品。
  2. 查找指定的transitionName。
  3. 运行与产品关联并适用于transitionName的规则。

    为每个索赔产品规则分别评估每个涉及方实例和/或涉及的财产实例。

  4. 如果任何规则评估为真,服务将执行这些规则中指定的 Vlocity 操作。

    例如,如果操作指定创建任务,服务会创建任务。

  5. 查找includeStateTransition选项的值。如果值 = true,服务会查找此对象的状态模型,查找fieldAPIName值,并根据转换更改该值。
  6. 输出每个相关方和/或相关财产实例上每个规则的评估结果。

远程选项

选项

说明

includeStateTransition

如果为真,服务会将状态模型fieldAPIName中指定的状态字段更改为转换中指定的状态。

如果为假,服务不会进行任何状态转换。

objectId

要查询的索赔 ID 或索赔范围 ID。

transitionName

与您想要运行的规则关联的状态转换名称。

该服务将仅运行与您指定的transitionName关联的规则。

要查找迁移名称,请转到此对象的状态模型。

mode

如果 objectId 是索赔 ID,则有两个可能的mode值:ItemMode 或 CoverageMode。mode 参数指定为该索赔 ID 评估哪些对象。

  • 使用ItemMode(默认)评估适用类型定义为索赔的产品规则。该服务将这些规则应用于与索赔 ID 关联的每个索赔项目记录。通过 ItemMode ,规则引擎可用的对象是 ClaimItem 和索赔对象。

    ItemMode 有助于在第一份损失通知结束时打开索赔范围(例如,从草稿过渡到未处理)。想象一下有两辆车和三个人的车祸。任何评估为真的规则都可用于调用调用集成程序来执行某些操作,例如为每个索赔项目打开正确的索赔范围。索赔范围可以包括第三方车辆的碰撞、第三方车辆的财产损失、一名司机的身体伤害等。

  • 使用CoverageMode评估适用类型定义为索赔范围的产品规则。该服务将这些规则应用于与 ClaimId 关联的每个索赔范围记录。通过 CoverageMode,规则引擎可用的对象是 ClaimCoverage、InsurancePolicyCoverage 和索赔对象。

    CoverageMode 在对索赔的所有索赔范围运行规则时非常有用。例如,在确定是否适用任何等待时间规则时,使用 CoverageMode。此类规则会触发从“打开”到“已拒绝”的转换。

如果objectId是索赔范围 ID,规则引擎会评估适用类型定义为 ClaimCoverage 的产品规则。该服务将这些规则应用于单个 ClaimCoverageId。在这种情况下,不使用mode,因为服务只评估一个对象,而不是多个较低级别的对象。

falseTransitionState

可选。

当服务运行的所有规则评估为假时,服务将对象转换为的状态。

仅在 includeStateTransition = true 时,服务才会将对象转换为此状态。

输入 JSON

此服务不使用输入 JSON 中的任何内容。

输出 JSON

该服务会返回每个涉及房地产和/或涉及方实例的规则评估。

对于本示例,输入是:

  • objectId = claimId

  • transitionName = 规则转换名称

{
    "stateTransit": " updated ClaimStatus__c from Open to Closed",
    "canTransitState": true,
    "allFalse": false,
    "falseRules": {
        "Involved Property_a3lf4000000pcFUAAY": [
            {
                "ruleDetails": {
                    "instanceKey": "Involved Property_a3lf4000000pcFUAAY",
                    "involvedItemId": "a3lf4000000pcFUAAY",
                    "requirement name": "Maximum Aggregation Rule",
                    "conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
                    "message": "TestMessage",
                    "action method": "Product_Rule",
                    "action class": "IntegrationProcedureService",
                    "productId": "01tf4000004mGyhAAE",
                    "transitionName": "OpenToClosed",
                    "objectId": "a3qf4000000KtfKAAS"
                }
            }
        ],
        "Involved Injury Cat Husky_a3kf4000000pLEuAAM": [
            {
                "ruleDetails": {
                    "instanceKey": "Involved Injury Cat Husky_a3kf4000000pLEuAAM",
                    "involvedItemId": "a3kf4000000pLEuAAM",
                    "requirement name": "Maximum Aggregation Rule",
                    "conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
                    "message": "TestMessage",
                    "action method": "Product_Rule",
                    "action class": "IntegrationProcedureService",
                    "productId": "01tf4000004mGyhAAE",
                    "transitionName": "OpenToClosed",
                    "objectId": "a3qf4000000KtfKAAS"
                }
            }
        ]
    },
    "trueRules": {
        "Involved Injury Dog Husky_a3kf4000000pLEtAAM": [
            {
                "actionResults": {
                    "IPResult": {
                        "output": "TestOutput"
                    }
                },
                "ruleDetails": {
                    "instanceKey": "Involved Injury Dog Husky_a3kf4000000pLEtAAM",
                    "involvedItemId": "a3kf4000000pLEtAAM",
                    "requirement name": "Maximum Aggregation Rule",
                    "conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
                    "message": "TestMessage",
                    "action method": "Product_Rule",
                    "action class": "IntegrationProcedureService",
                    "productId": "01tf4000004mGyhAAE",
                    "transitionName": "OpenToClosed",
                    "objectId": "a3qf4000000KtfKAAS"
                }
            }
        ]
    }
}

此 JSON 包括以下键/值对:

关键字

值

stateTransit

描述服务在索赔对象的状态字段中的变化。

canTransitState

true 或 false

表示服务是否将对象转换为新状态。

allFalse

如果服务运行的所有规则评估为假,allFalse = true。

如果服务运行的任何规则评估为真,allFalse = false。

falseRules

一个或多个ruleDetails的数组。

包括评估为假的服务运行的所有规则。

trueRules

一个或多个actionResults和ruleDetails的数组。

包括由服务运行的评估为真的所有规则。

仅在 allFalse = false 时显示。即,服务运行的一个或多个规则评估为真。

error

服务遇到的任何错误。

如果值正常,UI 上不会出现错误消息。

falseRules 和 trueRules 数组都包含 ruleDetails 键/值对。

"ruleDetails": {
                    "instanceKey": "Involved Property_a3lf4000000pcFUAAY",
                    "involvedItemId": "a3lf4000000pcFUAAY",
                    "requirement name": "Maximum Aggregation Rule",
                    "conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
                    "message": "TestMessage",
                    "action method": "Product_Rule",
                    "action class": "IntegrationProcedureService",
                    "productId": "01tf4000004mGyhAAE",
                    "transitionName": "OpenToClosed",
                    "objectId": "a3qf4000000KtfKAAS"
                }"ruleDetails": {
	"requirement name": "Operator Points >4",
	"conditions": "wcOperator.opPoints > 4",
	"message": "The applicant's prior citations require underwriting review prior to issuance.",
	"action method": "ReferToUnderwriting",
	"action class": "DROpenImplementationClass",
	"productId": "01tf4000001lKNQAA2",
	"transitionName": "Submit>Underwrite",
	"objectId": "0Q0f4000000ADatCAG"
}

trueRules数组包括一个或多个actionResults、其他键/值对和rulesDetails。

actionResults是服务调用的 Vlocity 操作类和操作方法的输出。

 "trueRules": {
        "Involved Injury Dog Husky_a3kf4000000pLEtAAM": [
            {
                "actionResults": {
                    "IPResult": {
                        "output": "TestOutput"
                    }
                },
                "ruleDetails": {
                    "instanceKey": "Involved Injury Dog Husky_a3kf4000000pLEtAAM",
                    "involvedItemId": "a3kf4000000pLEtAAM",
                    "requirement name": "Maximum Aggregation Rule",
                    "conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
                    "message": "TestMessage",
                    "action method": "Product_Rule",
                    "action class": "IntegrationProcedureService",
                    "productId": "01tf4000004mGyhAAE",
                    "transitionName": "OpenToClosed",
                    "objectId": "a3qf4000000KtfKAAS"
                }
            }
        ]
    }

示例

通常,当您希望规则确定索赔是否可以自动批准,或转到承保人进行进一步审议时,使用该服务。

 
正在加载
Salesforce Help | Article