Loading
Страхование
InsClaimItemService:calculateCoverages

InsClaimItemService:calculateCoverages

Используйте эту службу для расчета стоимости покрытия и скорректированной стоимости для позиции строки претензии. Эти суммы используются в качестве суммы оплаты, когда оценщик претензий оплачивает позицию строки претензии.

При создании поправок служба учитывает применимые вычеты, копеи, сострахования и максимальные суммы из собственного кармана.

Эта служба оценивает формулу расчета покрытия, если она определена в спецификации покрытия.

Класс: InsClaimItemService

Метод: calculateCoverages

Принцип работы

Служба использует имена полей интерфейса объекта в качестве ввода и вывода по умолчанию для общих полей в моделях данных Vlocity (ClaimLineItem__c) и Salesforce FSC (ClaimCoveragePaymentDetail).

Эта служба работает по-разному, в зависимости от наличия формулы расчета покрытия в спецификации покрытия.

При отсутствии формулы вычисления покрытия данная служба:

  1. Использует следующие сведения для получения записи претензии, связанной записи политики и значений атрибутов как для претензии, так и для политики.

    • claimId

    • claimCoverageId

    • claimItemId (при наличии)

    • claimAmount

  2. Вызывает InsPolicyTermsService: обслуживание процесса.

    Данная служба вычисляет все застрахованные суммы обязательств (максимум оплаты/сострахования, вычитаемый и наличный) и возвращает эти данные.

  3. Вычитает суммы застрахованного обязательства из суммы требования при наличии одной или нескольких сумм застрахованного обязательства.

  4. Возвращает вывод, включительно с итоговой скорректированной стоимостью и дочерними элементами заявки-претензии (при их наличии).

При наличии формулы вычисления покрытия в спецификации покрытия данная служба:

  • Использует следующие сведения для получения записи претензии, связанной записи политики и значений атрибутов как для претензии, так и для политики.

    • claimId

    • claimCoverageId

    • claimItemId (при наличии)

    • claimAmount

  • Составляет следующие объекты (включая AttributeSelectedValues <productcode.key>) для предоставления к ним доступа в формуле расчета покрытия в спецификации покрытия:

    • Заявка-претензия

    • Полис

    • PolicyCoverage

    • Застрахованная сторона

    • InsuredItem

    • InvolvedInjury

    • InvolvedProperty

  • Выполняет формулу расчета покрытия.

  • Вызывает InsPolicyTermsService: обслуживание процесса.

    Данная служба вычисляет все застрахованные суммы обязательств (максимум оплаты/сострахования, вычитаемый и наличный) и возвращает эти данные.

  • Вычитает суммы застрахованного обязательства из суммы требования при наличии одной или нескольких сумм застрахованного обязательства.

  • Возвращает вывод, включительно с итоговой скорректированной стоимостью и дочерними элементами заявки-претензии (при их наличии).

Удаленные параметры

Параметр

Описание

claimId

Обязательно.

Код требования, для которого служба рассчитывает сумму покрытия.

claimItemId

Дополнительно.

Используйте этот параметр при обновлении существующей позиции строки претензии с пересчитанным покрытием и скорректированными суммами.

claimCoverageId

Обязательно.

Код покрытия, для которого служба рассчитывает стоимость.

additionalInput

Обязательно.

JSON возможного дополнительного ввода для использования в формулах покрытия, который должен быть сохранен в записи элемента строки претензии (если saveLineItem является true). Он должен иметь следующие вводные данные:

  • ClaimLineItem.claimAmount

  • ClaimLineItem.recipientId

Этот параметр использует имена полей интерфейса, описанные в этой таблице в вводе и выводе для общих полей в моделях данных Vlocity ClaimLineItem__c и Salesforce FSC ClaimCoveragePaymentDetail:

Имя поля пользовательского интерфейса

Общие поля в моделях данных Vlocity ClaimLineItem__c и Salesforce FSC ClaimCoveragePaymentDetail

ClaimLineItem.name

Использование для ClaimLineItem__c.Name and ClaimCoveragePaymentDetail.Name

ClaimLineItem.claimAmount

Использование для ClaimLineItem__c.ClaimAmount__c  и ClaimCoveragePaymentDetail.ClaimedAmount

ClaimLineItem.description

Использование для ClaimLineItem__c.Description__c and ClaimCoveragePaymentDetail.Description

ClaimLineItem.recipientId

Использование для ClaimLineItem__c.PayeeAcccountId__c, ClaimLineItem__c.PayeeContactId__c, ClaimLineItem.PayeeAccountId__c__c, and ClaimCoveragePaymentDetail.ClaimParticipantRecipientId

ClaimLineItem.benefitType

Использование для ClaimLineItem__c.BenefitType__c and ClaimCoveragePaymentDetail.BenefitName

ClaimLineItem.reserveAmount

Использование для ClaimLineItem__c.ReserveAmount__c  и ClaimCoveragePaymentDetail.ClaimCoverageReserveDetailId.ReserveAmount

ClaimLineItem.status

