Loading
Insurance
InsClaimService:invokeProductRules

InsClaimService:invokeProductRules

Utilisez ce service dans des flux de réclamation pour invoquer les règles de souscription que vous avez ajoutées à un produit.

Par exemple, si vous avez ajouté des règles qui envoient les réclamations supérieures à un montant donné à un assureur pour approbation, ce service invoque ces règles.

Classe: InsClaimService

Méthode : invokeProductRules

Fonctionnement

  1. Le service recherche l'objet réclamation sur la base de la objectID et extrait les produits de cet objet sur la base de cette objectID.
  2. Recherche la transitionName spécifiée.
  3. Exécute les règles associées au produit et applicables au transitionName.

    Évalue chaque instance Partie impliquée et/ou Propriété impliquée séparément pour chaque règle de produit de réclamation.

  4. Si l'une des règles est évaluée à true, le service exécute l'action Vlocity spécifiée dans ces règles.

    Par exemple, si l'action spécifie qu'une tâche doit être créée, le service crée une tâche.

  5. Recherche la valeur de l'option includeStateTransition. Si la valeur = true, le service recherche le modèle d'état de cet objet, recherche la valeur fieldAPIName et change cette valeur en fonction de la transition.
  6. Renvoie les résultats de l'évaluation de chaque règle dans chaque instance Partie impliquée et/ou Propriété impliquée.

Options distantes

Option

Description

includeStateTransition

Si true, le service change le champ d'état spécifié dans la fieldAPIName du modèle d'état en l'état spécifié dans la transition.

Si false, le service n'effectue aucune transition d'état.

objectId

L'ID de réclamation ou l'ID de couverture de réclamation à interroger.

transitionName

Le nom de la transition d'état associé aux règles que vous souhaitez exécuter.

Le service exécute uniquement les règles associées aux transitionName que vous spécifiez.

Pour trouver un Nom de transition, accédez au modèle d'état de cet objet.

mode

Si objectId est un ID de réclamation, deux valeurs de mode sont possibles : ItemMode ou CoverageMode. Le paramètre mode spécifie les objets évalués pour cet ID de réclamation.

  • Utilisez ItemMode (valeur par défaut) pour évaluer les règles produit avec Type applicable défini sur Réclamation. Le service applique ces règles à chaque enregistrement ClaimItem associé à l'ID de réclamation. Avec ItemMode , les objets disponibles pour le moteur de règles sont ClaimItem et Claim.

    ItemMode est utile pour ouvrir des couvertures de réclamation à la fin d'un premier avis de perte (par exemple, pour la transition de Brouillon à Ouvert). Imaginez un accident de voiture impliquant deux véhicules et trois personnes. Toutes les règles qui évaluent true peuvent être utilisées pour appeler des actions qui appellent des procédures d'intégration afin d'effectuer des opérations telles que l'ouverture de la Couverture de réclamation correcte pour chaque Élément de réclamation. Les couvertures de réclamation peuvent inclure Collision pour le véhicule du tiers, Dommages matériels pour le véhicule du tiers, Blessures corporelles pour l’un des conducteurs, etc.

  • Utilisez CoverageMode pour évaluer les règles produit avec Type applicable défini sur Couverture de réclamation. Le service applique ces règles à chaque enregistrement Couverture de réclamation associé à ClaimId. Avec CoverageMode, les objets disponibles pour le moteur de règles sont ClaimCoverage, InsurancePolicyCoverage et Claim.

    CoverageMode est utile pour exécuter des règles sur toutes les couvertures de réclamation. Utilisez par exemple CoverageMode pour déterminer si des règles de période d'attente s'appliquent. De telles règles peuvent déclencher la transition depuis Ouvert vers Refusé.

Si objectId est un ID de couverture de réclamation, le moteur de règles évalue les règles produit avec Type applicable défini sur ClaimCoverage. Le service applique ces règles à un ClaimCoverageId unique. Dans ce cas, mode n'est pas utilisé, car le service évalue un seul objet, pas plusieurs objets de niveau inférieur.

falseTransitionState

Facultatif.

L'état vers lequel le service passe lorsque toutes les règles exécutées par le service sont évaluées sur false.

Le service passe l'objet à cet état uniquement si includeStateTransition = true.

JSON d'entrée

Ce service n'utilise rien dans le JSON d'entrée.

JSON de sortie

Le service renvoie l'évaluation de la règle pour chaque instance d'un bien impliqué et/ou d'une partie impliquée.

Pour cet exemple, les entrées sont les suivantes :

  • objectId = claimId

  • transitionName = nom de la transition de la règle

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

Ce JSON inclut les paires clé/valeur suivantes :

Clé

Valeur

stateTransit

Décrit ce que le service a changé dans le champ Statut de l'objet Déclaration.

canTransitState

true ou false

Indique si le service passe ou non l'objet à un nouvel état.

allFalse

Si toutes les règles exécutées par le service renvoient false, allFalse = true.

Si l'une des règles exécutées par le service renvoie true, allFalse = false.

falseRules

Un groupe d'un ou plusieurs ruleDetails.

Inclut toutes les règles exécutées par le service qui évaluent à false.

trueRules

Un groupe d'un ou plusieurs actionResults et ruleDetails.

Inclut toutes les règles exécutées par le service qui évaluent à true.

Affiché uniquement si allFalse = false. C'est-à-dire une ou plusieurs règles exécutées par le service évaluées sur true.

error

Toute erreur rencontrée par le service.

Si la valeur est ok, aucun message d'erreur n'est affiché dans l'interface utilisateur.

Les tableaux falseRules et trueRules contiennent tous deux des paires clé/valeur 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"
}

Le tableau de trueRules comprend une ou plusieurs actionResults, des paires clé/valeur supplémentaires et des rulesDetails.

Les actionResults sont la sortie de la classe d'action et de la méthode d'action Vlocity invoquées par le service.

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

Exemples

Le service est généralement utilisé lorsque vous souhaitez que des règles déterminent si une réclamation peut être automatiquement approuvée ou que vous vous adressiez à un assureur pour un examen plus approfondi.

 
Chargement
Salesforce Help | Article