Loading
Seguro
InsProductService:getRatedGroupProducts

InsProductService:getRatedGroupProducts

Este servicio solo se utiliza con productos de grupos pequeños que utilizan un censo. El servicio permite mantener los productos con el servicio de productos.

Clase: InsProductService

Método: getRatedGroupProducts

Existen un par de formas diferentes de utilizar este servicio, dependiendo de cómo utilice las opciones accountId, censusId y userInput. Estos son algunos conceptos importantes que deberá tener en cuenta:

  • Puede utilizar accountId o censusId, o ambos, para extraer un censo;

  • Si utiliza accountId y no se especifica censusId, se utiliza el censo del sistema, donde el estado es Activo y el tipo de censo es Grupo;

  • Si utiliza un censusId, sustituye cualquier censo asociado con el accountId;

  • userInputs desde mapa de entrada se tomará, pero si no hay userInputs en el mapa de entrada, el servicio los generará desde miembros del censo;

  • Sin embargo, puede utilizar userInputs desde el servicio getRatedProducts, si es necesario.

Nota
Nota

getRatedProducts contiene las entradas necesarias para el procedimiento de valoración, como se asignan en los atributos del producto, incluyendo sus especificaciones de cobertura asociadas, especificaciones de artículos asegurados, especificaciones de partes aseguradas y especificaciones de hechos de valoración.

Funcionamiento

  1. El servicio obtiene el censo Grupo activo, proporcionado a través de censusId. O bien puede pasar el servicio un accountId y el servicio utiliza el accountId para obtener un censo de tipo Sistema.

    También puede tardar userInputs si no se proporciona censusId o accountId.

    Si proporciona tanto userInputs como censusId o accountId, el servicio combina la userInputs con las userInputs generadas desde el censo Grupo si la opción remota mergeUserInputs está establecida como true (predeterminado = false).

  2. Obtiene el tipo Valoración de la cuenta y acepta el Tipo de producto como filtro de entrada.

  3. Llama a getRatedProduct para obtener precios y devuelve planes. El número de planes devueltos por página se basa en la opción pageSize (descrita a continuación).

  4. Extrae employerContribution del censo y luego utiliza el precio de getRatedProduct para calcular la contribución del empleador para cada producto.

  5. Pone un nodo en la raíz JSON para EmployerContribution.

Opciones remotas

Nota
Nota

Todas las opciones remotas utilizadas en el servicio getRatedProducts también se pueden utilizar aquí.

Opción

Descripción

accountId

Opcional.

Id. de cuenta. Debe utilizar esto o censusId.

censusId

Opcional.

Id. del censo. Debe utilizar esto o accountId.

productCategory

Ya sea Médico, Dental, Visión o Vida.

Filtros por encima de la entrada por Product.Type, GroupClass.Type,

GroupClassContribution.ProductCategory

includeContributionInUserInput

Booleano.

Si es verdadero, el userInputs generado, basándose en el accountId o censusId, incluirá las contribuciones del empleador por miembro, y se agregarán los siguientes atributos de muestra:

  • Dental.contributionAmount

  • Medical.contributionPercent

excludeContributionInOutput

Booleano.

Si true, no se devuelve employerContributions en outputJSON

omitChildren

true o false

Establezca esta opción en true solo si también establece omitRating en true. Esto devuelve productos sin precios.

omitRating

true o false

Si es true, el servicio devuelve productos sin precios.

rateType

Valor de cadena, Age o Composite.

Normalmente, si el tamaño del censo es de 20 o menos, utilice Edad; si es superior, utilice Compuesto.

Pasar a Procedimiento de integración y acceder a través de %options.rateType%

pageSize

Número de planes para cargar por página de OmniScript.

Importante
Importante

Se recomienda encarecidamente establecer este valor en 9 para evitar cualquier problema de carga.

validateCoverageSelection

true o false

Establezca en true si tiene reglas de validación que necesita para ejecutar el servicio.

mergeUserInputs

true o false

Predeterminado = false.

Combina el userInputs con userInputs generados desde el censo Grupo cuando se establece como true.

Consulte JSON de entrada, a continuación, para obtener más información.

JSON de entrada

Este servicio no utiliza un JSON de entrada.

