You can do anything you like with any adapter. Basically all adapters are similar in nature but perform the following specific abstract tasks. InputAdapters: Typically “maps” measurements from a data source (i.e., assigns a timestamp and an ID to measured values parsed from a stream of data), new measurements are presented to openPDC by calling “void OnNewMeasurements(ICollection measurements)” method. Interface: IInputAdapter, base class: InputAdapterBase ActionAdapters: Typically filters and sorts measurements by time allowing adapter to take action on a synchronized set of data provided in the “abstract void PublishFrame(IFrame frame, int index)” method which adapter overrides (note that frame contains a collection of measurements all collected into the same time-indexed frame bucket). If the action causes the creation of new measurements (e.g., phase angle and magnitude used to calculate power), new measurements are presented to openPDC by calling “void OnNewMeasureme