Loading
Seguro
InsEnrollmentService:getMemberEnrollments

InsEnrollmentService:getMemberEnrollments

Utilice este servicio para recuperar inscripciones actuales para un miembro de modo que puedan modificar los beneficios. Este servicio también toma uno o más Id. de miembros del censo y devuelve planes inscritos para el miembro y sus dependientes.

Importante
Importante Desde Winter '23 en adelante, tenemos el servicio InsEnrollmentServiceStd:getMemberEnrollments activado para funcionar con el modelo de datos estándar de Salesforce para Financial Services Cloud y Health Cloud. Los clientes existentes pueden continuar utilizando este servicio, pero no se proporcionarán más mejoras en el Paquete gestionado de seguros.

Clase: InsEnrollmentService

Método: getMemberEnrollments

Existen dos flujos para invocar el servicio getMemberEnrollments:

  • Flujo de póliza de seguros: Se desencadena cuando el valor de isFsc es verdadero.

    • El flujo Cuentas personales se desencadena cuando el isFsc es verdadero y el campo GroupCensusMember__c.AccountId__c está rellenado.

    • El flujo Cuentas no personales se desencadena cuando el campo GroupCensusMember__c.AccountId__c no está rellenado.

  • Flujo de activos: Se desencadena cuando el valor de IsFsc es falso.

Cómo funciona al utilizar registros de pólizas de seguros

El flujo Póliza de seguros es aplicable cuando el valor de isFsc es verdadero. El servicio realiza lo siguiente:

  1. Si no se proporciona ningún effectiveDate en la entrada, el servicio utiliza el parámetro contractId para recuperar Contract.EnrollmentStartDate__c. Consulte los parámetros de effectiveDate y contractId en la sección Opciones remotas para obtener más información.

  2. Devuelve las políticas como registros de InsurancePolicy. Para Póliza de seguros, el servicio admite tanto el flujo Cuentas personales como el flujo Cuentas no personales explicado como:

    Flujo Cuentas personales

    Este flujo es aplicable cuando los miembros del censo están asociados con cuentas personales.

    1. Si groupAccountId es la entrada, el servicio utiliza ACR para recuperar la personAccountIds de los miembros del censo asociados con el groupAccountId. Devuelve todas las pólizas de seguros donde nameInsuredId coincide con estos personAccountIds y effectiveDate coincide con los effectiveDate proporcionados en la entrada.

    2. Si censusMemberIds es la entrada, el servicio recupera los registros de GroupCensusMember__c. Consulte Parámetro censusMemberIds en la sección Opciones remotas para obtener más información. Si el campo AccountId__c de los miembros del censo está rellenado, utilizamos estos personAccountIds (GroupCensusMember__c.AccountId__c). Devuelve todas las pólizas de seguros donde nameInsuredId coincide con personAccountIds y effectiveDate coincide con los effectiveDate proporcionados en la entrada.

    Flujo Cuentas no personales

    Este flujo es aplicable cuando los miembros del censo están asociados con contactos.

    1. El servicio utiliza accountId para recuperar el objeto InsurancePolicy para los miembros del censo. Es un parámetro obligatorio para flujos de cuentas no personales.

    2. Si se proporciona el campo censusMemberIds en la entrada, el servicio recupera los registros de GroupCensusMember__c. Si el campo AccountId__c de los miembros del censo no está rellenado, el servicio recupera las políticas de los miembros utilizando los GroupCensusMember__c.ContactId__c, accountId y effectiveDate. El tipo de política que se recupera depende del parámetro isFsc y la configuración personalizada para defaultIsFSCOption como se describe en esta tabla:

      Parámetros personalizados > Configuración de seguros>defaultIsFSCOption

      Parámetro IsFsc

      Pólizas recuperadas

      Verdadero

      NA

      InsurancePolicy

      Falso

      Verdadero

      InsurancePolicy

      NA

      Verdadero

      InsurancePolicy

  3. El servicio recupera las partes, InsurancePolicyParticipant o AssetPartyRelationship__c de los registros de InsurancePolicy o Asset, respectivamente. Para FSC, AssetPartyRelationship__c solo tiene registros para los dependientes de los miembros principales. InsurancePolicyParticipant tiene registros para los miembros principales y sus dependientes.

  4. Si el campo omitChildProducts es false, el servicio recupera las coberturas (AssetCoverage__c) de las pólizas y sus metadatos de productos correspondientes. Consulte Parámetro omitChildProducts en la sección Opciones remotas para obtener más información.

  5. Cada política se agrupa a continuación por el miembro principal.