Opcionalmente, puede proporcionar nodos de userInputs aquí, como si estuviera utilizando la opción remota de mergeUserInputs. En este caso, se debe definir una clave de instancia exclusiva en el userInput y en el registro de miembro del censo (debe ser la misma clave) de modo que el servicio pueda hacer coincidir cada userInput con cada registro de miembro del censo. (Es una buena idea utilizar el Id. de miembro del censo como la clave de instancia.)

"userInputs": [
{
"SG-Census-RF.SG_CM_Calculate": "true",
"SG-Census-RF.SG_CM_Age": 48,
"SG-Census-RF.Id": "a57g00000009i0wAAA",
"SG-Census-RF.SG_CM_Zip": "48005",
"SG-Census-RF.instanceKey": "a57g00000009i0wAAA"
},
{
"SG-Census-RF.SG_CM_Calculate": "true",
"SG-Census-RF.SG_CM_Age": 32,
"SG-Census-RF.Id": "a57g00000009i0rAAA",
"SG-Census-RF.SG_CM_Zip": "48005",
"SG-Census-RF.instanceKey": "a57g00000009i0rAAA"
}
]
}

También debe rellenar el CensusMember.AttributeSelectedValue__c en el campo de miembro del censo con un JSON similar a este, con la misma clave de instancia:

{
"SG_empOnlyCount": "",
"SG_empSpouseCount": "",
"SG_empChildCount": "",
"SG_empFamilyCount": "",
"SG_CM_MemberClass": null,
"SG_CM_Age": 48,
"SG_CM_State": null,
"SG_CM_Gender": null,
"SG_CM_Smoker": false,
"SG_CM_IsPrimary": false,
"SG_CM_IsSpouse": false,
"SG_CM_DOB": null,
"SG_CM_Relationship": null,
"SG_CM_Zip": null,
"Id": null,
"SG_CM_MemberType": null,
"SG_CM_Calculate": true,
"instanceKey":”a57g00000009i0wAAA”
}

JSON de salida

El servicio devuelve employerContributions basándose en el productId. Los resultados tienen formato según el objeto JSONResult.

  • Si el tipo de contribución es Importe, solo se devuelve el atributo contributionAmount.

  • Si el tipo de contribución es Porcentaje, se devuelve contributionPercent

  • Si el precio del producto está disponible, se devuelve el contributionAmount calculado.

