Loading
Verzekering
InsEnrollmentService:enrollPlans

InsEnrollmentService:enrollPlans

Gebruik deze service om polisrecords (Activum of Verzekeringspolis) te maken voor geselecteerde medische, tandheelkundige, gezichtsvermogens- en andere plannen van ingeschrevenen.

Belangrijk
Belangrijk Vanaf Winter '23 hebben we de service InsEnrollmentServiceStd:enrollPlans ingeschakeld om te werken met het standaardgegevensmodel van Salesforce voor Financial Services Cloud en Health Cloud. Bestaande klanten kunnen deze service blijven gebruiken, maar er worden geen verdere uitbreidingen in het beheerde pakket Verzekeringen geleverd.

Klasse: InsEnrollmentService

Methode: enrollPlans

Hoe het werkt voor verzekeringspolisrecords

Registratieservices kunnen schrijven naar de Verzekeringspolis en gerelateerde objecten (gegevensmodel Geharmoniseerde polis) of Activumobjecten (Vlocity-model) , afhankelijk van de parameter isFsc en de aangepaste instelling voor defaultIsFSCOption. De service doet het volgende:

  1. De service neemt de invoer-JSON en zoekt naar de informatie om de polissen te maken (Verzekeringspolis).

    defaultIsFSCOption

    parameter isFsc

    Gemaakte polissen

    True (Waar)

    N.v.t.

    Records Verzekeringspolis (InsurancePolicy)

    False (Onwaar)

    True (Waar)

    Records Verzekeringspolis (InsurancePolicy)

    False (Onwaar)

    False (Onwaar)

    Activumrecords (Asset)

    N.v.t.

    True (Waar)

    Records Verzekeringspolis (InsurancePolicy)

    N.v.t.

    False (Onwaar)

    Activumrecords (Asset)

  2. Voor de record Verzekeringspolis kan het lid worden voorgesteld als een contactpersoon of een persoonsaccount. Wanneer een lid (primair of afhankelijk) wordt voorgesteld als een account en contact opneemt met beide, gebruikt de service de accountvertegenwoordiging.

  3. Koppelt afhankelijk van de polissen als Deelnemers van verzekeringspolis (InsurancePolicyParticipants). Hiermee wordt een andere deelnemer van verzekeringspolis (InsurancePolicyParticipant) gemaakt voor het primaire lid.

    De records voor InsurancePolicyParticipants worden ingevuld volgens deze regels:

    Stroom Persoonsaccount

    U kunt persoonsaccounts maken voor de leden in de opgegeven telling. De stroom Persoonsaccount ondersteunen:

    • Als Primair lid wordt voorgesteld als een persoonsaccount, wordt de Person Account Id van het lid ingesteld als de account van het beleid.

    • Als Primair lid wordt voorgesteld als een persoonsaccount, is ID van primaire deelnemersaccount van primaire InsurancePolicyParticipant ID van persoonsaccount van primair lid en ID van contactpersoon van primaire deelnemer personAccount.personContactId.

    • Als Primair lid van de afhankelijke wordt voorgesteld als Persoonsaccount, is ID van primaire deelnemersaccount van de InsurancePolicyParticipant van de afhankelijke ID van de persoonsaccount van het primaire lid.

    • ID van contactpersoon van primaire deelnemer van de InsurancePolicyParticipant van de afhankelijke is de personAccount.personContactId van het primaire lid.

    • Als afhankelijk wordt voorgesteld als een persoonsaccount, is ID van gerelateerde deelnemersaccount van de InsurancePolicyParticipant van afhankelijke ID van persoonsaccount van gerelateerd lid.

    • Als afhankelijk wordt weergegeven als een persoonsaccount, is de InsurancePolicyParticipant van de gerelateerde contactpersoons-ID van de deelnemer de personAccount.personContactId van het gerelateerde lid.

    Stroom voor niet-persoonsaccount

    • Als Primair lid wordt voorgesteld als een contactpersoon, wordt de Account.Id van het lid ingesteld als de account van het beleid.

    • Als Primair lid wordt voorgesteld als een contactpersoon, is Contactpersoons-ID van primaire deelnemer van primaire InsurancePolicyParticipant ID van primaire lid.

    • Als Primair lid van de afhankelijke persoon wordt voorgesteld als Contactpersoon, is ID van contactpersoon van primaire deelnemer van InsurancePolicyParticipant de contactpersoon-ID van het primaire lid.

    • als afhankelijk wordt weergegeven als Contactpersoon, is ID van contactpersoon van gerelateerde deelnemer van InsurancePolicyParticipant de contactpersoon-ID van het primaire lid.

  4. Haalt de ProductId van het plan op en stempelt InsurancePolicy.ProductId = plan.Product2Id.

  5. Maakt deze relaties:

    Insurance Policy (Verzekeringspolis)

    InsurancePolicy.EffectiveDate= Contract.StartDate of de EffectiveStart in de invoer-JSON.

    InsurancePolicy.ExpirationDate = Contract.EndDate of de EffectiveEnd in de invoer-JSON.

    InsurancePolicy.ContractLineItemId__c = Plan.Id

  6. De service berekent InsurancePolicy.PolicyTerm op basis van Contract.ContractTerm:

    Insurance Policy (Verzekeringspolis)

     ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.

    ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual

    ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly

    ContractTerm = Elke andere waarde, InsurancePolicy.PolicyTerm= Aangepast.

  7. Haalt de Price op uit de invoer-JSON en maakt deze relaties:

    Insurance Policy (Verzekeringspolis)

    InsurancePolicy.PremiumAmount = Prijs

    InsurancePolicy.TermPremiumAmount = pro rata prijs op basis van de ingangsdatums opgegeven in #5.

    InsurancePolicy.MonthlyPremium__c = Prijs/contractvoorwaarde

  8. Maakt verzekeringspolisdekkingen (InsurancePolicyCoverages) voor de dekkingsitems.