Cómo funciona para activos

El flujo de activos es aplicable cuando el valor de isFsc es falso. Para registros de activos, no admitimos Cuenta personal.

El servicio realiza lo siguiente:

  1. Si no se proporciona ningún effectiveDate en la entrada, el servicio utiliza el parámetro contractId para recuperar Contract.EnrollmentStartDate__c. Consulte los parámetros de effectiveDate y contractId en la sección Opciones remotas para obtener más información.

  2. El servicio utiliza accountId para recuperar el objeto Activo para los miembros del censo. Es un parámetro obligatorio para flujos de cuentas que no son de FSC.

  3. El servicio utiliza censusMemberIds para recuperar los registros de GroupCensusMember__c. Consulte Parámetro censusMemberIds en la sección Opciones remotas para obtener más información.

  4. Si el campo AccountId__c de los miembros del censo no está rellenado, el servicio recupera las políticas de los miembros utilizando los campos GroupCensusMember__c.ContactId__c, accountId y effectiveDate. El tipo de política que se recupera depende del parámetro isFsc y la configuración personalizada para defaultIsFSCOption como se describe en esta tabla.

    Parámetros personalizados > Configuración de seguros>defaultIsFSCOption

    Parámetro IsFsc

    Pólizas recuperadas

    Falso

    Falso

    Activo

    NA

    Falso

    Activo

  5. El servicio recupera las partes. Para No FSC, recupera InsurancePolicyParticipant o AssetPartyRelationship__c de los registros de InsurancePolicy o Asset.

    • AssetPartyRelationship__c solo tiene registros para los dependientes de los miembros principales.

    • InsurancePolicyParticipant tiene registros para los miembros principales y sus dependientes.

  6. Si el campo omitChildProducts es false, el servicio recupera las coberturas (InsurancePolicyCoverage o AssetCoverage__c) de las pólizas y sus metadatos de productos correspondientes. Consulte Parámetro omitChildProducts en la sección Opciones remotas para obtener más información.

  7. Cada política se agrupa a continuación por el miembro principal.

Opciones remotas

El servicio utiliza el contractId para obtener la effectiveDate de enrollmentStartDate o utiliza effectiveDate directamente, que tiene prioridad sobre contractId si se utilizan ambos.

Opción

Descripción

censusMemberIds

Lista de Id. de miembros del censo principal.

accountId

El grupo al que pertenece este miembro.

groupAccountId

El Id. de grupo de los miembros del censo cuyas pólizas se van a recuperar. Este parámetro es aplicable únicamente para flujos FSC.

effectiveDate

Obligatorio si no se utiliza contractId

Fecha de vigencia de la póliza.

Esta fecha debe ser siempre la fecha GMT de la fecha de entrada en vigor de la póliza.

contractId

Obligatorio si no se utiliza effectiveDate.

Se puede utilizar en vez de effectiveDate para recuperar la fecha de inicio de inscripción como la fecha efectiva de la política.

includeOptionalCoverages

Si es verdadero, el servicio recupera coberturas opcionales de las inscripciones.

omitChildProducts

Si es falso, el servicio recupera coberturas de las inscripciones.

isFsc

  • Determina si recuperar las pólizas desde los registros Activo o los registros InsurancePolicy.

  • Si el Custom Settings > Insurance Configuration Setup tiene el defaultIsFSCOption establecido en false o si no hay defaultIsFSCOption, se respeta el valor de este parámetro.

JSON de entrada

Este servicio no toma un JSON de entrada.

JSON de salida

Este es el formato del JSON de salida:

  • El JSON de salida es una lista de miembros del censo, con Nombre, Apellidos, Id. de Miembro del censo e Id. de Contacto, con sus inscripciones.

  • El nodo Enrollments tiene detalles de producto y nodos Dependents si hay dependientes. También incluye productos secundarios y detalles de cobertura.

  • El nodo Dependents consta de First Name, Last Name, Id, RelationshipType, ContactId y 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"
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

Este es un ejemplo de JSON de salida:

{
  "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"
                }
              ]
            }
          }
        ]
      }
    }
  ]
}
 
Cargando
Salesforce Help | Article