Loading
Forsikring
InsEnrollmentService:enrollPlans

InsEnrollmentService:enrollPlans

Brug denne tjeneste til at oprette policeregistreringer (Aktiv- eller Forsikringspolice) for tilmeldte valgte medicinske, tandlægemæssige, synsmæssige og andre planer.

Vigtigt
Vigtigt Fra og med Winter '23 har vi InsEnrollmentServiceStd:enrollPlans-tjenesten aktiveret til at fungere med Salesforce Standard Data Model til Financial Services Cloud og Health Cloud. Eksisterende kunder kan fortsætte med at bruge denne tjeneste, men der leveres ingen yderligere forbedringer i den administrerede forsikringspakke.

Kategori: InsEnrollmentService

Metode: enrollPlans

Sådan fungerer det for forsikringspoliceregistreringer

Tilmeldingstjenester kan enten skrive til Forsikringspolicen og relaterede objekter (Harmoniseret policedatamodel) eller Aktivobjekter (Vlocity-model) afhængigt af isFsc-parameteren og den tilpassede indstilling for defaultIsFSCOption. Tjenesten gør følgende:

  1. Tjenesten tager input-JSON'en og søger efter oplysningerne for at oprette policerne (forsikringspolice).

    defaultIsFSCOption

    isFsc-parameter

    Politikker oprettet

    Sand

    NA

    Forsikringspolicer (InsurancePolicy)

    Falsk

    Sand

    Forsikringspolicer (InsurancePolicy)

    Falsk

    Falsk

    Aktivregistreringer (Asset)

    NA

    Sand

    Forsikringspolicer (InsurancePolicy)

    NA

    Falsk

    Aktivregistreringer (Asset)

  2. For forsikringspoliceregistrering kan medlemmet blive repræsenteret enten som en kontakt eller som en personkonto. Når et medlem (primært eller afhængigt) vises som en konto og kontakt begge, bruger tjenesten kontorepræsentationen.

  3. Tilknytter afhængige til policerne som Deltagere i forsikringspolice (InsurancePolicyParticipants). Den opretter endnu en deltager i forsikringspolicen (InsurancePolicyParticipant) for det primære medlem.

    Registreringerne for InsurancePolicyParticipants udfyldes efter følgende regler:

    Personkontoforløb

    Du kan oprette personkonti for medlemmerne i den angivne optælling. Hvis du vil understøtte forløbet Personkonto:

    • Hvis Primært medlem vises som en personkonto, indstilles medlemmets Person Account Id som policens konto.

    • Hvis Primært medlem repræsenteres som en personkonto, så er Id for primær deltagerkonto for primær InsurancePolicyParticipant-registrering det primære medlems personkonto-id og Id for primær deltagerkontakt er personAccount.personContactId.

    • Hvis det primære medlem af den afhængige er repræsenteret som personkonto, så er det primære deltagerkonto-id for den afhængiges InsurancePolicyParticipant det primære medlems personkonto-id.

    • Id for den underordnedes InsurancePolicyParticipant er det primære medlems personAccount.personContactId.

    • Hvis afhængig repræsenteres som en personkonto, så er Id for relateret deltagerkonto for den afhængiges InsurancePolicyParticipant det relaterede medlems personkonto-id.

    • Hvis den afhængige er repræsenteret som en personkonto, vil Id for relateret deltagerkontakt for den afhængiges InsurancePolicyParticipant være det relaterede medlems personAccount.personContactId.

    Forløb for ikke-personkonti

    • Hvis primært medlem vises som en kontakt, indstilles medlemmets Account.Id som policens konto.

    • Hvis primært medlem repræsenteres som en kontakt, er Id for primær deltagerkontakt for primær InsurancePolicyParticipant-registrering det primære medlems kontakt-id.

    • Hvis den afhængiges primære medlem vises som Kontakt, er InsurancePolicyParticipant primære deltagerkontakt-id det primære medlems kontakt-id.

    • Hvis afhængig vises som Kontakt, er Id for relateret deltagerkontakt for InsurancePolicyParticipant det primære medlems kontakt-id.

  4. Henter ProductId fra planen og stempler InsurancePolicy.ProductId = plan.Product2Id.

  5. Opretter disse relationer:

    Forsikringspolice

    InsurancePolicy.EffectiveDate= Contract.StartDate eller EffectiveStart i input-JSON.

    InsurancePolicy.ExpirationDate = Contract.EndDate eller EffectiveEnd i input-JSON.

    InsurancePolicy.ContractLineItemId__c = Plan.Id

  6. Tjenesten beregner InsurancePolicy.PolicyTerm baseret på Contract.ContractTerm:

    Forsikringspolice

     ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.

    ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual

    ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly

    ContractTerm = Enhver anden værdi, InsurancePolicy.PolicyTerm= Custom (Tilpasset).

  7. Henter Price nøglen fra input-JSON og opretter disse relationer:

    Forsikringspolice

    InsurancePolicy.PremiumAmount = Pris

    InsurancePolicy.TermPremiumAmount = pro rata pris baseret på de ikrafttrædelsesdatoer, der er angivet i nr. 5.

    InsurancePolicy.MonthlyPremium__c = Pris/ContractTerm

  8. Opretter InsurancePolicyCoverages (Insurance Policy Coverages) for dekkede elementer.

