Activities

Fee generation can be triggered by changes related to the policy/ (described in more detail in the Change Events guide) or it can be triggered by a user in the View and Edit Policy page (described in more detail in the Policies guide). For example fees might need to be generated when issuing a new member health ID card (replacement), issuing a new policy or changing the policyholder on an existing policy.

This chapter describes the activities that are used during the generation of fees. Activities are fee generation threads that can run in parallel. Some activities do nothing more than split up the work into other activities with a smaller scope, while others execute the actual fee generation.

This chapter describes the following activities:

Activity Name Purpose

Generate Fee

Starts the overall process for fee generation.
Selects eligible policies and divides the workload over the policies.

Generate Fee per Policy

Generates fees for a single policy or enrollments on a single policy.

Generate Fee

The Generate Fee activity is started by the user. This is the only activity that is started by a user; the Generate Fee per Policy activity is automatically started by the system itself. The user can control the scope of the fee generation process by selecting values for the following parameters:

Name Description

Fee Definition

If specified, the fee generation process only generates fees for that fee definition. If not, then the fee generation process generates fees for all fee definitions.

Brand

If specified, the fee generation process only picks up policies for that brand. If not, then the fee generation process picks up policies from any brand.

Group Account

If specified, the fee generation process only picks up policies for that group account. If not, then the fee generation process picks up policies from any account. If unspecified is selected, the fee generation process only picks up individual policies.

Financial Transaction Function

This dynamic logic function facilitates the modification of 1) financial transaction details and 2) financial transaction and financial transaction process data attributes of the fee financial transaction. Only dynamic logic functions with signature Fee Financial Transaction are allowed.

The purpose of this activity is to select all policies that may be eligible for fee generation and start separate policy level activities for the eligible policies.

The following messages can occur during this activity:

Code Severity Message Text

POL-VL-GFEE-001

Fatal

Fee definition code {code} is unknown

POL-VL-GFEE-002

Fatal

Brand code {code} is unknown

POL-VL-GFEE-003

Fatal

Group account code {code} is unknown

POL-VL-GFEE-004

Fatal

Financial transaction function dynamic logic code {code} is unknown or has an invalid signature

POL-VL-GFEE-005

Fatal

The fee schedule used by the specified fee definition is not enabled [1]

To select eligible policies the system looks at the specified parameters, the status of the policy, the existing policy mutations, the reoccurring fee indicator on the applicable fee definition(s) and the policy fee history. For each of the eligible policies, this activity starts a new Generate Fee per Policy activity.

Parameters, Status and Mutations

Policies (latest versions) that meet all of the following are selected:

  • Belong to the specified group account, or - if the group account parameter has the value unspecified - have no group account

  • Belong to the specified brand (if applicable)

  • Have the status Approved, Edit or Pended

  • Have at least one policy mutation for the specified fee definition, or - if no fee definition is specified - have at least one policy mutation of type Fee

If a single group account (X) includes policies that belong to brand A and other policies that belong to brand B, it is possible to start fee generation for only those policies that belong to account X and brand A, or only those policies that belong to account X and brand B. If the user specifies account X as a parameter - and leaves the brand empty - then the fee generation picks up all policies that belong to account X, both for brand A and B.

Reoccurring Fee Indicator and Policy Fee History

The system looks at the reoccurring fee indicator on the applicable fee definition(s) and the related policy fee history to decide if the policies that are selected based on the parameters, status and mutations are eligible for fee generation. This mechanism is somewhat different if no fee definition is specified as a parameter, because in that case all applicable fee definitions have to be taken into account.

Specified Fee Definition

If the reoccurring fee indicator on the specified fee definition is checked, the selected policies are eligible for fee generation. If the reoccurring fee indicator on the specified fee definition is unchecked, the system checks the policy fee history to see if a fee has already been generated for the policy or policy enrollment and the fee definition in context. This mechanism differs per level of the fee definition.

Policy Level

The policies that have no policy fee history records for the fee definition in context are eligible for fee generation. The policies that do have policy fee history records for the fee definition in context are not eligible for fee generation; the policy mutations that exist for those policies and the fee definition in context are discarded.

Enrollment Level

For every policy that has been selected based on the parameters, status and mutations, the system evaluates the policy mutations for the specific policy and fee definition in context one by one. The system checks if a policy fee history record exists for the policy, fee definition in context and insurable entity that is specified on the policy mutation. If it exists, the policy mutation is discarded. If it does not exist, the policy mutation is kept. The policies that have at least one policy mutation at the end of the evaluation, are eligible for fee generation.