Использование для ClaimLineItem__c.Status__c and ClaimCoveragePaymentDetail.Status

ClaimLineItem.type

Использование для ClaimLineItem__c.Type__c and ClaimCoveragePaymentDetail.Type

ClaimLineItem.unitCount

Использование для ClaimLineItem__c.Quantity__c and ClaimCoveragePaymentDetail.LimitUnitCount

ClaimLineItem.uom

Использование для ClaimCoveragePaymentDetail.LimitUnitOfMeasure

ClaimLineItem.currencyIsoCode

Использование для ClaimLineItem__c.CurrencyIsoCode и ClaimCoveragePaymentDetail.CurrencyIsoCode

Для полей, не указанных здесь, используйте полностью определенное имя поля.

Атрибуты с префиксом ClaimLineItem, содержащие API элемента строки претензии, сохраняются в созданной позиции строки претензии.

JSON ввода и JSON вывода

Если готовые методы определения скорректированной суммы для сведений об оплате соответствуют вашим бизнес-потребностям, вы можете пропустить этот раздел. Но если вы хотите скорректировать суммы сведений об оплате неподдерживаемыми способами, этот раздел для вас.

Обычно эти готовые сценарии использования предназначены для сценариев, не охватываемых классами атрибутов мощности, например:

  • Условные вычеты, когда два вычета существуют в одной спецификации покрытия. Например, вычитание А применяется к потере ущерба от пожара, а вычитание Б применяется к потере ущерба от наводнения. Вы хотите, чтобы система определила, какой вычет применять к сведениям о платеже во время выполнения.

  • Порядок операций «Оплата/сострахование». Например, совместная страховка и копия существуют в одной спецификации покрытия, и вы хотите применить совместную страховку перед применением копии к сведениям о платеже.

  • Вычисление суммы выплаты для типа пособия. Например, для типа бонуса «Посещение оздоровления» вы хотите, чтобы система вычислила сумму $50 для сведений об оплате.

После понимания формата JSON вывода InsClaimItemService: calculateCoverages можно внедрить алгоритм, подобный атрибуту power, для расчета сумм выплат и поправок без базового класса атрибута power.

Прежде чем забегать вперед, приведем простой пример, чтобы проиллюстрировать результат, который JSON должен вернуть InsClaimItemService: calculateCoverages. Рассмотрите простой сценарий использования, поддерживаемый готовым классом атрибутов вычитаемой мощности.

Пример: Заявленная сумма 5000 долларов США по полису с вычетом 1000 долларов США

Ниже указан ввод JSON для InsClaimItemService: calculateCoverages.

{ 
	"claimId": "01t000000000000001",
	"claimCoverageId": "01t000000000000002",
	"claimItemId": "01t000000000000003",
	"additionalInput": {
		"ClaimLineItem.claimAmount": 5000
		"ClaimLineItem.description": "first party claim payment"
		"ClaimLineItem.recipientId": "01t000000000000004"
	}
}

Ниже указан вывод JSON, возвращенный InsClaimItemService: calculateCoverages.

