Loading
Försäkring
InsEnrollmentService:enrollPlans

InsEnrollmentService:enrollPlans

Använd denna tjänst för att skapa policyposter (Tillgångs- eller Försäkringspolicy) för deltagare som valt medicinska planer, tandläkarplaner, synplaner och andra planer.

Viktig
Viktig Från och med utgåvan Winter '23 har vi tjänsten InsEnrollmentServiceStd:enrollPlans aktiverad för att arbeta med Salesforces standarddatamodell för Financial Services Cloud och Health Cloud. Befintliga kunder kan fortsätta använda denna tjänst, men inga ytterligare förbättringar kommer att tillhandahållas i det hanterade paketet Försäkring.

Klass: InsEnrollmentService

Metod: enrollPlans

Hur det fungerar för försäkringspolicyposter

Registreringstjänster kan antingen skriva till Försäkringspolicy och relaterade objekt (Harmoniserad policydatamodell) eller Tillgångsobjekt (Vlocity-modell) , beroende på isFsc och den egna inställningen för defaultIsFSCOption. Tjänsten gör följande:

  1. Tjänsten tar indata-JSON och letar efter information för att skapa policyerna (Försäkringspolicy).

    defaultIsFSCOption

    isFsc parameter

    Policyer skapade

    Sant

    NA

    Poster för försäkringspolicy (InsurancePolicy)

    Falskt

    Sant

    Poster för försäkringspolicy (InsurancePolicy)

    Falskt

    Falskt

    Tillgångsposter (Asset)

    NA

    Sant

    Poster för försäkringspolicy (InsurancePolicy)

    NA

    Falskt

    Tillgångsposter (Asset)

  2. För Försäkringspolicypost kan medlemmen representeras antingen som en kontakt eller ett personkonto. När en medlem (primär eller beroende) representeras som ett konto och kontaktar båda använder tjänsten kontorepresentationen.

  3. Associerar beroenden till policyerna som Deltagare i försäkringspolicy (InsurancePolicyParticipants). Det skapar en annan deltagare i försäkringspolicy (InsurancePolicyParticipant) för den primära medlemmen.

    Posterna för InsurancePolicyParticipants fylls i enligt dessa regler:

    Personkontoflöde

    Du kan skapa personkonton för medlemmarna i den givna folkräkningen. För att stödja flödet Personkonto:

    • Om Primär medlem representeras som ett personkonto anges medlemmens Person Account Id som policyns konto.

    • Om Primär medlem representeras som ett personkonto är Konto-ID för primär deltagare i primärs InsurancePolicyParticipant Primär medlems personkonto-ID och Kontakt-ID för primär deltagare är personAccount.personContactId.

    • Om Primär medlem i den beroende representeras som Personkonto är Primär deltagares konto-ID för den beroendes InsurancePolicyParticipant Primär medlem i personkonto-ID.

    • Kontakt-ID för primär deltagare i beroendes InsurancePolicyParticipant är Primär medlems personAccount.personContactId.

    • Om den beroende representeras som ett personkonto är Konto-ID för relaterad deltagare för den beroendes InsurancePolicyParticipant Relaterad medlems personkonto-ID.

    • Om den beroende representeras som ett personkonto är Kontakt-ID för relaterade deltagare i den beroendes InsurancePolicyParticipant Relaterad medlems personAccount.personContactId.

    Icke-personkontoflöde

    • Om Primär medlem representeras som en Kontakt anges medlemmens Account.Id som policyns Konto.

    • Om Primär medlem representeras som en kontakt är Primär deltagares kontakt-ID för den primära medlemmens InsurancePolicyParticipant Kontakt-ID.

    • Om Primär medlem i den beroende representeras som Kontakt är Primär deltagares kontakt-ID för InsurancePolicyParticipant Primär medlem kontakt-ID.

    • Om beroende representeras som Kontakt är ID för relaterad deltagares kontakt för InsurancePolicyParticipant Primär medlems kontakt-ID.

  4. Hämtar ProductId från planen och stämplar InsurancePolicy.ProductId = plan.Product2Id.

  5. Skapar dessa relationer:

    Försäkringspolicy

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

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

    InsurancePolicy.ContractLineItemId__c = Plan.Id

  6. Tjänsten beräknar InsurancePolicy.PolicyTerm baserat på Contract.ContractTerm:

    Försäkringspolicy

     ContractTerm = 12, InsurancePolicy.PolicyTerm= Årlig.

    ContractTerm = 6, InsurancePolicy.PolicyTerm= Halvårsvis

    ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly

    ContractTerm = Alla andra värden, InsurancePolicy.PolicyTerm= Egen.

  7. Hämtar Price från indata-JSON och skapar dessa relationer:

    Försäkringspolicy

    InsurancePolicy.PremiumAmount = Pris

    InsurancePolicy.TermPremiumAmount = beräknat pris baserat på de giltighetsdatum som anges i #5.

    InsurancePolicy.MonthlyPremium__c = Pris/Kontraktvillkor

  8. Skapar försäkringspolicytäckningar (InsurancePolicyCoverages) för täckningsobjekten.

