Loading
保险
InsClaimItemService:calculateCoverages

InsClaimItemService:calculateCoverages

使用此服务计算索赔行项目的承保范围和调整金额。当索赔理算员支付索赔行项目时,这些金额用作付款金额。

该服务会在创建调整时考虑适用的免赔额、共同付费、共同保险和自付上限。

如果在承保范围规格上定义了承保范围计算公式,此服务将评估该公式。

类:InsClaimItemService

方法:calculateCoverages

工作原理

该服务使用对象界面字段名称作为 Vlocity (ClaimLineItem__c) 和 Salesforce FSC (ClaimCoveragePaymentDetail) 数据模型中公共字段的默认输入和输出。

此服务的工作方式不同,这取决于承保范围规格中是否存在承保范围计算公式。

在没有覆盖范围计算公式时,此服务:

  1. 使用以下信息获取索赔记录、关联的保单记录和索赔和保单的属性值。

    • claimId

    • claimCoverageId

    • claimItemId(如果可用)

    • claimAmount

  2. 调用 InsPolicyTermsService:流程服务。

    此服务计算所有保险债务金额(共同付款/共同保险、可扣除和自付最大值),并返回此数据。

  3. 如果存在一个或多个保险债务金额,从索赔金额中减去保险债务金额。

  4. 返回输出,包括最终调整后的金额和子索赔项目(如果有)。

当承保范围计算公式存在于承保范围规格中时,此服务:

  • 使用以下信息获取索赔记录、关联的保单记录和索赔和保单的属性值。

    • claimId

    • claimCoverageId

    • claimItemId(如果可用)

    • claimAmount

  • 编译以下对象(包括 AttributeSelectedValues <productcode.key>),使它们对承保范围规格上的承保范围计算公式可用:

    • 索赔

    • 策略

    • PolicyCoverage

    • InsuredParty

    • InsuredItem

    • InvolvedInjury

    • InvolvedProperty

  • 运行覆盖率计算公式。

  • 调用 InsPolicyTermsService:流程服务。

    此服务计算所有保险债务金额(共同付款/共同保险、可扣除和自付最大值),并返回此数据。

  • 如果存在一个或多个保险债务金额,从索赔金额中减去保险债务金额。

  • 返回输出,包括最终调整后的金额和子索赔项目(如果有)。

远程选项

选项

说明

claimId

必需。

服务计算承保范围金额的索赔 ID。

claimItemId

可选。

当您使用重新计算的承保范围和调整后的金额更新现有的索赔行项目时,请使用此选项。

claimCoverageId

必需。

服务计算金额的承保范围的 ID。

additionalInput

必需。

用于承保范围公式的可能额外输入的 JSON,将保存在索赔行项目记录中(如果 saveLineItem 为真)。它必须具有以下输入:

  • ClaimLineItem.claimAmount

  • ClaimLineItem.recipientId

此选项在 Vlocity ClaimLineItem__c 和 Salesforce FSC ClaimCoveragePaymentDetail数据模型中常见字段的输入和输出中使用本表中描述的接口字段名称:

用户界面字段名称

Vlocity ClaimLineItem__c 和 Salesforce FSC ClaimCoveragePaymentDetail数据模型中的常见字段

ClaimLineItem.name

用于 ClaimLineItem__c.Name and ⁇ ClaimCoveragePaymentDetail.Name

ClaimLineItem.claimAmount

用于 ClaimLineItem__c.ClaimAmount__c  和 ⁇ ClaimCoveragePaymentDetail.ClaimedAmount

ClaimLineItem.description

用于 ClaimLineItem__c.Description__c and ⁇ ClaimCoveragePaymentDetail.Description

ClaimLineItem.recipientId

用于 ClaimLineItem__c.PayeeAcccountId__c、ClaimLineItem__c.PayeeContactId__c、ClaimLineItem.PayeeAccountId__c__c, and ⁇ ClaimCoveragePaymentDetail.ClaimParticipantRecipientId

ClaimLineItem.benefitType

用于 ClaimLineItem__c.BenefitType__c and ⁇ ClaimCoveragePaymentDetail.BenefitName

ClaimLineItem.reserveAmount

用于 ClaimLineItem__c.ReserveAmount__c  和 ⁇ ClaimCoveragePaymentDetail.ClaimCoverageReserveDetailId.ReserveAmount

ClaimLineItem.status

用于 ClaimLineItem__c.Status__c and ⁇ ClaimCoveragePaymentDetail.Status

ClaimLineItem.type

用于 ClaimLineItem__c.Type__c and ⁇ ClaimCoveragePaymentDetail.Type

ClaimLineItem.unitCount

