Вы находитесь здесь:
InsCensusServiceStd:addPlanSelections
Используйте эту службу для создания записей GroupCensusMemberPlan для существующих записей GroupCensusMember. Он использует ContractGroupPlans, указанный в JSON ввода для добавления планов к каждому GroupCensusMember. Служба также принимает дополнительные покрытия на каждого участника, чтобы основные участники и зависимые могли быть зарегистрированы в разных покрытиях в одном плане.
Класс: InsCensusServiceStd
Метод: addPlanSelections
Если выборка плана для каждого участника загружена посредством CSV, используйте службу InsCensusServiceStd:updateMembersWithPlans.
GroupCensus и Contract должны иметь одну организацию группы.
Статус ContractGroupPlan должен быть активным.
Принцип работы
Служба использует censusId и contractId для вставки выбранных планов участников.
- Для каждого кода
ContractGroupPlanслужба оценивает действительность плана для участника на основе следующих факторов:contractIdдействителен дляcensusId.- Код
ContractGroupPlanдействителен дляcontractId. IsOptOutAllPlansложь.Если 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существует с планом и классами группы.
-
-
-
Если недопустимые
contractGroupPlanIdsпередаются дляgroupCensusMember(isNewMemberфлага является истинным), служба удаляет записиgroupCensusMemberи не создает новых записейGroupCensusMemberPlanдляgroupCensusMember. Данный вывод возможен только при установкеonlySaveMembersWithValidProductsфлажка true в объекте JSON.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Обязательно. Код переписи с участниками, чьи планы должны быть вставлены. Проверяет принадлежность |
|
Обязательно. Код текущего контракта организации. Проверяет планы каждого участника на наличие в контракте. |
|
Обязательно. Ввод 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"
}
]
}
