Loading
Insurance
InsEnrollmentService:getMemberEnrollments

InsEnrollmentService:getMemberEnrollments

Utilisez ce service pour récupérer les inscriptions actuelles d'un membre et lui permettre de modifier les avantages. Ce service prend également un ou plusieurs ID de membre du recensement et renvoie les plans inscrits pour le membre et ses personnes à charge.

Important
Important À compter de la version Winter '23, le service InsEnrollmentServiceStd:getMemberEnrollments est activé pour fonctionner avec le Modèle de données standard Salesforce pour Financial Services Cloud et Health Cloud. Les clients existants peuvent continuer à utiliser ce service, mais aucune autre amélioration ne sera apportée au package géré Assurance.

Classe: InsEnrollmentService

Méthode : getMemberEnrollments

Il existe deux flux pour invoquer le service getMemberEnrollments :

  • Flux Police d'assurance : Elle est déclenchée lorsque la valeur de isFsc est true.

    • Le flux Comptes personnels est déclenché lorsque isFsc est true et que le champ GroupCensusMember__c.AccountId__c est rempli.

    • Le flux Comptes non personnels est déclenché lorsque le champ GroupCensusMember__c.AccountId__c n'est pas rempli.

  • Flux d'actif : Elle est déclenchée lorsque la valeur de IsFsc est false.

Fonctionnement lors de l'utilisation d'enregistrements de police d'assurance

Le flux Police d'assurance est applicable lorsque la valeur de isFsc est vraie. Le service procède comme suit :

  1. Si aucune effectiveDate n'est fournie dans l'entrée, le service utilise le paramètre contractId pour récupérer les Contract.EnrollmentStartDate__c. Pour plus d'informations, consultez Paramètres de effectiveDate et de contractId dans la section Options distantes.

  2. Renvoie les stratégies en tant qu'enregistrements InsurancePolicy. Pour Police d'assurance, le service prend en charge le flux Comptes personnels et le flux Comptes non personnels expliqués comme suit :

    Flux Comptes personnels

    Ce flux est applicable lorsque des membres du recensement sont associés à des comptes personnels.

    1. Si groupAccountId est l'entrée, le service utilise ACR pour récupérer les personAccountIds des membres du recensement associés au groupAccountId. Il renvoie toutes les polices d'assurance dans lesquelles nameInsuredId correspond à ces personAccountIds et effectiveDate correspond à la effectiveDate fournie dans l'entrée.

    2. Si censusMemberIds est l'entrée, le service récupère les enregistrements GroupCensusMember__c. Pour plus d'informations, consultez Paramètre censusMemberIds dans la section Options distantes. Si le champ AccountId__c des membres du recensement est rempli, nous utilisons les personAccountIds suivants (GroupCensusMember__c.AccountId__c). Il renvoie toutes les polices d'assurance dans lesquelles les nameInsuredId correspondent aux personAccountIds et les effectiveDate correspondent aux effectiveDate fournis dans l'entrée.

    Flux Comptes non personnels

    Ce flux est applicable lorsque des membres du recensement sont associés à des contacts.

    1. Le service utilise accountId pour récupérer l'objet InsurancePolicy des membres du recensement. C'est un paramètre obligatoire pour le flux de comptes non personnels.

    2. Si un champ censusMemberIds est fourni dans l'entrée, le service récupère les enregistrements de GroupCensusMember__c. Si le champ AccountId__c des membres du recensement n'est pas rempli, le service récupère les stratégies des membres en utilisant les GroupCensusMember__c.ContactId__c, accountId et effectiveDate. Le type de stratégie récupéré dépend du paramètre isFsc et du paramètre personnalisé de defaultIsFSCOption, comme indiqué dans le tableau ci-dessous :

      Paramètres personnalisés > Configuration de l'assurance>defaultIsFSCOption

      Paramètre IsFsc

      Polices récupérées

      True

      NA

      InsurancePolicy

      False

      True

      InsurancePolicy

      NA

      True

      InsurancePolicy

  3. Le service récupère respectivement les parties, les InsurancePolicyParticipant ou les AssetPartyRelationship__c des enregistrements InsurancePolicy ou Asset. Pour FSC, AssetPartyRelationship__c a uniquement des enregistrements pour les personnes à charge des membres principaux. InsurancePolicyParticipant a des enregistrements pour les membres principaux et leurs personnes à charge.

  4. Si le champ omitChildProducts est false, le service récupère les couvertures (AssetCoverage__c) des polices et leurs métadonnées produit correspondantes. Pour plus d'informations, consultez Paramètre omitChildProducts dans la section Options distantes.

  5. Chaque police est ensuite regroupée par le membre principal.

