您位於此處:
InsCensusServiceStd:addPlanSelections
使用此服務來建立現有 GroupCensusMember 記錄的 GroupCensusMemberPlan 記錄。它會使用輸入 JSON 中指定的 ContractGroupPlans 將計畫新增至每個 GroupCensusMember。此服務也接受每個成員的選擇性涵蓋範圍,因此主要成員和相依人可以在相同計畫下註冊不同的涵蓋範圍。
類別:InsCensusServiceStd
方法:addPlanSelections
如果使用 CSV 上載每個成員的計畫選取項目,請使用 InsCensusServiceStd:updateMembersWithPlans 服務。
GroupCensus 和「契約」必須有相同的群組帳戶。
ContractGroupPlan 狀態必須為啟用中。
運作方式
服務使用 censusId 和 contractId 插入成員的選取計畫。
- 針對每個其
ContractGroupPlan識別碼,服務會根據下列因素評估計畫是否對成員有效:contractId對censusId有效。ContractGroupPlan識別碼對contractId有效。IsOptOutAllPlans為 false。當 ContractGroupPlan 的記錄類型為「產品」(父系的「ContractGroupPlan」):
主要成員的
ContractGroupPlan產品類型不能等於主要成員的OptOutPlanTypes中所列的產品類型。相依者的「
ContractGroupPlan」產品類型不能等於在相依者OptOutPlanTypes中列出的產品類型,且ContractGroupPlan的產品類型不能等於在相依者主要成員的「OptOutPlanTypes」中列出的產品類型。
當 ContractGroupPlan 的記錄類型為 CoverageSpec (子系的 ContractGroupPlan) 時:
主要成員其子系
ContractGroupPlan的產品類型不能等於主要成員其OptOutPlanTypes中所列的產品類型。親屬的子系
ContractGroupPlan產品類型不得等於在「親屬」OptOutPlanTypes中列出的產品類型,且ContractGroupPlan的產品類型不得等於在「親屬」主要成員的「OptOutPlanTypes」中列出的產品類型。
-
系統會針對有效的計畫傳回成功建立之
GroupCensusMemberPlan項目的識別碼。 -
服務會針對指定的契約,針對符合資格的群組類別,取用有效的計畫。註冊根計畫及其涵蓋範圍取決於成員的類別是否符合計畫的資格,以及計畫是否接受與任何類別無關聯的成員。
如果服務判定普查成員可以註冊計畫,則計畫會新增至該
GroupCensusMemberPlan。-
在下列情況下,計畫會新增至
GroupCensusMemberPlan:-
普查成員與有效的群組類別相關聯,且具有群組類別與計畫的
ContractGroupPlanGroupClass記錄存在。 -
普查成員與有效的群組類別相關聯,該群組類別不存在任何
ContractGroupPlanGroupClass記錄,且計畫不存在於任何其他群組類別。 -
普查成員未與有效的群組類別相關聯,且計畫中不存在任何
ContractGroupPlanGroupClass記錄。
-
-
在下列情況下,不會將計畫新增至
GroupCensusMemberPlan:-
普查成員與有效的群組類別相關聯,該群組類別不存在任何
ContractGroupPlanGroupClass記錄,但計畫存在於其他群組類別。 -
普查成員未與有效的群組類別相關聯,且計畫和群組類別存在一個
ContractGroupPlanGroupClass記錄。
-
-
-
傳遞無效的
groupCensusMembercontractGroupPlanIds(標記isNewMember為 true) 時,服務會刪除groupCensusMember記錄,且不會為groupCensusMember建立任何新的GroupCensusMemberPlan記錄。只有在 JSON 物件中的標記onlySaveMembersWithValidProducts設定為 true 時,才預期此輸出。
遠端選項
選項 |
描述 |
|---|---|
|
必要。 必須插入其計畫之成員的普查識別碼。 驗證 |
|
必要。 帳戶目前契約的識別碼。 驗證每個成員的計畫為契約的一部分。 |
|
必要。 具有兩個節點的 JSON 輸入:
|
|
選擇性。 如果為 true,則會刪除沒有 |
服務行為
瞭解不同的輸入如何影響服務輸出。
| 輸入 | 服務輸出 |
|---|---|
無 censusId 或無效的 censusId |
服務未新增成員計畫。 |
無 contractId 或無效的 contractId |
服務未新增成員計畫。 |
指定的普查contractId無效 |
服務未新增成員計畫。 |
| 沒有要插入/更新的列 | 服務未新增成員計畫。 |
列沒有識別碼 (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 識別碼的清單。它也會提供所遇到錯誤的清單。這些錯誤會依成員分組。
以下是輸出 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"
}
]
}