Hur det fungerar för tillgångar

  1. Tjänsten tar indata-JSON och letar efter information för att skapa policyerna (tillgångarna).

    defaultIsFSCOption

    isFsc parameter

    Policyer skapade

    Sant

    NA

    Poster för försäkringspolicy (InsurancePolicy)

    Falskt

    Sant

    Poster för försäkringspolicy (InsurancePolicy)

    Falskt

    Falskt

    Tillgångsposter (Asset)

    NA

    Sant

    Poster för försäkringspolicy (InsurancePolicy)

    NA

    Falskt

    Tillgångsposter (Asset)

  2. Associerar den primära medlemmens contactId med policyn som en kontakt.

  3. Stämplar registreringskontraktets accountId som policyns Konto.

  4. Tar RawPriceData eller RateBandTierPriceData från indata-JSON och stämplar den till fältet Asset.PricingLogData__c.

  5. Hämtar ProductId från planen och stämplar Asset.Product2Id = plan.Product2Id__c.

  6. Skapar följande relationer:

    Tillgångar

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

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

    Asset.BenefitPlanId__c = Plan.Id

  7. Tjänsten beräknar Asset.Term__c baserat på Contract.ContractTerm:

    Tillgångar

    ContractTerm = 12, Asset.Term__c = Annual.

    ContractTerm = 6, Tillgång.Term__c = Halvårlig

    ContractTerm = 1, Tillgång.Term__c = Varje månad

    ContractTerm = Alla andra värden, Asset.Term__c = Egen.

  8. Hämtar Price från indata-JSON och skapar dessa relationer:

    Tillgångar

    Asset.StandardPremium__c = Pris

    Asset.TotalPremiumTerm__c = beräknat pris baserat på de giltighetsdatum som anges i #7

    Asset.AnnualPremium__c = Price/ContractTerm*12

    Asset.MonthlyPremium__c = Price/ContractTerm

  9. Associerar beroenden till policyerna som Hållna produktrelationer (AssetPartyRelationship__c). När tillgångspartrelationer skapas för beroenden måste partyId anges i noden beroenden.

    Anteckning
    Anteckning

    En annan deltagare i försäkringspolicy (InsurancePolicyParticipant) skapas för den primära medlemmen, men ingen post skapas för den primära medlemmen i en innehavd produktrelation (AssetPartyRelationship__c).

  10. Skapar policytäckningar (AssetCoverage__c) för täckningsobjekten.

Fjärralternativ

Alternativ

Beskrivning

inputKey

Obligatoriskt.

Nyckeln till en förtransformerad JSON-struktur som innehåller information som tjänsten behöver.

memberPlanIntegrationProcedure

Inleder en egen integreringsprocess baserat på användarkonfigurationen. När du använder detta alternativ skickas alla alternativ för tjänsten till den egna integreringsprocessen och alla policy-ID:n som indata för att integrera med objektet, till exempel försäkringspolicyobjektet med medlemsplanen.

Indata-JSON

Tjänsten tar den JSON för indata som specificerats av inputKey. I detta exempel är inputKey = enrollmentJson.

Tjänsten kräver:

  • contractId: <värde>

  • Dependents: <lista över kartor för contactId och relationshipType för de beroende>.

    Anteckning
    Anteckning

    Vid användning av enrollPlans-tjänsten för att skapa Asset och AssetPartyRelationship, om beroenden skickas i enrollmentJson, måste motsvarande partyId anges.

  • Strukturmodell för produkt-JSON inklusive attribut och underordnade produkter

Denna JSON för indata kan antingen ha en lista över objekt eller en karta, eftersom tjänsten har stöd för att skapa antingen en policy eller flera policyer.

För att stödja personkonto-ID är primaryMemberId en ny nod som läggs till i enrollmentJson. Den har stöd för både Personkonto-ID och ContactId för bakåtkompatibilitet. Baserat på Id-typ av primaryMemberId fungerar tjänsterna enligt beskrivningen i servicebeskrivningen.

På samma sätt läggs memberId till för beroenden. Den har stöd för både personkonto-ID och kontakt-ID för bakåtkompatibilitet. Baserat på Id-typ av memberId fungerar tjänsterna enligt beskrivningen i servicebeskrivningen.

I detta exempel inkluderar JSON tre policyer.

{
   "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 för utdata

Listan över policyer som skapats av tjänsten.

assetIds

InsurancePolicy-post-ID:n för försäkringspolicyposter.

ID:n för tillgångsposter för tillgångsposter.

policyIds

Post-ID:n för InsurancePolicy. Skapas endast för försäkringspolicyposter.

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