詳細情報:
InsClaimItemService:calculateCoverages
このサービスを使用して、請求品目の補償金額と調整後の金額を計算します。これらの金額は、請求調整担当者が請求品目を支払うときに支払金額として使用されます。
このサービスでは、調整を作成するときに適用可能な控除、自己負担、共同保険、および自己負担限度額が考慮されます。
このサービスでは、補償範囲仕様で [補償範囲計算数式] が定義されている場合に [補償範囲計算数式] が評価されます。
方法: calculateCoverages
操作手順
このサービスでは、オブジェクトインターフェース項目名が Vlocity (ClaimLineItem__c) および Salesforce FSC (ClaimCoveragePaymentDetail) の両方のデータモデルの共通項目のデフォルトの入力および出力として使用されます。
このサービスの動作は、補償仕様に [補償計算数式] が存在するかどうかによって異なります。
補償計算数式が存在しない場合、このサービスは次の処理を実行します。
-
次の情報を使用して、請求レコード、関連付けられた保険契約レコード、および請求と保険契約の両方の属性値を取得します。
-
claimId -
claimCoverageId -
claimItemId(使用可能な場合) -
claimAmount
-
-
InsPolicyTermsService: プロセスサービスをコールします。
このサービスは、すべての保険債務金額 (copay/coinsurance、deductible、out-of-pocket max) を計算し、このデータを返します。
-
1 つ以上の保険債務金額が存在する場合は、請求金額から保険債務金額を減算します。
-
最終調整後の金額と子請求項目 (ある場合) を含む出力を返します。
補償範囲仕様に [補償範囲計算数式] が存在する場合、このサービスは次の処理を実行します。
-
次の情報を使用して、請求レコード、関連付けられた保険契約レコード、および請求と保険契約の両方の属性値を取得します。
-
claimId -
claimCoverageId -
claimItemId(使用可能な場合) -
claimAmount
-
-
次のオブジェクト (AttributeSelectedValues <productcode.key> を含む) をコンパイルして、カバー率仕様の補償範囲計算数式で使用できるようにします。
-
要求
-
ポリシー
-
PolicyCoverage
-
InsuredParty
-
InsuredItem
-
InvolvedInjury
-
InvolvedProperty
-
-
補償範囲計算数式を実行します。
-
InsPolicyTermsService: プロセスサービスをコールします。
このサービスは、すべての保険債務金額 (copay/coinsurance、deductible、out-of-pocket max) を計算し、このデータを返します。
-
1 つ以上の保険債務金額が存在する場合は、請求金額から保険債務金額を減算します。
-
最終調整後の金額と子請求項目 (ある場合) を含む出力を返します。
リモートオプション
オプション |
説明 |
|---|---|
|
必須。 サービスが補償金額を計算する請求の ID。 |
|
省略可能。 このオプションは、再計算された補償範囲と調整済み金額で既存の請求品目を更新する場合に使用します。 |
|
必須。 サービスで金額が計算される補償範囲の ID。 |
|
必須。 請求品目レコードに保存される、カバー率数式で使用する可能性のある追加入力の JSON (saveLineItem が true の場合)。次の入力が必要です。
|
このオプションでは、Vlocity ClaimLineItem__c および Salesforce FSC ClaimCoveragePaymentDetail データモデルの一般的な項目の入力と出力で、次の表で説明されているインターフェイス項目名が使用されます。
ユーザーインターフェース項目名 |
Vlocity |
|---|---|
|
用途 |
|
|
|
用途 |
|
|
|
用途 |
|
|
|
用途 |
|
用途 |
|
用途 |
|
|
|
|
ここにリストされていない項目の場合は、項目の完全修飾名を使用します。
請求品目の API を持つ ClaimLineItem というプレフィックスが付けられた属性は、作成された請求品目に保存されます。
入力 JSON と出力 JSON
支払詳細の調整後の金額を決定する標準方法がビジネスニーズを満たす場合は、このセクションをスキップできます。ただし、標準ではサポートされていない方法で支払の詳細金額を調整する場合は、このセクションを参照してください。
通常、これらの標準の使用事例は、次のようなパワー属性クラスでカバーされないシナリオに適しています。
-
条件付き控除。2 つの控除が同じ補償仕様に存在します。たとえば、控除 A は火災損害損失に適用され、控除 B は洪水損害損失に適用されます。実行時に支払の詳細に適用する控除をシステムで決定する必要があります。
-
コパイ/Coinsurance 業務順序。たとえば、coinsurance と copay の両方が同じ補償仕様に存在し、copay を支払詳細に適用する前に coinsurance を適用するとします。
-
報奨金種別の支払金額の計算。たとえば、健康訪問報奨金種別の場合、支払の詳細の $50 の金額をシステムで計算します。
InsClaimItemService: calculateCoverages出力 JSON 形式を理解したら、基礎となる電源属性クラスがなくても、電源属性のような動作を実装して支払金額と調整を計算できます。
先に進む前に、簡単な例を使用して、InsClaimItemService:
calculateCoverages から返される出力 JSON を説明しましょう。標準の Deductible 電源属性クラスでサポートされる簡単な使用事例を考えてみましょう。
例: $1,000 が控除される保険契約の $5,000 の請求金額
InsClaimItemService:
calculateCoverages の入力 JSON を次に示します。
{
"claimId": "01t000000000000001",
"claimCoverageId": "01t000000000000002",
"claimItemId": "01t000000000000003",
"additionalInput": {
"ClaimLineItem.claimAmount": 5000
"ClaimLineItem.description": "first party claim payment"
"ClaimLineItem.recipientId": "01t000000000000004"
}
}InsClaimItemService:
calculateCoverages が返す出力 JSON を次に示します。
{
"claimItem": {
"adjustedAmount": 4000 // loss item adjusted amount
},
"claimLineItemAdjustment": {
"attributeClass": "Deductible", // policy terms attribute class
"adjustedAmount": 1000, // policy terms tracking entry postedAmount
"assetTermId": "a6ERN00000000dg2AA", // policy terms id
"remainingAmount": 0 // policy terms tracking entry remainingAmount
}
}[Financials]タブのユーザー操作によるサービスの呼び出し方法、InsClaimItemService: calculateCoveragesによるデータの取得方法、その後のデータへの影響を次に示します。
-
(1)請求の[財務]タブで、ユーザーが[新規損失項目]をクリックし、5,000ドルの請求金額を入力します。Tab キーを押して [請求金額] から次の項目に進むと、
InsClaimItemService: calculateCoveragesが呼び出されます。この例では、InsClaimItemService: calculateCoveragesから返される JSON 出力に次の値が含まれます。-
claimLineItem: adjustedAmount請求金額から控除後の支払先に支払われる金額が差し引かれます: $5,000-$1,000=$4,000。 この値は、[新規損失項目] フォームの [調整済み金額] 項目でユーザーに返されます。 -
claimLineItemAdjustment:adjustedAmount請求補償範囲支払詳細に対する調整の金額。この場合は、請求金額から差し引かれた $1,000 が控除されます。 -
claimLineItemAdjustment:attributeClass支払者に発行する金額が請求金額と異なる理由。この例では、$1,000 の控除が適用されるため、請求金額は $1,000 減少します (attributeClass = Deductible)。 -
claimLineItemAdjustment:assetTermId保険契約条件追跡エントリが作成される保険契約条件。この例では、控除対象保険契約の期間の ID です。 -
claimLineItemAdjustment:remainingAmount保険契約条件追跡エントリに設定する金額。このトランザクションの後に控除が残っていないため、この場合は $0。
-
-
(2) [追加] をクリックして新しい損失項目を保存すると、
InsClaimItemService: addが呼び出されます。InsClaimItemService: calculateCoveragesから返された JSON 出力を使用して、データが ClaimCoveragePaymentDetail、ClaimCoveragePaymentAdjustment、および InsurancePolicyTermTrackingEntry レコードに保持されます。(InsClaimItemService: updateサービスも同様に動作します)。各レコードには、この例に関連する値が含まれます。-
ClaimCoveragePaymentDetail レコードの ClaimCoveragePaymentDetail.ClaimedAmount は $5,000、ClaimCoveragePaymentDetail.AdjustedAmount は $4,000 です。
-
ClaimCoveragePaymentAdjustment レコードの ClaimCoveragePaymentAdjustment.AdjustedReason は Deductible で、ClaimCoveragePaymentAdjustment.AdjustedAmount は $1,000 です。
-
InsurancePolicyTermTrackingEntry レコードの InsurancePolicyTermTrackingEntry.PostedAmount は $1,000、InsurancePolicyTermTrackingEntry.RemainingAmount は $0 です。
-
出力 JSON の基本構造を理解すれば、カバー率仕様の [カバー率計算数式] にロジックを導入して、より高度な使用事例を設定できます。
例: 補償範囲仕様の [詳細] タブで、additionalInput と同じ ClaimLineItem 構文を使用して、次のような補償範囲計算数式を入力します。
InvokeIP('ClaimCoverage_ClaimCoverageFormula', , INPUT('claimId', ClaimLineItem.claimId) INPUT('benefitType', ClaimLineItem.benefitType), INPUT('quantityCount', ClaimLineItem.unitCount), 'result')
実行時に、この数式は ClaimCoverage_ClaimCoverageFormula というインテグレーション手順をコールします。このインテグレーション手順では、インテグレーション手順をテストするための次のサンプル入力 JSON に示すように、claimId、BenefitType、quantityCount の入力が想定されています。
{
"claimId": "a2b4W000007W2pQQAS",
"benefitType": "Ambulance - Air",
"quantityCount": "1",
}Coverage Calculation Formula は、ClaimCoverage_ClaimCoverageFormula インテグレーション手順の出力 JSON が result というノードにあることを指定します。このresultノードの JSON 構造が予期される InsClaimItemService: calculateCoverages 出力 JSON 形式に準拠している限り、システムは、基礎となるパワー属性クラスを使用しているかのように動作します。つまり、調整後金額をユーザーに表示し、[追加] ボタンをクリックした後、データを ClaimCoveragePaymentDetail、ClaimCoveragePaymentAdjustment、および InsurancePolicyTermTrackingEntry レコードに保持します。
次の健康訪問の $50 の支払の出力 JSON の例では、result ノードによって InsClaimItemService: add が ClaimCoveragePaymentDetail.AdjustedAmount に 50 の挿入を実行します。
{
"result": {
"claimLineItem": {
"adjustedAmount": "50"
}
},
}計算を設定するためのヒントを次に示します。
-
使用事例に既存の電力属性クラスが含まれている場合、調整を適用する前に
InsurancePolicyTerms: getCurrentStandingsを使用して保険契約の残額を決定できます。このステップでは、正しい調整を適用し、適切な assetTermId を渡すことができます。これらの使用事例では、インテグレーション手順によって返される JSON 構造に claimLineItem ノードと claimLineItemAdjustment ノードの両方を含めるように設定します。claimLineItemAdjustment ノードで、次のことを確認します。
-
assetTermId を含めます。
-
attributeClass を含めます。
InsClaimItemService: addサービスでは、保険契約の特定の電力属性の保険契約期間追跡エントリレコードを作成する方法を決定するために、これらの両方の値が必要です。たとえば、条件付き控除の対象範囲仕様には、火災に対する控除 A と洪水に対する控除 B の 2 つの控除可能電力属性があります。補償計算数式内のインテグレーション手順では、InsurancePolicyTerms: getCurrentStandingsを使用して、この保険契約の控除 A が $1,000、控除 B が $500. であるかどうかを判断できます。 その後、この請求の損失の原因に基づいて、インテグレーション手順を適用する控除を判断できます。出力 JSON を返すときは、deductible が適用された正しい assetTermId を返すようにしてください。 -
-
一部の使用事例では、標準のパワー属性クラスは使用されませんが、支払の詳細を調整する必要があります。たとえば、プロバイダーが交渉済みレートを超える請求をする場合、調整後の支払金額が請求済み金額より少ない理由を説明する ClaimCoveragePaymentAdjustment レコードが必要です。これらの使用事例では、インテグレーション手順によって返される JSON 構造に claimLineItem ノードと claimLineItemAdjustment ノードの両方を含めるように設定します。
claimLineItemAdjustment ノードでは、次のようになります。
-
この調整を定義するパワー属性クラスがないため、assetTermId は省略します。
-
attributeClass を調整理由 (「Over Billing Adjustment」 (過剰請求調整) など) として含めます。
InsClaimItemService: addサービスは attributeClass 文字列を使用して、関連する attributeClass がなくても ClaimCoveragePaymentDetail.AdjustedReason フィールドに入力します。 -
-
使用事例に報奨金種別の支払金額が含まれている場合、請求金額と調整後の金額に不一致はありません。たとえば、入院には 1 日あたり $100 の定額料金が適用されます。このような場合は、claimLineItemAdjustment ノード全体を JSON から除外します。
