Loading
Assicurazioni
InsClaimItemService:calculateCoverages

InsClaimItemService:calculateCoverages

Utilizzare questo servizio per calcolare l'ammontare della copertura e l'ammontare rettificato per una voce richiesta. Questi importi vengono utilizzati come ammontare del pagamento quando il perito contabile paga la voce richiesta.

Durante la creazione delle rettifiche, il servizio considera le detrazioni, i contributi, la coassicurazione e i massimali di tasca propria applicabili.

Questo servizio valuta la formula di calcolo della copertura se è definita nella specifica della copertura.

Classe: InsClaimItemService

Metodo: calculateCoverages

Funzionamento

Il servizio utilizza i nomi dei campi dell'interfaccia oggetto come input e output predefiniti per i campi comuni nei modelli di dati Vlocity (ClaimLineItem__c) e Salesforce FSC (ClaimCoveragePaymentDetail).

Questo servizio funziona in modo diverso a seconda che esista o meno una formula di calcolo della copertura nella specifica della copertura.

Quando non è presente una formula di calcolo della copertura, questo servizio:

  1. Utilizza le seguenti informazioni per ottenere il record richiesta, il record polizza associato e i valori degli attributi sia per la richiesta che per la polizza.

    • claimId

    • claimCoverageId

    • claimItemId (se disponibile)

    • claimAmount

  2. Chiama il servizio InsPolicyTermsService: process.

    Questo servizio calcola tutti gli importi delle obbligazioni assicurate (copay/coassicurazione, franchigia e massimo di tasca) e restituisce questi dati.

  3. Sottrae gli importi delle obbligazioni assicurate dall'ammontare della richiesta, se esistono uno o più importi delle obbligazioni assicurate.

  4. Restituisce l'output con l'ammontare rettificato finale e le voci richiesta controllate (se presenti).

Quando esiste una formula di calcolo della copertura nella specifica della copertura, questo servizio:

  • Utilizza le seguenti informazioni per ottenere il record richiesta, il record polizza associato e i valori degli attributi sia per la richiesta che per la polizza.

    • claimId

    • claimCoverageId

    • claimItemId (se disponibile)

    • claimAmount

  • Compila i seguenti oggetti (incluso AttributeSelectedValues <productcode.key>) per renderli disponibili alla formula di calcolo della copertura nella specifica della copertura:

    • Richiesta

    • Policy

    • PolicyCoverage (Copertura polizza)

    • Parte assicurata

    • InsuredItem

    • InvolvedInjury

    • InvolvedProperty

  • Esegue la formula di calcolo della copertura.

  • Chiama il servizio InsPolicyTermsService: process.

    Questo servizio calcola tutti gli importi delle obbligazioni assicurate (copay/coassicurazione, franchigia e massimo di tasca) e restituisce questi dati.

  • Sottrae gli importi delle obbligazioni assicurate dall'ammontare della richiesta, se esistono uno o più importi delle obbligazioni assicurate.

  • Restituisce l'output con l'ammontare rettificato finale e le voci richiesta controllate (se presenti).

Opzioni remote

Opzione

Descrizione

claimId

Obbligatorio.

ID della richiesta per cui il servizio calcola l'ammontare della copertura.

claimItemId

Facoltativo.

Utilizzare questa opzione quando si aggiorna una voce richiesta esistente con copertura ricalcolata e importi rettificati.

claimCoverageId

Obbligatorio.

ID della copertura per cui il servizio calcola un ammontare.

additionalInput

Obbligatorio.

JSON del possibile input aggiuntivo da utilizzare nelle formule di copertura, da salvare nel record voce richiesta (se saveLineItem è true). Deve avere i seguenti input:

  • ClaimLineItem.claimAmount

  • ClaimLineItem.recipientId

Questa opzione utilizza i nomi dei campi dell'interfaccia descritti in questa tabella nell'input e nell'output per i campi comuni nei modelli di dati Vlocity ClaimLineItem__c e Salesforce FSC ClaimCoveragePaymentDetail:

