Você está aqui:
InsPolicyTermsService: processo
Esse serviço recupera os termos da apólice e chama a Classe de atributo correspondente do termo da apólice para processar os detalhes. Para as classes personalizadas, o nome do método padrão para a classe de atributo é - process<Attribute>.
Class: InsPolicyTermsService
Method: processo
Com a versão Insurance Summer '21, o mesmo serviço dá suporte ao processamento de PowerAttributes para estes objetos de dados de declaração do Salesforce FSC:
-
Claim
-
ClaimCoverage
-
ClaimCoverageReserveDetail
-
ClaimCoveragePaymentDetail
-
ClaimCoveragePaymentAdjustment
Como funciona
-
Com base nas entradas claimId e claimCoverageId, recupera os detalhes da apólice e dos termos da apólice, como ID da apólice, ID da cobertura da apólice, ID do seguro e ID do envolvido.
-
A classe/os de atributo é/são instanciada
-
Para o fluxo de ação aplicável ClaimLineItemClaimedAmountEntered:
Classes de atributo (se disponíveis) são chamadas sequencialmente cada vez que passam parâmetros atualizados, especialmente o valor solicitado. A sequência é Deduível: Fora do bolso Max, em seguida, Copay ou Co-seguro: Max fora do bolso.
-
Para os fluxos PaymentAttempted e ReserveAdjustmentAttempted:
Atributos avançados das mesmas classes de atributo são coletados e verificados juntos. O serviço gerará um erro se o valor solicitado exceder qualquer um dos limites.
-
-
Retorna dados para o termo da apólice para a função que chamou o serviço.
Opções remotas
Opção |
Descrição |
|---|---|
claimItemData |
Lista de objetos que contêm os detalhes de claimCoverage ou claimItem individuais. A lista inclui: claimId necessário. claimCoverageId necessário. IsCanceled Necessário. Defina o valor padrão como false. Defina como true apenas para cenários de pagamento cancelado. Para todos os outros cenários, defina como false. claimItemId Optional. Apenas se applicableAction for ClaimLineItemClaimedAmountEntered para editar ou excluir o item de perda newReserveAmount Optional. Apenas se applicableAction for ReserveAdjustmentAttempted ao abrir uma cobertura de reivindicação no modo de reserva de cobertura ou ao criar ou editar um item de perda para uma cobertura de reivindicação no modo de planilha de reserva. requestedAmount Opcional. O AdjustedAmount__c para o claimItem isOpenCoverage Optional. Verdadeiro ao abrir uma cobertura de declaração. Falso quando usado em um item de declaração ou ao atualizar uma cobertura de declaração existente. IsValidation Opcional. Apenas se applicableAction for PaymentAttempted. Verdadeiro quando ocorre antes de invocar o ClaimInitialPaymentIP. Falso quando isso ocorre após invocar o ClaimPaymentIP. |
applicableAction |
Escolha um dos seguintes valores para o campo Attribute__c.ApplicableAction__c:
|
JSON de entrada
Aqui está o formato do JSON de entrada:
{
"claimItemData" : [
{
"claimId" : <id>,
"claimCoverageId" : <id>,
"claimItemId" : <id>,
"oldReserveAmount" : <decimal>,
"newReserveAmount" : <decimal>,
"requestedAmount" : <decimal>,
"isOpenCoverage" : <boolean> ,
"isValidation" : <boolean>
}
]
}Aqui está um exemplo de JSON de entrada:
{
"claimItemData" : [
{
"claimId" : 01t000000000000001"",
"claimCoverageId" : "01t000000000000002",
"claimItemId" : "01t000000000000003",
"oldReserveAmount" : 0,
"newReserveAmount" : 1000,
"requestedAmount" : 500,
"isOpenCoverage" : false
}
]
}
JSON de saída
Este é o formato do JSON de saída para a ação aplicável ClaimLineItemClaimedAmountEntered:
{
"newEntriesDetails": [
{
"remainingValue": <decimal>,
"postedValue": <decimal>,
"calculatedInitialValue": <decimal>,
"attributeScope": <string>,
"claimItemId": <id>,
"assetTermName": <string>,
"attributeCode": <string>,
"attributeClass": <string>,
"initialAmount": <decimal>,
"initialValue": <decimal>,
"insuredPartyId": <id>,
"insuredItemId": <id>,
"involvedPropertyId": <id>,
"involvedInjuryId": <id>,
"claimCoverageId": <id>,
"claimId": <id>,
"assetTermId": <id>,
"name": <string>
},
{ ... },
{ ... }
]
}Aqui está um exemplo de um JSON de saída para a ação aplicável ClaimLineItemClaimedAmountEntered:
// note: same claim, claim coverage, insured party, involved property.
// different policy terms details (asset term id, asset term name), term tracking details (initialValue, calculatedInitialValue, postedValue, remainingValue)
{
"newEntriesDetails": [
{
"remainingValue": 0,
"postedValue": 50,
"calculatedInitialValue": 50,
"attributeScope": "Claim",
"claimItemId": null,
"assetTermName": "Deductible Terms",
"attributeCode": "d6534444-89c9-dbf3-6591-595066dd802e",
"attributeClass": "Deductible",
"initialAmount": null,
"initialValue": 50,
"insuredPartyId": "01t000000000000001",
"insuredItemId": null,
"involvedPropertyId": "01t000000000000002",
"involvedInjuryId": null,
"claimCoverageId": "01t000000000000003",
"claimId": "01t000000000000004",
"assetTermId": "01t000000000000005",
"name": "Deductible (Claim)"
},
{
"remainingValue": 50,
"postedValue": 50,
"calculatedInitialValue": 50,
"attributeScope": "Claim",
"claimItemId": null,
"assetTermName": "Copay Terms",
"attributeCode": "atCopay",
"attributeClass": "Copay",
"initialAmount": null,
"initialValue": 100,
"insuredPartyId": "01t000000000000001",
"insuredItemId": null,
"involvedPropertyId": "01t000000000000002",
"involvedInjuryId": null,
"claimCoverageId": "01t000000000000003",
"claimId": "01t000000000000004",
"assetTermId": "01t000000000000007",
"name": "Copay (Claim)"
}
]
}
