U bent hier:
InsCensusServiceStd:addPlanSelections
Gebruik deze service om GroupCensusMemberPlan te maken voor bestaande GroupCensusMember. Het gebruikt de ContractGroupPlans die is opgegeven in de invoer-JSON voor het toevoegen van plannen aan elke GroupCensusMember. De service accepteert ook optionele dekkingen per lid, zodat primaire leden en personen ten laste kunnen worden geregistreerd voor verschillende dekkingen onder hetzelfde plan.
Klasse: InsCensusServiceStd
Methode: addPlanSelections
Als de planselecties voor elk lid worden geüpload met behulp van CSV, gebruikt u de InsCensusServiceStd:updateMembersWithPlans.
GroupCensus en Contract moeten dezelfde groepsaccount hebben.
ContractGroupPlan-status moet actief zijn.
De manier waarop het werkt...
De service gebruikt censusId en contractId om geselecteerde plannen van leden in te voegen.
- Voor elk van de
ContractGroupPlanID's evalueert de service of het plan geldig is voor het lid op basis van deze factoren:De
contractIdis geldig voor decensusId.- De
ContractGroupPlanID is geldig voor decontractId. IsOptOutAllPlansis false (onwaar).Wanneer ContractGroupPlan recordtype Product (ContractGroupPlan van bovenliggend niveau) heeft:
Het producttype van de
ContractGroupPlanvoor het primaire lid mag niet gelijk zijn aan de producttypen die worden vermeld in deOptOutPlanTypesvan het primaire lid .Het producttype van de
ContractGroupPlanvoor een persoon ten laste mag niet gelijk zijn aan de producttypen die worden vermeld in deOptOutPlanTypesvan de persoon ten laste , en het producttype van deContractGroupPlanmag niet gelijk zijn aan de producttypen die worden vermeld in deOptOutPlanTypesvan het primaire lid van de persoon ten laste .
Wanneer ContractGroupPlan recordtype CoverageSpec (ContractGroupPlan van onderliggend niveau) heeft:
Het producttype van de
ContractGroupPlanvan een onderliggend lid voor het primaire lid mag niet gelijk zijn aan de producttypen die worden vermeld in deOptOutPlanTypesvan het primaire lid .Het producttype van de
ContractGroupPlanvan een kind voor een persoon ten laste mag niet gelijk zijn aan de producttypen die worden vermeld in deOptOutPlanTypesvan de persoon ten laste en het producttype van deContractGroupPlanmag niet gelijk zijn aan de producttypen die worden vermeld in deOptOutPlanTypesvan het primaire lid van de persoon ten laste.
-
De ID's van met succes gemaakte
GroupCensusMemberPlanworden geretourneerd voor geldige plannen. -
De service haalt de geldige plannen op voor in aanmerking komende groepsklassen voor het gegeven contract. Inschrijving voor een rootplan en de bijbehorende dekkingen is afhankelijk van het gegeven of de klasse van het lid in aanmerking komt voor het plan en of het plan leden accepteert die niet aan een klasse zijn gekoppeld.
Als de service bepaalt dat een tellingslid zich kan inschrijven voor een plan, wordt het plan toegevoegd aan de
GroupCensusMemberPlan.-
Een plan wordt toegevoegd aan een
GroupCensusMemberPlanals:-
Een tellingslid is gekoppeld aan een geldige groepsklasse en er bestaat een
ContractGroupPlanGroupClassmet de groepsklasse en het plan. -
Een tellingslid is gekoppeld aan een geldige groepsklasse, er bestaat geen
ContractGroupPlanGroupClassrecord voor de groepsklasse en het plan bestaat niet voor een andere groepsklasse. -
Een tellingslid is niet gekoppeld aan een geldige groepsklasse en er bestaat geen
ContractGroupPlanGroupClassmet het plan.
-
-
Een plan wordt niet aan een
GroupCensusMemberPlantoegevoegd als:-
Een tellingslid is gekoppeld aan een geldige groepsklasse, er bestaat geen
ContractGroupPlanGroupClassvoor de groepsklasse, maar het plan bestaat wel voor een andere groepsklasse. -
Een tellingslid is niet gekoppeld aan een geldige groepsklasse en er bestaat een
ContractGroupPlanGroupClassmet het plan en de groepsklassen.
-
-
-
Wanneer ongeldige
contractGroupPlanIdsworden doorgegeven voor eengroupCensusMember(deisNewMembervan de vlag is true (waar), verwijdert de service degroupCensusMemberen maakt deze geen nieuweGroupCensusMemberPlanvoor degroupCensusMember. Verwacht deze uitvoer alleen wanneer deonlySaveMembersWithValidProductsvan de vlag true (waar) is ingesteld in het JSON-object.
Externe opties
Optie |
Beschrijving |
|---|---|
|
Verplicht. ID van telling met de leden wier plannen moeten worden ingevoegd. Valideert dat de |
|
Verplicht. ID van het huidige contract van Account. Valideert dat de plannen voor elk lid onderdeel vormen van het contract. |
|
Verplicht. JSON-invoer met twee knooppunten:
|
|
Optioneel. Indien true (waar), worden nieuwe leden zonder |
Servicewerking
Begrijp hoe verschillende invoer van invloed is op de service-uitvoer.
| Invoer | Service-uitvoer |
|---|---|
Geen censusId of ongeldig censusId |
De service voegt geen ledenplan toe. |
Geen contractId of ongeldig contractId |
De service voegt geen ledenplan toe. |
Ongeldige contractId voor de opgegeven telling |
De service voegt geen ledenplan toe. |
| Geen rijen om in te voegen/bij te werken | De service voegt geen ledenplan toe. |
Rij heeft geen ID (GroupCensusMember.Id) |
De service voegt geen ledenplan toe. |
Ongeldige ContractGroupPlanId voor het opgegeven contract |
De service maakt geen ledenplan. Als
|
Ongeldige ContractGroupPlanId voor het lid (vanwege afmelding) |
Ledenplan wordt niet gemaakt Als
|
| Het primaire lid meldt zich af voor een producttype |
Als het primaire lid zich afmeldt voor een producttype, melden de afhankelijken zich ook af voor dat producttype. |
| Afhankelijk lid meldt zich af voor een producttype |
Als het primaire lid zich afmeldt voor een producttype, melden de afhankelijken zich ook af voor dat producttype. Als |
Invoer-JSON
Hier is de indeling van de invoer-JSON:
{
"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
}Hier is een voorbeeld van de invoer-JSON:
{
"censusId":"a4D4P000000hbjSUAQ",
"contractId":"8004P000000zF2dQAE",
"census":{
"members":[
{
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ",
"Id":"a4C4P000000d7POUAY"
}
],
"headers":[
{
"name":"ContractGroupPlanId"
}
]
}
}Uitvoer-JSON
De service retourneert de lijst van met succes ingevoegde GroupCensusMemberPlan. Het biedt ook de lijst van fouten die zijn opgetreden. Deze fouten worden gegroepeerd per lid.
Hier is de indeling van de uitvoer-JSON:
{
"memberPlanIds":[
"GroupCensusMemberPlan.Id"
],
"errors":[
{
"error":"error"
}
]
}De service retourneert een uitvoer-JSON met de volgende indeling:
{
"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"
}
]
}
