Cancel Policy

This operation provides the ability to cancel a policy. Canceling a policy always results in setting the status of the policy to Canceled, deleting all existing policy mutations and reversing all existing calculation results (including the creation of reversal financial transactions). Besides setting the status, deleting the mutations and reversing the results, it is also possible to (re)calculate the premium of the policy if this is required (based on the Calculate on Cancellation setting on the policy). Calculating the policy as part of the cancellation process is required for scenarios that include cancellation fees (an example is provided in the Cancellation section). The premium calculation activity is described in detail in the "Premium Calculation" section of the Operations Guide.

Canceled policies are inactive, that is, they will not be picked up by any future activity (for example premium calculation or output generation). A description of the possible statuses of a policy (including the possible status transitions) can be found in the "Policy Statuses" page in the Process Policies chapter of the Operations Guide.

The operation marks the Initial, Queued, Loaded, or Failed status of a policy-update request - that has a Global Identifier (GID) matching with the policy GID - to Rejected. In addition to that, matched policy code on the policy update request is updated if the policy code changed after policy cancel operation.

Resource Representation

Only policies in status Edit (first versions excluded), Pended (first versions excluded) or Approved (only last versions) can be canceled. This can be derived by the presence or absence of the "cancel" link.

The resource representation of a policy that can be canceled, looks like this:

{
  ... policy properties ...
  "links": [
    {
      "href": "http://://generic/policies/<id>",
      "rel": "self"
    },
    {
      "href": "http://://policies/<id>/cancel",
      "rel": "policy:cancel",
      "httpMethod": "POST"
    }
  ]
}

In the resource representation of a policy that cannot be canceled, the "cancel" link is not provided:

{
  ... policy properties ...
  "links": [
    {
    "href": "http://://generic/policies/<id>",
    "rel": "self"
    }
  ]
}

Request Payload

In the request payload a number of premium calculation settings can be specified. The payload looks like this:

{
  "finTransDynLogic": "",
  "comFinTransDynLogic": "",
  "disableRevGrouping": true/false
}

The dynamic logic for financial transaction and commission financial transaction as well as the disable reversal grouping indicator are optional, just as they are when starting the premium calculation directly from within the application.

Cancellation

After a cancellation request is received for a policy, a process is triggered that cancels the policy. This process differs per status of the policy. For policies with the edit or pended status the system first deletes the policy version in context, sets the status of the previous policy version to Canceled (including the creation of a new policy status history record for the Canceled status) and deletes all existing policy mutations. Afterwards the system checks the Calculate on Cancellation field on the previous policy version:

  • If set to No, the system reverses all existing (non-reversed) calculation results (the previous policy version is set as the reversal policy on the results) and creates reversal financial transactions and financial transactions with zero amount and no financial transaction detail for the reversed results both in the context of premium and commission

  • If set to Yes, the system triggers a (re)calculation of the entire[1] policy based on the previous policy version; this includes the reversal of existing results if applicable For policies with the approved status the system first sets the status of the policy version in context to Canceled (including the creation of a new policy status history record for the Canceled status) and deletes all existing policy mutations. Afterwards the system checks the Calculate on Cancellation field on the policy:

  • If set to No, the system reverses all existing (non-reversed) calculation results (the policy version in context is set as the reversal policy on the results) and creates reversal financial transactions and financial transactions with zero amount and no financial transaction details for the reversed results both in the context of premium and commission

If the Currency Conversion (Billing or Commission) function dynamic logic exists, it will do the conversion as specified in the function. If the function does not find an exchange rate, technical error GEN-CURR-002 is thrown (see the "Dynamic Logic" chapter in the Developer Guide for more information).
  • If set to Yes, the system triggers a (re)calculation of the entire[1] policy; this includes the reversal of existing results if applicable (an example is provided in the section below) Note that, regardless of the status of the policy, if the premium calculation process ends with a fatal message, that message is returned in the response and all cancellation steps are reverted (that is, the policy is not canceled).

Calculate on Cancellation Example

When someone applies for a temporary work visa (120 days) for the United Arab Emirates, he or she has to have a health insurance policy during the stay. The premium (320 AED) is paid upfront for the entire contract period. If the visa application is denied, the insurance is also canceled. When the insurance is canceled, 90% of the premium is refunded.

An enrollment product (VISA INSURANCE) is configured with one premium schedule (VISA PREMIUM) and one adjustment (VISA REFUND). The premium schedule returns a yearly amount based on a dynamic logic function (320/120 * number of days in calendar year). The adjustment (-90%) only applies on canceled policies; this is enforced by a dynamic logic condition with signature schedule that checks if the status of the policy is Canceled. The amount distribution setting on the enrollment product is set to Daily.

A policy is entered with a 120 days contract period starting on the 15th of February 2019 and ending on the 14th of June 2019. The collection setting on the policy is set to Contract Period. The Calculate on Cancellation field on the policy is set to Yes. The policy has one member who is enrolled on enrollment product VISA INSURANCE from the 15th of February 2019. After the policy is approved it is calculated, which results in the following calculation results (based on calendar month calculation periods):

Table 1. Calculate on Cancellation Example
Calculation Results

Calculation Period

Total Premium

Total Adjustment

Total Result

Version

Reversal Policy

February 2019

37.33 AED

0 AED

37.33 AED

1

March 2019

82.67 AED

0 AED

82.67 AED

1

April 2019

80.00 AED

0 AED

80.00 AED

1

May 2019

82.67 AED

0 AED

82.67 AED

1

June 2019

37.33 AED

0 AED

37.33 AED

1

The member’s visa request is denied, so the member cancels his/her policy. The status of the policy is changed from Approved to Canceled, the existing results are reversed and the policy is recalculated. This results in the following calculation results:

Table 2. Calculation Results
Calculation Results

Calculation Period

Total Premium

Total Adjustment

Total Result

Version

Reversal Policy

February 2019[2]

37.33 AED

0 AED

37.33 AED

1

Policy V1

February 2019

37.33 AED

-33.60 AED

3.73 AED

2

March 2019[2]

82.67 AED

0 AED

82.67 AED

1

Policy V1

March 2019

82.67 AED

-74.40 AED

8.27 AED

2

April 2019[2]

80.00 AED

0 AED

80.00 AED

1

Policy V1

April 2019

80.00 AED

-72.00 AED

8.00 AED

2

May 2019[2]

82.67 AED

0 AED

82.67 AED

1

Policy V1

May 2019

82.67 AED

-74.40 AED

8.27 AED

2

June 2019[2]

37.33 AED

0 AED

37.33 AED

1

Policy V1

June 2019

37.33 AED

-33.60 AED

3.73 AED

2

Response Messages

This operation provides HTTP status codes as defined in Response Messages. If an error occurs, the appropriate HTTP status code is returned and a notification is sent containing the details of the error.

The following operation specific error can occur:

Table 3. Response Messages
Code Severity Message Text

POL-HTTP-008

Fatal

Policy is not in a cancellable state

Authorization

The above described operation is protected by access restriction "policies.cancel IP". A grant for this access restriction must be provided. If the access to a policy is restricted by a data access group restriction, then to perform this operation on that policy also a grant for that data access group restriction must be provided with the Update flag set.


1. All applicable calculation periods are selected based on the time validity of the policy contract periods and policy enrollment products. System requires all policy calculation periods (if used) to be per-generated. No policy calculation periods are generated as a part of cancel policy process.
2. For the reversed calculation results reversal financial transactions are created with negated amounts