Loading
Assicurazioni
InsEnrollmentService:enrollPlans

InsEnrollmentService:enrollPlans

Utilizzare questo servizio per creare record di polizze (asset o polizze assicurative) per i piani medici, dentali, visivi e di altro tipo selezionati dall'iscritto.

Importante
Importante A partire dal rilascio Winter '23, abbiamo abilitato il servizio InsEnrollmentServiceStd:enrollPlans 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: enrollPlans

Funzionamento per i record Polizza assicurativa

I servizi di iscrizione possono scrivere nella Polizza assicurativa e negli oggetti correlati (modello di dati della polizza armonizzata) o negli oggetti Asset (modello Valcity), a seconda del parametro isFsc e dell'impostazione personalizzata per la defaultIsFSCOption. Il servizio esegue le seguenti operazioni:

  1. Il servizio prende il JSON di input e cerca le informazioni per creare le polizze (Polizza assicurativa).

    defaultIsFSCOption

    Parametro isFsc

    Policy create

    Vero

    NA

    Record Polizza assicurativa (InsurancePolicy)

    Falso

    Vero

    Record Polizza assicurativa (InsurancePolicy)

    Falso

    Falso

    Record asset (Asset)

    NA

    Vero

    Record Polizza assicurativa (InsurancePolicy)

    NA

    Falso

    Record asset (Asset)

  2. Per il record Polizza assicurativa, il membro può essere rappresentato come Referente o Account personale. Quando un membro (principale o dipendente) è rappresentato come account e contatta entrambi, il servizio utilizza la rappresentazione account.

  3. Associa i dipendenti alle polizze come Partecipanti polizza assicurativa (InsurancePolicyParticipants). Crea un altro partecipante alla polizza assicurativa (InsurancePolicyParticipant) per il membro principale.

    I record per InsurancePolicyParticipants vengono compilati in base alle seguenti regole:

    Flusso account personale

    È possibile creare account personali per i membri del censimento specificato. Per supportare il flusso Account personale:

    • Se Membro principale è rappresentato come Account personale, il Person Account Id del membro viene impostato come Account della policy.

    • Se Membro principale è rappresentato come Account personale, l'ID account partecipante principale del record InsurancePolicyParticipant del principale è l'ID account personale del membro principale e l'ID referente partecipante principale è personAccount.personContactId.

    • Se il membro principale del dipendente è rappresentato come Account personale, l'ID account partecipante principale del record InsurancePolicyParticipant del dipendente è l'ID account personale del membro principale.

    • L'ID referente partecipante principale del record InsurancePolicyParticipant del dipendente è il personAccount.personContactId del membro principale.

    • Se il dipendente è rappresentato come account personale, l'ID account partecipante correlato del record InsurancePolicyParticipant del dipendente è l'ID account personale del membro correlato.

    • Se il dipendente è rappresentato come account personale, l'ID referente partecipante correlato del record InsurancePolicyParticipant del dipendente è il personAccount.personContactId del membro correlato.

    Flusso account non personale

    • Se Membro principale è rappresentato come Referente, il Account.Id del membro viene impostato come Account della policy.

    • Se Membro principale è rappresentato come Referente, l'ID referente partecipante principale del record InsurancePolicyParticipant del principale è l'ID referente del membro principale.

    • Se il membro principale del dipendente è rappresentato come Referente, l'ID referente partecipante principale di InsurancePolicyParticipant è l'ID referente del membro principale.

    • se dipendente è rappresentato come Referente, ID referente partecipante correlato di InsurancePolicyParticipant è l'ID referente del membro principale.

  4. Recupera il ProductId dal piano e contrassegna InsurancePolicy.ProductId = plan.Product2Id.

  5. Crea le seguenti relazioni:

    Polizza assicurativa

    InsurancePolicy.EffectiveDate= Contract.StartDate o EffectiveStart nel JSON di input.

    InsurancePolicy.ExpirationDate = Contract.EndDate o EffectiveEnd nel JSON di input.

    InsurancePolicy.ContractLineItemId__c = Plan.Id

  6. Il servizio calcola i InsurancePolicy.PolicyTerm in base alle Contract.ContractTerm:

    Polizza assicurativa

     ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.

    ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual

    ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly

    ContractTerm = Qualsiasi altro valore, InsurancePolicy.PolicyTerm= Personalizzato.

  7. Recupera la chiave Price dal JSON di input e crea le seguenti relazioni:

    Polizza assicurativa

    InsurancePolicy.PremiumAmount = Prezzo

    InsurancePolicy.TermPremiumAmount = prezzo ripartito in base alle date effettive specificate in #5.

    InsurancePolicy.MonthlyPremium__c = Price/ContractTerm

  8. Crea coperture polizze assicurative (InsurancePolicyCoverages) per le voci copertura.

