위치:
InsClaimService:invokeProductRules
청구 플로에서 이 서비스를 사용하여 제품에 추가한 보험 규칙을 호출합니다.
예를 들어, 승인을 위해 특정 달러 금액을 초과하는 청구를 보험사에 보내는 규칙을 추가한 경우 이 서비스는 해당 규칙을 호출합니다.
작동 방법
- 서비스는
objectID를 기반으로 청구 객체를 찾고 해당objectID를 기반으로 해당 객체에 대한 제품을 추출합니다. - 지정된
transitionName를 찾습니다. - 제품과 연결되어 있으며
transitionName에 적용되는 규칙을 실행합니다.각 청구 제품 규칙에 대해 각 관련 당사자 인스턴스 및/또는 관련 속성 인스턴스를 별도로 평가합니다.
- 규칙이 true로 평가될 경우 서비스가 해당 규칙에 지정된 Vlocity 작업을 실행합니다.
예를 들어 작업에서 과업을 만들도록 지정하는 경우 서비스에서 과업을 만듭니다.
includeStateTransition옵션의 값을 찾습니다. 값이true인 경우 서비스는 이 객체에 대한 상태 모델을 찾고,fieldAPIName값을 찾고, 전환을 기반으로 해당 값을 변경합니다.- 각 관련 당사자 및/또는 관련 속성 인스턴스의 각 규칙에 대한 평가 결과를 출력합니다.
원격 옵션
옵션 |
설명 |
|---|---|
|
true인 경우 서비스는 상태 모델의 false인 경우 서비스에서 상태 전환을 수행하지 않습니다. |
|
조회할 청구 ID 또는 청구 보장 ID입니다. |
|
실행할 규칙과 연결된 시/도 전환 이름입니다. 서비스는 사용자가 지정한 전환 이름을 찾으려면 이 개체의 시/도 모델로 이동합니다. |
|
|
|
(선택 사항) 서비스에서 실행하는 모든 규칙이 false로 평가될 때 서비스가 개체를 전환하는 상태입니다. 서비스는 |
출력 JSON
서비스는 관련 속성 및/또는 관련 당사자의 각 인스턴스에 대한 규칙 평가를 반환합니다.
이 예의 입력이 다음과 같습니다.
-
objectId = claimId
-
transitionName = 규칙 전환 이름
{
"stateTransit": " updated ClaimStatus__c from Open to Closed",
"canTransitState": true,
"allFalse": false,
"falseRules": {
"Involved Property_a3lf4000000pcFUAAY": [
{
"ruleDetails": {
"instanceKey": "Involved Property_a3lf4000000pcFUAAY",
"involvedItemId": "a3lf4000000pcFUAAY",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
],
"Involved Injury Cat Husky_a3kf4000000pLEuAAM": [
{
"ruleDetails": {
"instanceKey": "Involved Injury Cat Husky_a3kf4000000pLEuAAM",
"involvedItemId": "a3kf4000000pLEuAAM",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
]
},
"trueRules": {
"Involved Injury Dog Husky_a3kf4000000pLEtAAM": [
{
"actionResults": {
"IPResult": {
"output": "TestOutput"
}
},
"ruleDetails": {
"instanceKey": "Involved Injury Dog Husky_a3kf4000000pLEtAAM",
"involvedItemId": "a3kf4000000pLEtAAM",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
]
}
}
이 JSON에는 다음 키/값 쌍이 포함됩니다.
키 |
값 |
|---|---|
|
청구 개체의 상태 필드에서 서비스가 변경된 내용을 설명합니다. |
|
서비스가 개체를 새 상태로 전환할지 여부를 알려줍니다. |
|
서비스에서 실행하는 모든 규칙이 false로 평가되는 경우 서비스에서 실행하는 규칙 중 하나가 true로 평가되는 경우 |
|
하나 이상의 false로 평가되는 서비스에서 실행되는 모든 규칙을 포함합니다. |
|
하나 이상의 true로 평가되는 서비스에서 실행되는 모든 규칙을 포함합니다.
|
|
서비스에서 발생한 오류입니다. 값이 OK인 경우 UI에 오류 메시지가 표시되지 않습니다. |
falseRules 및 trueRules 배열에는 모두 ruleDetails 키/값 쌍이 있습니다.
"ruleDetails": {
"instanceKey": "Involved Property_a3lf4000000pcFUAAY",
"involvedItemId": "a3lf4000000pcFUAAY",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}"ruleDetails": {
"requirement name": "Operator Points >4",
"conditions": "wcOperator.opPoints > 4",
"message": "The applicant's prior citations require underwriting review prior to issuance.",
"action method": "ReferToUnderwriting",
"action class": "DROpenImplementationClass",
"productId": "01tf4000001lKNQAA2",
"transitionName": "Submit>Underwrite",
"objectId": "0Q0f4000000ADatCAG"
}trueRules 배열에는 하나 이상의 actionResults, 추가 키/값 쌍, rulesDetails이 포함되어 있습니다.
actionResults은 서비스에서 호출한 Vlocity 작업 클래스 및 작업 방법의 출력입니다.
"trueRules": {
"Involved Injury Dog Husky_a3kf4000000pLEtAAM": [
{
"actionResults": {
"IPResult": {
"output": "TestOutput"
}
},
"ruleDetails": {
"instanceKey": "Involved Injury Dog Husky_a3kf4000000pLEtAAM",
"involvedItemId": "a3kf4000000pLEtAAM",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
]
}