Loading
Insurance
InsCensusServiceStd:addPlanSelections

InsCensusServiceStd:addPlanSelections

Utilisez ce service pour créer des enregistrements GroupCensusMemberPlan pour des enregistrements GroupCensusMember existants. Il utilise le ContractGroupPlans spécifié dans le JSON d'entrée pour ajouter des plans à chaque GroupCensusMember. Le service accepte également des couvertures facultatives par membre, de sorte que les membres principaux et les personnes à charge peuvent adhérer à différentes couvertures dans le même régime.

Classe: InsCensusServiceStd​​

Méthode : addPlanSelections

Remarque
Remarque

Si les sélections de plan de chaque membre sont chargées en utilisant le fichier CSV, utilisez le service InsCensusServiceStd:updateMembersWithPlans.

GroupCensus et Contract doivent avoir le même compte de groupe.

Le statut ContractGroupPlan doit être actif.

Fonctionnement

Le service utilise censusId et contractId pour insérer les plans sélectionnés par les membres.

  1. Pour chacun de ses ID de ContractGroupPlan, le service évalue si le régime est valide pour le participant en fonction des facteurs suivants :
    • La contractId est valide pour le censusId.

    • L'ID de ContractGroupPlan est valide pour le contractId​.
    • IsOptOutAllPlans est faux.

    • Lorsque ContractGroupPlan a un type d'enregistrement Produit (ContractGroupPlan du parent) :

      • Le type de produit du ContractGroupPlan du membre principal ne doit pas être égal aux types de produit répertoriés dans le OptOutPlanTypes du membre principal.

      • Le type de produit du ContractGroupPlan​​ d'une personne dépendante ne doit pas être égal aux types de produit répertoriés dans le OptOutPlanTypes de la personne dépendante, et le type de produit du ContractGroupPlan ne doit pas être égal aux types de produit répertoriés dans le OptOutPlanTypes du membre principal de la personne dépendante.

    • Lorsque ContractGroupPlan a un type d'enregistrement CoverageSpec (ContractGroupPlan de l'enfant) :

      • Le type de produit du ContractGroupPlan d'un enfant pour le membre principal ne doit pas être égal aux types de produit répertoriés dans le OptOutPlanTypes du membre principal.

      • Le type de produit du ContractGroupPlan​​ d'un enfant pour une personne à charge ne doit pas être égal aux types de produit répertoriés dans le OptOutPlanTypes de la personne à charge , et le type de produit du ContractGroupPlan ne doit pas être égal aux types de produit répertoriés dans le OptOutPlanTypes du membre principal de la personne à charge.

  2. Les ID des entrées de GroupCensusMemberPlan créées avec succès sont renvoyés pour les plans valides.

  3. Le service récupère les plans valides pour les classes de groupe éligibles au contrat donné. L'inscription à un régime racine et à ses couvertures dépend de l'éligibilité de la catégorie du participant au régime et de l'acceptation par le régime de participants non associés à une catégorie.

    Si le service détermine qu'un membre du recensement peut s'inscrire à un plan, le plan est ajouté au GroupCensusMemberPlan.

    • Un plan est ajouté à un GroupCensusMemberPlan si :

      • Un membre du recensement est associé à une classe de groupe valide et un enregistrement de ContractGroupPlanGroupClass existe avec la classe de groupe et le plan.

      • Un membre du recensement est associé à une classe de groupe valide, aucun ContractGroupPlanGroupClass enregistrement n'existe pour la classe de groupe et le plan n'existe pour aucune autre classe de groupe.

      • Un membre du recensement n'est pas associé à une classe de groupe valide et aucun enregistrement de ContractGroupPlanGroupClass n'existe avec le plan.

    • Un plan n'est pas ajouté à un GroupCensusMemberPlan si :

      • Un membre du recensement est associé à une classe de groupe valide, aucun enregistrement de ContractGroupPlanGroupClass n'existe pour la classe de groupe, mais le plan existe pour une autre classe de groupe.

      • Un membre du recensement n'est pas associé à une classe de groupe valide et un enregistrement de ContractGroupPlanGroupClass existe avec le plan et les classes de groupe.

  4. Lorsque des contractGroupPlanIds non valides sont passés pendant un groupCensusMember (le isNewMember d'indicateur est true), le service supprime les enregistrements groupCensusMember et ne crée aucun enregistrement GroupCensusMemberPlan pour le groupCensusMember. Attendez-vous à cette sortie uniquement lorsque la onlySaveMembersWithValidProducts de l'indicateur est définie sur true dans l'objet JSON.

Options distantes

Option

Description

censusId

Obligatoire.

ID de recensement avec les membres dont les plans doivent être insérés.

Confirme que le contractId appartient au compte/recensement.

contractId

Obligatoire.

ID du contrat actuel du compte.

Confirme que les plans de chaque membre font partie du contrat.

census

Obligatoire.

Entrée JSON avec deux nœuds :

  • headers : liste des noms d'API de champ des GroupCensusMemberPlan.

  • members : liste des membres avec des plans à insérer ou à mettre à jour. Il doit inclure les nœuds suivants :

    • Id — Id. du membre du recensement

    • isNewMember - True si le membre est nouvellement inséré

    • ContractGroupPlan : la liste des plans sélectionnés pour le membre. Délimitez les ID de plan de groupe de contrats par un point-virgule (;).

onlySaveMembersWithValidProducts

Facultatif.

Si true, les nouveaux membres sans entrée dans GroupCensusMemberPlan sont supprimés. La valeur par défaut est false.

Comportement de service

Comprenez comment les différentes entrées affectent les sorties de service.

Entrée Sortie de service
Aucun censusId ou censusId non valide Le service n'ajoute aucun plan de membre.
Aucun contractId ou contractId non valide Le service n'ajoute aucun plan de membre.
contractId non valide pour le recensement spécifié Le service n'ajoute aucun plan de membre.
Aucune ligne à insérer/mettre à jour Le service n'ajoute aucun plan de membre.
Ligne sans ID (GroupCensusMember.Id) Le service n'ajoute aucun plan de membre.
ContractGroupPlanId non valide pour le contrat spécifié

Le service ne crée aucun plan de membre.

Si onlySaveMembersWithValidProducts est true et que le membre est nouveau, le service procède comme suit :

  • Supprime le membre sans plan valide.
  • Crée un membre s'il a au moins un plan valide.
ContractGroupPlanId non valide pour le membre (en raison d'un désabonnement)

Le plan de membre n'est pas créé

Si onlySaveMembersWithValidProducts est true et que le membre est nouveau, le service procède comme suit :

  • Supprime le membre sans plan valide.
  • Crée un membre s'il a au moins un plan valide.
Le membre principal se désabonne d'un type de produit

La IsOptOutAllPlans est prioritaire, suivie de la OptOutPlanTypes.

  • Si IsOptOutAllPlans = true, le service ne crée pas de plan de membre, même si vous spécifiez un produit pour l'inscription.
  • Si IsOptOutAllPlans = false et qu'un produit est spécifié pour l'inscription du membre, mais que son type de produit est identique à l'entrée de désabonnement, le service ne crée pas de plan de membre.
  • Si IsOptOutAllPlans = false et que la couverture est spécifiée pour l'inscription du membre avec le type de produit parent identique à l'entrée de désabonnement, le service ne crée pas de plan de membre.

Si le membre principal se désabonne d'un type de produit, les personnes dépendantes se désabonnent également de ce type de produit.

Un membre dépendant se désabonne d'un type de produit

La IsOptOutAllPlans est prioritaire, suivie de la OptOutPlanTypes

  • Si IsOptOutAllPlans = true, le service ne crée pas de plan de membre, même si vous spécifiez un produit pour l'inscription.
  • Si IsOptOutAllPlans = false et qu'un produit est spécifié pour l'inscription du membre, mais que son type de produit est identique à l'entrée de désabonnement, le service ne crée pas de plan de membre.
  • Si IsOptOutAllPlans = false et que la couverture est spécifiée pour l'inscription du membre avec le type de produit parent identique à l'entrée de désabonnement, le service ne crée pas de plan de membre.

Si le membre principal se désabonne d'un type de produit, les personnes dépendantes se désabonnent également de ce type de produit.

Si IsOptOutAllPlans = true pour un membre principal, la même sortie est applicable pour les personnes dépendantes associées.

JSON d'entrée

Voici le format du JSON d'entrée :

{ 
   "censusId":"ID",
   "contractId":"ID",
   "census":{ 
      "headers":[ 
         { 
            "name":"GroupCensusMemberPlan.fieldAPI1"
         },
         { 
            "name":"GroupCensusMemberPlan.fieldAPI2"
         }
      ],
      "members":[ 
         { 
            "Id":"Census Member ID",
            "isNewMember":true,
            "GroupCensusMemberPlan.fieldAPI1":"value1",
            "GroupCensusMemberPlan.fieldAPI2":"value2",
            "ContractGroupPlanId": "ContractGroupPlan.Id;ChildContractGroupPlan.Id"
         },
         { 
            "Id":"Census Member ID",
            "isNewMember":true,
            "GroupCensusMemberPlan.fieldAPI1":"value1",
            "GroupCensusMemberPlan.fieldAPI2":"value2",
            "ContractGroupPlanId": "ContractGroupPlan.Id;ChildContractGroupPlan.Id"
         }
      ]
   },
   "onlySaveMembersWithValidProducts" : true
}

Voici un exemple de JSON d'entrée :

{ 
   "censusId":"a4D4P000000hbjSUAQ",
   "contractId":"8004P000000zF2dQAE",
   "census":{ 
      "members":[ 
         { 
            "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ",
            "Id":"a4C4P000000d7POUAY"
         }
      ],
      "headers":[ 
         { 
            "name":"ContractGroupPlanId"
         }
      ]
   }
}

JSON de sortie

Le service renvoie la liste des ID de GroupCensusMemberPlan insérés avec succès. Il fournit également la liste des erreurs rencontrées. Ces erreurs sont regroupées par membre.

Voici le format du JSON de sortie :

{ 
   "memberPlanIds":[ 
      "GroupCensusMemberPlan.Id"
   ],
   "errors":[ 
      { 
         "error":"error"
      }
   ]
}

Le service renvoie un JSON de sortie, formaté comme suit :

{ 
   "memberPlanIds":[ 
      "a4B4P000006jKsMUAU",
      "a4B4P000006jKsNUAU",
      "a4B4P000006jKsOUAU",
      "a4B4P000006jKsPUAU"
   ],
   "errors":[ 
      { 
         "numPlansError":2,
         "error":"ContractGroupPlan value is not valid:8004P000000zJKjQAM; Medical",
         "numPlans":2,
         "Id":"a4C4P000000ed6dUAA",
         "isNewMember":true,
         "ContractGroupPlan":"8004P000000zJKjQAM;Medical"
      }
   ]
}
 
Chargement
Salesforce Help | Article