Events and Mutations

The creation, modification and removal of a tracked entity (as described in Change Event Rules) leads to the creation of a contract event. Contract events lead to the creation of the more granular contract mutations. A contract event maps 1-to-1 to the triggering event (for example, an event that indicates that person XYZ has changed) while a contract mutation maps 1-to-1 to one of the affected contracts.

Contract Events

Each contract event holds a reference to the entity that triggered its creation or to its parent entity/entities. So, a change event rule on subject:

  • Person, Address or Assigned Provider leads to a contract event of level Person with a reference to the person

  • Contract Alignment leads to a contract event of level Contract Alignment with references to the person and the contract

  • Provider, Rendering Address or Provider Specialty leads to a contract event of level Provider with a reference to the provider

  • Service Address leads to a contract event of level Service Address with a reference to the service address (if not deleted) and a reference to the organization provider (if the service address belongs to an organization provider)

    • This can result in only a reference to the provider, only a reference to the service address, both a reference to the provider and the service address or no references at all

  • Provider Group Affiliation leads to a contract event of level Provider Group Affiliation with references to the provider group and the provider

  • Contract, Contract Time Period, Contract Calculation Period, Contract Adjustment, Contract Adjustment Override, Contract Provider Filter Rule,Contract Rate Split or Contract Payment Receiver leads to a contract event of level Contract with a reference to the contract

  • Rate Schedule Line leads to a contract event of level Rate Schedule with a reference to the rate schedule

  • Adjustment Schedule Line leads to a contract event of level Adjustment Schedule with a reference to the adjustment schedule and for action Update also a reference to the adjustment schedule line

  • Schedule Dimension Value

    • In the context of a rate schedule line, leads to a contract event of level Rate Schedule with a reference to the rate schedule

    • In the context of an adjustment schedule line, leads to a contract event of level Adjustment Schedule with a reference to the adjustment schedule (without a reference to the adjustment schedule line)

A contract event has the following fields:

Table 1. Contract Events
Field Description

Event Level

The level of the contract event (Person, Contract Alignment, Provider, Service Address, Provider Group Affiliation, Contract,Rate Schedule or Adjustment Schedule)

Type

The type of the event (Reattribution or Recalculation)

Person

A reference to the person

Provider

A reference to the provider

Service Address

A reference to the service address

Provider Group

A reference to the provider group

Contract

A reference to the contract

Rate Schedule

A reference to the rate schedule

Adjustment Schedule

A reference to the adjustment schedule

Adjustment Schedule Line

A reference to the adjustment schedule line

Effective Date

The date from which onward the modification has effect

Cause

The cause of the event, being a combination of Action (C, U or D) - Subject (Alias of the entity) - Type (A for reattribution or C for recalculation). Examples of the format:

  • Create Contract Provider Filter Rule (Reattribution) → C CNFR A

  • Update Rate Schedule Line (Recalculation) → U RSLN C

Contract Mutations

Not all contract events explicitly refer to a contract, for example, the event may have been triggered by a configuration change, indirectly affecting a large number of contracts. In order for the application to detect which contracts (or which persons and/or providers in the context of contracts) are affected, this link is first made explicit by creating contract mutations.

The application includes a separate activity that makes explicit which contracts are affected by a contract event, in the form of contract mutations. A contract mutation record has the following fields:

Table 2. Contract Mutations
Field Description

Contract

A reference to the contract (always specified)

Person

A reference to the person (specified depending on the type and level of the event)

Provider

A reference to the provider (specified depending on the type and level of the event)

Type

The type of the mutation (Reattribution or Recalculation)

Effective Date

The date from which onward the modification has effect (transferred from the effective date of the event)

Cause

The cause of the mutation (transferred from the cause of the event)

The global activity type 'Generate Contract Mutations' takes contract events and turns them into a number of contract mutations, based on the type and level of the event (as described in the sections below). Note that once an event has been evaluated and possible contract mutations for the event have been generated, the contract event record itself is removed.

Reattribution

The following applies for the evaluation of events of type Reattribution:

  • Only contracts that have at least one contract calculation period that does not have an end date before the contract event’s effective date and that has at least one calculation result are taken into account

  • Only contract alignments and assigned providers that do not have an end date before the contract event’s effective date are taken into account

Note that the above applies to all levels as specified below (where applicable).

Person Level

The system retrieves the contracts that have a contract alignment that refers to the specified person. For every retrieved contract, the system creates a contract mutation with a reference to the person.

Contract Alignment Level

The system retrieves the specified contract and creates a contract mutation with a reference to the specified person for it.

Provider Level

The system retrieves the contracts that have a contract alignment that refers to a person that has an assigned provider that refers to the specified provider. For every such distinct combination of contract and person, the system creates a contract mutation with a reference to the person (the reference to the provider is not specified). This can lead to multiple contract mutations for the same contract, but for different persons.

Service Address Level

