public static MeasurementStateFlags DeriveStateFlags(this DataQualityFlags qualityFlags)
        {
            MeasurementStateFlags stateFlags = MeasurementStateFlags.Normal;

            if (qualityFlags.HasFlag(DataQualityFlags.ValueQualityIsBad))
            {
                stateFlags |= MeasurementStateFlags.BadData;
            }

            if (qualityFlags.HasFlag(DataQualityFlags.TimeQualityIsBad))
            {
                stateFlags |= MeasurementStateFlags.BadTime;
            }

            return(stateFlags);
        }
        public static DataQualityFlags DeriveQualityFlags(this MeasurementStateFlags stateFlags)
        {
            DataQualityFlags qualityFlags = DataQualityFlags.Normal;

            if (stateFlags.HasFlag(MeasurementStateFlags.BadData))
            {
                qualityFlags |= DataQualityFlags.ValueQualityIsBad;
            }

            if (stateFlags.HasFlag(MeasurementStateFlags.BadTime))
            {
                qualityFlags |= DataQualityFlags.TimeQualityIsBad;
            }

            return(qualityFlags);
        }