用于 ClaimLineItem__c.Quantity__c and ⁇ ClaimCoveragePaymentDetail.LimitUnitCount

ClaimLineItem.uom

用于ClaimCoveragePaymentDetail.LimitUnitOfMeasure

ClaimLineItem.currencyIsoCode

用于ClaimLineItem__c.CurrencyIsoCode和ClaimCoveragePaymentDetail.CurrencyIsoCode

对于未在此处列出的字段,使用字段的完整限定名称。

带有索赔行项目 API 的以 ⁇ ClaimLineItem 为前缀的属性会保存到创建的索赔行项目中。

输入 JSON 和输出 JSON

如果确定付款详细信息的调整金额的现成方法满足您的业务需求,您可以跳过本节。但如果您想以不支持的现成方式调整付款详细信息金额,本节适合您。

通常,这些现成的用例适用于功率属性类未涵盖的场景,例如:

  • 有条件的免赔额,即同一承保范围规格中存在两个免赔额。例如,扣除额 A 适用于火灾损害损失,扣除额 B 适用于洪水损害损失。您希望系统确定在运行时将哪个扣除应用于付款详细信息。

  • Copay/Co Insurance 操作顺序。例如,共同保险和共同付款都存在于相同的承保范围规格上,并且您想要在付款详细信息上应用共同付款之前应用共同保险。

  • 福利类型的支出金额计算。例如,对于健康访问福利类型,您希望系统为付款详细信息计算 50 美元的金额。

在您了解InsClaimItemService: calculateCoverages输出 JSON 格式后,您可以实施类似幂属性的行为来计算支付金额和调整,而无需基础幂属性类。

在开始之前,让我们用一个简单的例子来说明 InsClaimItemService: calculateCoverages 预期返回的输出 JSON。请考虑现成的可扣除功率属性类支持的简单用例。

示例:保单中5,000 美元的索赔金额,可扣除 1,000 美元

以下是适用于 InsClaimItemService: calculateCoverages 的输入 JSON。

{ 
	"claimId": "01t000000000000001",
	"claimCoverageId": "01t000000000000002",
	"claimItemId": "01t000000000000003",
	"additionalInput": {
		"ClaimLineItem.claimAmount": 5000
		"ClaimLineItem.description": "first party claim payment"
		"ClaimLineItem.recipientId": "01t000000000000004"
	}
}

以下是 InsClaimItemService: calculateCoverages 返回的输出 JSON。

{  
	"claimItem": {
		"adjustedAmount": 4000 // loss item adjusted amount
	},
	"claimLineItemAdjustment": {
		"attributeClass": "Deductible", // policy terms attribute class
		"adjustedAmount": 1000, // policy terms tracking entry postedAmount
		"assetTermId": "a6ERN00000000dg2AA", // policy terms id
		"remainingAmount": 0 // policy terms tracking entry remainingAmount
	}
}

以下是“财务”选项卡上的用户交互如何调用服务、InsClaimItemService: calculateCoverages如何获取数据以及数据之后会发生什么。

说明此服务的数据流。
  • (1) 在索赔的“财务”选项卡上,用户单击新建损失项目并输入 5,000 美元的索赔金额。按 Tab 键从索赔金额前进到下一个字段会调用 InsClaimItemService: calculateCoverages。在此示例中,从 InsClaimItemService: calculateCoverages 返回的 JSON 输出包含这些值。

    • claimLineItem: adjustedAmount 从索赔金额中减去可扣除金额后支付给收款人的金额:$5,000-$1,000=$4,000.此值会在“新建损失项目”表单的“调整后金额”字段中显示给用户。

    • claimLineItemAdjustment:adjustedAmount索赔范围付款详细信息的调整金额,在此情况下,即从索赔金额中减去 1,000 美元的免赔额。

    • claimLineItemAdjustment:attributeClass 发给收款人的金额与索赔金额不同的原因。在我们的示例中,索赔金额减少了 1,000 美元,因为 1,000 美元的免赔额适用 (attributeClass = Deductible)。

    • claimLineItemAdjustment:assetTermId为其创建保单期限跟踪条目的保单期限。在我们的示例中,它是可扣除保单期限的 ID。

    • claimLineItemAdjustment:remainingAmount要在保单条款跟踪条目中设置的金额,在本例中为 $0,因为在此交易后没有剩余可扣除金额。

  • (2) 单击添加以保存新损失项目会调用 InsClaimItemService: add,这将使用从 InsClaimItemService: calculateCoverages 返回的 JSON 输出将数据持久化到 ClaimCoveragePaymentDetail、ClaimCoveragePaymentAdjustment 和 InsurancePolicyTermTrackingEntry 记录。(InsClaimItemService: update服务的工作原理相似。)每个记录包含与示例相关的值:

    • ClaimCoveragePaymentDetail 记录的 ClaimCoveragePaymentDetail.ClaimedAmount 为 5,000 美元,CoveragePaymentDetail.AdjustedAmount 为 4,000 美元。

    • ClaimCoveragePaymentAdjustment 记录的 ClaimCoveragePaymentAdjustment.AdjustedReason of Deductible 和 ClaimCoveragePaymentAdjustment.AdjustedAmount for $1,000。

    • InsurancePolicyTermTrackingEntry 记录的 InsurancePolicyTermTrackingEntry.PostedAmount 为 1000 美元,InsurancePolicyTermTrackingEntry.RemainingAmount 为 0 美元。