Nome campo interfaccia utente

Campi comuni nei modelli di dati Vlocity ClaimLineItem__c e Salesforce FSC ClaimCoveragePaymentDetail

ClaimLineItem.name

Utilizzare per ClaimCoveragePaymentDetail.Name ClaimLineItem__c.Name and

ClaimLineItem.claimAmount

Utilizzo per ClaimLineItem__c.ClaimAmount__c  e ClaimCoveragePaymentDetail.ClaimedAmount

ClaimLineItem.description

Utilizzare per ClaimCoveragePaymentDetail.Description ClaimLineItem__c.Description__c and

ClaimLineItem.recipientId

Utilizzare per ClaimLineItem__c.PayeeAcccountId__c, ClaimLineItem__c.PayeeContactId__c, ClaimCoveragePaymentDetail.ClaimParticipantRecipientId ClaimLineItem.PayeeAccountId__c__c, and

ClaimLineItem.benefitType

Utilizzare per ClaimCoveragePaymentDetail.BenefitName ClaimLineItem__c.BenefitType__c and

ClaimLineItem.reserveAmount

Utilizzo per ClaimLineItem__c.ReserveAmount__c  e ClaimCoveragePaymentDetail.ClaimCoverageReserveDetailId.ReserveAmount

ClaimLineItem.status

Utilizzare per ClaimCoveragePaymentDetail.Status ClaimLineItem__c.Status__c and

ClaimLineItem.type

Utilizzare per ClaimCoveragePaymentDetail.Type ClaimLineItem__c.Type__c and

ClaimLineItem.unitCount

Utilizzare per ClaimCoveragePaymentDetail.LimitUnitCount ClaimLineItem__c.Quantity__c and

ClaimLineItem.uom

Utilizzare per ClaimCoveragePaymentDetail.LimitUnitOfMeasure

ClaimLineItem.currencyIsoCode

Utilizzo per ClaimLineItem__c.CurrencyIsoCode e ClaimCoveragePaymentDetail.CurrencyIsoCode

Per i campi non elencati qui, utilizzare il nome completo del campo.

Gli attributi prefissi con ClaimLineItem che hanno l'API della voce richiesta vengono salvati nella voce richiesta creata.

JSON di input e JSON di output

Se i metodi pronti all'uso per determinare l'ammontare rettificato per un dettaglio di pagamento soddisfano le esigenze aziendali, è possibile saltare questa sezione. Tuttavia, se si desidera rettificare gli importi dei dettagli dei pagamenti in modi non supportati immediatamente, questa sezione è dedicata all'utente.

In genere, questi casi d'uso pronti all'uso riguardano scenari non coperti da classi di attributi di potenza, ad esempio:

  • Franchigie condizionali, in cui esistono due franchigie nella stessa specifica di copertura. Ad esempio, la Detraibile A si applica a una perdita per danno da incendio e la Deducibile B si applica a una perdita per danno da alluvione. Si desidera che il sistema determini quale franchigia applicare al dettaglio del pagamento in fase di esecuzione.

  • Ordine delle operazioni Copay/Coassicurazione. Ad esempio, coassicurazione e copay esistono entrambi nella stessa specifica di copertura e si desidera applicare la coassicurazione prima di applicare il copay a un dettaglio di pagamento.

  • Calcolo di un ammontare di pagamento per un tipo di prestazione. Ad esempio, per un tipo di prestazione Visita benessere, si desidera che il sistema calcoli un importo di 50 $ per il dettaglio del pagamento.

Dopo aver compreso il formato JSON dell'output InsClaimItemService: calculateCoverages, è possibile implementare un comportamento simile all'attributo power per calcolare gli importi e le rettifiche dei versamenti senza avere una classe di attributo power sottostante.