{  
	"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) Во вкладке «Финансы» претензии пользователь нажимает «Создать элемент потерь» и вводит сумму претензии 5000 долларов США. Нажатие «Вкладка» для перехода от поля «Стоимость претензии» к следующему полю вызывает InsClaimItemService: calculateCoverages. В данном примере вывод JSON, возвращенный из InsClaimItemService: calculateCoverages, содержит следующие значения.

    • claimLineItem: adjustedAmount Сумма, выплаченная получателю после вычета, вычитается из суммы требования: $5 000-1000=$4000. Это значение отображается пользователю в поле «Скорректированная стоимость» в форме создания элемента потери.

    • claimLineItemAdjustment:adjustedAmount стоимость поправки к сведениям о платеже покрытия претензии, в данном случае 1000 долларов, вычитаемых из суммы претензии.

    • claimLineItemAdjustment:attributeClass Причина, по которой сумма, подлежащая выдаче получателю, отличается от заявленной суммы. В нашем примере заявленная сумма уменьшается на 1 000 долларов, поскольку применяется вычет 1 000 долларов (attributeClass = Deductible).

    • claimLineItemAdjustment:assetTermId Термин политики, для которого создается запись отслеживания терминов политики. В нашем примере это код термина политики вычитания.

    • claimLineItemAdjustment:remainingAmount Сумма, которую нужно установить в записи отслеживания термина полиса, в данном случае $0, поскольку после этой транзакции не осталось вычитания.

  • (2) Нажатие кнопки «Добавить» для сохранения нового элемента потери вызывает InsClaimItemService: add, использующий возвращенный вывод JSON из InsClaimItemService: calculateCoverages для сохранения данных в записях ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment и InsurancePolicyTermTrackingEntry. (InsClaimItemService: update служба работает аналогично.) Каждая запись содержит значения, связанные с нашим примером:

    • Запись ClaimCoveragePaymentDetail содержит ClaimCoveragePaymentDetail.ClaimedAmount $5,000 и ClaimCoveragePaymentDetail.AdjustedAmount $4,000.

    • Запись ClaimCoveragePaymentAdjustment содержит ClaimCoveragePaymentAdjustment.AdjustedReason of Deductible и ClaimCoveragePaymentAdjustment.AdjustedAmount $1,000.

    • Запись InsurancePolicyTermTrackingEntry содержит InsurancePolicyTermTrackingEntry.PostedAmount 1000$ и InsurancePolicyTermTrackingEntry.RemainingAmount 0$.

С помощью понимания базовой структуры вывода JSON можно настроить более расширенный сценарий использования, внедрив логику в формулу расчета покрытия в спецификацию покрытия.

Пример: Во вкладке «Сведения» характеристики покрытия введите формулу вычисления покрытия, используя тот же синтаксис ClaimLineItem, что и для additionalInput.

InvokeIP('ClaimCoverage_ClaimCoverageFormula', , INPUT('claimId', ClaimLineItem.claimId) INPUT('benefitType', ClaimLineItem.benefitType), INPUT('quantityCount', ClaimLineItem.unitCount), 'result')

Иллюстрирует поле «Формула вычисления покрытия» в пользовательском интерфейсе.

В среде выполнения эта формула вызывает процедуру интеграции под названием ClaimCoverage_ClaimCoverageFormula. Эта процедура интеграции ожидает вводные данные для claimId, benefitType и quantityCount, как показано в данном образце вводного JSON для тестирования процедуры интеграции:

{ 
	"claimId": "a2b4W000007W2pQQAS",
	"benefitType": "Ambulance - Air",
	"quantityCount": "1",
}

Формула вычисления покрытия указывает, что вывод JSON для процедуры интеграции ClaimCoverage_ClaimCoverageFormula находится в узле под названием result. Если структура JSON в этом узле result соответствует ожидаемому формату JSON вывода InsClaimItemService: calculateCoverages, система действует так же, как и при использовании базового класса атрибутов мощности: отображение скорректированной стоимости пользователю и постоянных данных в записях ClaimCoveragePaymentDetail, ClaimCoveragePaymentAdjustment и InsurancePolicyTermTrackingEntry после нажатия кнопки «Добавить».

В этом выводном примере JSON выплаты $50 за посещение оздоровления узел result заставляет InsClaimItemService: add выполнить вставку 50 в ClaimCoveragePaymentDetail.AdjustedAmount.

{  
	"result": {
		"claimLineItem": {
			"adjustedAmount": "50"
			}
	},
}

Ниже указаны советы по настройке расчета.

  • Если ваш сценарий использования использует существующие классы атрибутов мощности, вы можете использовать InsurancePolicyTerms: getCurrentStandings для определения количества остающихся в условии политики перед применением поправки. Этот шаг позволяет применить правильную поправку и передать обратно соответствующий assetTermId. В этих сценариях использования настройте структуру JSON, возвращенную процедурой интеграции, чтобы добавить узлы claimLineItem и claimLineItemAdjustment.

    В узле claimLineItemAdjustment убедитесь, что:

    • Добавьте assetTermId.

    • Добавьте атрибутClass.

    Службе InsClaimItemService: add нужны оба этих значения для определения способа создания записи отслеживания термина страхового полиса для этого определенного атрибута мощности в полисе. Например, спецификация покрытия с условным вычитаемым имеет два атрибута силы вычитаемого: Вычитается А для пожара и вычитается Б для наводнения. Процедура интеграции в формуле расчета покрытия может использовать InsurancePolicyTerms: getCurrentStandings для определения, что вычитаемый А для этого полиса составляет 1000 долларов, а вычитаемый Б - 500 долларов. Потом, в зависимости от причины потери для этого требования, процедура интеграции может определить, какой вычитаемый применять. При возврате вывода JSON убедитесь, что возвращен правильный assetTermId, в зависимости от того, какое вычитание было применено.

  • Некоторые сценарии использования не связаны с готовыми классами атрибутов мощности, но требуют корректировки сведений об оплате. Например, если поставщик выставляет счет больше оговоренного тарифа, вам нужна запись ClaimCoveragePaymentAdjustment, чтобы объяснить, почему скорректированная сумма оплаты меньше заявленной. В этих сценариях использования настройте структуру JSON, возвращенную процедурой интеграции, чтобы добавить узлы claimLineItem и claimLineItemAdjustment.

    В узле claimLineItemAdjustment:

    • Исключите assetTermId, поскольку отсутствует класс атрибута power, определяющий эту поправку.

    • Добавьте атрибутClass в качестве причины поправки (например, «Поправка завышения счета»).

    Служба InsClaimItemService: add использует строку attributeClass для заполнения поля ClaimCoveragePaymentDetail.AdjustedReason, даже если связанный атрибутClass отсутствует.

  • Если сценарий использования связан со стоимостью выплаты для типа пособия, нет расхождений между заявленными и скорректированными суммами. Например, единый тариф в размере 100 долларов США в день применяется к пребыванию в больнице. В этих случаях оставьте весь узел claimLineItemAdjustment за пределами JSON.

 
Загрузка
Salesforce Help | Article