Loading
保险
InsCensusServiceStd:addPlanSelections

InsCensusServiceStd:addPlanSelections

使用此服务为现有GroupCensusMember记录创建GroupCensusMemberPlan记录。它使用输入 JSON 中指定的ContractGroupPlans将计划添加到每个GroupCensusMember。该服务也接受每个成员的可选承保范围,以便主要成员和受抚养人可以加入同一计划下的不同承保范围。

类:InsCensusServiceStd​​

方法:addPlanSelections

备注
备注

如果使用 CSV 上载每个成员的计划选择,请使用InsCensusServiceStd:updateMembersWithPlans服务。

GroupCensus 和 Contract 必须具有相同的小组客户。

ContractGroupPlan 状态必须处于活动状态。

工作原理

该服务使用censusId和contractId插入成员的选定计划。

  1. 对于每个ContractGroupPlan ID,服务会根据以下因素评估计划是否对成员有效:
    • contractId建议对建议有效censusId。

    • ContractGroupPlanID 对 有效contractId​。
    • IsOptOutAllPlans是假的。

    • 当 ContractGroupPlan 的记录类型为产品时(父级的 ContractGroupPlan):

      • 主要成员的“ContractGroupPlan”产品类型不得等于主要成员的“OptOutPlanTypes”中列出的产品类型。

      • 依赖项的 ContractGroupPlan​​ 产品类型不得等于依赖项OptOutPlanTypes中列出的产品类型,并且 ContractGroupPlan" 产品类型不得等于依赖项主要成员的 OptOutPlanTypes" 中列出的产品类型。

    • 当 ContractGroupPlan 的记录类型为 CoverageSpec(子级的 ContractGroupPlan)时:

      • 主要成员的子级“ContractGroupPlan”的产品类型不得等于主要成员的“OptOutPlanTypes”中列出的产品类型。

      • 受抚养人的子级抚养人ContractGroupPlan​​的产品类型不得等于受抚养人OptOutPlanTypes抚养人中列出的产品类型,抚养ContractGroupPlan人抚养人的产品类型不得等于受抚养人主要成员的抚养OptOutPlanTypes人中列出的产品类型。

  2. 为有效计划返回成功创建的GroupCensusMemberPlan条目的 ID。

  3. 该服务检索给定合同的合格小组类的有效计划。根计划的注册及其覆盖范围取决于成员的类是否有资格加入计划,以及计划是否接受未与任何类相关联的成员。

    如果服务确定人口普查成员可以注册计划,计划将被添加到GroupCensusMemberPlan。

    • 如果满足以下条件,计划将被添加到GroupCensusMemberPlan:

      • 普查成员与有效的小组类相关联,并且ContractGroupPlanGroupClass记录与小组类和计划相关联。

      • 普查成员与有效的小组类相关联,小组类没有 ContractGroupPlanGroupClass记录,任何其他小组类也没有计划。

      • 普查成员未与有效小组类关联,并且计划不存在ContractGroupPlanGroupClass记录。

    • 如果出现以下情况,计划不会添加到GroupCensusMemberPlan:

      • 普查成员与有效的小组类相关联,小组类不存在ContractGroupPlanGroupClass记录,但另一个小组类确实存在计划。

      • 普查成员未与有效小组类关联,并且ContractGroupPlanGroupClass 记录与计划和小组类关联。

  4. 当为groupCensusMember传递无效contractGroupPlanIds时(标记isNewMember为真),服务会删除groupCensusMember记录,并且不会为该groupCensusMember创建新的GroupCensusMemberPlan记录。只有当标记onlySaveMembersWithValidProducts在 JSON 对象中设置为真时,才需要此输出。

远程选项

选项

说明

censusId

必需。

必须插入计划的成员的人口普查 ID。

验证contractId是否属于客户/人口普查。

contractId

必需。

客户当前合同的 ID。

验证每个成员的计划是合同的一部分。

census

必需。

具有两个节点的 JSON 输入:

  • headers — GroupCensusMemberPlan 的字段 API 名称列表。

  • members — 计划插入或更新的成员列表。它必须包括以下节点:

    • Id — 人口普查成员 ID。

    • isNewMember - 如果成员是新插入的则为 True

    • ContractGroupPlan - 成员的选定计划列表。使用分号 (;) 分隔合同组计划 ID。

onlySaveMembersWithValidProducts

可选。

如果为真,则删除未在 ⁇ 中GroupCensusMemberPlan输入的新成员。默认值是 false。

服务行为

了解不同的输入如何影响服务输出。

输入 服务输出
没有censusId或无效censusId 该服务未添加成员计划。
没有contractId或无效contractId 该服务未添加成员计划。
指定的普查contractId无效 该服务未添加成员计划。
没有要插入/更新的行 该服务未添加成员计划。
行没有 ID(GroupCensusMember.Id) 该服务未添加成员计划。
指定的合同的无效ContractGroupPlanId

服务不会创建成员计划。

如果onlySaveMembersWithValidProducts为真且成员是新成员,服务将执行以下操作:

  • 删除没有有效计划的成员。
  • 如果成员至少有一个有效计划,则创建成员。
成员的无效ContractGroupPlanId(由于选择退出)

未创建成员计划

如果onlySaveMembersWithValidProducts为真且成员是新成员,服务将执行以下操作:

  • 删除没有有效计划的成员。
  • 如果成员至少有一个有效计划,则创建成员。
主要成员选择退出产品类型

IsOptOutAllPlans优先,然后是OptOutPlanTypes。

  • 如果 IsOptOutAllPlans = true,服务不会创建成员计划,即使您为注册指定了产品。
  • 如果 IsOptOutAllPlans = false,并且为成员注册指定了产品,但其产品类型与选择退出条目相同,则服务不会创建成员计划。
  • 如果 IsOptOutAllPlans = false,并且为成员注册指定了与选择退出条目相同的父产品类型的覆盖范围,则服务不会创建成员计划。

如果主要成员选择退出产品类型,依赖项也会选择退出该产品类型。

依赖成员选择退出产品类型

IsOptOutAllPlans优先,然后是OptOutPlanTypes

  • 如果 IsOptOutAllPlans = true,服务不会创建成员计划,即使您为注册指定了产品。
  • 如果 IsOptOutAllPlans = false,并且为成员注册指定了产品,但如果其产品类型与选择退出条目相同,服务不会创建成员计划。
  • 如果 IsOptOutAllPlans = false,并且为成员注册指定了与选择退出条目相同的父产品类型的覆盖范围,则服务不会创建成员计划。

如果主要成员选择退出产品类型,依赖项也会选择退出该产品类型。

如果主要成员的 IsOptOutAllPlans = true,则相同输出适用于关联依赖项。

输入 JSON

以下是输入 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
}

以下是输入 JSON 的示例:

{ 
   "censusId":"a4D4P000000hbjSUAQ",
   "contractId":"8004P000000zF2dQAE",
   "census":{ 
      "members":[ 
         { 
            "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ",
            "Id":"a4C4P000000d7POUAY"
         }
      ],
      "headers":[ 
         { 
            "name":"ContractGroupPlanId"
         }
      ]
   }
}

输出 JSON

该服务返回成功插入的GroupCensusMemberPlan ID 列表。它还提供了遇到的错误列表。这些错误按成员分组。

以下是输出 JSON 的格式:

{ 
   "memberPlanIds":[ 
      "GroupCensusMemberPlan.Id"
   ],
   "errors":[ 
      { 
         "error":"error"
      }
   ]
}

该服务返回输出 JSON,格式如下:

{ 
   "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"
      }
   ]
}
 
正在加载
Salesforce Help | Article