{
  "employerContributions": {
    "01tf4000002U25LAAS": [
      {
        "contributionAmount": 363.999,
        "contributionPercent": 30,
        "Member.Id": "a3ef4000000mPIaAAM"
      },
      {
        "contributionAmount": 363.999,
        "contributionPercent": 30,
        "Member.Id": "a3ef4000000mPIbAAM"
      }
    ],
    "01tf4000002U25KAAS": [
      {
        "contributionAmount": 100,
        "Member.Id": "a3ef4000000mPIaAAM"
      },
      {
        "contributionAmount": 100,
        "Member.Id": "a3ef4000000mPIbAAM"
      }
    ]
  },
  "result": {
    "totalSize": 2,
    "records": [
      {
        "uiStates": {},
        "nameResult": {
          "childProducts": {
            "totalSize": 2,
            "records": [
              {
                "uiStates": {},
                "nameResult": {},
                "messages": [],
                "fields": {
                  "pciId": "a2mf4000000lTZiAAM",
                  "productId": "01tf4000002U25MAAS",
                  "TotalInsuredFormula__c": null,
                  "Term__c": "Annual",
                  "PricingFormula__c": null,
                  "IsConfigurable__c": false,
                  "RecordTypeName__c": "RatingFactSpec",
                  "PricingSource__c": null,
                  "ImageId__c": null,
                  "Tier__c": null,
                  "IsRecommended__c": false,
                  "RateBandId__c": null,
                  "SubType__c": null,
                  "Type__c": null,
                  "MarketSegment__c": null,
                  "LineOfBusiness__c": null,
                  "ProductCode": "RF0",
                  "Family": null,
                  "Description": null,
                  "Name": "censusRatingFact",
                  "Id": "01tf4000002U25MAAS"
                },
                "displaySequence": 1,
                "actions": {}
              },
              {
                "uiStates": {},
                "nameResult": {},
                "messages": [],
                "fields": {
                  "pciId": "a2mf4000000lTZjAAM",
                  "productId": "01tf4000002U25NAAS",
                  "TotalInsuredFormula__c": null,
                  "Term__c": "Annual",
                  "PricingFormula__c": null,
                  "IsConfigurable__c": false,
                  "RecordTypeName__c": "RatingFactSpec",
                  "PricingSource__c": null,
                  "ImageId__c": null,
                  "Tier__c": null,
                  "IsRecommended__c": false,
                  "RateBandId__c": null,
                  "SubType__c": null,
                  "Type__c": null,
                  "MarketSegment__c": null,
                  "LineOfBusiness__c": null,
                  "ProductCode": "RF1",
                  "Family": null,
                  "Description": null,
                  "Name": "censusMemRatingFact",
                  "Id": "01tf4000002U25NAAS"
                },
                "displaySequence": 2,
                "actions": {}
              }
            ],
            "name": null,
            "messages": [],
            "description": null,
            "data": {
              "totalSize": null,
              "messages": [],
              "dataMap": {},
              "actions": {}
            },
            "actions": {}
          }
        },
        "messages": [],
        "fields": {
          "Price": "",
          "productId": "01tf4000002U25KAAS",
          "TotalInsuredFormula__c": null,
          "Term__c": null,
          "PricingFormula__c": null,
          "IsConfigurable__c": false,
          "RecordTypeName__c": "Product",
          "PricingSource__c": "AggOutput",
          "ImageId__c": null,
          "Tier__c": null,
          "IsRecommended__c": false,
          "RateBandId__c": null,
          "SubType__c": null,
          "Type__c": "Medical",
          "MarketSegment__c": null,
          "LineOfBusiness__c": null,
          "ProductCode": "rootProd",
          "Family": null,
          "Description": null,
          "Name": "rootProd",
          "Id": "01tf4000002U25KAAS",
          "RawPriceData": [
            {
              "calculationResults": [
                {
                  "ProcedureOutput": 1000,
                  "TheMatrix__Premium": "100",
                  "TheMatrix__PremiumRBSelf": "90",
                  "TheMatrix__PremiumRBSpouse": "110",
                  "ID": "0"
                },
                {
                  "ProcedureOutput": 1500,
                  "TheMatrix__Premium": "150",
                  "TheMatrix__PremiumRBSelf": "140",
                  "TheMatrix__PremiumRBSpouse": "160",
                  "ID": "1"
                },
                {
                  "ProcedureOutput": 2000,
                  "TheMatrix__Premium": "200",
                  "TheMatrix__PremiumRBSelf": "190",
                  "TheMatrix__PremiumRBSpouse": "210",
                  "ID": "2"
                },
                {
                  "ProcedureOutput": 1300,
                  "TheMatrix__Premium": "130",
                  "TheMatrix__PremiumRBSelf": "120",
                  "TheMatrix__PremiumRBSpouse": "240",
                  "ID": "3"
                },
                {
                  "ProcedureOutput": 2000,
                  "TheMatrix__Premium": "200",
                  "TheMatrix__PremiumRBSelf": "190",
                  "TheMatrix__PremiumRBSpouse": "210",
                  "ID": "4"
                },
                {
                  "ProcedureOutput": 1300,
                  "TheMatrix__Premium": "130",
                  "TheMatrix__PremiumRBSelf": "120",
                  "TheMatrix__PremiumRBSpouse": "240",
                  "ID": "5"
                }
              ],
              "aggregationResults": null
            }
          ],
          "CalculatedPriceData": {}
        },
        "displaySequence": -1,
        "actions": {}
      },
      {
        "uiStates": {},
        "nameResult": {
          "childProducts": {
            "totalSize": 2,
            "records": [
              {
                "uiStates": {},
                "nameResult": {},
                "messages": [],
                "fields": {
                  "pciId": "a2mf4000000lTZkAAM",
                  "productId": "01tf4000002U25MAAS",
                  "TotalInsuredFormula__c": null,
                  "Term__c": "Annual",
                  "PricingFormula__c": null,
                  "IsConfigurable__c": false,
                  "RecordTypeName__c": "RatingFactSpec",
                  "PricingSource__c": null,
                  "ImageId__c": null,
                  "Tier__c": null,
                  "IsRecommended__c": false,
                  "RateBandId__c": null,
                  "SubType__c": null,
                  "Type__c": null,
                  "MarketSegment__c": null,
                  "LineOfBusiness__c": null,
                  "ProductCode": "RF0",
                  "Family": null,
                  "Description": null,
                  "Name": "censusRatingFact",
                  "Id": "01tf4000002U25MAAS"
                },
                "displaySequence": 1,
                "actions": {}
              },
              {
                "uiStates": {},
                "nameResult": {},
                "messages": [],
                "fields": {
                  "pciId": "a2mf4000000lTZlAAM",
                  "productId": "01tf4000002U25NAAS",
                  "TotalInsuredFormula__c": null,
                  "Term__c": "Annual",
                  "PricingFormula__c": null,
                  "IsConfigurable__c": false,
                  "RecordTypeName__c": "RatingFactSpec",
                  "PricingSource__c": null,
                  "ImageId__c": null,
                  "Tier__c": null,
                  "IsRecommended__c": false,
                  "RateBandId__c": null,
                  "SubType__c": null,
                  "Type__c": null,
                  "MarketSegment__c": null,
                  "LineOfBusiness__c": null,
                  "ProductCode": "RF1",
                  "Family": null,
                  "Description": null,
                  "Name": "censusMemRatingFact",
                  "Id": "01tf4000002U25NAAS"
                },
                "displaySequence": 2,
                "actions": {}
              }
            ],
            "name": null,
            "messages": [],
            "description": null,
            "data": {
              "totalSize": null,
              "messages": [],
              "dataMap": {},
              "actions": {}
            },
            "actions": {}
          }
        },
        "messages": [],
        "fields": {
          "Price": 1213.33,
          "productId": "01tf4000002U25LAAS",
          "TotalInsuredFormula__c": null,
          "Term__c": null,
          "PricingFormula__c": null,
          "IsConfigurable__c": false,
          "RecordTypeName__c": "Product",
          "PricingSource__c": "AggOutput",
          "ImageId__c": null,
          "Tier__c": null,
          "IsRecommended__c": false,
          "RateBandId__c": "a4Gf4000000kocZEAQ",
          "SubType__c": null,
          "Type__c": "Dental",
          "MarketSegment__c": null,
          "LineOfBusiness__c": null,
          "ProductCode": "rootProd2",
          "Family": null,
          "Description": null,
          "Name": "rootProd2",
          "Id": "01tf4000002U25LAAS",
          "RawPriceData": [
            {
              "calculationResults": [
                {
                  "ProcedureOutput": 800,
                  "TheMatrix__Premium": "100",
                  "TheMatrix__PremiumRBSelf": "90",
                  "TheMatrix__PremiumRBSpouse": "110",
                  "ID": "0"
                },
                {
                  "ProcedureOutput": 1200,
                  "TheMatrix__Premium": "150",
                  "TheMatrix__PremiumRBSelf": "140",
                  "TheMatrix__PremiumRBSpouse": "160",
                  "ID": "1"
                },
                {
                  "ProcedureOutput": 1600,
                  "TheMatrix__Premium": "200",
                  "TheMatrix__PremiumRBSelf": "190",
                  "TheMatrix__PremiumRBSpouse": "210",
                  "ID": "2"
                },
                {
                  "ProcedureOutput": 1040,
                  "TheMatrix__Premium": "130",
                  "TheMatrix__PremiumRBSelf": "120",
                  "TheMatrix__PremiumRBSpouse": "240",
                  "ID": "3"
                },
                {
                  "ProcedureOutput": 1600,
                  "TheMatrix__Premium": "200",
                  "TheMatrix__PremiumRBSelf": "190",
                  "TheMatrix__PremiumRBSpouse": "210",
                  "ID": "4"
                },
                {
                  "ProcedureOutput": 1040,
                  "TheMatrix__Premium": "130",
                  "TheMatrix__PremiumRBSelf": "120",
                  "TheMatrix__PremiumRBSpouse": "240",
                  "ID": "5"
                }
              ],
              "aggregationResults": {
                "AggOutput": 1213.33
              }
            }
          ],
          "CalculatedPriceData": {
            "AggOutput": 1213.33
          }
        },
        "displaySequence": -1,
        "actions": {}
      }
    ],
    "name": null,
    "messages": [],
    "description": null,
    "data": {
      "totalSize": null,
      "messages": [],
      "dataMap": {},
      "actions": {}
    },
    "actions": {}
  }
}
 
Cargando
Salesforce Help | Article