Processing KWH Avoided Files

Oracle Utilities Analytics Insights send "kWh avoided" files containing the actual energy reduction achieved for the duration of the event for each customer, which can be used to determine financial settlement data. These files consist of comma separated records for each participating metered service point which are sent to Oracle Cloud Object Storage. A batch process imports these files and creates business flags that capture the data for each metered service point. This section describes how Oracle Utilities Digital Asset Cloud Service/Digital Asset Management processes these "kWh avoided" files.

KWH Avoided File Format

"kWh avoided" files use the following comma values format:

Field

Description

Example

EventId

ID of the program event

4011

EventType

The program event type

Economic

ProgramId

The Program ID for the event

1234512345

SPId

The Metered Service Point ID

1122334455

ActualStartTime

Start time of the event

2022-12-13T14:30:00-05:00

ActualEndTime

End time of the event

2022-12-13T16:30:00-05:00

IntervalSize(Seconds)

The interval size of the interval values included, represented in seconds.

900

TotalkWh

The total kWh for the event period

75.00

TotalKwhSavedForPeriod

The total kWh saved for the event period

33.00

KwhSaved<n>

Individual interval values that comprise the total kWh saved for the event period. The number of interval values is based on the duration of the event divided by the interval size.

1: 5.00

2: 3.00

3: 2.00

4: 2.00

5: 3.00

6: 8.00

7: 6.00

8: 4.00

Below is a sample file, based on the example data above:

EventId,EventType,ProgramId,SPId,ActualStartTime,ActualEndTime,IntervalSize(Seconds),TotalKwh,TotalKwhSavedForPeriod,KwhSaved1,KwhSaved2,KwhSaved3,KwhSaved4,..... 4011,Economic,1234512345,1122334455,2022-12-13T14:30:00-05:00,2022-12-13T16:30:00-05:00,900,75.00,33.00,5.00,3.00,2.00,2.00,3.00,8.00,6.00,4.00

Batch Processing

"kWh avoided" files are processed using the kWh Avoided Business Flag Upload (X1-KWHAV) batch process. Use the Batch Control portal to view the parameters used by this batch process. This process should be scheduled to run on a regular basis.

This batch processes uses the Create kWh Avoided Business Flag (X1-KWHAVDBUS) algorithm (defined for the "File Upload" System Event on the Algorithms tab of the Batch Control portal). This algorithm uses the following parameters:

  • Business Flag Standard Name: The Standard Name (X1-KWHAVOIDED) used to identify the Business Flag Type for business flags created by the batch process. See Understanding Business Flags and Standard Name for more information about business flag standard names.

  • Interval Data Condition Value: The usage transaction service quantity condition code for the interval data values captured in the business flag, from the Usage Transaction SQ Interval Condition (D2-UTSQIntvlConditionLookup) extendable lookup

Note that these parameter values cannot be changed. Implementations wishing to use alternative values for these parameters must create their own version of this algorithm and add the customer algorithm to the batch control.

KWH Avoided Business Flags

The kWh Avoided Business Flag Upload (X1-KWHAV) batch process creates business flags for each metered service point in the "kWh avoided" files sent from Oracle Utilities Analytics Insights. These business flags are created using the kWh Avoided Business Flag (X1-KWhAvdBusinessFlag) business object.