Unspecified Fee Definition

For every policy that has been selected based on the parameters, status and mutations, the system evaluates the policy mutations for the specific policy one by one. If the fee definition that is specified on the policy mutation has a checked reoccurring fee indicator, the policy mutation is kept. If the fee definition that is specified on the policy mutation has an unchecked reoccurring fee indicator, the system checks if a policy fee history record exists for the policy, and the fee definition and insurable entity (if applicable) that are specified on the policy mutation (same evaluation as for a specified fee definition). If it exists, the policy mutation is discarded. If it does not exist, the policy mutation is kept. The policies that have at least one policy mutation at the end of the evaluation, are eligible for fee generation.

Generate Fee per Policy

Each Generate Fee activity creates one or more Generate Fee per Policy activities (if the selection results in one or more policies being eligible for fee generation). The purpose of this activity is to generate fees (financial transactions) for the eligible policies.

If a fee definition is specified as a parameter, the system selects all policy mutations for the policy and fee definition in context. If no fee definition is specified as a parameter, the system selects all policy mutations of type Fee for the policy. For every selected policy mutation, the system creates a fee by executing the steps as specified below. This means that multiple fees can be generated at once for a single policy by this activity; for example when generating member health ID card replacement fees for multiple members on the policy.

The following messages can occur during this activity:

Code Severity Message Text

POL-FL-GFEE-001

Info

No applicable policy enrollment exists for fee definition {code}

POL-FL-GFEE-002

Info

Schedule definition {code} is not enabled

POL-FL-GFEE-003

Fatal

Multiple applicable fee schedule lines exist for fee definition {code}

POL-FL-GFEE-004

Info

No applicable fee schedule line exists for fee definition {code}

Note that if a message is raised, the element id of the message is set to the policy code of the policy in context.

The steps specified in the sections below are executed per selected policy mutation.

Set Context

The system picks up the fee definition, insurable entity (if specified) and effective date from the policy mutation. This information will be used as input for the succeeding steps. If the fee definition has level Enrollment, the system needs to find the correct policy enrollment that will also be used as input for the succeeding steps. This is done based on the insurable entity specified on the policy mutation. If no applicable policy enrollment can be found, because it no longer exists or the mutation does not specify an insurable entity (this can occur when the fee definition configuration has been changed), the system stops with the fee generation process for the policy mutation in context, logs informative message POL-FL-GFEE-001 and discards the mutation.

Evaluate Condition

The system checks if the policy or policy enrollment meets the dynamic logic condition specified (optional) on the fee definition. If the policy or policy enrollment meets the condition or if there is no condition specified, the system continues with the fee generation process (specified below). If the policy or policy enrollment does not meet the condition, the system stops with the fee generation process for the policy mutation in context and discards the policy mutation.

Determine Fee Amount

Based on the fee definition, the system knows which fee schedule has to be evaluated. If the schedule definition of that fee schedule is disabled, the system stops with the fee generation process for the policy mutation in context, logs informative message POL-FL-GFEE-001 and discards the mutation. If the schedule definition is enabled, the system searches for the applicable fee schedule line. This mechanism is similar as when searching for an applicable premium schedule line during premium calculation (more information can be found in the Premium Calculation guide), with the following differences:

  • The effective date on the policy mutation is used as the reference date

  • This date is also used to determine the applicable fee schedule time period*. A fatal message (POL-FL-GFEE-003) is logged if multiple applicable fee schedule lines are found

  • In this scenario the system stops with the fee generation process for the policy mutation in context and keeps the policy mutation*. An informative message (POL-FL-GFEE-004) is logged if no applicable fee schedule line can be found === Create Financial Data

The system creates a base financial object, a financial transaction (including process data) and a financial transaction detail (including process data). This financial data can be customized by the 'Fee Financial Transaction' dynamic logic function (if specified as a parameter). More information on this dynamic logic function can be found in the Dynamic Logic guide. The financial transactions are further processed in the financial sub system to generate Financial Message(s) for the financial application connector that is being used. More information on financial data and financial processing can be found in the Financial guide.

Create History

The system creates a policy fee history record for the specific policy, insurable entity (if applicable) and fee definition. The id of the policy fee history record is set on the newly created base financial object, making it uniquely identifiable. The policy mutation is discarded.


1. Meaning that the schedule definition that the fee schedule is based on is not enable