Processing Initial Measurement Data Using Direct Measurement Processing
Initial measurement data (IMD) received from external systems is processed through two major stages:
- Seeder IMD Seeder Type: This is the common interface point that receives all IMD information and performs critical validations and conversions. During this process the IMD Seeder identifies the appropriate specific IMD business object for further processing. The choice is made based on the category of IMD being processed (initial load) and the type of measuring component the IMD is for. For example, an IMD for an interval measuring component would result in the Initial Load IMD (Interval) business object being selected. If for some reason the IMD Seeder encounters an error an instance of the Legacy IMD Seederbusiness object associated with the IMD Type will be created to manage the resolution of that error.
-
Specific IMD Type: Each specific IMD type has the appropriate calculation and
validation logic for the type of data that has been received. An IMD containing
scalar data will be processed differently than interval data. However, all types of
data will have a similar set of steps taken:
- Any external system specific statuses for the measurement data are interpreted into the appropriate internal statuses
- An initial consumption calculation is performed
- VEE rules are executed
- Final measurements are created
Seeder IMD Type Processing
The Seeder IMD type receives IMD data in a common structure, however, the content of the data (identifiers, date/times, and so on) can vary depending on the system and the particular device that generated it. To accurately translate the external content to values understood by the system the seeder leverages the configuration of the service provider (aka head end or external system) and the device.
The service provider specifies the following inputs into seeder type processing:
- Identifier Types: Each IMD must identify the device and measuring component the data has been generated from. The system supports a multitude of identifiers for both the device and measuring component. The service provider configuration specifies which identifier types are used for both the device and the measuring component which enables the IMD seeder to search for the correct destination for the measurement data. For example, a service provider might indicate that devices are identified by a serial number and measuring components are identified by a channel identifier.
- Date/Time Format: The service provider configuration will identify whether the date/times that were sent included specific time zone designations. This allows the system to accurately handle any time zone conversions that may be necessary.
-
Processing Methods: A service provider has many processing methods that
are used in the evaluation of the IMD.
- Initial Measurement Creation - Maps a given measuring component type to the initial measurement BO that should be created
- UOM Translation - Identifies the extendable lookup that should be used to map the service provider specific UOM to the internal UOM
- TOU Translation - Identifies the extendable lookup that should be used to map the service provider specific TOU to the internal TOU
- SQI Translation - Identifies the extendable lookup that should be used to map the service provider specific SQI to the internal SQI
- Time Zone Translation - Identifies the extendable lookup to be used in mapping the service provider specific time zone to the interval time zone.
The device specifies the following inputs into seeder type processing:
- Incoming Data Shift: This value is either specified directly on the device or can be defaulted via fallback on the device type. It identifies whether the incoming date/time information has is "Shifted" meaning it has been adjusted for Daylight Savings Time (DST) when in effect, or it is "Not Shifted" which means it will never be adjusted for DST. This plays an important role in the date/time processing since all incoming IMD date/times will be stored without an adjustment for DST.
With these inputs the seeder type is able to translate the external identifiers into the appropriate identifiers to tie the initial measurement data to a specific measuring component in the system.
Once a measuring component is identified it is then used to select the appropriate specific IMD type using the "Initial Measurement Creation" processing method of the service provider.
Seeder IMD Type Critical Validations
For initial measurement data to continue on to specific IMD type processing it must pass several critical validations:
- The measuring component must be identified.
- The initial measurement must contain the appropriate date/times for the type of data being processed: scalar must have an end date/time and interval must have both a start and end date/time.
- The interval list must match the number of intervals expected based on the start and end date/times. Note: if there are too few intervals the missing intervals can be automatically added to the initial measurement without generating an error. How this is done depends on whether there are date/times for each individual interval. If there are date/times for each interval the missing intervals are placed where the gaps exist. Otherwise when there are no date/times for the individual intervals the missing intervals are added to the end of the interval list.
If any of the critical validations have failed the IMD processing will be halted and an instance of the IMD Seeder business object will be created, same as when using legacy processing.
Seeder IMD Type Time Zone Translation and Conversion
To provide the most accurate tracking of measurement data all initial measurement data is stored in a single time zone without an adjustment for Daylight Savings Time (DST). As utilities can have multiple head end systems that each send date/time information in different ways and some utilities operate in multiple time zones the seeder type contains functionality to convert incoming date/times from a source time zone into the time zone of the Oracle Utilities application (Meter Data Management or Customer to Meter), (as indicated by the base time zone)
There are three components to identifying the source time zone of the incoming initial measurement:
- Service Provider IMD Import Date/Time Format: When the initial measurement date/times are sent in format that identifies the time zone for each date/time, the date/times will be delivered to the seeder type already converted.
- Incoming Data Shift: This indicates whether the date/times will be adjusted for DST while it is in effect. A value of "Always in Local Time" indicates that the date/times are adjusted for DST. A value of "Always in Standard Time" indicates that the date/times are not adjusted for DST
-
Time Zone: The time zone of the incoming data is identified using the
follow order of precedence:
- The time zone as indicated by the initial measurement data
- The service point time zone
- The device configuration time zone
- The measuring component time zone
- The time zone defined on the Main tab on the Installation Options - Framework portal
Once the time zone and the data shift of the incoming date/times is identified all date/times will be converted from that time zone and shift into the base time zone in standard time.
Note: Additional detail on the logic for date/time adjustments and validation of undercount and overcount can be found on the D1-DODTTMADJ Algorithm Type.
Specific IMD Type Processing
When initial measurement data is received from external systems (head end systems) it is processed based on the the specific IMD type defined or the measuring component type on the "Initial Measurement Creation" processing method. IMD types are configured to execute the VEE rules that are associated to the Initial Load VEE role on the measuring component (or measuring component type in the case of a fallback). For adapter specific variations of the IMD type there is logic to map external measurement statuses to measurement conditions.
Scalar Initial Measurement Data Processing
Scalar initial measurement processing works in the same way in both Legacy Measurement Processing and Direct Measurement Processing. See Scalar Initial Measurement Data Processing for details.
Interval Initial Measurement Data Processing
Interval initial measurement processing works in the same way in both Legacy Measurement Processing and Direct Measurement Processing. See Interval Initial Measurement Data Processing for details.
Initial Measurement Data Valid Date Boundaries
Initial measurement data valid date boundaries work in the same way in both Legacy Measurement Processing and Direct Measurement Processing. See Initial Measurement Data Valid Date Boundaries for details.
Deferring Initial Measurement Data Processing
Deferring initial measurement data processing works in the same way in both Legacy Measurement Processing and Direct Measurement Processing. See Deferring Initial Measurement Data Processing for details.
Initial Measurement Data Prioritization
Initial measurement data prioritization works in the same way in both Legacy Measurement Processing and Direct Measurement Processing. See Initial Measurement Data Prioritization for details.
Measuring Component Dates
Measuring component dates are maintained in the way in both Legacy Initial Measurement Data Processing and Direct Measurement Processing. See Maintaining Measuring Component Dates for details.