Loading
Assicurazioni
InsEnrollmentService:getMemberEnrollments

InsEnrollmentService:getMemberEnrollments

Utilizzare questo servizio per recuperare le iscrizioni correnti per un membro in modo che possa modificare i vantaggi. Questo servizio prende anche uno o più ID membro del censimento e restituisce i piani iscritti per il membro e i suoi familiari a carico.

Importante
Importante A partire dal rilascio Winter '23, il servizio InsEnrollmentServiceStd:getMemberEnrollments è abilitato per l'utilizzo con il modello di dati standard Salesforce per Financial Services Cloud e Health Cloud. I clienti esistenti possono continuare a utilizzare questo servizio, ma non verranno fornite ulteriori ottimizzazioni nel pacchetto gestito Insurance.

Classe: InsEnrollmentService

Metodo: getMemberEnrollments

Esistono due flussi per invocare il servizio getMemberEnrollments:

  • Flusso polizza assicurativa: Viene attivato quando il valore di isFsc è true.

    • Il flusso Account personali viene attivato quando isFsc è true e il campo GroupCensusMember__c.AccountId__c viene compilato.

    • Il flusso Account non personali viene attivato quando il campo GroupCensusMember__c.AccountId__c non viene compilato.

  • Flusso asset: Viene attivato quando il valore di IsFsc è false.

Come funziona quando si utilizzano i record Polizza assicurativa

Il flusso Polizza assicurativa è applicabile quando il valore di isFsc è true. Il servizio esegue le seguenti operazioni:

  1. Se nell'input non viene fornita alcuna effectiveDate, il servizio utilizza il parametro contractId per recuperare i Contract.EnrollmentStartDate__c. Per ulteriori informazioni, vedere Parametri di effectiveDate e contractId nella sezione Opzioni remote.

  2. Restituisce le policy come record InsurancePolicy. Per Polizza assicurativa, il servizio supporta sia il flusso Account personali che il flusso Account non personali, descritti come segue:

    Flusso Account personali

    Questo flusso è applicabile quando i membri del censimento sono associati ad account personali.

    1. Se groupAccountId è l'input, il servizio utilizza ACR per recuperare i personAccountIds dei membri del censimento associati al groupAccountId. Restituisce tutte le polizze assicurative in cui nameInsuredId corrisponde a questi personAccountIds e effectiveDate corrisponde ai effectiveDate specificati nell'input.

    2. Se censusMemberIds è l'input, il servizio recupera i record GroupCensusMember__c. Per ulteriori informazioni, vedere Parametro censusMemberIds nella sezione Opzioni remote. Se viene compilato il campo AccountId__c dei membri del censimento, vengono utilizzati questi personAccountIds (GroupCensusMember__c.AccountId__c). Restituisce tutte le polizze assicurative in cui nameInsuredId corrisponde a personAccountIds e effectiveDate corrisponde a effectiveDate specificato nell'input.

    Flusso Account non personali

    Questo flusso è applicabile quando i membri del censimento sono associati ai referenti.

    1. Il servizio utilizza accountId per recuperare l'oggetto InsurancePolicy per i membri del censimento. È un parametro obbligatorio per il flusso di account non personali.

    2. Se nell'input viene fornito il campo censusMemberIds, il servizio recupera i record GroupCensusMember__c. Se il campo AccountId__c dei membri del censimento non è compilato, il servizio recupera le policy dei membri utilizzando GroupCensusMember__c.ContactId__c, accountId e effectiveDate. Il tipo di policy che viene recuperata dipende dal parametro isFsc e dall'impostazione personalizzata per defaultIsFSCOption come descritto nella tabella seguente:

      Impostazioni personalizzate > Impostazione configurazione assicurazione>defaultIsFSCOption

      Parametro IsFsc

      Policy recuperate

      Vero

      NA

      InsurancePolicy

      Falso

      Vero

      InsurancePolicy

      NA

      Vero

      InsurancePolicy

  3. Il servizio recupera rispettivamente le parti, i InsurancePolicyParticipant o i AssetPartyRelationship__c dei record InsurancePolicy o Asset. Per FSC, AssetPartyRelationship__c ha solo record per i dipendenti dei membri principali. InsurancePolicyParticipant ha record sia per i membri principali che per i loro dipendenti.

  4. Se il campo omitChildProducts è false, il servizio recupera le coperture (AssetCoverage__c) delle polizze e i metadati dei prodotti corrispondenti. Per ulteriori informazioni, vedere Parametro omitChildProducts nella sezione Opzioni remote.

  5. Ogni policy viene quindi raggruppata in base al membro principale.

