Loading
Assicurazioni
InsClaimService:invokeProductRules

InsClaimService:invokeProductRules

Utilizzare questo servizio nei flussi di richiesta per invocare le regole di sottoscrizione aggiunte a un prodotto.

Ad esempio, se sono state aggiunte regole che inviano richieste superiori a un determinato importo in dollari a un sottoscrittore per l'approvazione, questo servizio richiama tali regole.

Classe: InsClaimService

Metodo: invokeProductRules

Funzionamento

  1. Il servizio trova l'oggetto richiesta in base al objectID ed estrae i prodotti per quell'oggetto in base a quel objectID.
  2. Cerca il transitionName specificato.
  3. Esegue le regole associate al prodotto e applicabili al transitionName.

    Valuta ogni istanza Parte coinvolta e/o Proprietà coinvolta separatamente per ogni regola prodotto richiesta.

  4. Se una delle regole restituisce true, il servizio esegue l'azione Vlocity specificata in tali regole.

    Ad esempio, se l'azione specifica che deve essere creata un'operazione, il servizio crea un'operazione.

  5. Cerca il valore dell'opzione includeStateTransition. Se il valore = true, il servizio cerca il modello di stato per questo oggetto, trova il valore di fieldAPIName e lo modifica in base alla transizione.
  6. Restituisce i risultati della valutazione per ogni regola per ogni istanza Parte coinvolta e/o Proprietà coinvolta.

Opzioni remote

Opzione

Descrizione

includeStateTransition

Se true, il servizio modifica il campo stato specificato nella fieldAPIName del modello di stato nello stato specificato nella transizione.

Se false, il servizio non esegue alcuna transizione di stato.

objectId

ID richiesta o ID copertura della richiesta da sottoporre a query.

transitionName

Nome della transizione tra stati associato alle regole che si desidera eseguire.

Il servizio eseguirà solo le regole associate alla transitionName specificata.

Per trovare un Nome transizione, accedere al modello di stato per questo oggetto.

mode

Se objectId è un ID richiesta, esistono due valori di mode possibili: ItemMode o CoverageMode. Il parametro mode specifica quali oggetti vengono valutati per quell'ID richiesta.

  • Utilizzare ItemMode (impostazione predefinita) per valutare le regole del prodotto con Tipo applicabile definito come Richiesta. Il servizio applica queste regole a tutti i record ClaimItem associati all'ID richiesta. Con ItemMode , gli oggetti disponibili per il motore di regole sono ClaimItem e Claim.

    ItemMode è utile per aprire le coperture delle richieste alla fine di un primo avviso di sinistro (ad esempio, per il passaggio da Bozza ad Aperta). Immaginate un incidente stradale che coinvolge due veicoli e tre persone. Tutte le regole che vengono valutate come vere possono essere utilizzate per chiamare azioni che chiamano procedure di integrazione per eseguire operazioni come aprire la copertura della richiesta corretta per ogni voce richiesta. Le coperture delle richieste possono includere collisione per il veicolo first party, danni alla proprietà per il veicolo di terze parti, lesioni corporali per uno dei conducenti e così via.

  • Utilizzare CoverageMode per valutare le regole di prodotto con Tipo applicabile definito come Copertura della richiesta. Il servizio applica queste regole a tutti i record Copertura della richiesta associati al ClaimId. Con CoverageMode, gli oggetti disponibili per il motore di regole sono ClaimCoverage, InsurancePolicyCoverage e Claim objects.

    CoverageMode è utile quando si eseguono regole per tutte le coperture della richiesta su una richiesta. Ad esempio, utilizzare CoverageMode per determinare se si applicano regole sui periodi di attesa. Tali regole possono attivare il passaggio da Aperto a Negato.

Se objectId è un ID copertura della richiesta, il motore di regole valuta le regole di prodotto con Tipo applicabile definito come Copertura della richiesta. Il servizio applica queste regole a un singolo ClaimCoverageId. In questo caso, mode non viene utilizzato perché il servizio valuta un solo oggetto, non più oggetti di livello inferiore.

falseTransitionState

Facoltativo.

Lo stato in cui il servizio esegue la transizione dell'oggetto quando tutte le regole eseguite dal servizio restituiscono false.

Il servizio passa l'oggetto a questo stato solo se includeStateTransition = true.

Input JSON

Questo servizio non utilizza nulla nel JSON di input.

JSON di output

Il servizio restituisce la valutazione della regola per ogni istanza di una Proprietà coinvolta e/o Parte coinvolta.

Per questo esempio, gli input sono:

  • objectId = claimId

  • transitionName = nome transizione regola

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

Questo JSON include le seguenti coppie chiave/valore:

Chiave

Valore

stateTransit

Descrive le modifiche apportate al servizio nel campo Stato dell'oggetto richiesta.

canTransitState

true o false

Indica se il servizio passa o meno l'oggetto a un nuovo stato.

allFalse

Se tutte le regole eseguite dal servizio restituiscono false, allFalse = true.

Se una delle regole eseguite dal servizio restituisce true, allFalse = false.

falseRules

Una matrice di uno o più ruleDetails.

Include tutte le regole eseguite dal servizio che restituiscono false.

trueRules

Una matrice di uno o più actionResults e ruleDetails.

Include tutte le regole eseguite dal servizio che restituiscono true.

Viene visualizzato solo se allFalse = false. Cioè, una o più delle regole eseguite dal servizio vengono valutate come true.

error

Eventuali errori riscontrati dal servizio.

Se il valore è ok, nell'interfaccia utente non vengono visualizzati messaggi di errore.

Le matrici falseRules e trueRules includono entrambe coppie chiave/valore 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"
}

La matrice trueRules include uno o più actionResults, coppie chiave/valore aggiuntive e rulesDetails.

I actionResults sono l'output della classe di azioni Vlocity e del metodo di azione invocato dal servizio.

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

Esempi

Il servizio viene in genere utilizzato quando si desidera che le regole determinino se una richiesta può essere approvata automaticamente o rivolgersi a un sottoscrittore per ulteriori considerazioni.

 
Caricamento
Salesforce Help | Article