Funzionamento per gli asset

  1. Il servizio prende il JSON di input e cerca le informazioni per creare le policy (asset).

    defaultIsFSCOption

    Parametro isFsc

    Policy create

    Vero

    NA

    Record Polizza assicurativa (InsurancePolicy)

    Falso

    Vero

    Record Polizza assicurativa (InsurancePolicy)

    Falso

    Falso

    Record asset (Asset)

    NA

    Vero

    Record Polizza assicurativa (InsurancePolicy)

    NA

    Falso

    Record asset (Asset)

  2. Associa il contactId del membro principale alla policy come Referente.

  3. contrassegna il accountId del contratto di iscrizione come Account della polizza.

  4. Recupera la chiave RawPriceData o la chiave RateBandTierPriceData dal JSON di input e la timbra nel campo Asset.PricingLogData__c.

  5. Recupera il ProductId dal piano e contrassegna Asset.Product2Id = plan.Product2Id__c.

  6. Crea le seguenti relazioni:

    Asset

    Asset.EffectiveDate__c = Contract.StartDate o EffectiveStart nel JSON di input.

    Asset.ExpirationDate__c = Contract.EndDate o EffectiveEnd nel JSON di input.

    Asset.BenefitPlanId__c = Plan.Id

  7. Il servizio calcola i Asset.Term__c in base alle Contract.ContractTerm:

    Asset

    ContractTerm = 12, Asset.Term__c = Annual.

    ContractTerm = 6, Asset.Term__c = Semi-Annual

    ContractTerm = 1, Asset.Term__c = Monthly

    ContractTerm = Qualsiasi altro valore, Asset.Term__c = Personalizzato.

  8. Recupera la chiave Price dal JSON di input e crea le seguenti relazioni:

    Asset

    Asset.StandardPremium__c = Prezzo

    Asset.TotalPremiumTerm__c = prezzo ripartito in base alle date effettive specificate in #7

    Asset.AnnualPremium__c = Price/ContractTerm*12

    Asset.MonthlyPremium__c = Price/ContractTerm

  9. Associa i dipendenti alle polizze come relazioni prodotto detenuto (AssetPartyRelationship__c). Durante la creazione della relazione parte asset per i dipendenti, partyId deve essere specificato nel nodo dipendenti.

    Nota
    Nota

    Viene creato un altro partecipante alla polizza assicurativa (InsurancePolicyParticipant) per il membro principale, ma non viene creato alcun record per il membro principale in Relazione prodotto detenuto (AssetPartyRelationship__c).

  10. Crea le coperture delle polizze (AssetCoverage__c) per le voci copertura.

Opzioni remote

Opzione

Descrizione

inputKey

Obbligatorio.

Chiave di una struttura JSON pre-trasformata che contiene le informazioni necessarie al servizio.

memberPlanIntegrationProcedure

Avvia una procedura di integrazione personalizzata in base alla configurazione utente. Quando si utilizza questa opzione, passa tutte le opzioni del servizio alla procedura di integrazione personalizzata e tutti gli ID polizza come input per l'integrazione con l'oggetto, ad esempio l'oggetto polizza assicurativa con il piano membro.

Input JSON

Il servizio accetta il JSON di input specificato dal inputKey. In questo esempio, inputKey = enrollmentJson.

Il servizio richiede:

  • contractId: <valore>

  • Dependents: <list of maps for contactId and relationshipType of the dependents>.

    Nota
    Nota

    Quando si utilizza il servizio enrollPlans per generare Asset e AssetPartyRelationship, se i dipendenti vengono passati in enrollmentJson, è necessario specificare partyId corrispondente.

  • Modello struttura JSON del prodotto con attributi e prodotti secondari

Questo JSON di input può avere un elenco di oggetti o una mappa, poiché il servizio supporta la creazione di una policy o di più policy.

Per supportare l'ID account personale, primaryMemberId è un nuovo nodo aggiunto al enrollmentJson. Supporta sia ID account personale che ContactId per la compatibilità retroattiva. In base al tipo di primaryMemberId ID, i servizi funzionano come descritto nella descrizione del servizio.

Analogamente, per le persone dipendenti viene aggiunto il nodo memberId. Supporta sia l'ID account personale che l'ID referente per la compatibilità retroattiva. In base al tipo di memberId ID, i servizi funzionano come descritto nella descrizione del servizio.

In questo esempio, il JSON include tre policy.

