Du er her:
InsEnrollmentService:enrollPlans
Bruk denne tjenesten til å opprette poliseposter (Aktiva- eller Forsikringspolise) for registrerte valgte medisinske, dental, vision og andre planer.
Metode: enrollPlans
Slik fungerer det for Forsikringspolise-poster
Registreringstjenester kan skrive til Forsikringspolise og relaterte objekter (Harmonisert polisedatamodell) eller Aktivum-objekter (Vlocity-modell) , avhengig av isFsc-parameteren og den tilpassede innstillingen for defaultIsFSCOption. Tjenesten gjør følgende:
-
Tjenesten tar inndata-JSON-koden og ser etter informasjonen for å opprette polisene (Forsikringspolise).
defaultIsFSCOption
isFsc parameter
Policyer opprettet
True
NA
Forsikringspolise-poster (
InsurancePolicy)False
True
Forsikringspolise-poster (
InsurancePolicy)False
False
Aktivumposter (
Asset)NA
True
Forsikringspolise-poster (
InsurancePolicy)NA
False
Aktivumposter (
Asset) -
For Forsikringspolise-posten kan medlemmet representeres som enten en kontakt eller en personkonto. Når et medlem (primært eller avhengig) representeres som en konto og kontakt begge deler, bruker tjenesten kontorepresentasjonen.
-
Knytter avhengige til polisene som Forsikringspolisedeltakere (
InsurancePolicyParticipants). Den oppretter en annen Forsikringspolisedeltaker (InsurancePolicyParticipant) for det primære medlemmet.Postene for
InsurancePolicyParticipantsfylles ut i henhold til disse reglene:Du kan opprette personkontoer for medlemmene i den gitte folketellingen. For å støtte Personkonto-flyten:
-
Hvis Primært medlem representeres som en personkonto, angis medlemmets
Person Account Idsom policyens konto. -
Hvis Primært medlem representeres som en personkonto, er Primært deltakerkonto-ID i primærens
InsurancePolicyParticipant-post Primært medlems personkonto-ID og Primært deltakerkontakt-ID erpersonAccount.personContactId. -
Hvis Primært medlem av den avhengige er representert som Personkonto, er Primært deltakerkonto-ID i den avhengiges
InsurancePolicyParticipant-post det primære medlemmets personkonto-ID. -
Hoveddeltaker-kontakt-ID for den underordnedes
InsurancePolicyParticipant-post er hovedmedlemmetspersonAccount.personContactId. -
Hvis avhengig representeres som en personkonto, er Relatert deltakerkonto-ID for den avhengiges
InsurancePolicyParticipant-post Relatert medlems personkonto-ID. -
Hvis den avhengige er representert som en personkonto, er Relatert deltaker-kontakt-ID i den avhengiges
InsurancePolicyParticipantmedlemmetspersonAccount.personContactId.
-
Hvis Primært medlem representeres som en kontakt, angis medlemmets
Account.Idsom policyens konto. -
Hvis Primært medlem representeres som en kontakt, er Primært deltakerkontakt-ID i primærens
InsurancePolicyParticipant-post Primært medlems kontakt-ID. -
Hvis Primært medlem av den avhengige er representert som Kontakt, er Primært deltakerkontakt-ID for
InsurancePolicyParticipantdet primære medlemmets kontakt-ID. -
Hvis avhengig er representert som Kontakt, er Relatert deltaker-kontakt-ID for
InsurancePolicyParticipantprimærmedlemmets kontakt-ID.
-
-
Henter
ProductIdfra planen og stemplerInsurancePolicy.ProductId=plan.Product2Id. -
Oppretter disse relasjonene:
Forsikringspolise
InsurancePolicy.EffectiveDate=Contract.StartDateeller EffectiveStart i inndata-JSON-filen.InsurancePolicy.ExpirationDate=Contract.EndDateeller EffectiveEnd i inndata-JSON-filen.InsurancePolicy.ContractLineItemId__c=Plan.Id -
Tjenesten beregner
InsurancePolicy.PolicyTermbasert påContract.ContractTerm:Forsikringspolise
ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.
ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual
ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly
ContractTerm = Eventuell annen verdi, InsurancePolicy.PolicyTerm= Tilpasset.
-
Henter
Price-nøkkelen fra inndata-JSON-filen og oppretter disse relasjonene:Forsikringspolise
InsurancePolicy.PremiumAmount= PrisInsurancePolicy.TermPremiumAmount= proporsjonal pris basert på gyldighetsdatoen angitt i #5.InsurancePolicy.MonthlyPremium__c= Price/ContractTerm -
Oppretter Forsikringspolisedekninger (
InsurancePolicyCoverages) for dekningselementene.
Slik fungerer den for aktiva
-
Tjenesten tar inndata-JSON-koden og ser etter informasjonen for å opprette policyene (aktivaene).
defaultIsFSCOption
isFsc parameter
Policyer opprettet
True
NA
Forsikringspolise-poster (
InsurancePolicy)False
True
Forsikringspolise-poster (
InsurancePolicy)False
False
Aktivumposter (
Asset)NA
True
Forsikringspolise-poster (
InsurancePolicy)NA
False
Aktivumposter (
Asset) -
Knytter det primære medlemmets
contactIdtil policyen som en kontakt. -
Stempler registreringskontraktens
accountIdsom polisens konto. -
Henter
RawPriceData-nøkkelen ellerRateBandTierPriceData-nøkkelen fra inndata-JSON-filen og stempler den tilAsset.PricingLogData__c-feltet. -
Henter
ProductIdfra planen og stemplerAsset.Product2Id=plan.Product2Id__c. -
Oppretter følgende relasjoner:
Aktiva
Asset.EffectiveDate__c=Contract.StartDateeller EffectiveStart i inndata-JSON-filen.Asset.ExpirationDate__c=Contract.EndDateeller EffectiveEnd i inndata-JSON-filen.Asset.BenefitPlanId__c=Plan.Id -
Tjenesten beregner
Asset.Term__cbasert påContract.ContractTerm:Aktiva
ContractTerm = 12, Asset.Term__c = Årlig.
ContractTerm = 6, Asset.Term__c = Halvårlig
ContractTerm = 1, Aktivum.Term__c = Månedlig
ContractTerm = En hvilken som helst annen verdi, Asset.Term__c = Custom.
-
Henter
Price-nøkkelen fra inndata-JSON-filen og oppretter disse relasjonene:Aktiva
Asset.StandardPremium__c= PrisAsset.TotalPremiumTerm__c= proporsjonal pris basert på gyldighetsdatoen angitt i #7Asset.AnnualPremium__c= Price/ContractTerm*12Asset.MonthlyPremium__c= Price/ContractTerm -
Knytter avhengige til policyene som Held Product Relationships (
AssetPartyRelationship__c). Når du oppretter aktivumpartsrelasjon for avhengige, må partyId oppgis i dependents-noden.MerkEn annen Forsikringspolisedeltaker (
InsurancePolicyParticipant) opprettes for det primære medlemmet, men ingen post opprettes for det primære medlemmet i Held Product Relationship (AssetPartyRelationship__c). -
Oppretter polisedekninger (
AssetCoverage__c) for dekningselementene.
Eksterne alternativer
Alternativ |
Beskrivelse |
|---|---|
|
Obligatorisk. Nøkkelen til en forhåndstransformert JSON-struktur som inneholder informasjon tjenesten trenger. |
|
Starter en tilpasset integreringsprosedyre basert på brukerkonfigurasjonen. Når du bruker dette alternativet, overføres alle alternativer for tjenesten til den tilpassede integrasjonsprosedyren og alle policy-ID-er som inndata for å integreres med objektet, for eksempel forsikringspoliseobjektet med medlemsplanen. |
Inndata-JSON
Tjenesten tar JSON-koden som er angitt av inputKey. I dette eksemplet er inputKey = enrollmentJson.
Tjenesten krever følgende:
-
contractId: <verdi> -
Dependents: <liste over kart for contactId og relationshipType av de avhengige>.MerkNår du bruker enrollPlans-tjenesten til å generere Asset og AssetPartyRelationship, må tilhørende partyId oppgis hvis avhengige overføres i enrollmentJson.
-
Produkt-JSON-strukturmodell inkludert attributter og underordnede produkter
Denne JSON-koden for inndata kan ha enten en liste over objekter eller et kart fordi tjenesten støtter opprettelse av én policy eller flere policyer.
For å støtte Personkonto-ID er primaryMemberId en ny node lagt til i enrollmentJson. Den støtter både Personkonto-ID og ContactId for bakoverkompatibilitet. Basert på id-typen primaryMemberId fungerer tjenestene som beskrevet i tjenestebeskrivelsen.
På samme måte legges memberId-node til for avhengige. Den støtter både personkonto-ID og kontakt-ID for bakoverkompatibilitet. Basert på id-typen memberId fungerer tjenestene som beskrevet i tjenestebeskrivelsen.
I dette eksemplet inkluderer JSON-koden 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"
}
]
}
}
]
}
}
]
}
}
]
}Utdata-JSON
Listen over policyer opprettet av tjenesten.
assetIds |
InsurancePolicy-post-ID-er for Forsikringspolise-poster. Aktivumpost-ID-er for Aktiva-poster. |
|---|---|
policyIds |
InsurancePolicy-post-ID-er. Genereres bare for Forsikringspolise-poster. |
{
"assetIds":[
{
"assetId":"0036F00002Q4wlSQAR"
},
{
"assetId":"0036F00002Q4wlSQAQ"
}
],
"policyIds":[
"0036F00002Q4wlSQAR",
"0036F00002Q4wlSQAQ"
]
}