Prima di anticipare le cose, utilizzare un semplice esempio per illustrare il JSON di output che dovrebbe essere restituito da InsClaimItemService: calculateCoverages. Si consideri un caso d'uso semplice supportato dalla classe di attributi di potenza deducibile pronta all'uso.

Esempio: Ammontare richiesto di 5.000 € su una polizza con una franchigia di 1.000 €

Di seguito è riportato il JSON di input per InsClaimItemService: calculateCoverages.

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

Di seguito è riportato il JSON di output restituito da InsClaimItemService: calculateCoverages.

{  
	"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
	}
}

Ecco come le interazioni degli utenti nella scheda Dati finanziari richiamano i servizi, come gli InsClaimItemService: calculateCoverages ottengono i dati e cosa accade ai dati in seguito.

Illustra il flusso di dati di questo servizio.
  • (1) Nella scheda Dati finanziari di una richiesta, un utente fa clic su Nuova voce sinistri e immette un importo della richiesta di 5.000 €. Premendo Tab per passare dal campo Ammontare richiesta al campo successivo si richiama InsClaimItemService: calculateCoverages. In questo esempio, l'output JSON restituito da InsClaimItemService: calculateCoverages include i seguenti valori.

    • claimLineItem: adjustedAmount L'importo pagato al beneficiario dopo la detrazione viene sottratto dall'ammontare della richiesta: $5,000-$1,000=$4,000. Questo valore viene ripresentato all'utente nel campo Ammontare rettificato nel modulo Nuova voce sinistri.

    • claimLineItemAdjustment:adjustedAmount Ammontare della rettifica al dettaglio di pagamento della copertura della richiesta, in questo caso 1.000 $ deducibili sottratti dall'ammontare della richiesta.

    • claimLineItemAdjustment:attributeClass Motivo per cui l'importo da emettere al beneficiario è diverso dall'importo richiesto. Nel nostro esempio, l'ammontare richiesto viene ridotto di 1.000 € perché si applica una franchigia di 1.000 € (attributeClass = Deducibile).

    • claimLineItemAdjustment:assetTermId Termine della policy per cui viene creata una voce di tracciamento del termine della policy. Nel nostro esempio, è l'ID della durata della polizza Deducibile.

    • claimLineItemAdjustment:remainingAmount Ammontare da impostare nella voce di tracciamento della durata della polizza, in questo caso 0 $ perché non è presente alcuna franchigia rimanente dopo questa transazione.

  • (2) Facendo clic su Aggiungi per salvare la nuova voce perdita si richiama InsClaimItemService: add, che utilizza l'output JSON restituito da InsClaimItemService: calculateCoverages per mantenere i dati nei record ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment e InsurancePolicyTermTrackingEntry. (Il servizio InsClaimItemService: update funziona in modo simile.) Ogni record include valori correlati al nostro esempio:

    • Il record ClaimCoveragePaymentDetail ha un ClaimCoveragePaymentDetail.ClaimedAmount di 5.000 $ e un ClaimCoveragePaymentDetail.AdjustedAmount di 4.000 $.

    • Il record ClaimCoveragePaymentAdjustment ha un ClaimCoveragePaymentAdjustment.AdjustedReason of Deductible e un ClaimCoveragePaymentAdjustment.AdjustedAmount di 1.000 $.

    • Il record InsurancePolicyTermTrackingEntry ha un valore InsurancePolicyTermTrackingEntry.PostedAmount di 1.000 $ e InsurancePolicyTermTrackingEntry.RemainingAmount di 0 $.

Con una conoscenza della struttura di base del JSON di output, è possibile impostare un caso d'uso più avanzato introducendo la logica nella formula di calcolo della copertura in una specifica di copertura.

Esempio: Nella scheda Dettagli di una specifica di copertura, immettere una formula di calcolo della copertura come questa, utilizzando la stessa sintassi ClaimLineItem utilizzata per additionalInput.

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

Illustra il campo Formula di calcolo della copertura nell&apos;interfaccia utente.