{
   "enrollmentJson":[
      {
         "primaryMemberContactId":"0035w00003HjCFcAAN",
                  "primaryMemberId" : "0015e00000DvQ89AAF"
         "contractId":"8005w000001mT4MAAU",
         "dependents":{
            "IsSpouse":false,
            "contactId":"0035w00003HhfXPAAZ",
            "memberId": "0015e00000RvO24IAJ"
            "LastName":"Jones",
            "FirstName":"Jean",
            "relationshipType":"Child"
         },
         "Id":"01t5w00000EZUtMAAX",
         "Name":"HMO 500",
         "Family":"Other",
         "ProductCode":"SG-HMO-500",
         "Type__c":"Medical",
         "SubType__c":"HMO",
         "RecordTypeName__c":"Product",
         "IsConfigurable__c":false,
         "PricingFormula__c":"GroupPremium",
         "productId":"01t5w00000EZUtMAAX",
         "currencyCode":"USD",
         "currencySymbol":"$",
         "Price":300,
         "planId":"a2S5w0000034B2cEAE",
         "planRateType":"Age",
         "attributeCategories":{
            "totalSize":1,
            "records":[
               {
                  "Code__c":"SG_Medical",
                  "Name":"SG Medical",
                  "id":"a085w00000uA9v6AAC",
                  "productAttributes":{
                     "totalSize":1,
                     "records":[
                        {
                           "rulesCode":"SG-HMO-500.SG_annualDed_INN",
                           "productCode":"SG-HMO-500",
                           "code":"SG_annualDed_INN",
                           "dataType":"text",
                           "inputType":"text",
                           "multiselect":false,
                           "required":false,
                           "readonly":true,
                           "disabled":true,
                           "filterable":true,
                           "attributeId":"a095w000010zIYkAAM",
                           "label":"Deductible",
                           "hasRules":false,
                           "hidden":false,
                           "cloneable":true,
                           "isNotTranslatable":false,
                           "values":[
                              {
                                 "readonly":true,
                                 "disabled":true
                              }
                           ],
                           "userValues":"$500 / $1,000",
                           "attributeGroupType":"In-Network"
                        }
                     ]
                  }
               }
            ]
         },
         "childProducts":{
            "totalSize":1,
            "records":[
               {
                  "Id":"01t5w00000EZUA7AAP",
                  "Name":"Emergency Services",
                  "ProductCode":"SG_Emerg_Serv",
                  "Type__c":"Medical",
                  "IsRecommended__c":false,
                  "RecordTypeName__c":"CoverageSpec",
                  "IsConfigurable__c":true,
                  "productId":"01t5w00000EZUA7AAP",
                  "pciId":"a3A5w000000Ib6fEAC",
                  "isOptional":false,
                  "isSelected":true,
                  "attributeCategories":{
                     "totalSize":1,
                     "records":[
                        {
                           "Code__c":"SG_Medical",
                           "Name":"SG Medical",
                           "id":"a085w00000uA9v6AAC",
                           "productAttributes":{
                              "totalSize":1,
                              "records":[
                                 {
                                    "code":"SG_urgentCareFacility_OON",
                                    "dataType":"text",
                                    "inputType":"dropdown",
                                    "multiselect":false,
                                    "required":false,
                                    "readonly":false,
                                    "disabled":false,
                                    "filterable":true,
                                    "attributeId":"a095w000010zIZRAA2",
                                    "label":"Urgent Care Facility",
                                    "hasRules":false,
                                    "hidden":false,
                                    "cloneable":true,
                                    "isNotTranslatable":false,
                                    "values":[
                                       {
                                          "id":"0",
                                          "label":"Not Covered",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"Not Covered"
                                       },
                                       {
                                          "id":"1",
                                          "label":"40% Coins After Ded",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"40% Coins After Ded"
                                       },
                                       {
                                          "id":"2",
                                          "label":"50% Coins After Ded",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"50% Coins After Ded"
                                       },
                                       {
                                          "id":"3",
                                          "label":"30% Coins After Ded",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"30% Coins After Ded"
                                       }
                                    ],
                                    "userValues":"Not Covered",
                                    "attributeGroupType":"Out-Of-Network"
                                 }
                              ]
                           }
                        }
                     ]
                  }
               }
            ]
         }
      }
   ]
}

JSON di output

L'elenco delle policy create dal servizio.

assetIds

ID record InsurancePolicy per i record Polizza assicurativa.

ID record asset per i record Asset.

policyIds

ID record InsurancePolicy. Generato solo per i record Polizza assicurativa.

{
   "assetIds":[
      {
         "assetId":"0036F00002Q4wlSQAR"
      },
      {
         "assetId":"0036F00002Q4wlSQAQ"
      }
   ],
   "policyIds":[
      "0036F00002Q4wlSQAR",
      "0036F00002Q4wlSQAQ"
   ]
}
 
Caricamento
Salesforce Help | Article