Discipline Balance Feature

The Discipline Balance feature is used to manage a person’s attendance infractions when a number of these infractions occur in a specific time period. For example, a person can earn a point for having two Unexcused Absences in 30 days. These points accumulate in a person's discipline balance. Disciplinary levels and tickets can be issued based on these points.

The DISCIPLINE_BALANCE service uses the rulesets and settings in a person’s Discipline Balance Policy to update the person’s discipline balances. The Discipline Balance Policy determines whether the person will have separate discipline balances that accumulate points and tickets for different attendance infractions, or a single discipline balance that accumulates points for multiple types of attendance infractions. The Discipline Balance Policy also determines the “weight” of an occurrence. For example, an Early Departure with a 2.0-hour duration may count as 0.5 occurrence and the same event with a duration of 4.0 hours may count as 1.0 or more occurrences.

You can view and manage a person’s discipline balances in the Discipline Balance tab of the Employee form. You can also view discipline balance increases and point reductions in the Attendance Calendar form and the Attendance Calendar Report.

Note: Discipline Balances are included as part of a person’s Balance Policy, although the Discipline Balance Policy is configured in a separate form. The Discipline Balance Policy and the Balance Policy have the same name. The Policy Name field in both forms will display the same options. If you create the Policy Name in the Discipline Balance Policy form, you can select this same Policy Name in the Balance Policy form and vice versa. However, in the Balance Policy form you will be configuring Balance Codes instead of Discipline Balance Codes. Both policies are assigned to persons via the Balance Policy setting.

See Also:

License Requirements

Defining Your Discipline Balance Codes

Defining Your Discipline Balance Rulesets

Creating Your Discipline Balance Policy

Assigning the (Discipline) Balance Policy

Configuring and Running the DISCIPLINE_BALANCE Service

Viewing and Managing a Person’s Discipline Balances

Viewing and Printing Discipline Balance Tickets

Using the Attendance Calendar Form and Report

Discipline Balance Configuration Examples

 

License Requirements

The Discipline Balance feature requires the following:

To check if the module is included in your license and enabled:

  1. Click Main Menu > Configuration > System > Licensing.

  2. On the License Modules tab, select Discipline Balance Policy forms under the Module Name column.

  3. Ensure that the following check boxes are selected: Licensed and Module Enabled.

 

Defining Your Discipline Balance Codes

Use the Discipline Balance Code tab of the Balance Code form to define your Discipline Balance Codes. A Discipline Balance Code holds the points that are generated for attendance infractions – also called a person’s discipline balance. A person’s discipline balance can be viewed and modified on the Discipline Balance tab of the Employee form.

You can define a single Discipline Balance Code that accumulates points for multiple types of attendance infractions. For example, you may define a Discipline Balance Code for which an employee will accumulate points based on the number of absences, tardies, and early departures he has in a specific time period. See Example 1.

You can also define separate Discipline Balance Codes for each different attendance infraction. For example, you may define a Discipline Balance Code called ABSENT for which a person will accumulate points based on the number of absences he has in a specific time period. Likewise, you may have a Discipline Balance Code called TARDY for which a person will accumulate points based on the number of late arrivals he has. See Example 2.

After you define your Discipline Balance Code and Discipline Balance Rulesets, you will configure it in a Discipline Balance Policy. The DISCIPLINE_BALANCE service will accumulate points in a person's Discipline Balance Code based on the code’s settings in the Discipline Balance Policy.

 

Defining Your Discipline Balance Rulesets

The DISCIPLINE_BALANCE service use rules with the DisciplineBalanceContext to add points to, add levels to, and reduce the points in your Discipline Balance Codes.

You must define these rules in the Calc Rule form and organize them into rulesets using the Rulesets form.

See Discipline Balance Operands for information on the operands used to create these rules.

Once you define the Discipline Balance Code and Discipline Balance Rulesets, you will configure them in the Discipline Balance Policy.

 

Creating Your Discipline Balance Policy

Use the Discipline Balance Policy form to configure the rules and settings for your Discipline Balance Codes. You will add one or more Discipline Balance Codes to this policy and for each Discipline Balance Code, you will add the Discipline Balance Rulesets that will update the Discipline Balance Code.

Your Discipline Balance Policy can include a single Discipline Balance Code that accumulates points for multiple types of attendance infractions. Or you can create a Discipline Balance Policy that includes separate Discipline Balance Codes for different attendance infractions.

You can also use the Occurrence Weight tab to configure attendance infractions that count as a partial occurrence. For example, an Early Departure with a 2.0-hour duration may count as 0.5 occurrence and the same event with a duration of 4.0 hours may count as 1.0 or more occurrences.

 

Assigning the (Discipline) Balance Policy

After you configure the Discipline Balance Policy, you need to assign it to the appropriate persons using the Balance Policy setting