In fase di esecuzione, questa formula chiama una procedura di integrazione denominata ClaimCoverage_ClaimCoverageFormula. Questa procedura di integrazione prevede input per claimId, benefitType e quantityCount, come mostrato in questo esempio di JSON di input per testare la procedura di integrazione:

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

La formula di calcolo della copertura specifica che il JSON di output per la procedura di integrazione ClaimCoverage_ClaimCoverageFormula si trova in un nodo denominato result. A condizione che la struttura JSON in quel nodo result sia conforme al formato JSON di output InsClaimItemService: calculateCoverages previsto, il sistema si comporta esattamente come se utilizzasse una classe di attributi di potenza sottostante: visualizzando l'ammontare rettificato all'utente e i dati persistenti ai record ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment e InsurancePolicyTermTrackingEntry dopo che è stato fatto clic sul pulsante Aggiungi.

In questo esempio JSON di output di un pagamento di 50 $ per una visita benessere, il nodo result fa sì che InsClaimItemService: add esegua un inserimento di 50 in ClaimCoveragePaymentDetail.AdjustedAmount.

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

Ecco alcuni suggerimenti per configurare il calcolo.

  • Se il caso d'uso include classi di attributi di potenza esistenti, è possibile utilizzare InsurancePolicyTerms: getCurrentStandings per determinare quanto rimane di una condizione della polizza prima di applicare una rettifica. Questo passaggio consente di applicare la rettifica corretta e di passare l'assetTermId appropriato. In questi casi d'uso, configurare la struttura JSON restituita dalla procedura di integrazione in modo da includere sia i nodi claimLineItem che claimLineItemAdjustment.

    Nel nodo claimLineItemAdjustment, assicurarsi di:

    • Includere assetTermId.

    • Includere attributeClass.

    Il servizio InsClaimItemService: add necessita di entrambi questi valori per determinare come creare il record entry di tracciamento della durata della polizza assicurativa per quello specifico attributo di potenza sulla polizza. Ad esempio, una specifica di copertura con una deducibilità condizionale ha due attributi di potenza Deducibile: Detraibile A per gli incendi e Detraibile B per le inondazioni. La procedura di integrazione all'interno della formula di calcolo della copertura può utilizzare InsurancePolicyTerms: getCurrentStandings per determinare che la Deducibilità A per questa polizza è 1.000 € e la Deducibilità B è 500 €. Quindi, in base alla causa della perdita per questa richiesta, la procedura di integrazione può capire quale franchigia applicare. Quando si restituisce il JSON di output, assicurarsi di restituire l'assetTermId corretto in base al quale è stata applicata la franchigia.

  • Alcuni casi d'uso non includono le classi di attributi di potenza pronte all'uso ma richiedono comunque una rettifica ai dettagli del pagamento. Ad esempio, quando un operatore fattura più di una tariffa negoziata, è necessario un record ClaimCoveragePaymentAdjustment per spiegare perché l'ammontare del pagamento rettificato è inferiore all'ammontare richiesto. In questi casi d'uso, configurare la struttura JSON restituita dalla procedura di integrazione in modo da includere sia i nodi claimLineItem che claimLineItemAdjustment.

    Nel nodo claimLineItemAdjustment:

    • Tralasciare assetTermId perché non esiste una classe di attributi power che definisce questa rettifica.

    • Includere attributeClass come motivo della rettifica (ad esempio, "Rettifica overbilling").

    Il servizio InsClaimItemService: add utilizza la stringa attributeClass per compilare il campo ClaimCoveragePaymentDetail.AdjustedReason anche se non è presente alcun attributo correlatoClass.

  • Se un caso d'uso include un ammontare di pagamento per un tipo di prestazione, non vi è alcuna discrepanza tra gli importi richiesti e rettificati. Ad esempio, ai ricoveri ospedalieri si applica una tariffa unica di 100 $ al giorno. In questi casi, lasciare l'intero nodo claimLineItemAdjustment fuori dal JSON.

 
Caricamento
Salesforce Help | Article