Loading
Försäkring
InsClaimItemService:calculateCoverages

InsClaimItemService:calculateCoverages

Använd denna tjänst för att beräkna täckningsbeloppet och det justerade beloppet för en anspråksradartikel. Dessa belopp används som betalningsbelopp när anspråksjusteraren betalar anspråksradartikeln.

Tjänsten överväger tillämpliga självrisker, copays, försäkringar och maxbelopp när justeringar skapas.

Denna tjänst utvärderar beräkningsformeln för täckning om en sådan har definierats i täckningsspecifikationen.

Klass: InsClaimItemService

Metod: calculateCoverages

Så här fungerar det

Tjänsten använder fältnamn för objektgränssnitt som standardindata och standardutdata för vanliga fält i både datamodellerna Vlocity (ClaimLineItem__c) och Salesforce FSC (ClaimCoveragePaymentDetail).

Denna tjänst fungerar olika beroende på om det finns en beräkningsformel för täckning i täckningsspecifikationen.

Om det inte finns någon beräkningsformel för täckning gör denna tjänst följande:

  1. Använder följande information för att hämta anspråksposten, den associerade policyposten och attributvärden för både anspråket och policyn.

    • claimId

    • claimCoverageId

    • claimItemId (om tillgängligt)

    • claimAmount

  2. Anropar InsPolicyTermsService: processtjänst.

    Denna tjänst beräknar alla försäkrade förpliktelsebelopp (copay/coinsurance, deductible och out-of-pocket max) och returnerar dessa data.

  3. Subtraherar de försäkrade förpliktelsebeloppen från anspråksbeloppet, om det finns ett eller flera försäkrade förpliktelsebelopp.

  4. Returnerar utdata inklusive det slutgiltiga justerade beloppet och underordnade anspråksobjekt (om sådana finns).

När en formel för beräkning av täckning finns i täckningsspecifikationen gör denna tjänst följande:

  • Använder följande information för att hämta anspråksposten, den associerade policyposten och attributvärden för både anspråket och policyn.

    • claimId

    • claimCoverageId

    • claimItemId (om tillgängligt)

    • claimAmount

  • Sammanställer följande objekt (inklusive AttributeSelectedValues <productcode.key>) för att göra dem tillgängliga för beräkningsformeln för täckning i täckningsspecifikationen:

    • Krav

    • Policy

    • Policytäckning

    • InsuredParty

    • Försäkrat objekt

    • InvolvedInjury

    • InvolvedProperty

  • Kör beräkningsformeln för täckning.

  • Anropar InsPolicyTermsService: processtjänst.

    Denna tjänst beräknar alla försäkrade förpliktelsebelopp (copay/coinsurance, deductible och out-of-pocket max) och returnerar dessa data.

  • Subtraherar de försäkrade förpliktelsebeloppen från anspråksbeloppet, om det finns ett eller flera försäkrade förpliktelsebelopp.

  • Returnerar utdata inklusive det slutgiltiga justerade beloppet och underordnade anspråksobjekt (om sådana finns).

Fjärralternativ

Alternativ

Beskrivning

claimId

Obligatoriskt.

ID för anspråket som tjänsten beräknar täckningsbeloppet för.

claimItemId

Valfritt.

Använd detta alternativ när du uppdaterar en befintlig anspråksradartikel med omberäknad täckning och justerade belopp.

claimCoverageId

Obligatoriskt.

ID för täckningen som tjänsten beräknar ett belopp för.

additionalInput

Obligatoriskt.

JSON för möjlig ytterligare inmatning för användning i täckningsformlerna, att spara i anspråksradartikelposten (om saveLineItem är sant). Den måste ha följande indata:

  • ClaimLineItem.claimAmount

  • ClaimLineItem.recipientId

Detta alternativ använder de gränssnittsfältnamn som beskrivs i denna tabell i indata och utdata för vanliga fält i datamodellerna Vlocity ClaimLineItem__c och Salesforce FSC ClaimCoveragePaymentDetail:

Användargränssnittfältnamn

Vanliga fält i ClaimCoveragePaymentDetail för Vlocity ClaimLineItem__c och Salesforce FSC

ClaimLineItem.name

Använd för ClaimLineItem__c.Name and ClaimCoveragePaymentDetail.Name

ClaimLineItem.claimAmount

Använd för ClaimLineItem__c.ClaimAmount__c  och ClaimCoveragePaymentDetail.ClaimedAmount

ClaimLineItem.description

Använd för ClaimLineItem__c.Description__c and ClaimCoveragePaymentDetail.Description

ClaimLineItem.recipientId

Använd för ClaimLineItem__c.PayeeAcccountId__c, ClaimLineItem__c.PayeeContactId__c, ClaimLineItem.PayeeAccountId__c__c, and ClaimCoveragePaymentDetail.ClaimParticipantRecipientId

ClaimLineItem.benefitType

Använd för ClaimLineItem__c.BenefitType__c and ClaimCoveragePaymentDetail.BenefitName

ClaimLineItem.reserveAmount