在了解输出 JSON 的基本结构后,您可以通过在覆盖范围规格中将逻辑引入覆盖范围计算公式来设置更高级的用例。

示例:在承保范围规格的“详细信息”选项卡上,您可以使用与additionalInput相同的 ClaimLineItem 语法输入像这样的承保范围计算公式。

InvokeIP('ClaimCoverage_ClaimCoverageFormula', , input('claimId', ClaimLineItem.claimId) input('benefitType', ClaimLineItem.benefitType), input('quantityCount', ClaimLineItem.unitCount), 'result')

说明了 UI 中的覆盖范围计算公式字段。

在运行时,本公式调用名为 ClaimCoverage_ClaimCoverageFormula 的集成程序。此集成过程需要 claimId、 benefitType 和 quantityCount 的输入,如用于测试集成过程的示例输入 JSON 所示:

{ 
	"claimId": "a2b4W000007W2pQQAS",
	"benefitType": "Ambulance - Air",
	"quantityCount": "1",
}

覆盖率计算公式指定 ClaimCoverage_ClaimCoverageFormula 集成程序的输出 JSON 位于名为 result 的节点中。只要该result节点中的 JSON 结构符合预期的InsClaimItemService: calculateCoverages输出 JSON 格式,系统的行为就如同使用基础幂属性类一样:向用户显示调整后的金额,并在单击“添加”按钮后将数据持久化到 ClaimCoveragePaymentDetail、ClaimCoveragePaymentAdjustment 和 InsurancePolicyTermTrackingEntry 记录。

在健康访问 50 美元的输出 JSON 示例中,result 节点使InsClaimItemService: add执行将 50 插入 ClaimCoveragePaymentDetail.AdjustedAmount 的操作。

{  
	"result": {
		"claimLineItem": {
			"adjustedAmount": "50"
			}
	},
}

以下是配置计算的一些提示。

  • 如果您的用例涉及现有的幂属性类,您可以使用InsurancePolicyTerms: getCurrentStandings来确定在应用调整之前保单期限还剩多少。此步骤允许您应用正确的调整并传递回适当的 assetTermId。在这些用例中,配置集成程序返回的 JSON 结构,以包含 claimLineItem 和 claimLineItemAdjustment 节点。

    在 claimLineItemAdjustment 节点中,请确保:

    • 包括 assetTermId。

    • 包含 attributeClass。

    InsClaimItemService: add服务需要这两个值来确定如何为保单上的特定功率属性创建保险单条款跟踪条目记录。例如,具有条件扣除的承保范围规格有两个扣除功率属性:火灾扣除 A,洪水扣除 B。承保范围计算公式中的集成程序可以使用InsurancePolicyTerms: getCurrentStandings来确定此保单的扣除额 A 是 $1,000,扣除额 B 是 500 美元。然后,根据这件索赔的损失原因,集成程序可以确定适用哪个扣除额。在返回输出 JSON 时,请确保返回基于应用扣除的正确 assetTermId。

  • 一些用例不涉及现成的电源属性类,但仍需要对付款详细信息进行调整。例如,当提供商开单超过商定的费率时,您需要 ClaimCoveragePaymentAdjustment 记录来解释为什么调整后的付款金额小于索赔金额。在这些用例中,配置集成程序返回的 JSON 结构,以包含 claimLineItem 和 claimLineItemAdjustment 节点。

    在 claimLineItemAdjustment 节点中:

    • 省略 assetTermId,因为没有电源属性类定义此调整。

    • 包含 attributeClass 作为调整原因(例如,“超额计费调整”)。

    InsClaimItemService: add 服务使用 attributeClass 字符串填充 ClaimCoveragePaymentDetail.AdjustedReason 字段,即使没有相关的 attributeClass。

  • 如果用例涉及福利类型的支出金额,索赔金额和调整后的金额之间没有差异。例如,每天 100 美元的固定费率适用于住院。在这些情况下,请将整个 claimLineItemAdjustment 节点排除在 JSON 之外。

 
正在加载
Salesforce Help | Article