Loading
Seguro
InsCensusServiceStd:addPlanSelections

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

Nota
Nota

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.

  1. 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 contractId es válido para el censusId.

    • El Id. de ContractGroupPlan es válido para el contractId​.
    • IsOptOutAllPlans es falso.

    • Cuando ContractGroupPlan tiene el tipo de registro Product (ContractGroupPlan principal):

      • El tipo de producto del ContractGroupPlan para el miembro principal no debe ser igual a los tipos de producto enumerados en el OptOutPlanTypes del miembro principal.

      • El tipo de producto del ContractGroupPlan​​ para un dependiente no debe ser igual a los tipos de producto enumerados en el OptOutPlanTypes del dependiente , y el tipo de producto del ContractGroupPlan no debe ser igual a los tipos de producto enumerados en el OptOutPlanTypes del miembro principal del dependiente.

    • Cuando ContractGroupPlan tiene el tipo de registro CoverageSpec (ContractGroupPlan secundario):

      • El tipo de producto de la ContractGroupPlan de un secundario para el miembro principal no debe ser igual a los tipos de producto enumerados en la OptOutPlanTypes del miembro principal.

      • El tipo de producto del ContractGroupPlan​​ de un secundario para un dependiente no debe ser igual a los tipos de producto enumerados en el OptOutPlanTypes del dependiente , y el tipo de producto del ContractGroupPlan no debe ser igual a los tipos de producto enumerados en el OptOutPlanTypes del miembro principal del dependiente.

  2. Los Id. de entradas de GroupCensusMemberPlan creadas con éxito se devuelven para planes válidos.

  3. 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 GroupCensusMemberPlan si:

      • Un miembro del censo está asociado con una clase de grupo válida y existe un registro de ContractGroupPlanGroupClass con la clase de grupo y el plan.

      • Un miembro del censo está asociado con una clase de grupo válida, no ContractGroupPlanGroupClass existe 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 ContractGroupPlanGroupClass con el plan.

    • No se agrega un plan a un GroupCensusMemberPlan si:

      • Un miembro del censo está asociado con una clase de grupo válida, no existe ningún registro de ContractGroupPlanGroupClass para 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 ContractGroupPlanGroupClass con el plan y las clases de grupo.

  4. Cuando se pasan contractGroupPlanIds no válidas para un groupCensusMember (el isNewMember de indicador es verdadero), el servicio elimina los registros de groupCensusMember y no crea ningún registro de GroupCensusMemberPlan nuevo para el groupCensusMember. Espere este resultado solo cuando el onlySaveMembersWithValidProducts de indicador esté establecido como verdadero en el objeto JSON.

Opciones remotas

Opción

Descripción

censusId

Obligatorio.

Id. de censo con los miembros cuyos planes deben insertarse.

Valida que el contractId pertenece a la cuenta/censo.

contractId

Obligatorio.

Id. del contrato actual de la cuenta.

Valida que los planes para cada miembro forman parte del contrato.

census

Obligatorio.

Entrada JSON con dos nodos:

  • headers: Lista de nombres de API de campo de GroupCensusMemberPlan.

  • members: Lista de miembros con planes para insertar o actualizar. Debe incluir los siguientes nodos:

    • Id: El Id. de miembro del censo.

    • isNewMember: Verdadero si el miembro se inserta recientemente

    • ContractGroupPlan: La lista de planes seleccionados para el miembro. Delimite los Id. de planes de grupos de contratos por punto y coma (;).

onlySaveMembersWithValidProducts

Opcional.

Si es verdadero, los nuevos miembros sin entradas en GroupCensusMemberPlan se eliminan. El valor predeterminado es falso.

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 onlySaveMembersWithValidProducts es verdadero y el miembro es nuevo, el servicio realiza lo siguiente:

  • Elimina el miembro sin planes válidos.
  • Crea un miembro si tiene al menos un plan válido.
ContractGroupPlanId no válido para el miembro (debido a la anulación de suscripción)

El plan de miembro no está creado

Si onlySaveMembersWithValidProducts es verdadero y el miembro es nuevo, el servicio realiza lo siguiente:

  • Elimina el miembro sin planes válidos.
  • Crea un miembro si tiene al menos un plan válido.
El miembro principal anula la suscripción a un tipo de producto

La IsOptOutAllPlans tiene prioridad, seguida de la OptOutPlanTypes.

  • Si IsOptOutAllPlans = true, el servicio no crea un plan de miembro incluso si especifica un producto para la inscripción.
  • Si IsOptOutAllPlans = false y se especifica un producto para la inscripción de miembros, pero su tipo de producto es el mismo que la entrada de anulación de suscripción, el servicio no crea un plan de miembro.
  • Si IsOptOutAllPlans = false y la cobertura está especificada para la inscripción de miembros con el tipo de producto principal igual que la entrada de anulación de suscripción, el servicio no crea un plan de miembro.

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 IsOptOutAllPlans tiene prioridad, seguida de la OptOutPlanTypes

  • Si IsOptOutAllPlans = true, el servicio no crea un plan de miembro incluso si especifica un producto para la inscripción.
  • Si IsOptOutAllPlans = false y se especifica un producto para la inscripción de miembros, pero si su tipo de producto es el mismo que la entrada de anulación de suscripción, el servicio no crea un plan de miembro.
  • Si IsOptOutAllPlans = false y la cobertura está especificada para la inscripción de miembros con el tipo de producto principal igual que la entrada de anulación de suscripción, el servicio no crea un plan de miembro.

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 IsOptOutAllPlans = true para un miembro principal, el mismo resultado es aplicable para los dependientes asociados.

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"
      }
   ]
}
 
Cargando
Salesforce Help | Article