Loading
Страхование
InsEnrollmentService:getMemberEnrollments

InsEnrollmentService:getMemberEnrollments

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

Важно!
Важно! Начиная с выпуска Winter '23, у нас включена служба InsEnrollmentServiceStd:getMemberEnrollments для работы со стандартной моделью данных Salesforce для Financial Services Cloud и Health Cloud. Текущие клиенты могут продолжать использовать эту услугу, но дополнительные улучшения не будут предоставлены в управляемом пакете страхования.

Класс: InsEnrollmentService

Метод: getMemberEnrollments

Существует два потока для вызова службы getMemberEnrollments:

  • Поток страховых полисов: Она запускается, когда значение isFsc является истинным.

    • Поток «Организации-лица» запускается при выполнении isFsc и заполнении поля GroupCensusMember__c.AccountId__c.

    • Поток «Нелицевые организации» запускается, когда поле GroupCensusMember__c.AccountId__c не заполнено.

  • Поток активов: Он запускается, когда значение IsFsc является ложным.

Принцип работы при использовании записей страховых полисов

Поток страхового полиса применяется, когда значение isFsc истинно. Служба выполняет следующие действия:

  1. Если вводные данные не содержат effectiveDate, служба использует параметр contractId для извлечения Contract.EnrollmentStartDate__c. Дополнительную информацию см. в разделе «Параметры effectiveDate и contractId» раздела «Удаленные параметры».

  2. Возвращает полисы в качестве записей InsurancePolicy. В страховом полисе служба поддерживает поток «Организации-лица» и поток «Организации-нелица», объясняемый следующим образом:

    Поток организаций-лиц

    Этот поток применяется, когда участники переписи связаны с организациями-лицами.

    1. Если вводными данными являются groupAccountId, то служба использует ACR для извлечения personAccountIds участников переписи, связанных с groupAccountId. Возвращает все страховые полисы, где nameInsuredId соответствует этим personAccountIds и effectiveDate соответствуют effectiveDate, предоставленным во вводе.

    2. Если censusMemberIds является вводом, служба извлекает записи GroupCensusMember__c. Дополнительную информацию см. в разделе «Параметры censusMemberIds» в разделе «Удаленные параметры». Если поле AccountId__c участников переписи заполнено, мы используем эти personAccountIds (GroupCensusMember__c.AccountId__c). Возвращает все страховые полисы, где nameInsuredId соответствует personAccountIds, а effectiveDate соответствует effectiveDate, предоставленному во вводе.

    Поток организаций-нелиц

    Этот поток применяется, когда участники переписи связаны с контактами.

    1. Служба использует accountId для извлечения объекта InsurancePolicy для участников переписи. Это обязательный параметр для потока организаций-нелиц.

    2. Если в вводе указано поле censusMemberIds, служба извлекает записи GroupCensusMember__c. Если поле AccountId__c участников переписи не заполнено, служба извлекает политики участников посредством GroupCensusMember__c.ContactId__c, accountId и effectiveDate. Тип извлекаемой политики зависит от параметра isFsc и настраиваемого параметра defaultIsFSCOption, как описано в таблице ниже:

      Настраиваемые параметры > Настройка конфигурации страхования>defaultIsFSCOption

      Параметр IsFsc

      Полученные полисы

      True

      Недоступно

      InsurancePolicy

      False

      True

      InsurancePolicy

      Недоступно

      True

      InsurancePolicy

  3. Служба извлекает стороны, InsurancePolicyParticipant или AssetPartyRelationship__c записей InsurancePolicy или Asset соответственно. В FSC AssetPartyRelationship__c содержит записи только для зависимых участников. InsurancePolicyParticipant содержит записи как для основных участников, так и для их зависимых.

  4. Если поле omitChildProducts является false, служба извлекает покрытия (AssetCoverage__c) полисов и соответствующие метаданные продукта. Дополнительную информацию см. в разделе «Параметры omitChildProducts» раздела «Удаленные параметры».

  5. Каждая политика потом группируется по основному участнику.

Как это работает для активов