Funzionamento per gli asset

Il flusso asset è applicabile quando il valore di isFsc è false. Per i record asset, non è supportato Account personale.

Il servizio esegue le seguenti operazioni:

  1. Se nell'input non viene fornita alcuna effectiveDate, il servizio utilizza il parametro contractId per recuperare i Contract.EnrollmentStartDate__c. Per ulteriori informazioni, vedere Parametri di effectiveDate e contractId nella sezione Opzioni remote.

  2. Il servizio utilizza accountId per recuperare l'oggetto Asset per i membri del censimento. È un parametro obbligatorio per il flusso di account non FSC.

  3. Il servizio utilizza censusMemberIds per recuperare i record GroupCensusMember__c. Per ulteriori informazioni, vedere Parametro censusMemberIds nella sezione Opzioni remote.

  4. Se il campo AccountId__c dei membri del censimento non è compilato, il servizio recupera le policy dei membri utilizzando i campi GroupCensusMember__c.ContactId__c, accountId e effectiveDate. Il tipo di policy che viene recuperata dipende dal parametro isFsc e dall'impostazione personalizzata per defaultIsFSCOption come descritto nella tabella seguente.

    Impostazioni personalizzate > Impostazione configurazione assicurazione>defaultIsFSCOption

    Parametro IsFsc

    Policy recuperate

    Falso

    Falso

    Asset

    NA

    Falso

    Asset

  5. Il servizio recupera le parti. Per Non FSC, recupera InsurancePolicyParticipant o AssetPartyRelationship__c dei record InsurancePolicy o Asset.

    • AssetPartyRelationship__c ha solo record per le persone a carico dei membri principali.

    • InsurancePolicyParticipant ha record sia per i membri principali che per i loro familiari a carico.

  6. Se il campo omitChildProducts è false, il servizio recupera le coperture (InsurancePolicyCoverage o AssetCoverage__c) delle polizze e i metadati dei prodotti corrispondenti. Per ulteriori informazioni, vedere Parametro omitChildProducts nella sezione Opzioni remote.

  7. Ogni policy viene quindi raggruppata in base al membro principale.

Opzioni remote

Il servizio utilizza il contractId per ottenere i effectiveDate da enrollmentStartDate o utilizza direttamente effectiveDate, che ha la precedenza su contractId se vengono utilizzati entrambi.

Opzione

Descrizione

censusMemberIds

Elenco degli ID dei membri principali del censimento.

accountId

ID gruppo a cui appartiene questo membro.

groupAccountId

ID gruppo dei membri del censimento di cui si desidera recuperare le policy. Questo parametro è applicabile solo al flusso FSC.

effectiveDate

Obbligatorio se contractId non viene utilizzato

Data di validità della polizza.

Questa data deve sempre corrispondere alla data GMT della data effettiva della polizza.

contractId

Obbligatorio se effectiveDate non viene utilizzato.

Può essere utilizzato al posto di effectiveDate per recuperare la data di inizio iscrizione come data effettiva della policy.

includeOptionalCoverages

Se true, il servizio recupera le coperture facoltative delle iscrizioni.

omitChildProducts

Se false, il servizio recupera le coperture delle iscrizioni.

isFsc

  • Determina se recuperare le polizze dai record Asset o InsurancePolicy.

  • Se Custom Settings > Insurance Configuration Setup ha il defaultIsFSCOption impostato su false o se non è presente alcun defaultIsFSCOption, il valore di questo parametro viene rispettato.

Input JSON

Questo servizio non accetta un JSON di input.

JSON di output

Di seguito è riportato il formato del JSON di output:

  • Il JSON di output è un elenco di membri del censimento, con Nome, Cognome, ID membro del censimento e ID referente, con le relative iscrizioni.

  • Il nodo Enrollments include i dettagli del prodotto e i nodi Dependents se sono presenti persone dipendenti. Include anche i prodotti controllati e i dettagli della copertura.

  • Il nodo Dependents è costituito da First Name, Last Name, Id, RelationshipType, ContactId e 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"
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

Di seguito è riportato un esempio di JSON di output:

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