Hoe het werkt voor activa

  1. De service neemt de invoer-JSON en zoekt naar de informatie om de beleidsvormen (activa) te maken.

    defaultIsFSCOption

    parameter isFsc

    Gemaakte polissen

    True (Waar)

    N.v.t.

    Records Verzekeringspolis (InsurancePolicy)

    False (Onwaar)

    True (Waar)

    Records Verzekeringspolis (InsurancePolicy)

    False (Onwaar)

    False (Onwaar)

    Activumrecords (Asset)

    N.v.t.

    True (Waar)

    Records Verzekeringspolis (InsurancePolicy)

    N.v.t.

    False (Onwaar)

    Activumrecords (Asset)

  2. Koppelt de contactId van het primaire lid aan het beleid als contactpersoon.

  3. Stempelt de accountId van het inschrijvingscontract af als Account van de polis.

  4. Neemt de RawPriceData of de RateBandTierPriceData uit de invoer-JSON en stempelt deze naar het veld Asset.PricingLogData__c.

  5. Haalt de ProductId van het plan op en stempelt Asset.Product2Id = plan.Product2Id__c.

  6. Maakt de volgende relaties:

    Activa

    Asset.EffectiveDate__c = Contract.StartDate of EffectiveStart in de invoer-JSON.

    Asset.ExpirationDate__c = Contract.EndDate of de EffectiveEnd in de invoer-JSON.

    Asset.BenefitPlanId__c = Plan.Id

  7. De service berekent Asset.Term__c op basis van Contract.ContractTerm:

    Activa

    ContractTerm = 12, Asset.Term__c = Annual.

    ContractTerm = 6, Asset.Term__c = Semi-Annual

    ContractTerm = 1, Asset.Term__c = Monthly

    ContractTerm = Elke andere waarde, Asset.Term__c = Aangepast.

  8. Haalt de Price op uit de invoer-JSON en maakt deze relaties:

    Activa

    Asset.StandardPremium__c = Prijs

    Asset.TotalPremiumTerm__c = pro rata prijs op basis van de ingangsdatums opgegeven in #7

    Asset.AnnualPremium__c = Price/ContractTerm*12

    Asset.MonthlyPremium__c = Prijs/contractvoorwaarde

  9. Koppelt afhankelijk van het beleid als Held Product Relationships (AssetPartyRelationship__c). Tijdens het maken van een activumpartijrelatie voor afhankelijken moet de partyId worden opgegeven in het afhankelijke knooppunt.

    Opmerking
    Opmerking

    Er wordt een andere deelnemer van verzekeringspolis (InsurancePolicyParticipant) gemaakt voor het primaire lid, maar er wordt geen record gemaakt voor het primaire lid in Held Product Relationship (AssetPartyRelationship__c).

  10. Maakt Polisdekkingen (AssetCoverage__c) voor de dekkingsitems.

Externe opties

Optie

Beschrijving

inputKey

Verplicht.

De sleutel tot een vooraf getransformeerde JSON-structuur die informatie bevat die de service nodig heeft.

memberPlanIntegrationProcedure

Initieert een aangepaste integratieprocedure op basis van de gebruikersconfiguratie. Wanneer u deze optie gebruikt, geeft deze alle opties van de service door aan de aangepaste integratieprocedure en alle polis-ID's als invoer voor integratie met het object, bijvoorbeeld het verzekeringspolisobject met het ledenplan.

Invoer-JSON

De service gebruikt de invoer-JSON die door de inputKey is opgegeven. In dit voorbeeld is inputKey = enrollmentJson.

De service vereist:

  • contractId: <waarde>

  • Dependents: <lijst van kaarten voor contactId en relationshipType van de afhankelijken>.

    Opmerking
    Opmerking

    Als tijdens het gebruik van de service enrollPlans Asset en AssetPartyRelationship afhankelijke personen worden doorgegeven in enrollmentJson, moet de corresponderende partyId worden opgegeven.

  • Product-JSON-structuurmodel inclusief kenmerken en onderliggende producten

Deze invoer-JSON kan een lijst van objecten of een kaart hebben, omdat de service het maken van één beleid of meerdere beleid ondersteunt.

Ter ondersteuning van Persoonsaccount-ID is primaryMemberId een nieuw knooppunt dat aan de enrollmentJson is toegevoegd. Het ondersteunt zowel Persoonsaccount-ID als ContactId voor terugwaartse compatibiliteit. Op basis van het type primaryMemberId Id werken de services zoals beschreven in de servicebeschrijving.

Op soortgelijke wijze wordt voor afhankelijken het knooppunt memberId toegevoegd. Het ondersteunt zowel Persoonsaccount-ID als Contactpersoons-ID voor terugwaartse compatibiliteit. Op basis van het type memberId Id werken de services zoals beschreven in de servicebeschrijving.

In dit voorbeeld omvat de JSON drie beleidsvormen.

{
   "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"
                                 }
                              ]
                           }
                        }
                     ]
                  }
               }
            ]
         }
      }
   ]
}

Uitvoer-JSON

De lijst van beleidsvormen die door de service zijn gemaakt.

assetIds

InsurancePolicy-record-ID's voor verzekeringspolisrecords.

Activumrecord-ID's voor activumrecords.

policyIds

InsurancePolicy-record-ID's. Alleen gegenereerd voor verzekeringspolisrecords.

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