Du är här:
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.
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:
-
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) -
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.
-
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
InsurancePolicyParticipantsfylls i enligt dessa regler: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 Idsom policyns konto. -
Om Primär medlem representeras som ett personkonto är Konto-ID för primär deltagare i primärs
InsurancePolicyParticipantPrimär medlems personkonto-ID och Kontakt-ID för primär deltagare ärpersonAccount.personContactId. -
Om Primär medlem i den beroende representeras som Personkonto är Primär deltagares konto-ID för den beroendes
InsurancePolicyParticipantPrimär medlem i personkonto-ID. -
Kontakt-ID för primär deltagare i beroendes
InsurancePolicyParticipantär Primär medlemspersonAccount.personContactId. -
Om den beroende representeras som ett personkonto är Konto-ID för relaterad deltagare för den beroendes
InsurancePolicyParticipantRelaterad medlems personkonto-ID. -
Om den beroende representeras som ett personkonto är Kontakt-ID för relaterade deltagare i den beroendes
InsurancePolicyParticipantRelaterad medlemspersonAccount.personContactId.
-
Om Primär medlem representeras som en Kontakt anges medlemmens
Account.Idsom policyns Konto. -
Om Primär medlem representeras som en kontakt är Primär deltagares kontakt-ID för den primära medlemmens
InsurancePolicyParticipantKontakt-ID. -
Om Primär medlem i den beroende representeras som Kontakt är Primär deltagares kontakt-ID för
InsurancePolicyParticipantPrimär medlem kontakt-ID. -
Om beroende representeras som Kontakt är ID för relaterad deltagares kontakt för
InsurancePolicyParticipantPrimär medlems kontakt-ID.
-
-
Hämtar
ProductIdfrån planen och stämplarInsurancePolicy.ProductId=plan.Product2Id. -
Skapar dessa relationer:
Försäkringspolicy
InsurancePolicy.EffectiveDate=Contract.StartDateeller EffectiveStart i indata-JSON.InsurancePolicy.ExpirationDate=Contract.EndDateeller EffectiveEnd i indata-JSON.InsurancePolicy.ContractLineItemId__c=Plan.Id -
Tjänsten beräknar
InsurancePolicy.PolicyTermbaserat 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.
-
Hämtar
Pricefrån indata-JSON och skapar dessa relationer:Försäkringspolicy
InsurancePolicy.PremiumAmount= PrisInsurancePolicy.TermPremiumAmount= beräknat pris baserat på de giltighetsdatum som anges i #5.InsurancePolicy.MonthlyPremium__c= Pris/Kontraktvillkor -
Skapar försäkringspolicytäckningar (
InsurancePolicyCoverages) för täckningsobjekten.
Hur det fungerar för tillgångar
-
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) -
Associerar den primära medlemmens
contactIdmed policyn som en kontakt. -
Stämplar registreringskontraktets
accountIdsom policyns Konto. -
Tar
RawPriceDataellerRateBandTierPriceDatafrån indata-JSON och stämplar den till fältetAsset.PricingLogData__c. -
Hämtar
ProductIdfrån planen och stämplarAsset.Product2Id=plan.Product2Id__c. -
Skapar följande relationer:
Tillgångar
Asset.EffectiveDate__c=Contract.StartDateeller EffectiveStart i indata-JSON.Asset.ExpirationDate__c=Contract.EndDateeller EffectiveEnd i indata-JSON.Asset.BenefitPlanId__c=Plan.Id -
Tjänsten beräknar
Asset.Term__cbaserat 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.
-
Hämtar
Pricefrån indata-JSON och skapar dessa relationer:Tillgångar
Asset.StandardPremium__c= PrisAsset.TotalPremiumTerm__c= beräknat pris baserat på de giltighetsdatum som anges i #7Asset.AnnualPremium__c= Price/ContractTerm*12Asset.MonthlyPremium__c= Price/ContractTerm -
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.AnteckningEn 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). -
Skapar policytäckningar (
AssetCoverage__c) för täckningsobjekten.
Fjärralternativ
Alternativ |
Beskrivning |
|---|---|
|
Obligatoriskt. Nyckeln till en förtransformerad JSON-struktur som innehåller information som tjänsten behöver. |
|
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>.AnteckningVid 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"
]
}