Поток активов применяется, если значение isFsc является ложным. В записях активов организация-лицо не поддерживается.

Служба выполняет следующие действия:

  1. Если вводные данные не содержат effectiveDate, служба использует параметр contractId для извлечения Contract.EnrollmentStartDate__c. Дополнительную информацию см. в разделе «Параметры effectiveDate и contractId» раздела «Удаленные параметры».

  2. Служба использует accountId для извлечения объекта «Актив» для участников переписи. Это обязательный параметр для потока организаций, не связанных с FSC.

  3. Служба использует censusMemberIds для извлечения записей GroupCensusMember__c. Дополнительную информацию см. в разделе «Параметры censusMemberIds» в разделе «Удаленные параметры».

  4. Если поле AccountId__c участников переписи не заполнено, служба извлекает политики участников посредством полей GroupCensusMember__c.ContactId__c, accountId и effectiveDate. Тип извлекаемой политики зависит от параметра isFsc и настраиваемого параметра defaultIsFSCOption, как описано в таблице ниже.

    Настраиваемые параметры > Настройка конфигурации страхования>defaultIsFSCOption

    Параметр IsFsc

    Полученные полисы

    False

    False

    Актив

    Недоступно

    False

    Актив

  5. Служба извлекает стороны. Для не FSC извлекаются InsurancePolicyParticipant или AssetPartyRelationship__c записей InsurancePolicy или Asset.

    • AssetPartyRelationship__c содержит записи только для зависимых участников.

    • InsurancePolicyParticipant содержит записи как для основных участников, так и для их зависимых.

  6. Если поле omitChildProducts является false, служба извлекает покрытия (InsurancePolicyCoverage или AssetCoverage__c) полисов и соответствующие метаданные продуктов. Дополнительную информацию см. в разделе «Параметры omitChildProducts» в разделе «Удаленные параметры».

  7. Каждая политика потом группируется по основному участнику.

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

Служба использует либо contractId для получения effectiveDate от enrollmentStartDate, либо использует effectiveDate напрямую, что имеет приоритет над contractId, если используются оба варианта.

Параметр

Описание

censusMemberIds

Список основных кодов участников переписи.

accountId

Группа, к которой принадлежит данный участник.

groupAccountId

Код группы участников переписи, политики которых подлежат извлечению. Этот параметр применим только к потоку FSC.

effectiveDate

Обязательно, если contractId не используется

Дата вступления в силу полиса.

Эта дата всегда должна быть датой вступления в силу полиса по Гринвичу.

contractId

Обязательно, если effectiveDate не используется.

Может использоваться вместо effectiveDate для извлечения даты начала регистрации в качестве даты действия полиса.

includeOptionalCoverages

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

omitChildProducts

Если значение false, служба извлекает покрытия для регистрации.

isFsc

  • Определяет необходимость извлечения полисов из записей актива или записей InsurancePolicy.

  • Если defaultIsFSCOption Custom Settings > Insurance Configuration Setup установлен на false или если defaultIsFSCOption отсутствует, значение этого параметра учитывается.

JSON ввода

Данная служба не использует JSON ввода.

Вывод JSON

Ниже указан формат вывода JSON:

  • Вывод JSON является списком участников переписи с Личным именем, Фамилией, Кодом участника переписи и Кодом контакта с его регистрациями.

  • Узел Enrollments содержит сведения о продукте и узлы Dependents при наличии зависимых. Она также содержит дочерние продукты и сведения о покрытии.

  • Узел Dependents состоит из First Name, Last Name, Id, RelationshipType, ContactId и PartyId.