The Discipline Balance Policy is considered part of a person’s Balance Policy (both policies have the same name). The Policy Name you select on the Discipline Balance Policy form can also be selected in the Policy Name field on the Balance Policy form. When the Balance Policy is assigned to a person, the Discipline Balance Policy (if any) will also be assigned to the person.

Once the Discipline Balance Policy is configured and has been assigned to the correct persons (via the person's Balance Policy setting), you can configure and run the DISCIPLINE_BALANCE service. The DB service will update a person’s discipline balances and display these records in the Discipline Balance tab of the Employee form.

 

Configuring and Running the DISCIPLINE_BALANCE Service

The DISCIPLINE_BALANCE service is used to accumulate points to a person's discipline balances, apply the appropriate level to the discipline balance, and reduce the discipline balance based on the person’s discipline balance history. These actions are each performed by a different task of the DISCIPLINE_BALANCE service.

The service looks at a person’s Discipline Balance Policy to see what Discipline Balance Codes it includes and how they are configured. Each Discipline Balance Code has rulesets that correspond to the DISCIPLINE_BALANCE service’s tasks. The service processes the rules for these tasks in order (BALANCE_ACCUMULATION, BALANCE_LEVELS, and BALANCE_REDUCTION).

The DISCIPLINE_BALANCE service’s END_POST_DATE_OFFSET parameter defines the end of the processing range. The service will run for the current date or for each post date since the last run, up until the date determined by this offset.

To configure the DISCIPLINE_BALANCE service, use the Service Instance form.

 

Viewing and Managing a Person’s Discipline Balances

The Discipline Balance tab of the Employee form is used to view and manage a person’s discipline balance transactions. Discipline balance transactions are the changes made to a person’s discipline balance amounts, either by the DISCIPLINE_BALANCE service or manually using this form.

You can use the Discipline Balance tab of the Employee form to:

 

Viewing and Printing Discipline Balance Tickets

Depending on how the Discipline Balance rules are configured, the DISCIPLINE_BALANCE service can create a ticket and attach occurrences to the ticket. For example, you can create a rule that causes a person who has two absence occurrences in 30 days to get 1 point and to create a ticket. The ticket will include the timecard transactions for the occurrences detected by this rule.

To print a discipline balance ticket, select the discipline balance record on the Discipline Balance tab of the Employee form and click View Ticket History. Select the discipline ticket you want to view, or print and click View/Print Ticket.

Click Print Ticket to display your web browser’s Print form and print the ticket.

 

Using the Attendance Calendar Form and Report

The Attendance Calendar form (Main Menu > Manage > Attendance Calendar) displays attendance data in a calendar format, including increases and reductions to a discipline balance. The form also displays timecard event postings for events in a specific Event Group, holidays from Holiday Calendar, and dates when a person was inactive.

You can view this data for all the people you supervise or you can use the Person, Facility, and other filter fields to view only specific people you supervise. You can display the data for an entire month or one week in the month.

The Attendance Calendar Report (Main Menu > Reporting > Reports > Attendance Calendar Report) displays the same data as the Attendance Calendar form, but for one person only. The report will display the data in a calendar format. You can display the data for the current month and up to 12 previous months. The report also includes a summary of the event postings (if an Event Group was selected) and a summary of any discipline balance changes.

 

Discipline Balance Configuration Examples

Example 1 - Once discipline balance for all attendance infractions and some infractions have different weight

In this example, an employee has a single discipline balance code to which points are added based on the occurrences of Late Arrival, No Show, and Early Departure events the person has. In addition, Early Departure events that are less than 4 hours count as a partial occurrence.

A Discipline Balance Code called Hourly_Discipline_Balance is defined on the Balance Code form.

Event Groups need to be created for each of the attendance events that count toward the discipline balance, as well as an Event Group that includes all these events. In the Event Group form, a group called All_Infractions is created that includes the Late Arrival, No Show, and Early Departure events. A separate Event Group is also created for each of these events (Late Arrival, No Show, and Early Departure).

The All_Infractions Event Group will be used in the ruleset that updates the Hourly_Discipline_Balance code. The individual Event Groups will be configured in the Discipline Balance Policy.

In the Calc Rule and Rulesets forms, you need to define the rules that will update the Hourly_Discipline_Balance code. The Context for the rules is DisciplineBalanceContext. A rule called Attendance infraction in 30 days 1 pt increase and ticket is created that states that if a person has two occurrences of an event in the Event Group called All_Infractions in 30 days, then the person will have 1 point added to their discipline balance and receive a ticket. This rule is assigned to a ruleset called Hourly_Disc_Bal_Rules.

IF Is Occurrence By Group In Last X Range( 2, All_Infractions, 30, Days, True, Extend For Inactive, All Days )
THEN Add To Disciplinary Balance( 1 )
And Create Disciplinary Balance Ticket( )
And Attach Transactions To Ticket( Get Occurrences By Group In Last X Range( 2, All_Infractions, 30, Days, True, Extend For Inactive, All Days ) )

A Discipline Balance Policy called Hourly_Employees is created that determines how the Hourly_Discipline_Balance code will be updated. This policy specifies the ruleset that will be used by the DISCIPLINE_BALANCE service to update the Discipline Balance Code. It also configures the partial occurrences of the Early Departure events and the Multi-Day Occurrence setting of the No Show events.

Once the Hourly_Employees Discipline Balance Policy is assigned to the appropriate persons, you need to configure and schedule the DISCIPLINE_BALANCE service to run.

For example, today the employee is an hour late to work (1.0 occurrence of a Late Arrival). Seven days earlier, the employee left work an hour early (0.5 occurrence of an Early Departure). Ten days earlier, the employee did not show up to work (1.0 occurrence of a No Show event). When the DISCIPLINE_BALANCE service runs, it finds the 1.0 occurrence of the Late Arrival on today, and then finds the 0.5 occurrence of the Early Departure seven days ago. The service will then look for another partial occurrence of an event in the Event Group. However, the service cannot find any partial occurrences so it skips the 0.5 Early Departure occurrence. Finally, the service finds the 1.0 occurrence of the No Show event from 10 days ago. Now the service has found two occurrences. A point is added to the employee’s discipline balance and a ticket is created, showing the Late Arrival and the No Show event.

 

Example 2 - Separate discipline balance for each attendance infraction

In this example, an employee has separate discipline balance codes for Late Arrival and No Show events. The points and tickets in each discipline balance are accumulated separately.

On the Discipline Balance Code tab of the in the Balance Code form, two discipline balance codes are created: Absence and Tardy.

On the Calc Rule and Rulesets forms, you need to define the rules that will update the Absence and Tardy codes. The Context for the rules is DisciplineBalanceContext.

The Absence discipline balance code is updated by the following rule. This rule is in a Discipline Balance ruleset called Absence Ruleset.

Absence in 30 days 1 point balance increase and a Ticket

IF Is Occurrence By Type On Today( ATTENDANCE NO_SHOW )
And Is Occurrence By Type In Last X Range( 1, ATTENDANCE NO_SHOW, 30, Days, False, Extend For Inactive, All Days )
THEN Add To Disciplinary Balance( 1 )
And Create Disciplinary Balance Ticket( )
And Attach Transactions To Ticket( Get Occurrences By Type In Last X Range( 1, ATTENDANCE NO_SHOW, 30, Days, False, Extend For Inactive, All Days ) )
And Attach Transactions To Ticket( Get Occurrences By Type On Today( ATTENDANCE NO_SHOW ) )

The Tardy discipline balance code is updated by the following rule. This rule is in a Discipline Balance ruleset called Tardy Ruleset.

Tardy in 30 days 1 point balance increase and a Ticket

IF Is Occurrence By Type On Today( ATTENDANCE LATE_ARRIVAL )
And Is Occurrence By Type In Last X Range( 1, ATTENDANCE LATE_ARRIVAL, 30, Days, False, Extend For Inactive, All Days )
THEN Add To Disciplinary Balance( 1 )
And Create Disciplinary Balance Ticket( )
And Attach Transactions To Ticket( Get Occurrences By Type In Last X Range( 1, ATTENDANCE LATE_ARRIVAL, 30, Days, False, Extend For Inactive, All Days ) )

A Discipline Balance Policy called ALL_FULL_TIME is created that determines how the Absence and Tardy discipline balance codes will be updated. This policy specifies the rulesets that will be used by the DISCIPLINE_BALANCE service to update these codes, as well as the Multi-Day Occurrence setting for the absences.

Once the ALL_FULL_TIME Discipline Balance Policy is assigned to the appropriate persons (via the Balance Policy setting), you need to configure and schedule the DISCIPLINE_BALANCE service to run.

For example, today the employee did not report to work and has a No Show event. The DISCIPLINE_BALANCE service starts processing today, finds the No Show event, and looks back to find another No Show event in the last 30 days. The employee also did not report to work two weeks ago, so the service finds another No Show event in the last 30 days. As a result, the person has a point added to his Absence discipline balance and gets a ticket.

The service is also checking to see if the employee had any Late Arrival events. Yesterday the employee was late to work. Per the Tardy Ruleset, the service looks back to find any other Late Arrival events that were posted 30 days prior to yesterday. However, the last time the employee was late was two months ago. Because the employee does not have any other Late Arrivals in the last 30 days, the Tardy balance does not increase and the employee does not receive a ticket.