Você está aqui:
InsCensusServiceStd:addPlanSelections
Use esse serviço para criar registros de GroupCensusMemberPlan para registros de GroupCensusMember existentes. Ele usa o ContractGroupPlans especificado no JSON de entrada para adicionar planos a cada GroupCensusMember. O serviço também aceita coberturas opcionais por membro, de modo que membros principais e dependentes podem ser inscritos em coberturas diferentes sob o mesmo plano.
Classe: InsCensusServiceStd
Método: addPlanSelections
Se as seleções de plano para cada membro forem carregadas usando CSV, use o serviço de InsCensusServiceStd:updateMembersWithPlans.
GroupCensus e Contrato devem ter a mesma conta de grupo.
O status de ContractGroupPlan deve estar ativo.
Como funciona
O serviço usa censusId e contractId para inserir os planos selecionados dos membros.
- Para cada um de seus IDs de
ContractGroupPlan, o serviço avalia se o plano é válido para o membro com base nestes fatores:O
contractIdé válido para ocensusId.- O ID de
ContractGroupPlané válido para ocontractId. A
IsOptOutAllPlansé falsa.Quando ContractGroupPlan tem o tipo de registro como Produto (ContractGroupPlan do pai):
O tipo de produto da
ContractGroupPlando elemento primário não deve ser igual aos tipos de produto enumerados naOptOutPlanTypesdo elemento primário .O tipo de produto do
ContractGroupPlanpara um dependente não deve ser igual aos tipos de produto enumerados noOptOutPlanTypesdo dependente e o tipo de produto doContractGroupPlannão deve ser igual aos tipos de produto enumerados noOptOutPlanTypesdo membro principal do dependente.
Quando ContractGroupPlan tem o tipo de registro CoverageSpec (ContractGroupPlan filho):
O tipo de produto da
ContractGroupPlande uma criança para o elemento primário não deve ser igual aos tipos de produto enumerados naOptOutPlanTypesdo elemento primário .O tipo de produto da
ContractGroupPlande uma criança para uma pessoa dependente não deve ser igual aos tipos de produto enumerados naOptOutPlanTypesda pessoa dependente e o tipo de produto daContractGroupPlannão deve ser igual aos tipos de produto enumerados naOptOutPlanTypesdo membro principal da pessoa dependente.
-
Os IDs de entradas de
GroupCensusMemberPlancriadas com êxito são retornados para planos válidos. -
O serviço recupera os planos válidos para classes de grupo elegíveis para o contrato especificado. A inscrição em um plano raiz e suas coberturas dependem de se a classe do membro é elegível para o plano e se o plano aceita membros não associados a nenhuma classe.
Se o serviço determinar que um membro do censo pode se inscrever em um plano, o plano é adicionado ao
GroupCensusMemberPlan.-
Um plano é adicionado a uma
GroupCensusMemberPlanse:-
Um membro do censo é associado a uma classe de grupo válida e existe um registro de
ContractGroupPlanGroupClasscom a classe do grupo e o plano. -
Um membro do censo é associado a uma classe de grupo válida, nenhum
ContractGroupPlanGroupClassregistro existe para a classe do grupo e o plano não existe para nenhuma outra classe do grupo. -
Um membro do censo não está associado a uma classe de grupo válida e nenhum registro de
ContractGroupPlanGroupClassexiste com o plano.
-
-
Um plano não é adicionado a uma
GroupCensusMemberPlanse:-
Um membro do censo é associado a uma classe de grupo válida, não existe registro de
ContractGroupPlanGroupClasspara a classe do grupo, mas o plano existe para outra classe do grupo. -
Um membro do censo não está associado a uma classe de grupo válida e existe um registro de
ContractGroupPlanGroupClasscom o plano e as classes de grupo.
-
-
-
Quando
contractGroupPlanIdsinválidos são passados para umgroupCensusMember(o sinalizadorisNewMemberé verdadeiro), o serviço exclui os registros degroupCensusMembere não cria novos registros deGroupCensusMemberPlanpara ogroupCensusMember. Espere essa saída apenas quando o sinalizadoronlySaveMembersWithValidProductsfor definido como true no objeto JSON.
Opções remotas
Opção |
Descrição |
|---|---|
|
Obrigatório. ID do censo com os membros cujos planos devem ser inseridos. Verifica se o |
|
Obrigatório. ID do contrato atual da conta. Verifica se os planos de cada membro fazem parte do contrato. |
|
Obrigatório. Entrada JSON com dois nós:
|
|
Opcional. Se verdadeiro, novos membros sem entradas em |
Comportamento do serviço
Entenda como diferentes entradas afetam as saídas de serviço.
| Entrada | Saída de serviço |
|---|---|
Sem censusId ou censusId inválido |
O serviço não adiciona nenhum plano de membro. |
Sem contractId ou contractId inválido |
O serviço não adiciona nenhum plano de membro. |
contractId inválido para o censo especificado |
O serviço não adiciona nenhum plano de membro. |
| Nenhuma linha para inserir/atualizar | O serviço não adiciona nenhum plano de membro. |
Linha não tem ID (GroupCensusMember.Id) |
O serviço não adiciona nenhum plano de membro. |
ContractGroupPlanId inválida para o contrato especificado |
O serviço não cria um plano de membro. Se
|
ContractGroupPlanId inválida para o membro (devido à recusa) |
O plano do membro não é criado Se
|
| O membro principal recusa um tipo de produto | A
Se o membro principal recusar um tipo de produto, os dependentes também recusarão esse tipo de produto. |
| O membro dependente recusa um tipo de produto |
Se o membro principal recusar um tipo de produto, os dependentes também recusarão esse tipo de produto. Se |
JSON de entrada
Aqui está o formato do JSON de entrada:
{
"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
}Aqui está um exemplo do JSON de entrada:
{
"censusId":"a4D4P000000hbjSUAQ",
"contractId":"8004P000000zF2dQAE",
"census":{
"members":[
{
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ",
"Id":"a4C4P000000d7POUAY"
}
],
"headers":[
{
"name":"ContractGroupPlanId"
}
]
}
}JSON de saída
O serviço retorna a lista de IDs de GroupCensusMemberPlan inseridos com êxito. Ele também fornece a lista de erros encontrados. Esses erros são agrupados por membro.
Aqui está o formato do JSON de saída:
{
"memberPlanIds":[
"GroupCensusMemberPlan.Id"
],
"errors":[
{
"error":"error"
}
]
}O serviço retorna um JSON de saída, formatado assim:
{
"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"
}
]
}

