U bent hier:
InsEnrollmentService:enrollPlans
Gebruik deze service om polisrecords (Activum of Verzekeringspolis) te maken voor geselecteerde medische, tandheelkundige, gezichtsvermogens- en andere plannen van ingeschrevenen.
Methode: enrollPlans
Hoe het werkt voor verzekeringspolisrecords
Registratieservices kunnen schrijven naar de Verzekeringspolis en gerelateerde objecten (gegevensmodel Geharmoniseerde polis) of Activumobjecten (Vlocity-model) , afhankelijk van de parameter isFsc en de aangepaste instelling voor defaultIsFSCOption. De service doet het volgende:
-
De service neemt de invoer-JSON en zoekt naar de informatie om de polissen te maken (Verzekeringspolis).
defaultIsFSCOption
parameter isFsc
Gemaakte polissen
True (Waar)
N.v.t.
Records Verzekeringspolis (
InsurancePolicy)False (Onwaar)
True (Waar)
Records Verzekeringspolis (
InsurancePolicy)False (Onwaar)
False (Onwaar)
Activumrecords (
Asset)N.v.t.
True (Waar)
Records Verzekeringspolis (
InsurancePolicy)N.v.t.
False (Onwaar)
Activumrecords (
Asset) -
Voor de record Verzekeringspolis kan het lid worden voorgesteld als een contactpersoon of een persoonsaccount. Wanneer een lid (primair of afhankelijk) wordt voorgesteld als een account en contact opneemt met beide, gebruikt de service de accountvertegenwoordiging.
-
Koppelt afhankelijk van de polissen als Deelnemers van verzekeringspolis (
InsurancePolicyParticipants). Hiermee wordt een andere deelnemer van verzekeringspolis (InsurancePolicyParticipant) gemaakt voor het primaire lid.De records voor
InsurancePolicyParticipantsworden ingevuld volgens deze regels:U kunt persoonsaccounts maken voor de leden in de opgegeven telling. De stroom Persoonsaccount ondersteunen:
-
Als Primair lid wordt voorgesteld als een persoonsaccount, wordt de
Person Account Idvan het lid ingesteld als de account van het beleid. -
Als Primair lid wordt voorgesteld als een persoonsaccount, is ID van primaire deelnemersaccount van primaire
InsurancePolicyParticipantID van persoonsaccount van primair lid en ID van contactpersoon van primaire deelnemerpersonAccount.personContactId. -
Als Primair lid van de afhankelijke wordt voorgesteld als Persoonsaccount, is ID van primaire deelnemersaccount van de
InsurancePolicyParticipantvan de afhankelijke ID van de persoonsaccount van het primaire lid. -
ID van contactpersoon van primaire deelnemer van de
InsurancePolicyParticipantvan de afhankelijke is depersonAccount.personContactIdvan het primaire lid. -
Als afhankelijk wordt voorgesteld als een persoonsaccount, is ID van gerelateerde deelnemersaccount van de
InsurancePolicyParticipantvan afhankelijke ID van persoonsaccount van gerelateerd lid. -
Als afhankelijk wordt weergegeven als een persoonsaccount, is de
InsurancePolicyParticipantvan de gerelateerde contactpersoons-ID van de deelnemer depersonAccount.personContactIdvan het gerelateerde lid.
Stroom voor niet-persoonsaccount
-
Als Primair lid wordt voorgesteld als een contactpersoon, wordt de
Account.Idvan het lid ingesteld als de account van het beleid. -
Als Primair lid wordt voorgesteld als een contactpersoon, is Contactpersoons-ID van primaire deelnemer van primaire
InsurancePolicyParticipantID van primaire lid. -
Als Primair lid van de afhankelijke persoon wordt voorgesteld als Contactpersoon, is ID van contactpersoon van primaire deelnemer van
InsurancePolicyParticipantde contactpersoon-ID van het primaire lid. -
als afhankelijk wordt weergegeven als Contactpersoon, is ID van contactpersoon van gerelateerde deelnemer van
InsurancePolicyParticipantde contactpersoon-ID van het primaire lid.
-
-
Haalt de
ProductIdvan het plan op en stempeltInsurancePolicy.ProductId=plan.Product2Id. -
Maakt deze relaties:
Insurance Policy (Verzekeringspolis)
InsurancePolicy.EffectiveDate=Contract.StartDateof de EffectiveStart in de invoer-JSON.InsurancePolicy.ExpirationDate=Contract.EndDateof de EffectiveEnd in de invoer-JSON.InsurancePolicy.ContractLineItemId__c=Plan.Id -
De service berekent
InsurancePolicy.PolicyTermop basis vanContract.ContractTerm:Insurance Policy (Verzekeringspolis)
ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.
ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual
ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly
ContractTerm = Elke andere waarde, InsurancePolicy.PolicyTerm= Aangepast.
-
Haalt de
Priceop uit de invoer-JSON en maakt deze relaties:Insurance Policy (Verzekeringspolis)
InsurancePolicy.PremiumAmount= PrijsInsurancePolicy.TermPremiumAmount= pro rata prijs op basis van de ingangsdatums opgegeven in #5.InsurancePolicy.MonthlyPremium__c= Prijs/contractvoorwaarde -
Maakt verzekeringspolisdekkingen (
InsurancePolicyCoverages) voor de dekkingsitems.
Hoe het werkt voor activa
-
De service neemt de invoer-JSON en zoekt naar de informatie om de beleidsvormen (activa) te maken.
defaultIsFSCOption
parameter isFsc
Gemaakte polissen
True (Waar)
N.v.t.
Records Verzekeringspolis (
InsurancePolicy)False (Onwaar)
True (Waar)
Records Verzekeringspolis (
InsurancePolicy)False (Onwaar)
False (Onwaar)
Activumrecords (
Asset)N.v.t.
True (Waar)
Records Verzekeringspolis (
InsurancePolicy)N.v.t.
False (Onwaar)
Activumrecords (
Asset) -
Koppelt de
contactIdvan het primaire lid aan het beleid als contactpersoon. -
Stempelt de
accountIdvan het inschrijvingscontract af als Account van de polis. -
Neemt de
RawPriceDataof deRateBandTierPriceDatauit de invoer-JSON en stempelt deze naar het veldAsset.PricingLogData__c. -
Haalt de
ProductIdvan het plan op en stempeltAsset.Product2Id=plan.Product2Id__c. -
Maakt de volgende relaties:
Activa
Asset.EffectiveDate__c=Contract.StartDateof EffectiveStart in de invoer-JSON.Asset.ExpirationDate__c=Contract.EndDateof de EffectiveEnd in de invoer-JSON.Asset.BenefitPlanId__c=Plan.Id -
De service berekent
Asset.Term__cop basis vanContract.ContractTerm:Activa
ContractTerm = 12, Asset.Term__c = Annual.
ContractTerm = 6, Asset.Term__c = Semi-Annual
ContractTerm = 1, Asset.Term__c = Monthly
ContractTerm = Elke andere waarde, Asset.Term__c = Aangepast.
-
Haalt de
Priceop uit de invoer-JSON en maakt deze relaties:Activa
Asset.StandardPremium__c= PrijsAsset.TotalPremiumTerm__c= pro rata prijs op basis van de ingangsdatums opgegeven in #7Asset.AnnualPremium__c= Price/ContractTerm*12Asset.MonthlyPremium__c= Prijs/contractvoorwaarde -
Koppelt afhankelijk van het beleid als Held Product Relationships (
AssetPartyRelationship__c). Tijdens het maken van een activumpartijrelatie voor afhankelijken moet de partyId worden opgegeven in het afhankelijke knooppunt.OpmerkingEr wordt een andere deelnemer van verzekeringspolis (
InsurancePolicyParticipant) gemaakt voor het primaire lid, maar er wordt geen record gemaakt voor het primaire lid in Held Product Relationship (AssetPartyRelationship__c). -
Maakt Polisdekkingen (
AssetCoverage__c) voor de dekkingsitems.
Externe opties
Optie |
Beschrijving |
|---|---|
|
Verplicht. De sleutel tot een vooraf getransformeerde JSON-structuur die informatie bevat die de service nodig heeft. |
|
Initieert een aangepaste integratieprocedure op basis van de gebruikersconfiguratie. Wanneer u deze optie gebruikt, geeft deze alle opties van de service door aan de aangepaste integratieprocedure en alle polis-ID's als invoer voor integratie met het object, bijvoorbeeld het verzekeringspolisobject met het ledenplan. |
Invoer-JSON
De service gebruikt de invoer-JSON die door de inputKey is opgegeven. In dit voorbeeld is inputKey = enrollmentJson.
De service vereist:
-
contractId: <waarde> -
Dependents: <lijst van kaarten voor contactId en relationshipType van de afhankelijken>.OpmerkingAls tijdens het gebruik van de service enrollPlans Asset en AssetPartyRelationship afhankelijke personen worden doorgegeven in enrollmentJson, moet de corresponderende partyId worden opgegeven.
-
Product-JSON-structuurmodel inclusief kenmerken en onderliggende producten
Deze invoer-JSON kan een lijst van objecten of een kaart hebben, omdat de service het maken van één beleid of meerdere beleid ondersteunt.
Ter ondersteuning van Persoonsaccount-ID is primaryMemberId een nieuw knooppunt dat aan de enrollmentJson is toegevoegd. Het ondersteunt zowel Persoonsaccount-ID als ContactId voor terugwaartse compatibiliteit. Op basis van het type primaryMemberId Id werken de services zoals beschreven in de servicebeschrijving.
Op soortgelijke wijze wordt voor afhankelijken het knooppunt memberId toegevoegd. Het ondersteunt zowel Persoonsaccount-ID als Contactpersoons-ID voor terugwaartse compatibiliteit. Op basis van het type memberId Id werken de services zoals beschreven in de servicebeschrijving.
In dit voorbeeld omvat de JSON drie beleidsvormen.
{
"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"
}
]
}
}
]
}
}
]
}
}
]
}Uitvoer-JSON
De lijst van beleidsvormen die door de service zijn gemaakt.
assetIds |
InsurancePolicy-record-ID's voor verzekeringspolisrecords. Activumrecord-ID's voor activumrecords. |
|---|---|
policyIds |
InsurancePolicy-record-ID's. Alleen gegenereerd voor verzekeringspolisrecords. |
{
"assetIds":[
{
"assetId":"0036F00002Q4wlSQAR"
},
{
"assetId":"0036F00002Q4wlSQAQ"
}
],
"policyIds":[
"0036F00002Q4wlSQAR",
"0036F00002Q4wlSQAQ"
]
}