Usted está aquí:
InsCensusServiceStd:addPlanSelections
Utilice este servicio para crear registros de GroupCensusMemberPlan para registros de GroupCensusMember existentes. Utiliza el ContractGroupPlans especificado en el JSON de entrada para agregar planes a cada GroupCensusMember. El servicio también acepta coberturas opcionales por miembro de modo que los miembros principales y los dependientes puedan inscribirse en diferentes coberturas bajo el mismo plan.
Clase: InsCensusServiceStd
Método: addPlanSelections
Si las selecciones de planes para cada miembro se cargan utilizando CSV, utilice el servicio de InsCensusServiceStd:updateMembersWithPlans.
GroupCensus y Contract deben tener la misma cuenta de grupo.
El estado ContractGroupPlan debe estar activo.
Funcionamiento
El servicio utiliza censusId y contractId para insertar los planes seleccionados de los miembros.
- Para cada uno de sus Id. de
ContractGroupPlan, el servicio evalúa si el plan es válido para el miembro basándose en estos factores:El
contractIdes válido para elcensusId.- El Id. de
ContractGroupPlanes válido para elcontractId. IsOptOutAllPlanses falso.Cuando ContractGroupPlan tiene el tipo de registro Product (ContractGroupPlan principal):
El tipo de producto del
ContractGroupPlanpara el miembro principal no debe ser igual a los tipos de producto enumerados en elOptOutPlanTypesdel miembro principal.El tipo de producto del
ContractGroupPlanpara un dependiente no debe ser igual a los tipos de producto enumerados en elOptOutPlanTypesdel dependiente , y el tipo de producto delContractGroupPlanno debe ser igual a los tipos de producto enumerados en elOptOutPlanTypesdel miembro principal del dependiente.
Cuando ContractGroupPlan tiene el tipo de registro CoverageSpec (ContractGroupPlan secundario):
El tipo de producto de la
ContractGroupPlande un secundario para el miembro principal no debe ser igual a los tipos de producto enumerados en laOptOutPlanTypesdel miembro principal.El tipo de producto del
ContractGroupPlande un secundario para un dependiente no debe ser igual a los tipos de producto enumerados en elOptOutPlanTypesdel dependiente , y el tipo de producto delContractGroupPlanno debe ser igual a los tipos de producto enumerados en elOptOutPlanTypesdel miembro principal del dependiente.
-
Los Id. de entradas de
GroupCensusMemberPlancreadas con éxito se devuelven para planes válidos. -
El servicio recupera los planes válidos para clases de grupo aptas para el contrato concreto. La inscripción en un plan raíz y sus coberturas depende de si la clase del miembro es apta para el plan y si el plan acepta miembros no asociados con ninguna clase.
Si el servicio determina que un miembro del censo puede inscribirse en un plan, el plan se agrega al
GroupCensusMemberPlan.-
Se agrega un plan a un
GroupCensusMemberPlansi:-
Un miembro del censo está asociado con una clase de grupo válida y existe un registro de
ContractGroupPlanGroupClasscon la clase de grupo y el plan. -
Un miembro del censo está asociado con una clase de grupo válida, no
ContractGroupPlanGroupClassexiste ningún registro para la clase de grupo y el plan no existe para ninguna otra clase de grupo. -
Un miembro del censo no está asociado con una clase de grupo válida y no existe ningún registro de
ContractGroupPlanGroupClasscon el plan.
-
-
No se agrega un plan a un
GroupCensusMemberPlansi:-
Un miembro del censo está asociado con una clase de grupo válida, no existe ningún registro de
ContractGroupPlanGroupClasspara la clase de grupo, pero el plan existe para otra clase de grupo. -
Un miembro del censo no está asociado con una clase de grupo válida y existe un registro de
ContractGroupPlanGroupClasscon el plan y las clases de grupo.
-
-
-
Cuando se pasan
contractGroupPlanIdsno válidas para ungroupCensusMember(elisNewMemberde indicador es verdadero), el servicio elimina los registros degroupCensusMembery no crea ningún registro deGroupCensusMemberPlannuevo para elgroupCensusMember. Espere este resultado solo cuando elonlySaveMembersWithValidProductsde indicador esté establecido como verdadero en el objeto JSON.
Opciones remotas
Opción |
Descripción |
|---|---|
|
Obligatorio. Id. de censo con los miembros cuyos planes deben insertarse. Valida que el |
|
Obligatorio. Id. del contrato actual de la cuenta. Valida que los planes para cada miembro forman parte del contrato. |
|
Obligatorio. Entrada JSON con dos nodos:
|
|
Opcional. Si es verdadero, los nuevos miembros sin entradas en |
Comportamiento de servicio
Comprenda cómo afectan las diferentes entradas a los resultados del servicio.
| Entrada | Salida de servicio |
|---|---|
Sin censusId ni censusId no válidos |
El servicio no agrega ningún plan de miembro. |
Sin contractId ni contractId no válidos |
El servicio no agrega ningún plan de miembro. |
contractId no válidos para el censo especificado |
El servicio no agrega ningún plan de miembro. |
| Sin filas para insertar/actualizar | El servicio no agrega ningún plan de miembro. |
Fila no tiene Id. (GroupCensusMember.Id) |
El servicio no agrega ningún plan de miembro. |
ContractGroupPlanId no válido para el contrato especificado |
El servicio no crea ningún plan de miembro. Si
|
ContractGroupPlanId no válido para el miembro (debido a la anulación de suscripción) |
El plan de miembro no está creado Si
|
| El miembro principal anula la suscripción a un tipo de producto | La
Si el miembro principal anula la suscripción a un tipo de producto, los dependientes también anulan la suscripción a ese tipo de producto. |
| Miembro dependiente anula la suscripción a un tipo de producto | La
Si el miembro principal anula la suscripción a un tipo de producto, los dependientes también anulan la suscripción a ese tipo de producto. Si |
JSON de entrada
Este es el formato del 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
}Este es un ejemplo del JSON de entrada:
{
"censusId":"a4D4P000000hbjSUAQ",
"contractId":"8004P000000zF2dQAE",
"census":{
"members":[
{
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ",
"Id":"a4C4P000000d7POUAY"
}
],
"headers":[
{
"name":"ContractGroupPlanId"
}
]
}
}JSON de salida
El servicio devuelve la lista de Id. de GroupCensusMemberPlan insertados correctamente. También proporciona la lista de errores encontrados. Estos errores se agrupan por miembro.
Este es el formato del JSON de salida:
{
"memberPlanIds":[
"GroupCensusMemberPlan.Id"
],
"errors":[
{
"error":"error"
}
]
}El servicio devuelve un JSON de salida, con el formato siguiente:
{
"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"
}
]
}
