您位於此處:
InsEnrollmentService:enrollPlans
使用此服務為登記者選取的醫療、牙科、視覺和其他計畫建立原則 (資產或保單) 記錄。
方法:enrollPlans
保單記錄的運作方式
註冊服務可以寫入「保單」和相關物件 (已協調的保單資料模型) 或「資產」物件 (Vlocity 模型),視 isFsc 參數和 defaultIsFSCOption 的自訂設定而定。服務會執行下列動作:
-
服務會取得輸入 JSON,並尋找建立原則 (保單) 的資訊。
defaultIsFSCOption
isFsc 參數
已建立原則
True
NA
保單 (
InsurancePolicy) 記錄False
True
保單 (
InsurancePolicy) 記錄False
False
資產 (
Asset) 記錄NA
True
保單 (
InsurancePolicy) 記錄NA
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或輸入 JSON 中的 EffectiveStart。InsurancePolicy.ExpirationDate=Contract.EndDate或輸入 JSON 中的 EffectiveEnd。InsurancePolicy.ContractLineItemId__c=Plan.Id -
服務會根據以下
Contract.ContractTerm計算InsurancePolicy.PolicyTerm:保單
ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.
ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual
ContractTerm = 1, InsurancePolicy.PolicyTerm= 每月
ContractTerm = 任何其他值 InsurancePolicy.PolicyTerm= 自訂。
-
從輸入 JSON 取得
Price金鑰,並建立以下關係:保單
InsurancePolicy.PremiumAmount= 價格InsurancePolicy.TermPremiumAmount= 根據 #5 中指定的生效日期按比例分配的價格。InsurancePolicy.MonthlyPremium__c= 價格/ContractTerm -
建立涵蓋範圍項目的「保單涵蓋範圍」(
InsurancePolicyCoverages)。
資產的運作方式
-
服務會取得輸入 JSON,並尋找建立原則 (資產) 的資訊。
defaultIsFSCOption
isFsc 參數
已建立原則
True
NA
保單 (
InsurancePolicy) 記錄False
True
保單 (
InsurancePolicy) 記錄False
False
資產 (
Asset) 記錄NA
True
保單 (
InsurancePolicy) 記錄NA
False
資產 (
Asset) 記錄 -
將主要成員的
contactId與原則建立「連絡人」的關聯。 -
將註冊契約的
accountId標記為原則的「帳戶」。 -
從輸入 JSON 取出
RawPriceData或RateBandTierPriceData金鑰,並將其戳記至Asset.PricingLogData__c欄位。 -
從計畫取得
ProductId並標記Asset.Product2Id=plan.Product2Id__c。 -
建立下列關係:
資產
Asset.EffectiveDate__c=Contract.StartDate或輸入 JSON 中的 EffectiveStart。Asset.ExpirationDate__c=Contract.EndDate或輸入 JSON 中的 EffectiveEnd。Asset.BenefitPlanId__c=Plan.Id -
服務會根據以下
Contract.ContractTerm計算Asset.Term__c:資產
ContractTerm = 12, Asset.Term__c = Annual.
ContractTerm = 6, Asset.Term__c = 半年度
ContractTerm = 1, Asset.Term__c = Monthly
ContractTerm = 任何其他值,Asset.Term__c = 自訂。
-
從輸入 JSON 取得
Price金鑰,並建立以下關係:資產
Asset.StandardPremium__c= 價格Asset.TotalPremiumTerm__c= 根據 #7 中指定的生效日期按比例分配的價格Asset.AnnualPremium__c= 價格/ContractTerm*12Asset.MonthlyPremium__c= 價格/ContractTerm -
將相依性與保單相關聯為「持有產品關係」(
AssetPartyRelationship__c)。為相依性建立資產對象關係時,必須在相依性節點中提供 partyId。備註系統會為主要成員建立另一個「保單參與者」(
InsurancePolicyParticipant),但不會在「持有產品關係」(AssetPartyRelationship__c) 中為主要成員建立記錄。 -
為涵蓋範圍項目建立「保單涵蓋範圍」(
AssetCoverage__c)。
遠端選項
選項 |
描述 |
|---|---|
|
必要。 預先轉換 JSON 結構的金鑰,其中包含服務需要的資訊。 |
|
根據使用者組態起始自訂整合程序。當您使用此選項時,會將服務的所有選項傳送至自訂整合程序,並將所有原則識別碼作為輸入以與物件整合,例如保單物件與成員計畫。 |
輸入 JSON
服務會取得由 inputKey 指定的輸入 JSON。在此範例中,inputKey = enrollmentJson。
此服務需要:
-
contractId:<值>> -
Dependents:相依者的 < contactId 和 relationshipType 的地圖清單>。備註使用 enrollPlans 服務產生 Asset 和 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"
}
]
}
}
]
}
}
]
}
}
]
}