{
  "totalSize": numberOfPrimaryMembersRetrievedWithEnrollments,
  "records": [
    {
      "FirstName": "primaryMemberFirstName",
      "LastName": "primaryMemberLastName",
      "Id": "primaryMemberGroupCensusMemberId",
      "contactId": "primaryMemberContactId",
      "enrollments": {
        "totalSize": primary member's number of enrollments,
        "records": [
          {
            "policyNumber": "policy number",
            "Id": "policy Id",
            "productId": "policy's product id",
            "accountId": "policy's account id",
            "primaryMemberContactId": "primaryMemberContactId",
            "productName": "policy's product name",
            "Name": "policy's product name",
            "EffectiveStart": "policy effective date",
            "EffectiveEnd": "policy expiration date",
            "Price": 0,
            "planId": "policy product's plan id",
            "contractId": "contract id",
            "ProductCode": "product code",
            "RecordTypeName__c": "Product",
            "attributeCategories": {},
            "Term": "policy term",
            "attributeSelectedValues": "{}",
            "childProducts": {
              "totalSize": numberOfChildProductsOfThePolicyProduct,
              "records": [
                {
                  "productId": "productIdOfTheChildProduct",
                  "productName": "productNameOfTheChildProduct",
                  "ProductCode": "productCodeOfTheChildProduct",
                  "Name": "productNameOfTheChildProduct",
                  "pciId": "productChildItemIdOfTheChildProduct",
                  "isOptional": ifThisIsAnOptionalCoverage,
                  "attributeSelectedValues": "{}",
                  "isSelected": true,
                  "Id": "coverageId",
                  "PricingSource": "pricingSource",
                  "attributeCategories": {}
                }
              ]
            },
            "dependents": {
              "totalSize": primary member's number of dependents,
              "records": [
                {
                  "Id": "record id",
                  "FirstName": "dependentsFirstName",
                  "LastName": "dependentsLastName",
                  "relationshipType": "relationshipType",
                  "partyId": "contact's party id",
                  "contactId": "dependent's contact Id"
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

Ниже указан пример вывода JSON:

{
  "totalSize": 1,
  "records": [
    {
      "FirstName": "Scott",
      "LastName": "Matthews",
      "Id": "a386F000000yq5LQAQ",
      "contactId": "0036F00002Q4wlSQAR",
      "enrollments": {
        "totalSize": 1,
        "records": [
          {
            "policyNumber": "AA232SDTJ",
            "Id": "02i6F000004XE2jQAG",
            "productId": "01t6F000007sLsaQAE",
            "accountId": "0016F00002GIY4mQAH",
            "primaryMemberContactId": "0036F00002Q4wlSQAR",
            "productName": "BoMedicalProduct",
            "Name": "BoMedicalProduct",
            "EffectiveStart": "2018-04-12",
            "EffectiveEnd": "2019-02-09",
            "Price": 0,
            "planId": "a1u6F0000035QYxQAM",
            "contractId": "8006F000001GhodQAC",
            "ProductCode": "BMP",
            "RecordTypeName__c": "Product",
            "attributeCategories": {
              "totalSize": 1,
              "records": [
                {
                  "productAttributes": {
                    "records": [
                      {
                        "userValues": null,
                        "values": [
                          {
                            "disabled": true,
                            "readonly": true
                          }
                        ],
                        "isNotTranslatable": false,
                        "cloneable": true,
                        "hidden": false,
                        "hasRules": false,
                        "displaySequence": 0,
                        "label": "TestAttribute_2.2",
                        "attributeId": "a1R6F00000FNrpDUAT",
                        "filterable": true,
                        "disabled": true,
                        "readonly": true,
                        "required": false,
                        "multiselect": false,
                        "inputType": "number",
                        "dataType": "currency",
                        "code": "bfb83baa-662e-674e-9c04-2bad2dc545e1"
                      }
                    ],
                    "totalSize": 1
                  },
                  "id": "a1Q6F000009rHU0UAM",
                  "Name": "AlvinProdCattegory2",
                  "Code__c": "d7539648-3485-0218-802c-c493e727fa67"
                }
              ]
            },
            "Term": "Custom",
            "attributeSelectedValues": "{}",
            "childProducts": {
              "totalSize": 1,
              "records": [
                {
                  "productId": "01t6F00000Akx48QAB",
                  "productName": "Serious Illness",
                  "ProductCode": "SERILL",
                  "Name": "Serious Illness",
                  "pciId": "a2Q6F000001JiqHUAS",
                  "isOptional": false,
                  "attributeSelectedValues": "{}",
                  "isSelected": true,
                  "Id": "01t6F00000Akx48QAU",
                  "PricingSource": "SIPremSelected",
                  "attributeCategories": {
                    "totalSize": 1,
                    "records": [
                      {
                        "productAttributes": {
                          "records": [
                            {
                              "userValues": null,
                              "values": [
                                {
                                  "disabled": false,
                                  "readonly": false
                                }
                              ],
                              "isNotTranslatable": false,
                              "cloneable": true,
                              "hidden": false,
                              "hasRules": false,
                              "displaySequence": 1,
                              "label": "SI Amount Override",
                              "attributeId": "a1R6F00000LE7ESUA1",
                              "filterable": true,
                              "disabled": false,
                              "readonly": false,
                              "required": false,
                              "multiselect": false,
                              "inputType": "number",
                              "dataType": "currency",
                              "code": "SIOVER"
                            },
                            {
                              "rules": [
                                {
                                  "actions": {
                                    "Hide": {
                                      "client": {
                                        "params": {}
                                      },
                                      "remote": {
                                        "params": {}
                                      },
                                      "rest": {
                                        "link": null,
                                        "method": null,
                                        "params": {}
                                      }
                                    }
                                  },
                                  "expression": "%SERILL.SIOVER% > 0",
                                  "ruleType": "Hide"
                                }
                              ],
                              "userValues": null,
                              "values": [
                                {
                                  "disabled": false,
                                  "readonly": false
                                }
                              ],
                              "isNotTranslatable": false,
                              "cloneable": true,
                              "hidden": false,
                              "hasRules": true,
                              "displaySequence": 9,
                              "label": "SIB Multiplier",
                              "attributeId": "a1R6F00000LE7ERUA1",
                              "filterable": true,
                              "disabled": false,
                              "readonly": false,
                              "required": false,
                              "multiselect": false,
                              "inputType": "number",
                              "dataType": "number",
                              "code": "SIB"
                            },
                            {
                              "rules": [
                                {
                                  "actions": {
                                    "Hide": {
                                      "client": {
                                        "params": {}
                                      },
                                      "remote": {
                                        "params": {}
                                      },
                                      "rest": {
                                        "link": null,
                                        "method": null,
                                        "params": {}
                                      }
                                    }
                                  },
                                  "expression": "%SERILL.SIOVER% > 0",
                                  "ruleType": "Hide"
                                }
                              ],
                              "userValues": null,
                              "values": [
                                {
                                  "disabled": false,
                                  "readonly": false
                                }
                              ],
                              "isNotTranslatable": false,
                              "cloneable": true,
                              "hidden": false,
                              "hasRules": true,
                              "displaySequence": 10,
                              "label": "SIB Max",
                              "attributeId": "a1R6F00000LE7EQUA1",
                              "filterable": true,
                              "disabled": false,
                              "readonly": false,
                              "required": false,
                              "multiselect": false,
                              "inputType": "number",
                              "dataType": "currency",
                              "code": "SI"
                            }
                          ],
                          "totalSize": 3
                        },
                        "id": "a1Q6F00000ATYVIUA5",
                        "Name": "Benefit Calculation",
                        "Code__c": "11c2dcbf-500e-1180-4581-ff5000cb0ca6",
                        "displaySequence": 12
                      }
                    ]
                  }
                }
              ]
            },
            "dependents": {
              "totalSize": 2,
              "records": [
                {
                  "Id": "a0o6F00000WsgPtQAJ",
                  "FirstName": "Joan",
                  "LastName": "Robbins",
                  "relationshipType": "Child",
                  "partyId": "a376F000008BJIvQAJ",
                  "contactId": "a376F000008BJIvQAO"
                },
                {
                  "partyId": "a0o6F00000Wsh8QQAF",
                  "Id": "a0o6F00000Wsh8QQAR",
                  "First Name": "Max",
                  "Last Name": "Robbins",
                  "relationshipType": "Spouse",
                  "contactId": "a376F000008BJIwQAO"
                }
              ]
            }
          }
        ]
      }
    }
  ]
}
 
Загрузка
Salesforce Help | Article