Direct Measurement Processing
Direct Measurement Processing is a method of processing incoming initial measurement data designed to reduce the volume of initial measurement records in the database. Rather than create and update initial measurement data records, Direct Measurement Processing processes initial measurement data in memory and creates final measurements in the Measurement (D1_MSRMT) table. With Direct Measurement Processing, records in the Initial Measurement Data (D1_INIT_MSRMT_DATA) table are created only if an error is encountered during processing (including VEE processing). If using Measuring Component Ordering (see below), Direct Measurement Processing also creates temporary staging records (in the IMD Control Staging (D1_IMD_CTRL_STAGE) table).
IMD Types
IMD Types are configuration records used to define how initial measurements are processed using Direct Measurement Processing. There are two main categories of IMD types - seeder types (based on the Seeder IMD Type (D1-IMDSeederType) business object) and specific types (based on the Specific IMD Type (D1-IMDType) business object).
-
Seeder IMD types represents an initial measurement data (IMD) seeder, which serves as the universal input into the system for external callers or for initial measurement payload processing. The main purpose of the seeder IMD type is to determine the most appropriate specific IMD type (such as interval or scalar, or a type used with a particular Smart Grid Gateway adapter) to use for further processing and prepare the input data for that IMD type. Additionally, a seeder IMD type is used to perform critical validation (such as an interval count validation), device and channel identification, mapping of external values (such as Unit of Measure and time zone) to internal values, and time zone conversion for date/time fields.Note:There can only be on seeder IMD type active at any one time.
- Specific IMD types define the rules for processing a specific initial measurement data (IMD) record. Different specific IMD types contain rules for processing the different types of initial measurement data that can be received. For example, one IMD type defines the rules for processing a scalar measurement from the Landys+Gyr head end system while another IMD Type instance defines the rules for processing an interval initial measurement from the Sensus head end system. There are four types of algorithms supported for specific IMD types: Pre Processing, Pre-VEE, VEE, and Post-VEE. These algorithms are responsible for validating that the measurement has been correctly mapped to the IMD Type (Pre Processing), calculating consumption (Pre-VEE), performing VEE (VEE), writing to the final measurement table (Post-VEE), among other responsibilities.
IMD Types are defined for specific measuring component types in the the "Initial Measurement Creation" processing method (“How to Create MC Related Information”) for each head end system. See Creating Head End Systems in the Administrative User Guide for more information about processing methods.
See Understanding IMD Types in the Administrative User Guide for more information.
VEE Processing and Exceptions with Direct Measurement Processing (SECTION)
When using Direct Measurement Processing, VEE is performed by the Direct Measurement Processing Service based on algorithms defined for the initial measurement's IMD Type.
- If any quantities are changed during VEE processing, original (Pre VEE) quantities are captured along with the final (Post VEE) quantities in the Measurement (D1_MSRMT) table.
- If an initial measurement fails a VEE rule with only exceptions with a Severity of "Information", a header record is created in the Initial Measurement Data (D1_INIT_MSRMT_DATA) table. This header serves as a parent record for the VEE exception(s). In this case, final measurements are created as part of the process.
- If an initial measurement returns an error during Pre-VEE processing or fails a VEE rule with a Severity of "Issues" or "Terminate", a record is created in the Initial Measurement Data (D1_INIT_MSRMT_DATA) table for the initial measurement, and further processing is done using Legacy Measurement Processing. The type of initial measurement data record created is based the configuration of the IMD type.
The table below summarizes how VEE exceptions are created and and whether final measurements are created when using Direct Measurement Processing.
Scenario | Initial Measurement Data (D1_INIT_MSRMT_DATA) Record | VEE Exceptions Created | Final Measurements Created |
---|---|---|---|
No exceptions | No | No | Yes |
Error in Pre VEE algorithms | Yes, based on the IMD Business Object defined on the IMD Type (such as D1-InitialLoadIMDInterval) | No | No |
"Information" and "Issue" or "Terminate" VEE Exceptions | Yes, based on the IMD Business Object defined on the IMD Type (such as D1-InitialLoadIMDInterval) | Yes | No |
"Issue" or "Terminate" VEE Exceptions | Yes, based on the IMD Business Object defined on the IMD Type (such as D1-InitialLoadIMDInterval) | Yes | No |
Only "Information" VEE exceptions | Info Exception IMD Header | Yes | Yes |
Measuring Component Filtering
Direct Measurement Processing supports filtering of incoming data for external measuring components. See External Measuring Components for more information about external measuring components.
Measurement data for external measuring components can be filtered (in other words, dropped) or passed through to an external system via file system or object storage.
Filtering is controlled using the IMD Handling flag on the external measuring component types. This flag has two values, "Filtered" and "Pass through". As data is processed, the Direct Measurement Processing Service evaluates this flag to determine how to proceed.
- When this flag is set to "Filtered", the Direct Measurement Processing Service drops the measurement records, returns the initial measurement payload to the payload processing service (marked as "Filtered") so it will be captured in payload processing statistics.
-
When this flag is set to "Pass through", the Direct Measurement Processing Service returns the initial measurement payload to the payload processing service (marked as "Pass through") so it will be captured in payload processing statistics, and the Payload Processing batch process sends the payload to a file system or object storage (for use in external systems).
In the event of an error when processing initial measurements for "pass through" external measuring components, the measurement can be captured in the Initial Measurement Data (D1_INIT_MSRMT_DATA) table for correction (similar to what happens if an error is encountered during processing of regular measurement data). Errors for "pass through" measurements can include errors related in critical validations during IMD seeder processing, status mapping, or consumptions calculation. Processing of "pass through" measurements in error is handled via "Pass through" IMD types and measurements are captured in "Pass through" initial measurement business objects. When the error is resolved, the measurement enters the "Waiting for Extract" status, and a batch process will retrieve the payload and send it the file system or object storage.
Measuring Component Ordering
In some implementations, it's important that measurement data is processed in a specific order. For example, when using a scalar channel as a "check channel" to estimate/validate a non-primary interval channel, it's important to process the scalar channel first. Another example are implementations in which measurement data for some (usually daily) scalar measuring components is occasionally sent to the system out of order. For example, data for four days in January might arrive in the following order:
- January 5
- January 2
- January 3
- January 4
By default, Direct Measurement Processing processes initial measurements as they are received into the system, meaning that the data for the January 5 measurement would be updated three times as each of the measurements that came after it is processed.
In cases like these, measurements should be processed based on the initial measurement's Start and Stop dates. In Legacy measurement processing, situations like this are handled by the IMD Monitor batch processes (such as D1-IMD and D1-IMDV2), which processes the data based on Start and Stop dates rather than in the order in which the data was received in the application. For Direct Measurement Processing, this can be supported through Measuring Component Ordering.
Measuring Component Ordering can be used with specific measuring components or measuring component types, and is defied for measuring components or measuring component types using the Initial Load IMD Ordering or Initial Load IMD Ordering (Fallback) flag (respectively). Initial measurements marked for Measuring Component Ordering via this flag are captured in the IMD Control Staging table with a status of "Ready to Process". Lists of these initial measurements can be viewed in either the Initial Measurement Data History zone of the Measuring Component portal, or by searching by measuring component or device or IMD identifier using the Initial Measurement Data Search zone in the IMD Query portal. Individual initial measurements in the "Ready to Process" state can be viewed using the IMD Control Staging portal (see Using the IMD Control Staging Portal for more information about using that portal).
"Ready to Process" records can be processed in one of two ways:
- One at a time from the IMD Control Staging portal
- Using the Process IMD Control Stage Data (D1-IMDCS) batch process. This batch
process uses the following parameters:
-
Value to restrict to IMD Control Stage Status: Designates the status of records to process. When processing Measuring Component Ordering initial measurements, this should be set to "D1RD" ("Ready to Process").
- Enable sequence handling: Designates (true or false) if initial measurements should be retrieved and ordered for a measuring component in ascending order by date time and create date time. When processing Measuring Component Ordering initial measurements, this should be set to "true".
-
Enabling Direct Measurement Processing
To enable Direct Measurement Processing, do the following:
- Enable the Use IMD Type option on your SGG Payload Processing Configuration extendable lookup values. See Configuring Direct Measurement Processing and Creating SGG Payload Processing Extendable Lookup Values in the Administrative User Guide for more information.
- Update the "Initial Measurement Creation" processing method (“How to Create MC Related Information”) to specify the IMD Types to use for your measuring component types for each head end system. See Configuring Direct Measurement Processing and Creating Head End Systems in the Administrative User Guide for more information.