Fonctionnement des actifs

Le flux Actifs est applicable lorsque la valeur de isFsc est false. Pour les enregistrements d'actifs, nous ne prenons pas en charge Compte personnel.

Le service procède comme suit :

  1. Si aucune effectiveDate n'est fournie dans l'entrée, le service utilise le paramètre contractId pour récupérer les Contract.EnrollmentStartDate__c. Pour plus d'informations, consultez Paramètres de effectiveDate et de contractId dans la section Options distantes.

  2. Le service utilise accountId pour récupérer l'objet Actif des membres du recensement. C'est un paramètre obligatoire pour le flux de comptes Non-FSC.

  3. Le service utilise censusMemberIds pour récupérer les enregistrements GroupCensusMember__c. Pour plus d'informations, consultez Paramètre censusMemberIds dans la section Options distantes.

  4. Si le champ AccountId__c des membres du recensement n'est pas rempli, le service récupère les stratégies des membres en utilisant les champs GroupCensusMember__c.ContactId__c, accountId et effectiveDate. Le type de stratégie récupéré dépend du paramètre isFsc et du paramètre personnalisé de defaultIsFSCOption, comme indiqué dans le tableau ci-dessous.

    Paramètres personnalisés > Configuration de l'assurance>defaultIsFSCOption

    Paramètre IsFsc

    Polices récupérées

    False

    False

    Asset

    NA

    False

    Asset

  5. Le service récupère les parties. Pour Non-FSC, il récupère les InsurancePolicyParticipant ou les AssetPartyRelationship__c des enregistrements InsurancePolicy ou Asset.

    • AssetPartyRelationship__c a uniquement des enregistrements pour les personnes à charge des membres principaux.

    • InsurancePolicyParticipant a des enregistrements pour les membres principaux et leurs personnes à charge.

  6. Si le champ omitChildProducts est false, le service récupère les couvertures (InsurancePolicyCoverage ou AssetCoverage__c) des polices et leurs métadonnées produit correspondantes. Pour plus d'informations, consultez Paramètre omitChildProducts dans la section Options distantes.

  7. Chaque police est ensuite regroupée par le membre principal.

Options distantes

Le service utilise soit le contractId pour récupérer les effectiveDate de enrollmentStartDate, soit directement le effectiveDate, qui est prioritaire sur le contractId si les deux sont utilisés.

Option

Description

censusMemberIds

Liste des ID de membre du recensement principal.

accountId

L'ID de groupe auquel appartient ce membre.

groupAccountId

L'ID de groupe des membres du recensement dont les polices doivent être récupérées. Ce paramètre est applicable uniquement au flux FSC.

effectiveDate

Obligatoire si contractId n'est pas utilisé

Date d'entrée en vigueur de la police.

Cette date doit toujours être la date GMT de la date d'entrée en vigueur de la police.

contractId

Obligatoire si effectiveDate n'est pas utilisée.

Peut être utilisé au lieu de effectiveDate pour récupérer la date de début d'inscription en tant que date d'entrée en vigueur de la police.

includeOptionalCoverages

Si true, le service récupère les couvertures facultatives des inscriptions.

omitChildProducts

Si false, le service récupère les couvertures des inscriptions.

isFsc

  • Détermine si les polices sont récupérées à partir des enregistrements Actif ou Police d'assurance.

  • Si Custom Settings > Insurance Configuration Setup a la defaultIsFSCOption définie sur false ou en l'absence de defaultIsFSCOption, la valeur de ce paramètre est honorée.

JSON d'entrée

Ce service ne prend pas de JSON d'entrée.

JSON de sortie

Voici le format du JSON de sortie :

  • Le JSON de sortie est une liste de membres du recensement, avec Prénom, Nom, ID de membre du recensement et ID de contact, avec ses inscriptions.

  • Le nœud Enrollments contient les détails du produit et les nœuds Dependents s'il existe des personnes dépendantes. Il inclut également les produits enfants et les détails de couverture.

  • Le nœud Dependents comprend First Name, Last Name, Id, RelationshipType, ContactId et 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"
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

Voici un exemple de JSON de sortie :

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