Loading
Seguro
InsClaimService:invokeProductRules

InsClaimService:invokeProductRules

Utilice este servicio en flujos de reclamación para invocar reglas de suscripción que agregó a un producto.

Por ejemplo, si agregó reglas que envían reclamaciones por encima de un importe en dólares a un suscriptor para su aprobación, este servicio invoca esas reglas.

Clase: InsClaimService

Método: invokeProductRules

Funcionamiento

  1. El servicio encuentra el objeto de reclamación basándose en el objectID y extrae los productos para ese objeto basándose en ese objectID.
  2. Busca el transitionName especificado.
  3. Ejecuta las reglas asociadas con el producto y aplicables al transitionName.

    Evalúa cada instancia de Parte implicada y/o instancia de Propiedad implicada por separado para cada regla de producto de reclamación.

  4. Si cualquiera de las reglas se evalúa como verdadera, el servicio ejecuta la acción Vlocity especificada en esas reglas.

    Por ejemplo, si la acción especifica que se cree una tarea, el servicio crea una tarea.

  5. Busca el valor de la opción includeStateTransition. Si el valor = true, el servicio busca el modelo de estado para este objeto, encuentra el valor de fieldAPIName y cambia ese valor basándose en la transición.
  6. Da como resultado los resultados de la evaluación para cada regla en cada instancia de Parte implicada y/o Propiedad implicada.

Opciones remotas

Opción

Descripción

includeStateTransition

Si es verdadero, el servicio cambia el campo de estado especificado en el fieldAPIName del modelo de estado al estado especificado en la transición.

Si es falso, el servicio no realiza ninguna transición de estado.

objectId

El Id. de reclamación o Id. de cobertura de reclamación que se va a consultar.

transitionName

El nombre de transición de estado asociado con las reglas que desea ejecutar.

El servicio solo ejecutará reglas asociadas con el transitionName que especifique.

Para buscar un Nombre de transición, vaya al modelo de estado para este objeto.

mode

Si objectId es un Id. de reclamación, existen dos posibles valores de mode: ItemMode o CoverageMode. El parámetro mode especifica qué objetos se evalúan para ese Id. de reclamación.

  • Utilice ItemMode (el valor predeterminado) para evaluar reglas de productos con Tipo aplicable definido como Reclamación. El servicio aplica estas reglas a cada registro ClaimItem asociado con el Id. de reclamación. Con ItemMode , los objetos que están disponibles para el motor de reglas son los objetos ClaimItem y Claim.

    ItemMode es útil para abrir coberturas de reclamación al final de un primer aviso de pérdida (por ejemplo, para la transición de Borrador a Abierto). Imagine un accidente automovilístico que involucra a dos vehículos y tres personas. Cualquier regla que se evalúe como verdadera se puede utilizar para llamar a acciones que llaman a procedimientos de integración para hacer cosas como abrir la Cobertura de reclamación correcta para cada Elemento de reclamación. Las coberturas de reclamación pueden incluir colisión para el vehículo de primera parte, daños a la propiedad para el vehículo de terceros, lesiones corporales para uno de los conductores, etc.

  • Utilice CoverageMode para evaluar reglas de productos con Tipo aplicable definido como Cobertura de reclamación. El servicio aplica estas reglas a cada registro de Cobertura de reclamación asociado con ClaimId. Con CoverageMode, los objetos disponibles para el motor de reglas son ClaimCoverage, InsurancePolicyCoverage y Claim.

    CoverageMode es útil al ejecutar reglas contra todas las coberturas de reclamación en una reclamación. Por ejemplo, utilice CoverageMode cuando determine si se aplica alguna regla de periodo de espera. Dichas reglas pueden desencadenar la transición de Abierto a Denegado.

Si objectId es un Id. de cobertura de reclamación, el motor de reglas evalúa reglas de productos con Tipo aplicable definido como ClaimCoverage. El servicio aplica estas reglas a un ClaimCoverageId único. En este caso, no se utiliza mode porque el servicio evalúa solo un objeto, no múltiples objetos de nivel inferior.

falseTransitionState

Opcional

El estado al que el servicio realiza la transición del objeto cuando todas las reglas ejecutadas por el servicio se evalúan como falsas.

El servicio realiza la transición del objeto a este estado solo si includeStateTransition = true.

JSON de entrada

Este servicio no utiliza nada en el JSON de entrada.

JSON de salida

El servicio devuelve la evaluación de regla para cada instancia de una Propiedad implicada y/o Parte implicada.

Para este ejemplo, las entradas son:

  • objectId = claimId

  • transitionName = nombre de transición de regla

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

Este JSON incluye los siguientes pares clave/valor:

Clave

Valor

stateTransit

Describe lo que cambió el servicio en el campo Estado en el objeto de reclamación.

canTransitState

true o false

Indica si el servicio realiza o no la transición del objeto a un nuevo estado.

allFalse

Si todas las reglas ejecutadas por el servicio se evalúan como falsas, allFalse = true.

Si cualquiera de las reglas ejecutadas por el servicio se evalúa como verdadera, allFalse = false.

falseRules

Una matriz de uno o más ruleDetails.

Incluye todas las reglas ejecutadas por el servicio que se evalúan como falsas.

trueRules

Una matriz de uno o más actionResults y ruleDetails.

Incluye todas las reglas ejecutadas por el servicio que se evalúan como verdaderas.

Aparece solo si allFalse = false. Es decir, una o más de las reglas ejecutadas por el servicio evaluado como verdadero.

error

Cualquier error encontrado por el servicio.

Si el valor está bien, no aparece ningún mensaje de error en la interfaz de usuario.

Las matrices falseRules y trueRules incluyen pares clave/valor de 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 matriz trueRules incluye uno o más actionResults, pares clave/valor adicionales y rulesDetails.

Los actionResults son el resultado de la clase de acción Vlocity y el método de acción invocados por el servicio.

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

Ejemplos

El servicio se utiliza habitualmente cuando desea reglas para determinar si una reclamación se puede aprobar automáticamente o ir a un suscriptor para una consideración adicional.

 
Cargando
Salesforce Help | Article