On a service address level event a provider, a service address, both provider and service address or none of provider and service address can be specified:

  • If only the provider is specified, the system retrieves the contracts that have a contract alignment that refers to a person that has an assigned provider that refers to the specified provider.

  • If only the service address is specified, the system retrieves the contracts that have a contract alignment that refers to a person that has an assigned provider that refers to a provider that renders services (through a rendering address[1]) on the specified service address.

  • If both provider and service address are specified, the system retrieves contracts based on the specified provider (as specified in the first bullet) and it also retrieves contracts based on the specified service address (as specified in the second bullet).

  • If both provider and service address are unspecified (when a service address that does not belong to an organization provider is deleted), no contracts are retrieved. This scenario can only occur when deleting a service address’s rendering address (if it is the only rendering address of the service address); this will be covered by change event rules for subject rendering address (if configured).

For every such (as specified above for the different scenarios) distinct combination of contract and person, the system creates a contract mutation with a reference to the person (the reference to the provider is not specified). This can lead to multiple contract mutations for the same contract, but for different persons.

Provider Group Affiliation Level

The system retrieves the contracts that have a contract provider filter rule that refers to the specified provider group and that have a contract alignment that refers to a person that has an assigned provider that refers to the specified provider. For every such distinct combination of contract and person, the system creates a contract mutation with a reference to the person (the reference to the provider is not specified). This can lead to multiple contract mutations for the same contract, but for different persons.

Contract Level

The system retrieves the specified contract and creates a contract mutation for it.

Recalculation

The following applies for the evaluation of events of type Recalculation:

  • Only contracts that have at least one attribution that does not have an end date before the contract event’s effective date are taken into account

  • Only attributions and assigned providers that do not have an end date before the contract event’s effective date are taken into account

Note that the above applies to all levels as specified below (where applicable).

Person Level

The system retrieves the contracts that have an attribution that refers to the specified person. For every retrieved contract, the system creates a contract mutation with a reference to the person.

Provider Level

The system retrieves the contracts with attribution type 'Member and Provider' that have an attribution that refers to the specified provider. For every retrieved contract (with attribution type 'Member and Provider'), the system creates a contract mutation with a reference to the provider.

The system retrieves the contracts with attribution type 'Member' that have an attribution that refers to a person that has an assigned provider that refers to the specified provider. For every such distinct combination of contract (with attribution type 'Member') and person, the system creates a contract mutation with a reference to the person (the reference to the provider is not specified). This can lead to multiple contract mutations for the same contract, but for different persons.

Service Address Level

On a service address level event a provider, a service address, both provider and service address or none of provider and service address can be specified:

  • If only the provider is specified, the system retrieves the contracts with attribution type 'Member and Provider' that have an attribution that refers to the specified provider and the contracts with attribution type 'Member' that have an attribution that refers to a person that has an assigned provider that refers to the specified provider.

  • If only the service address is specified, the system retrieves the contracts with attribution type 'Member and Provider' that have an attribution that refers to a provider that renders services (through a rendering address[1]) on the specified service address and the contracts with attribution type 'Member' that have an attribution that refers to a person that has an assigned provider that refers to a provider that renders services (through a rendering address[1]) on the specified service address.

  • If both provider and service address are specified the system retrieves contracts based on the specified provider (as specified in the first bullet) and it also retrieves contracts based on the specified service address (as specified in the second bullet).

  • If both provider and service address are unspecified (when a service address that does not belong to an organization provider is deleted), no contracts are retrieved. This scenario can only occur when deleting a service address’s rendering address (if it is the only rendering address of the service address); this will be covered by change event rules for subject rendering address (if configured).

For every such (as specified above for the different scenarios) distinct combination of contract with attribution type 'Member and Provider' and provider, the system creates a contract mutation with a reference to the provider. This can lead to multiple contract mutations for the same contract, but for different providers.

For every such (as specified above for the different scenarios) distinct combination of contract with attribution type 'Member' and person, the system creates a contract mutation with a reference to the person (the reference to the provider is not specified). This can lead to multiple contract mutations for the same contract, but for different persons.

Contract Level

The system retrieves the specified contract and creates a contract mutation for it.

Rate Schedule Level

The system retrieves the contracts that refer to the specified rate schedule. For every retrieved contract, the system creates a contract mutation.

Adjustment Schedule Level

The evaluation of the contract event depends on the adjustment type of the specified adjustment schedule and the specified/unspecified adjustment schedule line on the contract event:

  • For adjustment schedules of adjustment type Generic, the system retrieves all contracts (regardless of the specified/unspecified adjustment schedule line).

  • For adjustment schedules of adjustment type Contract and an unspecified adjustment schedule line on the contract event, the system retrieves the contracts that have a contract adjustment that refers to the specified adjustment schedule and a contract time period that does not have an end date before the contract event’s effective date.

  • For adjustment schedules of adjustment type Contract and a specified adjustment schedule line on the contract event, the system retrieves the contracts that have a contract adjustment that refers to the specified adjustment schedule and a contract time period that does not have an end date before the contract event’s effective date and that does not have a contract adjustment override for the specified adjustment schedule line.

For every retrieved contract, the system creates a contract mutation.


1. that does not have an end date before the contract event’s effective date