Loading
Страхование
InsCensusServiceStd:addPlanSelections

InsCensusServiceStd:addPlanSelections

Используйте эту службу для создания записей GroupCensusMemberPlan для существующих записей GroupCensusMember. Он использует ContractGroupPlans, указанный в JSON ввода для добавления планов к каждому GroupCensusMember. Служба также принимает дополнительные покрытия на каждого участника, чтобы основные участники и зависимые могли быть зарегистрированы в разных покрытиях в одном плане.

Класс: InsCensusServiceStd​​

Метод: addPlanSelections

Примечание
Примечание

Если выборка плана для каждого участника загружена посредством CSV, используйте службу InsCensusServiceStd:updateMembersWithPlans.

GroupCensus и Contract должны иметь одну организацию группы.

Статус ContractGroupPlan должен быть активным.

Принцип работы

Служба использует censusId и contractId для вставки выбранных планов участников.

  1. Для каждого кода ContractGroupPlan служба оценивает действительность плана для участника на основе следующих факторов:
    • contractId действителен для censusId.

    • Код ContractGroupPlan действителен для contractId​.
    • IsOptOutAllPlans ложь.

    • Если ContractGroupPlan использует тип записи «Продукт» (ContractGroupPlan родительского):

      • Тип продукта ContractGroupPlan для основного участника не должен равняться типам продуктов, указанным в OptOutPlanTypes основного участника .

      • Тип продукта ContractGroupPlan​​ для зависимого не должен быть равным типам продуктов, перечисленным в OptOutPlanTypes зависимого , а тип продукта ContractGroupPlan не должен быть равным типам продуктов, перечисленным в OptOutPlanTypes основного участника зависимого.

    • Если ContractGroupPlan имеет тип записи CoverageSpec (ContractGroupPlan дочернего):

      • Тип продукта ContractGroupPlan дочернего участника для основного участника не должен равняться типам продуктов, указанным в OptOutPlanTypes основного участника.

      • Тип продукта ContractGroupPlan​​ ребенка для иждивенца не должен быть равным типам продуктов, перечисленным в OptOutPlanTypes иждивенца , а тип продукта ContractGroupPlan не должен быть равным типам продуктов, перечисленным в OptOutPlanTypes основного участника иждивенца.

  2. Коды успешно созданных записей GroupCensusMemberPlan возвращаются для действительных планов.

  3. Служба извлекает действительные планы для подходящих классов группы для данного контракта. Регистрация в корневом плане и его покрытия зависят от того, подходит ли класс участника для плана и принимает ли план участников, не связанных с каким-либо классом.

    Если служба определяет, что участник переписи может зарегистрироваться в плане, план добавляется в GroupCensusMemberPlan.

    • План добавляется в GroupCensusMemberPlan, если:

      • Участник переписи связан с действительным классом группы, а запись ContractGroupPlanGroupClass существует с классом группы и планом.

      • Участник переписи связан с действительным классом группы, запись не ContractGroupPlanGroupClass существует для класса группы и план не существует для другого класса группы.

      • Участник переписи не связан с действительным классом группы, и запись ContractGroupPlanGroupClass не существует с планом.

    • План не добавляется в GroupCensusMemberPlan, если:

      • Участник переписи связан с действительным классом группы, запись ContractGroupPlanGroupClass отсутствует для класса группы, но план существует для другого класса группы.

      • Участник переписи не связан с действительным классом группы, а запись ContractGroupPlanGroupClass существует с планом и классами группы.

  4. Если недопустимые contractGroupPlanIds передаются для groupCensusMember (isNewMember флага является истинным), служба удаляет записи groupCensusMember и не создает новых записей GroupCensusMemberPlan для groupCensusMember. Данный вывод возможен только при установке onlySaveMembersWithValidProducts флажка true в объекте JSON.

Удаленные параметры

Параметр

Описание

censusId

Обязательно.

Код переписи с участниками, чьи планы должны быть вставлены.

Проверяет принадлежность contractId организации/переписи.

contractId

Обязательно.

Код текущего контракта организации.

Проверяет планы каждого участника на наличие в контракте.

census

Обязательно.

Ввод JSON с двумя узлами:

  • headers: список API-имен полей GroupCensusMemberPlan.

  • members: список участников с планами для вставки или обновления. Он должен содержать следующие узлы:

    • Id: код участника переписи.

    • isNewMember - Истина, если участник вставлен недавно

    • ContractGroupPlan - Список выбранных планов для участника. Разделите коды плана группы контрактов точкой с запятой (;).

onlySaveMembersWithValidProducts

Дополнительно.

Если значение true, новые участники без записей в GroupCensusMemberPlan удаляются. Значение по умолчанию — false.

Алгоритм обслуживания

Понимание влияния разных вводных данных на результаты обслуживания.

Ввод Вывод обслуживания
Нет censusId или недопустимые censusId Служба не добавляет план участника.
Нет contractId или недопустимые contractId Служба не добавляет план участника.
Недопустимые contractId для указанной переписи Служба не добавляет план участника.
Нет строк для вставки/обновления Служба не добавляет план участника.
Строка не содержит кода (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. Он также предоставляет список возникших ошибок. Эти ошибки группируются на участника.

Ниже указан формат вывода 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