Sådan fungerer det for aktiver

  1. Tjenesten tager input-JSON'en og søger efter oplysningerne for at oprette politikkerne (aktiver).

    defaultIsFSCOption

    isFsc-parameter

    Politikker oprettet

    Sand

    NA

    Forsikringspolicer (InsurancePolicy)

    Falsk

    Sand

    Forsikringspolicer (InsurancePolicy)

    Falsk

    Falsk

    Aktivregistreringer (Asset)

    NA

    Sand

    Forsikringspolicer (InsurancePolicy)

    NA

    Falsk

    Aktivregistreringer (Asset)

  2. Tilknytter det primære medlems contactId til politikken som en kontakt.

  3. Stempler tilmeldingskontraktens accountId som policens konto.

  4. Henter RawPriceData- eller RateBandTierPriceData-nøglen fra input-JSON og stempler den til Asset.PricingLogData__c-feltet.

  5. Henter ProductId fra planen og stempler Asset.Product2Id = plan.Product2Id__c.

  6. Opretter følgende relationer:

    Aktiver

    Asset.EffectiveDate__c = Contract.StartDate eller EffectiveStart i input-JSON.

    Asset.ExpirationDate__c = Contract.EndDate eller EffectiveEnd i input-JSON.

    Asset.BenefitPlanId__c = Plan.Id

  7. Tjenesten beregner Asset.Term__c baseret på Contract.ContractTerm:

    Aktiver

    ContractTerm = 12, Asset.Term__c = Annual (Aktiv).

    ContractTerm = 6, Asset.Term__c = Semi-Annual (Aktiv).

    ContractTerm = 1, Asset.Term__c = Månedlig

    ContractTerm = Enhver anden værdi, Asset.Term__c = Custom.

  8. Henter Price nøglen fra input-JSON og opretter disse relationer:

    Aktiver

    Asset.StandardPremium__c = Pris

    Asset.TotalPremiumTerm__c = pro rata pris baseret på de ikrafttrædelsesdatoer, der er angivet i nr. 7

    Asset.AnnualPremium__c = Pris/ContractTerm*12

    Asset.MonthlyPremium__c = Pris/ContractTerm

  9. Tilknytter afhængige til politikker som Held Product Relationships (AssetPartyRelationship__c). Mens du opretter aktivpartsrelation for afhængige, skal partyId angives i afhængighedsnoden.

    Bemærk
    Bemærk

    Der oprettes endnu en deltager i forsikringspolicen (InsurancePolicyParticipant) for det primære medlem, men der oprettes ingen registrering for det primære medlem i Held Product Relationship (AssetPartyRelationship__c).

  10. Opretter policedækninger (AssetCoverage__c) for dækningselementerne.

Fjernindstillinger

Indstilling

Beskrivelse

inputKey

Påkrævet.

Nøglen til en prætransformeret JSON-struktur, der indeholder oplysninger, som tjenesten har brug for.

memberPlanIntegrationProcedure

Starter en tilpasset integrationsprocedure baseret på brugerkonfigurationen. Når du bruger denne indstilling, overfører den alle indstillinger for tjenesten til den tilpassede integrationsprocedure og alle police-id'er som input, der skal integreres med objektet, f.eks. objektet Forsikringspolice med medlemsplanen.

Input JSON

Tjenesten tager den input JSON, der er angivet af inputKey. I dette eksempel inputKey = enrollmentJson.

Tjenesten kræver:

  • contractId: <value>

  • Dependents: <Liste over kort for contactId og relationshipType for afhængige>.

    Bemærk
    Bemærk

    Mens du bruger enrollPlans-tjenesten til at generere Asset og AssetPartyRelationship, skal der angives det tilsvarende partyId, hvis afhængige overføres i enrollmentJson.

  • Produkt-JSON-strukturmodel inklusive attributter og underordnede produkter

Denne input-JSON kan enten have en liste over objekter eller et kort, da tjenesten understøtter oprettelse af enten en politik eller flere politikker.

For at understøtte personkonto-id er primaryMemberId en ny node føjet til enrollmentJson. Den understøtter både personkonto-id og ContactId for bagudkompatibilitet. Baseret på id-typen af primaryMemberId fungerer tjenesterne som beskrevet i servicebeskrivelsen.

På samme måde tilføjes memberId for afhængige. Den understøtter både personkonto-id og kontakt-id for bagudkompatibilitet. Baseret på id-typen af memberId fungerer tjenesterne som beskrevet i servicebeskrivelsen.

I dette eksempel indeholder JSON tre politikker.

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

Output JSON

Listen over policer, der er oprettet af tjenesten.

assetIds

InsurancePolicy-registrerings-id'er for forsikringspoliceregistreringer.

Id'er for aktivregistreringer for aktivregistreringer.

policyIds

InsurancePolicy-registrerings-id'er. Genereres kun for forsikringspoliceregistreringer.

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