Använd för ClaimLineItem__c.ReserveAmount__c  och ClaimCoveragePaymentDetail.ClaimCoverageReserveDetailId.ReserveAmount

ClaimLineItem.status

Använd för ClaimLineItem__c.Status__c and ClaimCoveragePaymentDetail.Status

ClaimLineItem.type

Använd för ClaimLineItem__c.Type__c and ClaimCoveragePaymentDetail.Type

ClaimLineItem.unitCount

Använd för ClaimLineItem__c.Quantity__c and ClaimCoveragePaymentDetail.LimitUnitCount

ClaimLineItem.uom

Använd för ClaimCoveragePaymentDetail.LimitUnitOfMeasure

ClaimLineItem.currencyIsoCode

Använd för ClaimLineItem__c.CurrencyIsoCode och ClaimCoveragePaymentDetail.CurrencyIsoCode

För fält som inte listas här, använd det fullständiga kvalificerade namnet på fältet.

Attribut med prefixet ClaimLineItem som har anspråksradartikelns API sparas till anspråksradartikeln som skapas.

JSON för indata och utdata

Om färdiga metoder för att avgöra det justerade beloppet för en betalningsdetalj uppfyller dina verksamhetsbehov kan du hoppa över detta avsnitt. Men om du vill justera betalningsdetaljbelopp på sätt som inte stöds direkt är detta avsnitt till för dig.

Vanligtvis är dessa färdiga användningsfall för scenarion som inte täcks av maktattributklasser, till exempel:

  • Villkorliga självrisker, där två självrisker finns på samma täckningsspecifikation. Till exempel gäller Självrisk A för en brandskadeförlust och Självrisk B för en översvämningsskadeförlust. Du vill att systemet ska avgöra vilken självrisk som ska tillämpas på betalningsdetaljerna vid runtime.

  • Copay/Coinsurance-ordning för operationer. Till exempel finns både myntförsäkring och copay på samma täckningsspecifikation och du vill tillämpa myntförsäkringen innan du tillämpar copay på en betalningsdetalj.

  • Beräkning av ett utbetalningsbelopp för en förmånstyp. Till exempel, för förmånstypen Hälsobesök vill du att systemet beräknar ett belopp på 50 dollar för betalningsinformationen.

När du förstår JSON-formatet för InsClaimItemService: calculateCoverages kan du implementera ett beteende som liknar ett maktattribut för att beräkna utbetalningsbelopp och justeringar utan att ha en underliggande maktattributklass.

Innan vi går i förväg, låt oss använda ett enkelt exempel för att illustrera den JSON-utdata som förväntas returneras av InsClaimItemService: calculateCoverages. Överväg ett enkelt användningsfall som stöds av den färdiga attributklassen Deductible power.

Exempel: Anspråk på 5 000 USD för en policy med en självrisk på 1 000 USD

Här är indata-JSON för InsClaimItemService: calculateCoverages.

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

Här är utdata-JSON som returneras av 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
	}
}

Så här åberopar användarinteraktioner på fliken Ekonomi tjänster, hur InsClaimItemService: calculateCoverages hämtar data och vad som händer med datan efteråt.

Illustrerar dataflödet för denna tjänst.
  • (1) På fliken Ekonomi i ett anspråk klickar en användare på Nytt förlustobjekt och anger ett anspråksbelopp på 5 000 kronor. Att trycka på Tab för att gå vidare från Anspråksbelopp till nästa fält åberopar InsClaimItemService: calculateCoverages. I detta exempel inkluderar JSON-utmatningen som returneras från InsClaimItemService: calculateCoverages dessa värden.

    • claimLineItem: adjustedAmount Beloppet som betalas till betalningsmottagaren efter att självrisken har dragits av från anspråksbeloppet: $5,000-$1,000=$4,000. Detta värde presenteras för användaren i fältet Justerat belopp i formuläret Nytt förlustobjekt.

    • claimLineItemAdjustment:adjustedAmount Beloppet för justeringen av betalningsinformationen för anspråkstäckning, i detta fall självrisken på 1 000 kr som dras av från anspråksbeloppet.

    • claimLineItemAdjustment:attributeClass Anledningen till att beloppet som ska utfärdas till betalningsmottagaren skiljer sig från det begärda beloppet. I vårt exempel minskas det begärda beloppet med 1 000 kr eftersom en självrisk på 1 000 kr gäller (attributeClass = Deductible).

    • claimLineItemAdjustment:assetTermId Den policyterm som en post för spårning av policyterm skapas för. I vårt exempel är det ID för policytermen Deductible.

    • claimLineItemAdjustment:remainingAmount Beloppet att ange i posten för spårning av policyterm, i detta fall 0 kr eftersom det inte finns någon självrisk kvar efter denna transaktion.

  • (2) Att klicka på Lägg till för att spara det nya förlustobjektet åberopar InsClaimItemService: add, som använder returnerad JSON-utdata från InsClaimItemService: calculateCoverages för att behålla data till posterna ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment och InsurancePolicyTermTrackingEntry. (InsClaimItemService: update fungerar på liknande sätt.) Varje post innehåller värden relaterade till vårt exempel:

    • Posten ClaimCoveragePaymentDetail har ClaimCoveragePaymentDetail.ClaimedAmount på 5 000 och ClaimCoveragePaymentDetail.AdjustedAmount på 4 000.

    • Posten ClaimCoveragePaymentAdjustment har ett ClaimCoveragePaymentAdjustment.AdjustedReason of Deductible och ett ClaimCoveragePaymentAdjustment.AdjustedAmount på $1,000.

    • Posten InsurancePolicyTermTrackingEntry har ett InsurancePolicyTermTrackingEntry.PostedAmount på $1,000 och ett InsurancePolicyTermTrackingEntry.RemainingAmount på $0.

