위치:
InsClaimItemService:calculateCoverages
이 서비스를 사용하여 청구 행 항목에 대한 보장 금액 및 조정 금액을 계산합니다. 이 금액은 청구 심사 기관이 청구 행 항목을 지불할 때 지불 금액으로 사용됩니다.
이 서비스는 조정을 만들 때 해당하는 차감, 복제, 공동 보험, 기본 최대값을 고려합니다.
이 서비스는 보장 사양에 정의된 경우 보장 계산 수식을 평가합니다.
방법: calculateCoverages
작동 방법
서비스는 Vlocity(ClaimLineItem__c) 및 Salesforce FSC(ClaimCoveragePaymentDetail) 데이터 모델 모두에서 일반 필드의 기본 입력 및 출력으로 개체 인터페이스 필드 이름을 사용합니다.
이 서비스는 보장 사양에 보장 계산 수식이 있는지 여부에 따라 다르게 작동합니다.
보장 범위 계산 수식이 없는 경우 이 서비스는 다음을 수행합니다.
-
다음 정보를 사용하여 청구 레코드, 관련 증권 레코드, 청구 및 증권에 대한 특성 값을 가져옵니다.
-
claimId -
claimCoverageId -
claimItemId(사용 가능한 경우) -
claimAmount
-
-
InsPolicyTermsService: 프로세스 서비스를 호출합니다.
이 서비스는 모든 보장 부채 금액(copay/coinsurance, 차감 가능한 금액, 포켓 최대 금액)을 계산하고 이 데이터를 반환합니다.
-
하나 이상의 보장 부채 금액이 있는 경우 청구 금액에서 보장 부채 금액을 빼옵니다.
-
최종 조정 금액 및 하위 클레임 항목을 포함하는 출력을 반환합니다(있는 경우).
보장 사양에 보장 범위 계산 수식이 있는 경우 이 서비스는 다음을 수행합니다.
-
다음 정보를 사용하여 청구 레코드, 관련 증권 레코드, 청구 및 증권에 대한 특성 값을 가져옵니다.
-
claimId -
claimCoverageId -
claimItemId(사용 가능한 경우) -
claimAmount
-
-
다음 개체(AttributeSelectedValues <productcode.key> 포함)를 컴파일하여 적용 범위 사양의 보장 범위 계산 수식에 사용할 수 있도록 합니다.
-
클레임
-
정책
-
PolicyCoverage
-
InsuredParty
-
InsurredItem
-
InvolvedInjury
-
InvolvedProperty
-
-
보장 계산 수식을 실행합니다.
-
InsPolicyTermsService: 프로세스 서비스를 호출합니다.
이 서비스는 모든 보장 부채 금액(copay/coinsurance, 차감 가능한 금액, 포켓 최대 금액)을 계산하고 이 데이터를 반환합니다.
-
하나 이상의 보장 부채 금액이 있는 경우 청구 금액에서 보장 부채 금액을 빼옵니다.
-
최종 조정 금액 및 하위 클레임 항목을 포함하는 출력을 반환합니다(있는 경우).
원격 옵션
옵션 |
설명 |
|---|---|
|
(필수) 서비스에서 보장 금액을 계산하는 청구의 ID입니다. |
|
(선택 사항) 재계산된 보장 범위 및 조정 금액으로 기존 청구 행 항목을 업데이트하는 경우 이 옵션을 사용합니다. |
|
(필수) 서비스에서 금액을 계산하는 보장 범위의 ID입니다. |
|
(필수) 보장 수식에 사용할 수 있는 추가 입력의 JSON을 청구 행 항목 레코드에 저장합니다(seedLineItem이 true인 경우). 다음 입력이 있어야 합니다.
|
이 옵션은 Vlocity ClaimLineItem__c 및 Salesforce FSC ClaimCoveragePaymentDetail 데이터 모델의 공통 필드에 대한 입력 및 출력에 이 표에 설명된 인터페이스 필드 이름을 사용합니다.
사용자 인터페이스 필드 이름 |
Vlocity |
|---|---|
|
용도 |
|
|
|
용도 |
|
|
|
용도 |
|
|
|
용도 |
|
용도 |
|
용도 |
|
|
|
|
여기에 나열되지 않은 필드의 경우 필드의 정규화된 이름을 사용합니다.
청구 행 항목의 API가 있는 ClaimLineItem이 접두사인 특성은 생성된 청구 행 항목에 저장됩니다.
입력 JSON 및 출력 JSON
결제 세부 사항에 대한 조정 금액을 결정하는 기본 메서드가 비즈니스 요구를 충족하는 경우 이 섹션을 건너뛰면 됩니다. 그러나 기본적으로 지원되지 않는 방식으로 결제 세부 사항 금액을 조정하려는 경우 이 섹션이 적합합니다.
일반적으로 다음과 같은 power 특성 클래스에 포함되지 않는 시나리오의 경우 다음과 같은 기본 사용 사례가 적용됩니다.
-
같은 보장 사양에 두 개의 공제가 있는 조건부 공제. 예를 들어, 중재 가능 A는 화재 손실에 적용되고, 중재 가능 B는 홍수 손실에 적용됩니다. 시스템에서 런타임 시 결제 세부 사항에 적용할 인출권을 결정하려고 합니다.
-
Copay/Coinsurance 주문의 운영입니다. 예를 들어, coinsurance 및 copay 모두 동일한 보장 사양에 적용되며, 결제 세부 사항에 copay를 적용하기 전에 coinsurance를 적용하려고 합니다.
-
혜택 유형에 대한 지급 금액을 계산합니다. 예를 들어, 웰니스 방문 혜택 유형의 경우 시스템에서 결제 세부 사항에 대해 $50 금액을 계산하려고 합니다.
InsClaimItemService: calculateCoverages 출력 JSON 형식을 이해한 후에는 기본 전력 특성 클래스 없이도 지불 금액과 조정을 계산하기 위해 전력 특성과 유사한 동작을 구현할 수 있습니다.
먼저 간단한 예를 사용하여 InsClaimItemService:
calculateCoverages에서 반환할 출력이 예상되는 JSON을 보여드리겠습니다. 기본 Deductible power 특성 클래스에서 지원하는 간단한 사용 사례를 고려하십시오.
예: 인출액이 $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
}
}다음은 금융 탭의 사용자 상호 작용이 서비스를 호출하는 방법, InsClaimItemService: calculateCoverages가 데이터를 가져오는 방법 및 그 후에 데이터에 발생하는 작업입니다.
-
(1) 청구의 금융 탭에서 사용자가 새 손실 항목을 클릭하고 $5,000의 청구 금액을 입력합니다. 탭을 눌러 클레임 금액에서 다음 필드로 이동하면
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) 추가를 클릭하여 반환된 JSON 출력을 사용하여 ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment, InsurancePolicyTermTrackingEntry 레코드에 데이터를 유지하는 새 손실 항목 호출을
InsClaimItemService: add저장합니다.InsClaimItemService: calculateCoverages(InsClaimItemService: update서비스는 유사하게 작동합니다.) 각 레코드에는 예와 관련된 값이 포함됩니다.-
ClaimCoveragePaymentDetail 레코드에는 ClaimCoveragePaymentDetail.ClaimedAmount가 $5,000이고 ClaimCoveragePaymentDetail.AdjustedAmount가 $4,000입니다.
-
ClaimCoveragePaymentAdjustment 레코드에는 ClaimCoveragePaymentAdjustment.AdjustedReason of 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), '결과')
런타임 시 이 수식은 ClaimCoverage_ClaimCoverageFormula이라는 통합 절차를 호출합니다. 이 통합 절차는 통합 절차 테스트를 위해 이 샘플 입력 JSON에 표시된 것처럼 claimId, benefitType, quantityCount에 대한 입력을 예상합니다.
{
"claimId": "a2b4W000007W2pQQAS",
"benefitType": "Ambulance - Air",
"quantityCount": "1",
}보장 범위 계산 수식은 ClaimCoverage_ClaimCoverageFormula 통합 절차의 출력 JSON이 result이라는 노드에 있음을 지정합니다. 해당 result 노드의 JSON 구조가 예상되는 InsClaimItemService: calculateCoverages 출력 JSON 형식을 준수하는 한 시스템은 기본 Power 속성 클래스를 사용하는 것처럼 정확하게 작동합니다. 사용자에게 조정된 금액을 표시하고, Add 버튼을 클릭한 후 ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment 및 InsurancePolicyTermTrackingEntry 레코드에 데이터를 유지합니다.
이 출력 JSON 예에서 웰니스 방문에 대한 50달러 지급은 result 노드를 통해 InsClaimItemService: add가 ClaimCoveragePaymentDetail.AdjustedAmount에 50를 삽입합니다.
{
"result": {
"claimLineItem": {
"adjustedAmount": "50"
}
},
}계산을 구성하기 위한 몇 가지 팁은 다음과 같습니다.
-
사용 사례에 기존 power 특성 클래스가 포함된 경우 조정을 적용하기 전에
InsurancePolicyTerms: getCurrentStandings을 사용하여 정책 기간에 남은 금액을 확인할 수 있습니다. 이 단계를 수행하면 올바른 조정을 적용하고 적절한 assetTermId를 전달할 수 있습니다. 이러한 사용 사례에서 통합 절차에서 반환되는 JSON 구조를 구성하여 claimLineItem 및 claimLineItemAdjustment 노드를 모두 포함합니다.claimLineItemAdjustment 노드에서 다음을 확인하십시오.
-
assetTermId를 포함합니다.
-
attributeClass를 포함합니다.
InsClaimItemService: add서비스는 보험 증권의 특정 기능 특성에 대한 보험 증권 기간 추적 항목 레코드를 만드는 방법을 결정하기 위해 이러한 두 값을 모두 필요로 합니다. 예를 들어 조건부 감소 가능이 있는 보장 범위 사양에는 두 가지 감소 가능 전원 특성이 있습니다. 불의 경우 감축 가능 A 및 홍수의 경우 감축 가능 B입니다. 보장 범위 계산 수식 내의 통합 절차는InsurancePolicyTerms: getCurrentStandings를 사용하여 이 증권의 감제 A가 $1,000이고 감제 B가 $500임을 판단할 수 있습니다. 그런 다음, 이 청구의 손실 원인을 기반으로 통합 절차에서 적용할 공제물을 판단할 수 있습니다. 출력을 JSON을 반환할 때 적용된 감소를 기반으로 올바른 assetTermId를 반환해야 합니다. -
-
일부 사용 사례에는 기본 제공 전원 특성 클래스가 포함되지 않지만 결제 세부 사항을 조정해야 합니다. 예를 들어 공급자가 협상된 비율보다 더 많이 청구하는 경우 청구된 금액보다 조정된 결제 금액이 낮은 이유를 설명하는 ClaimCoveragePaymentAdjustment 레코드가 필요합니다. 이러한 사용 사례에서 통합 절차에서 반환되는 JSON 구조를 구성하여 claimLineItem 및 claimLineItemAdjustment 노드를 모두 포함합니다.
claimLineItemAdjustment 노드:
-
이 조정을 정의하는 power 특성 클래스가 없으므로 assetTermId를 제외합니다.
-
attributeClass를 조정 이유로 포함합니다(예: "조정 과잉").
관련 특성Class가 없더라도
InsClaimItemService: add서비스에서 attributeClass 문자열을 사용하여 ClaimCoveragePaymentDetail.AdjustedReason 필드를 채웁니다. -
-
사용 사례에 혜택 유형에 대한 지급 금액이 포함된 경우 청구 및 조정 금액 간에 차이가 없습니다. 예를 들어 병원 숙박에는 고정 금액인 100달러/일이 적용됩니다. 이러한 경우 전체 claimLineItemAdjustment 노드를 JSON에서 제외합니다.
