Вы находитесь здесь:
InsEnrollmentService:enrollPlans
Используйте эту службу для создания записей полиса (актива или страхового полиса) для выбранных участником планов медицинского, стоматологического, зрения и других.
Метод: enrollPlans
Принцип работы записей страховых полисов
Службы регистрации могут либо записывать в страховой полис и связанные объекты (гармонизированная модель данных полиса), либо в объекты актива (модель Vlocity) , в зависимости от параметра isFsc и настраиваемого параметра для defaultIsFSCOption. Служба выполняет следующие действия:
-
Служба берет вводные данные JSON и ищет сведения для создания полисов (страховой полис).
defaultIsFSCOption
Параметр isFsc
Созданные полисы
True
Недоступно
Записи страхового полиса (
InsurancePolicy)False
True
Записи страхового полиса (
InsurancePolicy)False
False
Записи активов (
Asset)Недоступно
True
Записи страхового полиса (
InsurancePolicy)Недоступно
False
Записи активов (
Asset) -
В записи страхового полиса участник может быть представлен как контакт или организация-лицо. Когда участник (основной или зависимый) представлен в качестве организации и связывается с ними, служба использует представление организации.
-
Связывает зависимых с полисами как участников страховых полисов (
InsurancePolicyParticipants). Он создает еще одного участника страхового полиса (InsurancePolicyParticipant) для основного участника.Записи для
InsurancePolicyParticipantsзаполняются в соответствии со следующими правилами:Вы можете создать организации-лица для участников данной переписи. Для поддержки потока организации-лица:
-
Если Основной участник представлен в качестве организации-лица,
Person Account Idучастника устанавливается в качестве организации политики. -
Если основной участник представлен как организация-лицо, код организации основного участника записи
InsurancePolicyParticipantбудет кодом организации-лица основного участника, а код контакта основного участника -personAccount.personContactId. -
Если «Основной участник зависимой организации» представлен как «Организация-лицо», то «Код организации основного участника» записи
InsurancePolicyParticipantзависимой организации является «Код организации-лица основного участника». -
Код контакта основного участника записи
InsurancePolicyParticipantзависимого являетсяpersonAccount.personContactIdосновного участника. -
Если зависимый представлен как организация-лицо, код связанной организации-участника записи
InsurancePolicyParticipantзависимого является кодом организации-лица связанного участника. -
Если зависимый представлен как организация-лицо, код контакта связанного участника записи
InsurancePolicyParticipantзависимого являетсяpersonAccount.personContactIdсвязанного участника.
-
Если Основной участник представлен как контакт,
Account.Idучастника устанавливается как организация политики. -
Если основной участник представлен как контакт, код контакта основного участника записи
InsurancePolicyParticipantбудет кодом контакта основного участника. -
Если «Основной участник зависимого» представлен как «Контакт», код контакта основного участника
InsurancePolicyParticipantявляется кодом контакта основного участника. -
если зависимый представлен как контакт, код контакта связанного участника
InsurancePolicyParticipantявляется кодом контакта основного участника.
-
-
Получает
ProductIdиз плана и ставит отметкуInsurancePolicy.ProductId=plan.Product2Id. -
Создает следующие взаимосвязи:
Страховой полис
InsurancePolicy.EffectiveDate=Contract.StartDateили effectiveStart во вводе JSON.InsurancePolicy.ExpirationDate=Contract.EndDateили effectiveEnd в JSON ввода.InsurancePolicy.ContractLineItemId__c=Plan.Id -
Служба рассчитывает
InsurancePolicy.PolicyTermна основеContract.ContractTerm:Страховой полис
ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.
ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual
ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly
ContractTerm = Любое другое значение InsurancePolicy.PolicyTerm= Настраиваемое.
-
Получает ключ
Priceиз ввода JSON и создает следующие взаимосвязи:Страховой полис
InsurancePolicy.PremiumAmount= ценаInsurancePolicy.TermPremiumAmount= пропорциональная цена на основе дат вступления в силу, указанных в No 5.InsurancePolicy.MonthlyPremium__c= Price/ContractTerm -
Создает покрытия страховых полисов (
InsurancePolicyCoverages) для элементов покрытия.
Как это работает для активов
-
Служба берет вводные данные JSON и ищет информацию для создания политик (активов).
defaultIsFSCOption
Параметр isFsc
Созданные полисы
True
Недоступно
Записи страхового полиса (
InsurancePolicy)False
True
Записи страхового полиса (
InsurancePolicy)False
False
Записи активов (
Asset)Недоступно
True
Записи страхового полиса (
InsurancePolicy)Недоступно
False
Записи активов (
Asset) -
Связывает
contactIdосновного участника с политикой как контактом. -
Штампует
accountIdконтракта на регистрацию в качестве организации полиса. -
Берет ключ
RawPriceDataили ключRateBandTierPriceDataиз ввода JSON и маркирует его в полеAsset.PricingLogData__c. -
Получает
ProductIdиз плана и ставит отметкуAsset.Product2Id=plan.Product2Id__c. -
Создает следующие взаимосвязи:
Активы
Asset.EffectiveDate__c=Contract.StartDateили effectiveStart во вводе JSON.Asset.ExpirationDate__c=Contract.EndDateили effectiveEnd в JSON ввода.Asset.BenefitPlanId__c=Plan.Id -
Служба рассчитывает
Asset.Term__cна основеContract.ContractTerm:Активы
ContractTerm = 12, Asset.Term__c = Annual.
ContractTerm = 6, Asset.Term__c = Semi-Annual
ContractTerm = 1, Asset.Term__c = Monthly
ContractTerm = Любое другое значение, Asset.Term__c = Настраиваемое.
-
Получает ключ
Priceиз ввода JSON и создает следующие взаимосвязи:Активы
Asset.StandardPremium__c= ценаAsset.TotalPremiumTerm__c= пропорциональная цена на основе дат вступления в силу, указанных в No 7Asset.AnnualPremium__c= Price/ContractTerm*12Asset.MonthlyPremium__c= Price/ContractTerm -
Связывает зависимых с политиками как «Удержанные взаимосвязи продуктов (
AssetPartyRelationship__c)». При создании взаимосвязи сторон актива для зависимых, partyId должен быть предоставлен в узле зависимых.ПримечаниеДругой участник страхового полиса (
InsurancePolicyParticipant) создается для основного участника, но запись не создается для основного участника во взаимосвязи удерживаемого продукта (AssetPartyRelationship__c). -
Создает покрытия полисов (
AssetCoverage__c) для элементов покрытия.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Обязательно. Ключ к предварительно трансформированной структуре JSON, содержащей нужные сведения. |
|
Инициирует настраиваемую процедуру интеграции на основе конфигурации пользователя. При использовании этого параметра он передает все параметры службы настраиваемой процедуре интеграции и все коды полисов в качестве вводных данных для интеграции с объектом, например, объект страхового полиса с планом участника. |
JSON ввода
Служба использует JSON ввода, указанный inputKey. В данном примере inputKey = enrollmentJson.
Услуга требует:
-
contractId: <value> -
Dependents: <list of maps for contactId и relationshipType of the dependents>.ПримечаниеПри использовании службы enrollPlans для создания актива и AssetPartyRelationship, если зависимости передаются в enrollmentJson, необходимо предоставить соответствующий partyId.
-
Модель структуры продукта JSON, включая атрибуты и дочерние продукты
Этот вводной JSON может иметь список объектов или карту, поскольку служба поддерживает создание либо одной политики, либо нескольких политик.
Для поддержки кода организации-лица primaryMemberId - это новый узел, добавленный в enrollmentJson. Он поддерживает код организации-лица и ContactId для обратной совместимости. В зависимости от типа primaryMemberId «Код», службы работают так, как описано в описании службы.
Таким же образом, для зависимых добавлен узел memberId. Он поддерживает код организации-лица и код контакта для обратной совместимости. В зависимости от типа memberId «Код», службы работают так, как описано в описании службы.
В данном примере JSON содержит три политики.
{
"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
Список полисов, созданных службой.
assetIds |
Коды записей InsurancePolice для записей страховых полисов. Коды записей активов для записей активов. |
|---|---|
policyIds |
Коды записей InsurancePolice. Создается только для записей страхового полиса. |
{
"assetIds":[
{
"assetId":"0036F00002Q4wlSQAR"
},
{
"assetId":"0036F00002Q4wlSQAQ"
}
],
"policyIds":[
"0036F00002Q4wlSQAR",
"0036F00002Q4wlSQAQ"
]
}