Loading
Insurance
InsProductService:getRatedGroupProducts

InsProductService:getRatedGroupProducts

Ce service est utilisé uniquement avec des produits de petit groupe qui utilisent un recensement. Le service permet de conserver les produits avec le service produit.

Classe: InsProductService

Méthode : getRatedGroupProducts

Vous pouvez utiliser ce service de deux façons différentes, selon l'utilisation des options accountId, censusId et userInput. Voici quelques concepts importants que vous devez garder à l'esprit :

  • Vous pouvez utiliser accountId ou censusId, ou les deux, pour extraire un recensement ;

  • Si vous utilisez un accountId et qu'aucun censusId n'est spécifié, le recensement système est utilisé, où le statut est Actif et le type de recensement est Groupe ;

  • Si vous utilisez un censusId, il remplace tout recensement associé au accountId ;

  • userInputs de la carte d'entrée sera prise, mais si la carte d'entrée ne contient pas userInputs, le service les générera à partir des membres du recensement;

  • Vous pouvez toutefois utiliser userInputs du service getRatedProducts si nécessaire.

Remarque
Remarque

getRatedProducts contient les entrées requises par la procédure de tarification, telles que mappées dans les attributs du produit, y compris ses spécifications de couverture associées, les spécifications d'articles assurés, les spécifications de partie assurée et les spécifications de fait de tarification.

Fonctionnement

  1. Le service reçoit le recensement de groupe actif, fourni via censusId. Alternativement, vous pouvez transmettre le service un accountId et le service utilise le accountId pour obtenir un recensement de type Système.

    Alternativement, il peut prendre userInputs, si aucun censusId ou accountId n'est fourni.

    Si vous fournissez à la fois userInputs et censusId ou accountId, le service fusionne le userInputs avec les userInputs générés à partir du recensement du groupe si l'option distante mergeUserInputs est définie sur true (par défaut = false).

  2. Récupère le type Notation du compte et accepte le Type de produit en tant que filtre d'entrée.

  3. Appelle getRatedProduct pour la tarification et renvoie des plans. Le nombre de plans renvoyés par page est basé sur l'option de pageSize (décrite ci-dessous).

  4. Extrait le employerContribution du recensement, puis utilise le prix de getRatedProduct pour calculer la contribution de l'employeur à chaque produit.

  5. Place un nœud dans la racine JSON pour EmployerContribution.

Options distantes

Remarque
Remarque

Toutes les options distantes utilisées dans le service getRatedProducts peuvent également être utilisées ici.

Option

Description

accountId

Facultatif.

ID de compte. Doit utiliser this ou censusId.

censusId

Facultatif.

ID de recensement. Doit utiliser this ou accountId.

productCategory

Médical, Dentaire, Vision ou Vie.

Filtres au-dessus de l'entrée par Product.Type, GroupClass.Type,

GroupClassContribution.ProductCategory

includeContributionInUserInput

Booléen.

Si true, la userInputs générée, basée sur la accountId ou la censusId, inclura les cotisations patronales par participant, et les exemples d'attribut suivants seront ajoutés :

  • Dental.contributionAmount

  • Medical.contributionPercent

excludeContributionInOutput

Booléen.

Si true, employerContributions n'est pas renvoyé dans outputJSON

omitChildren

true ou false

Définissez cette option sur true uniquement si vous définissez également omitRating sur true. Cela renvoie des produits sans tarification.

omitRating

true ou false

Si true, le service renvoie des produits sans tarification.

rateType

Valeur de chaîne, Age ou Composite.

Généralement, si la taille du recensement est inférieure ou égale à 20 ans, utilisez Âge.

Transmettre à la procédure d'intégration et accédé via %options.rateType%

pageSize

Nombre de plans à charger par page OmniScript.

Important
Important

Il est vivement recommandé de définir cette valeur sur 9 pour éviter tout problème de chargement.

validateCoverageSelection

true ou false

Définissez sur true si vous avez des règles de validation que le service doit exécuter.

mergeUserInputs

true ou false

Par défaut = false.

Fusionne les userInputs avec les userInputs générés par le recensement du groupe lorsqu'ils sont définis sur true.

Pour plus d'informations, consultez JSON d'entrée ci-dessous.

JSON d'entrée

Ce service n'utilise pas de JSON d'entrée.

Vous pouvez également fournir des nœuds de userInputs ici, par exemple si vous utilisez l'option distante mergeUserInputs. Dans ce cas, une clé d'instance unique doit être définie dans le userInput et dans l'enregistrement du membre du recensement (elle doit être la même clé) afin que le service puisse mapper chaque userInput avec chaque enregistrement du membre du recensement. (Il est recommandé d'utiliser l'ID de membre du recensement comme clé d'instance).

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

Vous devez également remplir le CensusMember.AttributeSelectedValue__c du champ Membre du recensement avec un JSON similaire, avec la même clé d'instance :

{
"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 sortie

Le service renvoie des employerContributions basées sur la productId. Les résultats sont mis en forme conformément à l'objet JSONResult.

  • Si le type de contribution est Montant, seul l'attribut contributionAmount est renvoyé

  • Si le type de contribution est Pourcentage, contributionPercent est renvoyé

  • Si le Prix du produit est disponible, le contributionAmount calculé est renvoyé

{
  "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": {}
  }
}
 
Chargement
Salesforce Help | Article