Med en förståelse av den grundläggande strukturen för JSON för utdata kan du konfigurera ett mer avancerat användningsfall genom att introducera logik i beräkningsformeln för täckning i en täckningsspecifikation.

Exempel: På fliken Detaljer i en täckningsspecifikation anger du en beräkningsformel för täckning så här, med samma ClaimLineItem-syntax som används för additionalInput.

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

Illustrerar fältet Formel för beräkning av täckning i användargränssnittet.

Vid runtime anropar denna formel en integreringsprocess som heter ClaimCoverage_ClaimCoverageFormula. Denna integreringsprocess förväntar indata för claimId, benefitType och quantityCount, enligt detta exempel på JSON för indata för att testa integreringsprocessen:

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

Formeln för beräkning av täckning specificerar att JSON för utdata för integreringsförfarandet ClaimCoverage_ClaimCoverageFormula är i en nod som heter result. Så länge som JSON-strukturen i den result följer det förväntade JSON-formatet för InsClaimItemService: calculateCoverages beter sig systemet exakt som om det använder en underliggande attributklass: visa Justerat belopp för användaren och återstående data för posterna ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment och InsurancePolicyTermTrackingEntry efter att du har klickat på knappen Lägg till.

I detta JSON-exempel för utdata med en utbetalning på 50 dollar för ett hälsobesök gör result att InsClaimItemService: add utför en infogning på 50 i ClaimCoveragePaymentDetail.AdjustedAmount.

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

Här är några tips för att konfigurera din beräkning.

  • Om ditt användningsfall involverar befintliga maktattributklasser kan du använda InsurancePolicyTerms: getCurrentStandings för att avgöra hur mycket som återstår av en policyterm innan du tillämpar en justering. Detta steg låter dig tillämpa rätt justering och skicka tillbaka lämpligt assetTermId. I dessa användningsfall, konfigurera JSON-strukturen som returneras av din integreringsprocess så att den inkluderar både noderna claimLineItem och claimLineItemAdjustment.

    I noden claimLineItemAdjustment, se till att:

    • Inkludera assetTermId.

    • Inkludera attributeClass.

    InsClaimItemService: add behöver båda dessa värden för att avgöra hur man skapar post för spårning av försäkringsvillkor för det specifika maktattributet i policyn. Till exempel har en täckningsspecifikation med en villkorlig självrisk två effektattribut för Deductible: Självrisk A för brand och Självrisk B för översvämning. Integreringsproceduren inom formeln Täckningsberäkning kan använda InsurancePolicyTerms: getCurrentStandings för att avgöra att Självrisk A för denna policy är 1 000 och Självrisk B är 500. Baserat på förlustorsaken för detta anspråk kan integreringsprocessen sedan räkna ut vilken självrisk som ska tillämpas. När du returnerar JSON för utdata, se till att returnera rätt assetTermId baserat på vilken självrisk som tillämpades.

  • Vissa användningsfall involverar inte de färdiga attributklasserna men kräver fortfarande en justering av betalningsinformationen. Till exempel, om en leverantör fakturerar mer än ett förhandlat pris behöver du en ClaimCoveragePaymentAdjustment-post för att förklara varför det justerade betalningsbeloppet är mindre än det begärda beloppet. I dessa användningsfall, konfigurera JSON-strukturen som returneras av din integreringsprocess så att den inkluderar både noderna claimLineItem och claimLineItemAdjustment.

    I noden claimLineItemAdjustment:

    • Utelämna assetTermId eftersom det inte finns någon maktattributklass som definierar denna justering.

    • Inkludera attributeClass som justeringsorsak (till exempel “Överfaktureringsjustering”).

    InsClaimItemService: add använder strängen attributeClass för att fylla i fältet ClaimCoveragePaymentDetail.AdjustedReason trots att det inte finns något relaterat attributeClass.

  • Om ett användningsfall innefattar ett utbetalningsbelopp för en förmånstyp finns det ingen skillnad mellan begärda och justerade belopp. Till exempel gäller ett fast pris på 100 SEK/dag för sjukhusvistelser. I dessa fall, lämna hela claimLineItemAdjustment-noden utanför din JSON.

 
Laddar
Salesforce Help | Article