您在此处:
InsCensusServiceStd:addPlanSelections
使用此服务为现有GroupCensusMember记录创建GroupCensusMemberPlan记录。它使用输入 JSON 中指定的ContractGroupPlans将计划添加到每个GroupCensusMember。该服务也接受每个成员的可选承保范围,以便主要成员和受抚养人可以加入同一计划下的不同承保范围。
类:InsCensusServiceStd
方法:addPlanSelections
如果使用 CSV 上载每个成员的计划选择,请使用InsCensusServiceStd:updateMembersWithPlans服务。
GroupCensus 和 Contract 必须具有相同的小组客户。
ContractGroupPlan 状态必须处于活动状态。
工作原理
该服务使用censusId和contractId插入成员的选定计划。
- 对于每个
ContractGroupPlanID,服务会根据以下因素评估计划是否对成员有效:contractId建议对建议有效censusId。ContractGroupPlanID 对 有效contractId。IsOptOutAllPlans是假的。当 ContractGroupPlan 的记录类型为产品时(父级的 ContractGroupPlan):
主要成员的“
ContractGroupPlan”产品类型不得等于主要成员的“OptOutPlanTypes”中列出的产品类型。依赖项的
ContractGroupPlan产品类型不得等于依赖项OptOutPlanTypes中列出的产品类型,并且ContractGroupPlan" 产品类型不得等于依赖项主要成员的OptOutPlanTypes" 中列出的产品类型。
当 ContractGroupPlan 的记录类型为 CoverageSpec(子级的 ContractGroupPlan)时:
主要成员的子级“
ContractGroupPlan”的产品类型不得等于主要成员的“OptOutPlanTypes”中列出的产品类型。受抚养人的子级抚养人
ContractGroupPlan的产品类型不得等于受抚养人OptOutPlanTypes抚养人中列出的产品类型,抚养ContractGroupPlan人抚养人的产品类型不得等于受抚养人主要成员的抚养OptOutPlanTypes人中列出的产品类型。
-
为有效计划返回成功创建的
GroupCensusMemberPlan条目的 ID。 -
该服务检索给定合同的合格小组类的有效计划。根计划的注册及其覆盖范围取决于成员的类是否有资格加入计划,以及计划是否接受未与任何类相关联的成员。
如果服务确定人口普查成员可以注册计划,计划将被添加到
GroupCensusMemberPlan。-
如果满足以下条件,计划将被添加到
GroupCensusMemberPlan:-
普查成员与有效的小组类相关联,并且
ContractGroupPlanGroupClass记录与小组类和计划相关联。 -
普查成员与有效的小组类相关联,小组类没有
ContractGroupPlanGroupClass记录,任何其他小组类也没有计划。 -
普查成员未与有效小组类关联,并且计划不存在
ContractGroupPlanGroupClass记录。
-
-
如果出现以下情况,计划不会添加到
GroupCensusMemberPlan:-
普查成员与有效的小组类相关联,小组类不存在
ContractGroupPlanGroupClass记录,但另一个小组类确实存在计划。 -
普查成员未与有效小组类关联,并且
ContractGroupPlanGroupClass记录与计划和小组类关联。
-
-
-
当为
groupCensusMember传递无效contractGroupPlanIds时(标记isNewMember为真),服务会删除groupCensusMember记录,并且不会为该groupCensusMember创建新的GroupCensusMemberPlan记录。只有当标记onlySaveMembersWithValidProducts在 JSON 对象中设置为真时,才需要此输出。
远程选项
选项 |
说明 |
|---|---|
|
必需。 必须插入计划的成员的人口普查 ID。 验证 |
|
必需。 客户当前合同的 ID。 验证每个成员的计划是合同的一部分。 |
|
必需。 具有两个节点的 JSON 输入:
|
|
可选。 如果为真,则删除未在 ⁇ 中 |
服务行为
了解不同的输入如何影响服务输出。
| 输入 | 服务输出 |
|---|---|
没有censusId或无效censusId |
该服务未添加成员计划。 |
没有contractId或无效contractId |
该服务未添加成员计划。 |
指定的普查contractId无效 |
该服务未添加成员计划。 |
| 没有要插入/更新的行 | 该服务未添加成员计划。 |
行没有 ID(GroupCensusMember.Id) |
该服务未添加成员计划。 |
指定的合同的无效ContractGroupPlanId |
服务不会创建成员计划。 如果
|
成员的无效ContractGroupPlanId(由于选择退出) |
未创建成员计划 如果
|
| 主要成员选择退出产品类型 |
如果主要成员选择退出产品类型,依赖项也会选择退出该产品类型。 |
| 依赖成员选择退出产品类型 |
如果主要成员选择退出产品类型,依赖项也会选择退出该产品类型。 如果主要成员的 |
输入 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"
}
]
}