"kWh avoided" business flags include the following:

  • Business Flag Type: The business flag type on which the business flag is based. Business flag types specify details for business flags of a certain type.

  • Status: The current status of the business flag

  • Metered Service Point ID: The metered service point associated with the business flag

  • Business Flag Date/Time: The date and time the business flag was created. Note that this is not related to the time period of the interval data values contained in the record.

  • Actual Start Date/Time: The start date and time of the event

  • Actual End Date/Time: The end date and time of the event

  • Initiating System: the system that created the business flag. When blank it indicates the business flag was created internally.

  • External Information: Identifiers received from the system that initiated the business flag

    • Event External Identifier: External ID for the event

    • Program External ID: The program's external ID

    • Source File ID: An ID used to group business flags that were received in the same file

    • External Reference System: an alternate reference for the external system. This is used to identify the initiating system.

    • External Service Point ID: the identifier for the service point in the initiating system

  • Details: Details of the program event that resulted in the actual energy reduction, including:

    • Event Settlement Processed: A flag that indicates if an event settlement transaction has been created from this business flag. Note that this is only visible when editing the business flag.
    • Program Event ID: ID for the program event

    • Program Event Category: The event's category

    • Status: The status of the data import. Can be one of the following:

      • Success: The import contained a Total KWh value and all interval values

      • Partial: The import contained a Total kWh value and some interval values

      • Failure: The import contained a Total kWh value but no interval values

    • Total kWh: The service point's total energy (in kWh) for the event.

    • Total kWh avoided: The service point's total energy reduction (in kWh) for the event. If the Status is "Success" this value should equal the total of the interval values listed below.

    • Interval Size: The interval size of the interval values included, represented as hh:mm:ss (hours:minutes:seconds)

    • Interval Data: A table listing the individual interval values that comprise the energy reduction. Each interval value is defined by:

      • Sequence: The sequence number for the interval value. The number of interval values should equal the duration of the event divided by the interval size. For example, for an event that last 2 hours with an interval size of 15 minutes, there would be 8 interval values.

      • Date/Time: The date and time of the interval value. Note that the first interval value should have a Date/Time equal to the Actual Start Date/Time.

      • Quantity: The interval value, in kWh. The total of these values should equal the Total kWh avoided value above.

      • Interval Condition Value: The usage transaction service quantity condition assigned to the value (from the Interval Data Condition Value parameter on the Create kWh Avoided Business Flag (X1-KWHAVDBUS) algorithm).

KWH Avoided Business Flag Processing

When "kWh avoided" business flags enter the "Additional Processing" state, the Event Settlement Creation (X1-EVTSETCR) algorithm creates an Event Settlement Transaction based on the details contained in the business flag. If the Interval Size (Seconds) on the business flag is different from the Interval Size defined on the business flag type, the interval values are converted to match the interval size defined on the business flag type.

For example, a business flag contains the following 15-minute interval values (Interval Size of 900 seconds):

Date/Time

Value

2022-12-13T14:00:00

5.00

2022-12-13T14:15:00

3.00

2022-12-13T14:30:00

2.00

2022-12-13T14:45:00

2.00

2022-12-13T15:00:00

3.00

2022-12-13T15:15:00

8.00

2022-12-13T15:30:00

6.00

2022-12-13T15:45:00

4.00

If the Interval Size defined on the business flag type is 1-hour intervals (Interval Size of 01:00:00), the 15-minute interval values would be summed to create the following 1-hour interval values.

Date/Time

Value

2022-12-13T14:00:00

12 (the sum of the first four 15-minute interval values)

2022-12-13T15:00:00

21 (the sum of the second four 15-minute interval values)

KWH Avoided Business Flag Types

You must create a business flag type that references the business flag Standard Name and business flag business object to be used when creating business flags, as well as the unit of measure, time of use period, and service quantity identifier combination used to define the interval usage values on event settlement transactions created from business flags. This should be creating using the kWh Avoided Business Flag Type (X1-KWhAvdBusinessFlagType) business object, and should contain the following:

  • Business Flag Type: A code for the business flag type.

  • Standard Name: The business flag standard name for business flags based on this type. This should be kWh Avoided (X1-KWHAVOIDED).

  • Related Transaction BO: The business object used for business flags based on this type. This defaults to kWh Avoided Business Flag (X1-KWhAvdBusinessFlag) and should not be changed unless your implementation has created its own "kWh avoided" business flag business object.

  • Default Priority: The default priority assigned to business flags based on this type. This is used to prioritize processing of business flags based on this type relative to other business flags.

  • Status: The status of the business flag type. Business flags are created only from "Active" business flag types.

  • Description: A description of the business flag type. This is used in information strings for the business flag type.

  • UOM/TOU/SQI: Parameters that define how the "kWh avoided" interval values will be represented on event settlement transactions created from business flags of this type   

    • UOM: The unit of measure used to define how the "kWh avoided" interval values will be represented on event settlement transactions

    • TOU: The time of use period used to define how the "kWh avoided" interval values will be represented on event settlement transactions

    • SQI: The service quantity identifier used to define how the "kWh avoided" interval values will be represented on event settlement transactions

    • Interval Size:  The size of the "kWh avoided" interval values created on event settlement transactions, represented as hours:minutes:seconds (HH:MI:SS). This should match the interval size used for interval price sets.

See Understanding Business Flags for more information about business flags and business flag types.