Vous êtes ici :
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
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.
- 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
contractIdest valide pour lecensusId.- L'ID de
ContractGroupPlanest valide pour lecontractId. IsOptOutAllPlansest faux.Lorsque ContractGroupPlan a un type d'enregistrement Produit (ContractGroupPlan du parent) :
Le type de produit du
ContractGroupPlandu membre principal ne doit pas être égal aux types de produit répertoriés dans leOptOutPlanTypesdu membre principal.Le type de produit du
ContractGroupPland'une personne dépendante ne doit pas être égal aux types de produit répertoriés dans leOptOutPlanTypesde la personne dépendante, et le type de produit duContractGroupPlanne doit pas être égal aux types de produit répertoriés dans leOptOutPlanTypesdu membre principal de la personne dépendante.
Lorsque ContractGroupPlan a un type d'enregistrement CoverageSpec (ContractGroupPlan de l'enfant) :
Le type de produit du
ContractGroupPland'un enfant pour le membre principal ne doit pas être égal aux types de produit répertoriés dans leOptOutPlanTypesdu membre principal.Le type de produit du
ContractGroupPland'un enfant pour une personne à charge ne doit pas être égal aux types de produit répertoriés dans leOptOutPlanTypesde la personne à charge , et le type de produit duContractGroupPlanne doit pas être égal aux types de produit répertoriés dans leOptOutPlanTypesdu membre principal de la personne à charge.
-
Les ID des entrées de
GroupCensusMemberPlancréées avec succès sont renvoyés pour les plans valides. -
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
GroupCensusMemberPlansi :-
Un membre du recensement est associé à une classe de groupe valide et un enregistrement de
ContractGroupPlanGroupClassexiste avec la classe de groupe et le plan. -
Un membre du recensement est associé à une classe de groupe valide, aucun
ContractGroupPlanGroupClassenregistrement 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
ContractGroupPlanGroupClassn'existe avec le plan.
-
-
Un plan n'est pas ajouté à un
GroupCensusMemberPlansi :-
Un membre du recensement est associé à une classe de groupe valide, aucun enregistrement de
ContractGroupPlanGroupClassn'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
ContractGroupPlanGroupClassexiste avec le plan et les classes de groupe.
-
-
-
Lorsque des
contractGroupPlanIdsnon valides sont passés pendant ungroupCensusMember(leisNewMemberd'indicateur est true), le service supprime les enregistrementsgroupCensusMemberet ne crée aucun enregistrementGroupCensusMemberPlanpour legroupCensusMember. Attendez-vous à cette sortie uniquement lorsque laonlySaveMembersWithValidProductsde l'indicateur est définie sur true dans l'objet JSON.
Options distantes
Option |
Description |
|---|---|
|
Obligatoire. ID de recensement avec les membres dont les plans doivent être insérés. Confirme que le |
|
Obligatoire. ID du contrat actuel du compte. Confirme que les plans de chaque membre font partie du contrat. |
|
Obligatoire. Entrée JSON avec deux nœuds :
|
|
Facultatif. Si true, les nouveaux membres sans entrée dans |
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
|
ContractGroupPlanId non valide pour le membre (en raison d'un désabonnement) |
Le plan de membre n'est pas créé Si
|
| Le membre principal se désabonne d'un type de produit | La
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
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 |
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"
}
]
}
