breadcrumbDescription
InsEnrollmentService:enrollPlans
Brug denne tjeneste til at oprette policeregistreringer (Aktiv- eller Forsikringspolice) for tilmeldte valgte medicinske, tandlægemæssige, synsmæssige og andre planer.
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:
-
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) -
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.
-
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
InsurancePolicyParticipantsudfyldes efter følgende regler: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 Idsom 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 erpersonAccount.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
InsurancePolicyParticipantdet primære medlems personkonto-id. -
Id for den underordnedes
InsurancePolicyParticipanter det primære medlemspersonAccount.personContactId. -
Hvis afhængig repræsenteres som en personkonto, så er Id for relateret deltagerkonto for den afhængiges
InsurancePolicyParticipantdet relaterede medlems personkonto-id. -
Hvis den afhængige er repræsenteret som en personkonto, vil Id for relateret deltagerkontakt for den afhængiges
InsurancePolicyParticipantvære det relaterede medlemspersonAccount.personContactId.
-
Hvis primært medlem vises som en kontakt, indstilles medlemmets
Account.Idsom 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
InsurancePolicyParticipantprimære deltagerkontakt-id det primære medlems kontakt-id. -
Hvis afhængig vises som Kontakt, er Id for relateret deltagerkontakt for
InsurancePolicyParticipantdet primære medlems kontakt-id.
-
-
Henter
ProductIdfra planen og stemplerInsurancePolicy.ProductId=plan.Product2Id. -
Opretter disse relationer:
Forsikringspolice
InsurancePolicy.EffectiveDate=Contract.StartDateeller EffectiveStart i input-JSON.InsurancePolicy.ExpirationDate=Contract.EndDateeller EffectiveEnd i input-JSON.InsurancePolicy.ContractLineItemId__c=Plan.Id -
Tjenesten beregner
InsurancePolicy.PolicyTermbaseret 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).
-
Henter
Pricenøglen fra input-JSON og opretter disse relationer:Forsikringspolice
InsurancePolicy.PremiumAmount= PrisInsurancePolicy.TermPremiumAmount= pro rata pris baseret på de ikrafttrædelsesdatoer, der er angivet i nr. 5.InsurancePolicy.MonthlyPremium__c= Pris/ContractTerm -
Opretter
InsurancePolicyCoverages(Insurance Policy Coverages) for dekkede elementer.
Sådan fungerer det for aktiver
-
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) -
Tilknytter det primære medlems
contactIdtil politikken som en kontakt. -
Stempler tilmeldingskontraktens
accountIdsom policens konto. -
Henter
RawPriceData- ellerRateBandTierPriceData-nøglen fra input-JSON og stempler den tilAsset.PricingLogData__c-feltet. -
Henter
ProductIdfra planen og stemplerAsset.Product2Id=plan.Product2Id__c. -
Opretter følgende relationer:
Aktiver
Asset.EffectiveDate__c=Contract.StartDateeller EffectiveStart i input-JSON.Asset.ExpirationDate__c=Contract.EndDateeller EffectiveEnd i input-JSON.Asset.BenefitPlanId__c=Plan.Id -
Tjenesten beregner
Asset.Term__cbaseret 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.
-
Henter
Pricenøglen fra input-JSON og opretter disse relationer:Aktiver
Asset.StandardPremium__c= PrisAsset.TotalPremiumTerm__c= pro rata pris baseret på de ikrafttrædelsesdatoer, der er angivet i nr. 7Asset.AnnualPremium__c= Pris/ContractTerm*12Asset.MonthlyPremium__c= Pris/ContractTerm -
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ærkDer 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). -
Opretter policedækninger (
AssetCoverage__c) for dækningselementerne.
Fjernindstillinger
Indstilling |
Beskrivelse |
|---|---|
|
Påkrævet. Nøglen til en prætransformeret JSON-struktur, der indeholder oplysninger, som tjenesten har brug for. |
|
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ærkMens 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"
]
}