{"size": 62631, "ext": "js", "max_stars_repo_path": "plain-javascript-client/model/Variable.js", "max_stars_repo_name": "QuantiModo/QuantiModo-SDK-JavaScript", "max_stars_repo_stars_event_min_datetime": "2015-06-05T23:26:00.000Z", "max_stars_repo_stars_event_max_datetime": "2015-06-05T23:26:00.000Z", "max_issues_repo_path": "plain-javascript-client/model/Variable.js", "max_issues_repo_name": "QuantiModo/QuantiModo-SDK-JavaScript", "max_issues_repo_issues_event_min_datetime": "2018-05-26T01:30:38.000Z", "max_issues_repo_issues_event_max_datetime": "2021-06-09T17:37:39.000Z", "max_forks_repo_path": "plain-javascript-client/model/Variable.js", "max_forks_repo_name": "QuantiModo/quantimodo-sdk-javascript", "max_forks_repo_forks_event_min_datetime": "2021-04-13T16:08:43.000Z", "max_forks_repo_forks_event_max_datetime": "2021-04-14T18:42:48.000Z"}
{"max_stars_count": 1, "max_issues_count": 180, "max_forks_count": 4, "avg_line_length": 39.1933667084, "max_line_length": 571, "alphanum_fraction": 0.686944165}
/**
 * quantimodo
 * We make it easy to retrieve and analyze normalized user data from a wide array of devices and applications. Check out our [docs and sdk's](https://github.com/QuantiModo/docs) or [contact us](https://help.quantimo.do).
 *
 * OpenAPI spec version: 5.8.112511
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 *
 * Swagger Codegen version: 2.4.8
 *
 * Do not edit the class manually.
 *
 */

(function(root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define(['ApiClient', 'model/Card', 'model/DataSource', 'model/TrackingReminderNotificationAction', 'model/Unit', 'model/Variable', 'model/VariableCategory', 'model/VariableCharts'], factory);
  } else if (typeof module === 'object' && module.exports) {
    // CommonJS-like environments that support module.exports, like Node.
    module.exports = factory(require('../ApiClient'), require('./Card'), require('./DataSource'), require('./TrackingReminderNotificationAction'), require('./Unit'), require('./Variable'), require('./VariableCategory'), require('./VariableCharts'));
  } else {
    // Browser globals (root is window)
    if (!root.Quantimodo) {
      root.Quantimodo = {};
    }
    root.Quantimodo.Variable = factory(root.Quantimodo.ApiClient, root.Quantimodo.Card, root.Quantimodo.DataSource, root.Quantimodo.TrackingReminderNotificationAction, root.Quantimodo.Unit, root.Quantimodo.Variable, root.Quantimodo.VariableCategory, root.Quantimodo.VariableCharts);
  }
}(this, function(ApiClient, Card, DataSource, TrackingReminderNotificationAction, Unit, Variable, VariableCategory, VariableCharts) {
  'use strict';




  /**
   * The Variable model module.
   * @module model/Variable
   * @version 5.8.112511
   */

  /**
   * Constructs a new <code>Variable</code>.
   * @alias module:model/Variable
   * @class
   * @param id {Number} Ex: 95614
   * @param name {String} Ex: Trader Joes Bedtime Tea / Sleepytime Tea (any Brand)
   * @param userId {Number} User ID
   * @param variableId {Number} Ex: 96380
   */
  var exports = function(id, name, userId, variableId) {
    var _this = this;













































    _this['id'] = id;






































    _this['name'] = name;



















































    _this['userId'] = userId;












    _this['variableId'] = variableId;



  };

  /**
   * Constructs a <code>Variable</code> from a plain JavaScript object, optionally creating a new instance.
   * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
   * @param {Object} data The plain JavaScript object bearing properties of interest.
   * @param {module:model/Variable} obj Optional instance to populate.
   * @return {module:model/Variable} The populated <code>Variable</code> instance.
   */
  exports.constructFromObject = function(data, obj) {
    if (data) {
      obj = obj || new exports();

      if (data.hasOwnProperty('actionArray')) {
        obj['actionArray'] = ApiClient.convertToType(data['actionArray'], [TrackingReminderNotificationAction]);
      }
      if (data.hasOwnProperty('alias')) {
        obj['alias'] = ApiClient.convertToType(data['alias'], 'String');
      }
      if (data.hasOwnProperty('availableUnits')) {
        obj['availableUnits'] = ApiClient.convertToType(data['availableUnits'], [Unit]);
      }
      if (data.hasOwnProperty('bestStudyLink')) {
        obj['bestStudyLink'] = ApiClient.convertToType(data['bestStudyLink'], 'String');
      }
      if (data.hasOwnProperty('bestStudyCard')) {
        obj['bestStudyCard'] = Card.constructFromObject(data['bestStudyCard']);
      }
      if (data.hasOwnProperty('bestUserStudyLink')) {
        obj['bestUserStudyLink'] = ApiClient.convertToType(data['bestUserStudyLink'], 'String');
      }
      if (data.hasOwnProperty('bestUserStudyCard')) {
        obj['bestUserStudyCard'] = Card.constructFromObject(data['bestUserStudyCard']);
      }
      if (data.hasOwnProperty('bestPopulationStudyLink')) {
        obj['bestPopulationStudyLink'] = ApiClient.convertToType(data['bestPopulationStudyLink'], 'String');
      }
      if (data.hasOwnProperty('bestPopulationStudyCard')) {
        obj['bestPopulationStudyCard'] = Card.constructFromObject(data['bestPopulationStudyCard']);
      }
      if (data.hasOwnProperty('optimalValueMessage')) {
        obj['optimalValueMessage'] = ApiClient.convertToType(data['optimalValueMessage'], 'String');
      }
      if (data.hasOwnProperty('commonOptimalValueMessage')) {
        obj['commonOptimalValueMessage'] = ApiClient.convertToType(data['commonOptimalValueMessage'], 'String');
      }
      if (data.hasOwnProperty('userOptimalValueMessage')) {
        obj['userOptimalValueMessage'] = ApiClient.convertToType(data['userOptimalValueMessage'], 'String');
      }
      if (data.hasOwnProperty('card')) {
        obj['card'] = Card.constructFromObject(data['card']);
      }
      if (data.hasOwnProperty('causeOnly')) {
        obj['causeOnly'] = ApiClient.convertToType(data['causeOnly'], 'Boolean');
      }
      if (data.hasOwnProperty('charts')) {
        obj['charts'] = VariableCharts.constructFromObject(data['charts']);
      }
      if (data.hasOwnProperty('chartsLinkDynamic')) {
        obj['chartsLinkDynamic'] = ApiClient.convertToType(data['chartsLinkDynamic'], 'String');
      }
      if (data.hasOwnProperty('chartsLinkEmail')) {
        obj['chartsLinkEmail'] = ApiClient.convertToType(data['chartsLinkEmail'], 'String');
      }
      if (data.hasOwnProperty('chartsLinkFacebook')) {
        obj['chartsLinkFacebook'] = ApiClient.convertToType(data['chartsLinkFacebook'], 'String');
      }
      if (data.hasOwnProperty('chartsLinkGoogle')) {
        obj['chartsLinkGoogle'] = ApiClient.convertToType(data['chartsLinkGoogle'], 'String');
      }
      if (data.hasOwnProperty('chartsLinkStatic')) {
        obj['chartsLinkStatic'] = ApiClient.convertToType(data['chartsLinkStatic'], 'String');
      }
      if (data.hasOwnProperty('chartsLinkTwitter')) {
        obj['chartsLinkTwitter'] = ApiClient.convertToType(data['chartsLinkTwitter'], 'String');
      }
      if (data.hasOwnProperty('childCommonTagVariables')) {
        obj['childCommonTagVariables'] = ApiClient.convertToType(data['childCommonTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('childUserTagVariables')) {
        obj['childUserTagVariables'] = ApiClient.convertToType(data['childUserTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('clientId')) {
        obj['clientId'] = ApiClient.convertToType(data['clientId'], 'String');
      }
      if (data.hasOwnProperty('combinationOperation')) {
        obj['combinationOperation'] = ApiClient.convertToType(data['combinationOperation'], 'String');
      }
      if (data.hasOwnProperty('commonAlias')) {
        obj['commonAlias'] = ApiClient.convertToType(data['commonAlias'], 'String');
      }
      if (data.hasOwnProperty('commonTaggedVariables')) {
        obj['commonTaggedVariables'] = ApiClient.convertToType(data['commonTaggedVariables'], [Variable]);
      }
      if (data.hasOwnProperty('commonTagVariables')) {
        obj['commonTagVariables'] = ApiClient.convertToType(data['commonTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('createdAt')) {
        obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'String');
      }
      if (data.hasOwnProperty('dataSourceNames')) {
        obj['dataSourceNames'] = ApiClient.convertToType(data['dataSourceNames'], 'String');
      }
      if (data.hasOwnProperty('dataSources')) {
        obj['dataSources'] = ApiClient.convertToType(data['dataSources'], [DataSource]);
      }
      if (data.hasOwnProperty('description')) {
        obj['description'] = ApiClient.convertToType(data['description'], 'String');
      }
      if (data.hasOwnProperty('displayName')) {
        obj['displayName'] = ApiClient.convertToType(data['displayName'], 'String');
      }
      if (data.hasOwnProperty('durationOfAction')) {
        obj['durationOfAction'] = ApiClient.convertToType(data['durationOfAction'], 'Number');
      }
      if (data.hasOwnProperty('durationOfActionInHours')) {
        obj['durationOfActionInHours'] = ApiClient.convertToType(data['durationOfActionInHours'], 'Number');
      }
      if (data.hasOwnProperty('earliestFillingTime')) {
        obj['earliestFillingTime'] = ApiClient.convertToType(data['earliestFillingTime'], 'Number');
      }
      if (data.hasOwnProperty('earliestMeasurementTime')) {
        obj['earliestMeasurementTime'] = ApiClient.convertToType(data['earliestMeasurementTime'], 'Number');
      }
      if (data.hasOwnProperty('earliestSourceTime')) {
        obj['earliestSourceTime'] = ApiClient.convertToType(data['earliestSourceTime'], 'Number');
      }
      if (data.hasOwnProperty('errorMessage')) {
        obj['errorMessage'] = ApiClient.convertToType(data['errorMessage'], 'String');
      }
      if (data.hasOwnProperty('experimentEndTime')) {
        obj['experimentEndTime'] = ApiClient.convertToType(data['experimentEndTime'], 'String');
      }
      if (data.hasOwnProperty('experimentStartTime')) {
        obj['experimentStartTime'] = ApiClient.convertToType(data['experimentStartTime'], 'String');
      }
      if (data.hasOwnProperty('fillingType')) {
        obj['fillingType'] = ApiClient.convertToType(data['fillingType'], 'String');
      }
      if (data.hasOwnProperty('fillingValue')) {
        obj['fillingValue'] = ApiClient.convertToType(data['fillingValue'], 'Number');
      }
      if (data.hasOwnProperty('iconIcon')) {
        obj['iconIcon'] = ApiClient.convertToType(data['iconIcon'], 'String');
      }
      if (data.hasOwnProperty('id')) {
        obj['id'] = ApiClient.convertToType(data['id'], 'Number');
      }
      if (data.hasOwnProperty('imageUrl')) {
        obj['imageUrl'] = ApiClient.convertToType(data['imageUrl'], 'String');
      }
      if (data.hasOwnProperty('informationalUrl')) {
        obj['informationalUrl'] = ApiClient.convertToType(data['informationalUrl'], 'String');
      }
      if (data.hasOwnProperty('ingredientOfCommonTagVariables')) {
        obj['ingredientOfCommonTagVariables'] = ApiClient.convertToType(data['ingredientOfCommonTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('ingredientCommonTagVariables')) {
        obj['ingredientCommonTagVariables'] = ApiClient.convertToType(data['ingredientCommonTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('ingredientOfUserTagVariables')) {
        obj['ingredientOfUserTagVariables'] = ApiClient.convertToType(data['ingredientOfUserTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('ingredientUserTagVariables')) {
        obj['ingredientUserTagVariables'] = ApiClient.convertToType(data['ingredientUserTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('inputType')) {
        obj['inputType'] = ApiClient.convertToType(data['inputType'], 'String');
      }
      if (data.hasOwnProperty('ionIcon')) {
        obj['ionIcon'] = ApiClient.convertToType(data['ionIcon'], 'String');
      }
      if (data.hasOwnProperty('joinedCommonTagVariables')) {
        obj['joinedCommonTagVariables'] = ApiClient.convertToType(data['joinedCommonTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('joinedUserTagVariables')) {
        obj['joinedUserTagVariables'] = ApiClient.convertToType(data['joinedUserTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('joinWith')) {
        obj['joinWith'] = ApiClient.convertToType(data['joinWith'], 'Number');
      }
      if (data.hasOwnProperty('kurtosis')) {
        obj['kurtosis'] = ApiClient.convertToType(data['kurtosis'], 'Number');
      }
      if (data.hasOwnProperty('lastProcessedDailyValue')) {
        obj['lastProcessedDailyValue'] = ApiClient.convertToType(data['lastProcessedDailyValue'], 'Number');
      }
      if (data.hasOwnProperty('lastSuccessfulUpdateTime')) {
        obj['lastSuccessfulUpdateTime'] = ApiClient.convertToType(data['lastSuccessfulUpdateTime'], 'String');
      }
      if (data.hasOwnProperty('lastValue')) {
        obj['lastValue'] = ApiClient.convertToType(data['lastValue'], 'Number');
      }
      if (data.hasOwnProperty('latestFillingTime')) {
        obj['latestFillingTime'] = ApiClient.convertToType(data['latestFillingTime'], 'Number');
      }
      if (data.hasOwnProperty('latestMeasurementTime')) {
        obj['latestMeasurementTime'] = ApiClient.convertToType(data['latestMeasurementTime'], 'Number');
      }
      if (data.hasOwnProperty('latestSourceTime')) {
        obj['latestSourceTime'] = ApiClient.convertToType(data['latestSourceTime'], 'Number');
      }
      if (data.hasOwnProperty('latestUserMeasurementTime')) {
        obj['latestUserMeasurementTime'] = ApiClient.convertToType(data['latestUserMeasurementTime'], 'Number');
      }
      if (data.hasOwnProperty('latitude')) {
        obj['latitude'] = ApiClient.convertToType(data['latitude'], 'Number');
      }
      if (data.hasOwnProperty('location')) {
        obj['location'] = ApiClient.convertToType(data['location'], 'String');
      }
      if (data.hasOwnProperty('longitude')) {
        obj['longitude'] = ApiClient.convertToType(data['longitude'], 'Number');
      }
      if (data.hasOwnProperty('manualTracking')) {
        obj['manualTracking'] = ApiClient.convertToType(data['manualTracking'], 'Boolean');
      }
      if (data.hasOwnProperty('maximumAllowedDailyValue')) {
        obj['maximumAllowedDailyValue'] = ApiClient.convertToType(data['maximumAllowedDailyValue'], 'Number');
      }
      if (data.hasOwnProperty('maximumAllowedValue')) {
        obj['maximumAllowedValue'] = ApiClient.convertToType(data['maximumAllowedValue'], 'Number');
      }
      if (data.hasOwnProperty('maximumRecordedDailyValue')) {
        obj['maximumRecordedDailyValue'] = ApiClient.convertToType(data['maximumRecordedDailyValue'], 'Number');
      }
      if (data.hasOwnProperty('maximumRecordedValue')) {
        obj['maximumRecordedValue'] = ApiClient.convertToType(data['maximumRecordedValue'], 'Number');
      }
      if (data.hasOwnProperty('mean')) {
        obj['mean'] = ApiClient.convertToType(data['mean'], 'Number');
      }
      if (data.hasOwnProperty('measurementsAtLastAnalysis')) {
        obj['measurementsAtLastAnalysis'] = ApiClient.convertToType(data['measurementsAtLastAnalysis'], 'Number');
      }
      if (data.hasOwnProperty('median')) {
        obj['median'] = ApiClient.convertToType(data['median'], 'Number');
      }
      if (data.hasOwnProperty('minimumAllowedValue')) {
        obj['minimumAllowedValue'] = ApiClient.convertToType(data['minimumAllowedValue'], 'Number');
      }
      if (data.hasOwnProperty('minimumAllowedDailyValue')) {
        obj['minimumAllowedDailyValue'] = ApiClient.convertToType(data['minimumAllowedDailyValue'], 'Number');
      }
      if (data.hasOwnProperty('minimumNonZeroValue')) {
        obj['minimumNonZeroValue'] = ApiClient.convertToType(data['minimumNonZeroValue'], 'Number');
      }
      if (data.hasOwnProperty('minimumRecordedValue')) {
        obj['minimumRecordedValue'] = ApiClient.convertToType(data['minimumRecordedValue'], 'Number');
      }
      if (data.hasOwnProperty('mostCommonConnectorId')) {
        obj['mostCommonConnectorId'] = ApiClient.convertToType(data['mostCommonConnectorId'], 'Number');
      }
      if (data.hasOwnProperty('mostCommonOriginalUnitId')) {
        obj['mostCommonOriginalUnitId'] = ApiClient.convertToType(data['mostCommonOriginalUnitId'], 'Number');
      }
      if (data.hasOwnProperty('mostCommonUnitId')) {
        obj['mostCommonUnitId'] = ApiClient.convertToType(data['mostCommonUnitId'], 'Number');
      }
      if (data.hasOwnProperty('mostCommonValue')) {
        obj['mostCommonValue'] = ApiClient.convertToType(data['mostCommonValue'], 'Number');
      }
      if (data.hasOwnProperty('name')) {
        obj['name'] = ApiClient.convertToType(data['name'], 'String');
      }
      if (data.hasOwnProperty('numberOfAggregateCorrelationsAsCause')) {
        obj['numberOfAggregateCorrelationsAsCause'] = ApiClient.convertToType(data['numberOfAggregateCorrelationsAsCause'], 'Number');
      }
      if (data.hasOwnProperty('numberOfAggregateCorrelationsAsEffect')) {
        obj['numberOfAggregateCorrelationsAsEffect'] = ApiClient.convertToType(data['numberOfAggregateCorrelationsAsEffect'], 'Number');
      }
      if (data.hasOwnProperty('numberOfChanges')) {
        obj['numberOfChanges'] = ApiClient.convertToType(data['numberOfChanges'], 'Number');
      }
      if (data.hasOwnProperty('numberOfCorrelations')) {
        obj['numberOfCorrelations'] = ApiClient.convertToType(data['numberOfCorrelations'], 'Number');
      }
      if (data.hasOwnProperty('numberOfCorrelationsAsCause')) {
        obj['numberOfCorrelationsAsCause'] = ApiClient.convertToType(data['numberOfCorrelationsAsCause'], 'Number');
      }
      if (data.hasOwnProperty('numberOfCorrelationsAsEffect')) {
        obj['numberOfCorrelationsAsEffect'] = ApiClient.convertToType(data['numberOfCorrelationsAsEffect'], 'Number');
      }
      if (data.hasOwnProperty('numberOfProcessedDailyMeasurements')) {
        obj['numberOfProcessedDailyMeasurements'] = ApiClient.convertToType(data['numberOfProcessedDailyMeasurements'], 'Number');
      }
      if (data.hasOwnProperty('numberOfRawMeasurements')) {
        obj['numberOfRawMeasurements'] = ApiClient.convertToType(data['numberOfRawMeasurements'], 'Number');
      }
      if (data.hasOwnProperty('numberOfTrackingReminders')) {
        obj['numberOfTrackingReminders'] = ApiClient.convertToType(data['numberOfTrackingReminders'], 'Number');
      }
      if (data.hasOwnProperty('numberOfUniqueDailyValues')) {
        obj['numberOfUniqueDailyValues'] = ApiClient.convertToType(data['numberOfUniqueDailyValues'], 'Number');
      }
      if (data.hasOwnProperty('numberOfUniqueValues')) {
        obj['numberOfUniqueValues'] = ApiClient.convertToType(data['numberOfUniqueValues'], 'Number');
      }
      if (data.hasOwnProperty('numberOfUserCorrelationsAsCause')) {
        obj['numberOfUserCorrelationsAsCause'] = ApiClient.convertToType(data['numberOfUserCorrelationsAsCause'], 'Number');
      }
      if (data.hasOwnProperty('numberOfUserCorrelationsAsEffect')) {
        obj['numberOfUserCorrelationsAsEffect'] = ApiClient.convertToType(data['numberOfUserCorrelationsAsEffect'], 'Number');
      }
      if (data.hasOwnProperty('numberOfUserVariables')) {
        obj['numberOfUserVariables'] = ApiClient.convertToType(data['numberOfUserVariables'], 'Number');
      }
      if (data.hasOwnProperty('onsetDelay')) {
        obj['onsetDelay'] = ApiClient.convertToType(data['onsetDelay'], 'Number');
      }
      if (data.hasOwnProperty('onsetDelayInHours')) {
        obj['onsetDelayInHours'] = ApiClient.convertToType(data['onsetDelayInHours'], 'Number');
      }
      if (data.hasOwnProperty('outcome')) {
        obj['outcome'] = ApiClient.convertToType(data['outcome'], 'Boolean');
      }
      if (data.hasOwnProperty('outcomeOfInterest')) {
        obj['outcomeOfInterest'] = ApiClient.convertToType(data['outcomeOfInterest'], 'Boolean');
      }
      if (data.hasOwnProperty('parentCommonTagVariables')) {
        obj['parentCommonTagVariables'] = ApiClient.convertToType(data['parentCommonTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('parentUserTagVariables')) {
        obj['parentUserTagVariables'] = ApiClient.convertToType(data['parentUserTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('pngPath')) {
        obj['pngPath'] = ApiClient.convertToType(data['pngPath'], 'String');
      }
      if (data.hasOwnProperty('pngUrl')) {
        obj['pngUrl'] = ApiClient.convertToType(data['pngUrl'], 'String');
      }
      if (data.hasOwnProperty('predictorOfInterest')) {
        obj['predictorOfInterest'] = ApiClient.convertToType(data['predictorOfInterest'], 'Number');
      }
      if (data.hasOwnProperty('price')) {
        obj['price'] = ApiClient.convertToType(data['price'], 'Number');
      }
      if (data.hasOwnProperty('productUrl')) {
        obj['productUrl'] = ApiClient.convertToType(data['productUrl'], 'String');
      }
      if (data.hasOwnProperty('public')) {
        obj['public'] = ApiClient.convertToType(data['public'], 'Boolean');
      }
      if (data.hasOwnProperty('question')) {
        obj['question'] = ApiClient.convertToType(data['question'], 'String');
      }
      if (data.hasOwnProperty('longQuestion')) {
        obj['longQuestion'] = ApiClient.convertToType(data['longQuestion'], 'String');
      }
      if (data.hasOwnProperty('rawMeasurementsAtLastAnalysis')) {
        obj['rawMeasurementsAtLastAnalysis'] = ApiClient.convertToType(data['rawMeasurementsAtLastAnalysis'], 'Number');
      }
      if (data.hasOwnProperty('secondMostCommonValue')) {
        obj['secondMostCommonValue'] = ApiClient.convertToType(data['secondMostCommonValue'], 'Number');
      }
      if (data.hasOwnProperty('secondToLastValue')) {
        obj['secondToLastValue'] = ApiClient.convertToType(data['secondToLastValue'], 'Number');
      }
      if (data.hasOwnProperty('shareUserMeasurements')) {
        obj['shareUserMeasurements'] = ApiClient.convertToType(data['shareUserMeasurements'], 'Boolean');
      }
      if (data.hasOwnProperty('skewness')) {
        obj['skewness'] = ApiClient.convertToType(data['skewness'], 'Number');
      }
      if (data.hasOwnProperty('standardDeviation')) {
        obj['standardDeviation'] = ApiClient.convertToType(data['standardDeviation'], 'Number');
      }
      if (data.hasOwnProperty('status')) {
        obj['status'] = ApiClient.convertToType(data['status'], 'String');
      }
      if (data.hasOwnProperty('subtitle')) {
        obj['subtitle'] = ApiClient.convertToType(data['subtitle'], 'String');
      }
      if (data.hasOwnProperty('svgUrl')) {
        obj['svgUrl'] = ApiClient.convertToType(data['svgUrl'], 'String');
      }
      if (data.hasOwnProperty('thirdMostCommonValue')) {
        obj['thirdMostCommonValue'] = ApiClient.convertToType(data['thirdMostCommonValue'], 'Number');
      }
      if (data.hasOwnProperty('thirdToLastValue')) {
        obj['thirdToLastValue'] = ApiClient.convertToType(data['thirdToLastValue'], 'Number');
      }
      if (data.hasOwnProperty('trackingInstructions')) {
        obj['trackingInstructions'] = ApiClient.convertToType(data['trackingInstructions'], 'String');
      }
      if (data.hasOwnProperty('trackingInstructionsCard')) {
        obj['trackingInstructionsCard'] = Card.constructFromObject(data['trackingInstructionsCard']);
      }
      if (data.hasOwnProperty('unit')) {
        obj['unit'] = Unit.constructFromObject(data['unit']);
      }
      if (data.hasOwnProperty('unitAbbreviatedName')) {
        obj['unitAbbreviatedName'] = ApiClient.convertToType(data['unitAbbreviatedName'], 'String');
      }
      if (data.hasOwnProperty('unitCategoryId')) {
        obj['unitCategoryId'] = ApiClient.convertToType(data['unitCategoryId'], 'Number');
      }
      if (data.hasOwnProperty('unitCategoryName')) {
        obj['unitCategoryName'] = ApiClient.convertToType(data['unitCategoryName'], 'String');
      }
      if (data.hasOwnProperty('unitId')) {
        obj['unitId'] = ApiClient.convertToType(data['unitId'], 'Number');
      }
      if (data.hasOwnProperty('unitName')) {
        obj['unitName'] = ApiClient.convertToType(data['unitName'], 'String');
      }
      if (data.hasOwnProperty('upc')) {
        obj['upc'] = ApiClient.convertToType(data['upc'], 'String');
      }
      if (data.hasOwnProperty('updated')) {
        obj['updated'] = ApiClient.convertToType(data['updated'], 'Number');
      }
      if (data.hasOwnProperty('updatedAt')) {
        obj['updatedAt'] = ApiClient.convertToType(data['updatedAt'], 'String');
      }
      if (data.hasOwnProperty('updatedTime')) {
        obj['updatedTime'] = ApiClient.convertToType(data['updatedTime'], 'String');
      }
      if (data.hasOwnProperty('userId')) {
        obj['userId'] = ApiClient.convertToType(data['userId'], 'Number');
      }
      if (data.hasOwnProperty('userTaggedVariables')) {
        obj['userTaggedVariables'] = ApiClient.convertToType(data['userTaggedVariables'], [Variable]);
      }
      if (data.hasOwnProperty('userTagVariables')) {
        obj['userTagVariables'] = ApiClient.convertToType(data['userTagVariables'], [Variable]);
      }
      if (data.hasOwnProperty('userVariableUnitAbbreviatedName')) {
        obj['userVariableUnitAbbreviatedName'] = ApiClient.convertToType(data['userVariableUnitAbbreviatedName'], 'String');
      }
      if (data.hasOwnProperty('userVariableUnitCategoryId')) {
        obj['userVariableUnitCategoryId'] = ApiClient.convertToType(data['userVariableUnitCategoryId'], 'Number');
      }
      if (data.hasOwnProperty('userVariableUnitCategoryName')) {
        obj['userVariableUnitCategoryName'] = ApiClient.convertToType(data['userVariableUnitCategoryName'], 'String');
      }
      if (data.hasOwnProperty('userVariableUnitId')) {
        obj['userVariableUnitId'] = ApiClient.convertToType(data['userVariableUnitId'], 'Number');
      }
      if (data.hasOwnProperty('userVariableUnitName')) {
        obj['userVariableUnitName'] = ApiClient.convertToType(data['userVariableUnitName'], 'String');
      }
      if (data.hasOwnProperty('variableCategory')) {
        obj['variableCategory'] = VariableCategory.constructFromObject(data['variableCategory']);
      }
      if (data.hasOwnProperty('joinedVariables')) {
        obj['joinedVariables'] = ApiClient.convertToType(data['joinedVariables'], [Variable]);
      }
      if (data.hasOwnProperty('valence')) {
        obj['valence'] = ApiClient.convertToType(data['valence'], 'String');
      }
      if (data.hasOwnProperty('variableCategoryId')) {
        obj['variableCategoryId'] = ApiClient.convertToType(data['variableCategoryId'], 'Number');
      }
      if (data.hasOwnProperty('variableCategoryName')) {
        obj['variableCategoryName'] = ApiClient.convertToType(data['variableCategoryName'], 'String');
      }
      if (data.hasOwnProperty('variableId')) {
        obj['variableId'] = ApiClient.convertToType(data['variableId'], 'Number');
      }
      if (data.hasOwnProperty('variableName')) {
        obj['variableName'] = ApiClient.convertToType(data['variableName'], 'String');
      }
      if (data.hasOwnProperty('variance')) {
        obj['variance'] = ApiClient.convertToType(data['variance'], 'Number');
      }
      if (data.hasOwnProperty('wikipediaTitle')) {
        obj['wikipediaTitle'] = ApiClient.convertToType(data['wikipediaTitle'], 'String');
      }
    }
    return obj;
  }

  /**
   * @member {Array.<module:model/TrackingReminderNotificationAction>} actionArray
   */
  exports.prototype['actionArray'] = undefined;
  /**
   * User-Defined Variable Setting:  Alternative display name
   * @member {String} alias
   */
  exports.prototype['alias'] = undefined;
  /**
   * @member {Array.<module:model/Unit>} availableUnits
   */
  exports.prototype['availableUnits'] = undefined;
  /**
   * Link to study comparing variable with strongest relationship for user or population
   * @member {String} bestStudyLink
   */
  exports.prototype['bestStudyLink'] = undefined;
  /**
   * Description of relationship with variable with strongest relationship for user or population
   * @member {module:model/Card} bestStudyCard
   */
  exports.prototype['bestStudyCard'] = undefined;
  /**
   * Link to study comparing variable with strongest relationship for user
   * @member {String} bestUserStudyLink
   */
  exports.prototype['bestUserStudyLink'] = undefined;
  /**
   * Description of relationship with variable with strongest relationship for user
   * @member {module:model/Card} bestUserStudyCard
   */
  exports.prototype['bestUserStudyCard'] = undefined;
  /**
   * Link to study comparing variable with strongest relationship for population
   * @member {String} bestPopulationStudyLink
   */
  exports.prototype['bestPopulationStudyLink'] = undefined;
  /**
   * Description of relationship with variable with strongest relationship for population
   * @member {module:model/Card} bestPopulationStudyCard
   */
  exports.prototype['bestPopulationStudyCard'] = undefined;
  /**
   * Description of relationship with variable with strongest relationship for user or population
   * @member {String} optimalValueMessage
   */
  exports.prototype['optimalValueMessage'] = undefined;
  /**
   * Description of relationship with variable with strongest relationship for population
   * @member {String} commonOptimalValueMessage
   */
  exports.prototype['commonOptimalValueMessage'] = undefined;
  /**
   * Description of relationship with variable with strongest relationship for user
   * @member {String} userOptimalValueMessage
   */
  exports.prototype['userOptimalValueMessage'] = undefined;
  /**
   * Card containing instructions, image, text, link and relevant import buttons
   * @member {module:model/Card} card
   */
  exports.prototype['card'] = undefined;
  /**
   * User-Defined Variable Setting: True indicates that this variable is generally a cause in a causal relationship.  An example of a causeOnly variable would be a variable such as Cloud Cover which would generally not be influenced by the behaviour of the user
   * @member {Boolean} causeOnly
   */
  exports.prototype['causeOnly'] = undefined;
  /**
   * @member {module:model/VariableCharts} charts
   */
  exports.prototype['charts'] = undefined;
  /**
   * Ex: https://local.quantimo.do/ionic/Modo/www/#/app/charts/Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapp.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png
   * @member {String} chartsLinkDynamic
   */
  exports.prototype['chartsLinkDynamic'] = undefined;
  /**
   * Ex: mailto:?subject=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21&body=See%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20history%20at%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapp.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%0A%0AHave%20a%20great%20day!
   * @member {String} chartsLinkEmail
   */
  exports.prototype['chartsLinkEmail'] = undefined;
  /**
   * Ex: https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapp.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png
   * @member {String} chartsLinkFacebook
   */
  exports.prototype['chartsLinkFacebook'] = undefined;
  /**
   * Ex: https://plus.google.com/share?url=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapp.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png
   * @member {String} chartsLinkGoogle
   */
  exports.prototype['chartsLinkGoogle'] = undefined;
  /**
   * Ex: https://local.quantimo.do/api/v2/charts?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapp.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png
   * @member {String} chartsLinkStatic
   */
  exports.prototype['chartsLinkStatic'] = undefined;
  /**
   * Ex: https://twitter.com/home?status=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapp.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%20%40quantimodo
   * @member {String} chartsLinkTwitter
   */
  exports.prototype['chartsLinkTwitter'] = undefined;
  /**
   * Commonly defined for all users. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple.  Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed.  This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake.
   * @member {Array.<module:model/Variable>} childCommonTagVariables
   */
  exports.prototype['childCommonTagVariables'] = undefined;
  /**
   * User-Defined Variable Setting: An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple.  Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed.  This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake.
   * @member {Array.<module:model/Variable>} childUserTagVariables
   */
  exports.prototype['childUserTagVariables'] = undefined;
  /**
   * Your QuantiModo client id can be obtained by creating an app at https://builder.quantimo.do
   * @member {String} clientId
   */
  exports.prototype['clientId'] = undefined;
  /**
   * User-Defined Variable Setting: How to aggregate measurements over time. SUM should be used for things like minutes of exercise.  If you use MEAN for exercise, then a person might exercise more minutes in one day but add separate measurements that were smaller.  So when we are doing correlational analysis, we would think that the person exercised less that day even though they exercised more.  Conversely, we must use MEAN for things such as ratings which cannot be SUMMED.
   * @member {module:model/Variable.CombinationOperationEnum} combinationOperation
   */
  exports.prototype['combinationOperation'] = undefined;
  /**
   * Ex: Anxiety / Nervousness
   * @member {String} commonAlias
   */
  exports.prototype['commonAlias'] = undefined;
  /**
   * @member {Array.<module:model/Variable>} commonTaggedVariables
   */
  exports.prototype['commonTaggedVariables'] = undefined;
  /**
   * @member {Array.<module:model/Variable>} commonTagVariables
   */
  exports.prototype['commonTagVariables'] = undefined;
  /**
   * When the record was first created. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss  datetime format
   * @member {String} createdAt
   */
  exports.prototype['createdAt'] = undefined;
  /**
   * Comma-separated list of source names to limit variables to those sources
   * @member {String} dataSourceNames
   */
  exports.prototype['dataSourceNames'] = undefined;
  /**
   * These are sources of measurements for this variable
   * @member {Array.<module:model/DataSource>} dataSources
   */
  exports.prototype['dataSources'] = undefined;
  /**
   * User-Defined Variable Setting: Ex: Summary to be used in studies.
   * @member {String} description
   */
  exports.prototype['description'] = undefined;
  /**
   * Ex: Trader Joe's Bedtime Tea
   * @member {String} displayName
   */
  exports.prototype['displayName'] = undefined;
  /**
   * The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Seconds
   * @member {Number} durationOfAction
   */
  exports.prototype['durationOfAction'] = undefined;
  /**
   * User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay.  Unit: Hours
   * @member {Number} durationOfActionInHours
   */
  exports.prototype['durationOfActionInHours'] = undefined;
  /**
   * Earliest filling time
   * @member {Number} earliestFillingTime
   */
  exports.prototype['earliestFillingTime'] = undefined;
  /**
   * Earliest measurement time
   * @member {Number} earliestMeasurementTime
   */
  exports.prototype['earliestMeasurementTime'] = undefined;
  /**
   * Earliest source time
   * @member {Number} earliestSourceTime
   */
  exports.prototype['earliestSourceTime'] = undefined;
  /**
   * Error message from last analysis
   * @member {String} errorMessage
   */
  exports.prototype['errorMessage'] = undefined;
  /**
   * User-Defined Variable Setting: Latest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.
   * @member {String} experimentEndTime
   */
  exports.prototype['experimentEndTime'] = undefined;
  /**
   * User-Defined Variable Setting: Earliest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.
   * @member {String} experimentStartTime
   */
  exports.prototype['experimentStartTime'] = undefined;
  /**
   * User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven't taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing.
   * @member {module:model/Variable.FillingTypeEnum} fillingType
   */
  exports.prototype['fillingType'] = undefined;
  /**
   * User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven't taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing.  Unit: User-specified or common.
   * @member {Number} fillingValue
   */
  exports.prototype['fillingValue'] = undefined;
  /**
   * Ex: ion-sad-outline
   * @member {String} iconIcon
   */
  exports.prototype['iconIcon'] = undefined;
  /**
   * Ex: 95614
   * @member {Number} id
   */
  exports.prototype['id'] = undefined;
  /**
   * What do you expect?
   * @member {String} imageUrl
   */
  exports.prototype['imageUrl'] = undefined;
  /**
   * Ex: https://google.com
   * @member {String} informationalUrl
   */
  exports.prototype['informationalUrl'] = undefined;
  /**
   * Commonly defined for all users. IngredientOf variable measurements will be included in analysis of the ingredient variable.  For instance, a ingredient of the variable Lollipop could be Sugar.  This way you only have to record Lollipop consumption and we can use this data to see how sugar might be affecting you.
   * @member {Array.<module:model/Variable>} ingredientOfCommonTagVariables
   */
  exports.prototype['ingredientOfCommonTagVariables'] = undefined;
  /**
   * Commonly defined for all users. IngredientOf variable measurements will be included in analysis of the ingredient variable.  For instance, a ingredient of the variable Lollipop could be Sugar.  This way you only have to record Lollipop consumption and we can use this data to see how sugar might be affecting you.
   * @member {Array.<module:model/Variable>} ingredientCommonTagVariables
   */
  exports.prototype['ingredientCommonTagVariables'] = undefined;
  /**
   * User-Defined Variable Setting: IngredientOf variable measurements will be included in analysis of the ingredient variable.  For instance, a ingredient of the variable Lollipop could be Sugar.  This way you only have to record Lollipop consumption and we can use this data to see how sugar might be affecting you.
   * @member {Array.<module:model/Variable>} ingredientOfUserTagVariables
   */
  exports.prototype['ingredientOfUserTagVariables'] = undefined;
  /**
   * User-Defined Variable Setting: IngredientOf variable measurements will be included in analysis of the ingredient variable.  For instance, a ingredient of the variable Lollipop could be Sugar.  This way you only have to record Lollipop consumption and we can use this data to see how sugar might be affecting you.
   * @member {Array.<module:model/Variable>} ingredientUserTagVariables
   */
  exports.prototype['ingredientUserTagVariables'] = undefined;
  /**
   * Type of input field to show for recording measurements
   * @member {String} inputType
   */
  exports.prototype['inputType'] = undefined;
  /**
   * What do you expect?
   * @member {String} ionIcon
   */
  exports.prototype['ionIcon'] = undefined;
  /**
   * Commonly defined for all users.  Joining can be used used to merge duplicate variables. For instance, if two variables called Apples (Red Delicious) and Red Delicious Apples are joined, when one of them is analyzed, the measurements for the other will be included as well.
   * @member {Array.<module:model/Variable>} joinedCommonTagVariables
   */
  exports.prototype['joinedCommonTagVariables'] = undefined;
  /**
   * User-Defined Variable Setting: Joining can be used used to merge duplicate variables. For instance, if two variables called Apples (Red Delicious) and Red Delicious Apples are joined, when one of them is analyzed, the measurements for the other will be included as well.
   * @member {Array.<module:model/Variable>} joinedUserTagVariables
   */
  exports.prototype['joinedUserTagVariables'] = undefined;
  /**
   * Duplicate variables. If the variable is joined with some other variable then it is not shown to user in the list of variables
   * @member {Number} joinWith
   */
  exports.prototype['joinWith'] = undefined;
  /**
   * Kurtosis
   * @member {Number} kurtosis
   */
  exports.prototype['kurtosis'] = undefined;
  /**
   * Calculated Statistic: Ex: 500. Unit: User-specified or common.
   * @member {Number} lastProcessedDailyValue
   */
  exports.prototype['lastProcessedDailyValue'] = undefined;
  /**
   * When this variable or its settings were last updated UTC ISO 8601 YYYY-MM-DDThh:mm:ss
   * @member {String} lastSuccessfulUpdateTime
   */
  exports.prototype['lastSuccessfulUpdateTime'] = undefined;
  /**
   * Calculated Statistic: Last measurement value in the common unit or user unit if different. Unit: User-specified or common.
   * @member {Number} lastValue
   */
  exports.prototype['lastValue'] = undefined;
  /**
   * Latest filling time
   * @member {Number} latestFillingTime
   */
  exports.prototype['latestFillingTime'] = undefined;
  /**
   * Latest measurement time. Format: Unix-time epoch seconds.
   * @member {Number} latestMeasurementTime
   */
  exports.prototype['latestMeasurementTime'] = undefined;
  /**
   * Latest source time. Format: Unix-time epoch seconds.
   * @member {Number} latestSourceTime
   */
  exports.prototype['latestSourceTime'] = undefined;
  /**
   * Ex: 1501383600. Format: Unix-time epoch seconds.
   * @member {Number} latestUserMeasurementTime
   */
  exports.prototype['latestUserMeasurementTime'] = undefined;
  /**
   * Latitude. Unit: User-specified or common.
   * @member {Number} latitude
   */
  exports.prototype['latitude'] = undefined;
  /**
   * Location
   * @member {String} location
   */
  exports.prototype['location'] = undefined;
  /**
   * Longitude
   * @member {Number} longitude
   */
  exports.prototype['longitude'] = undefined;
  /**
   * True if the variable is an emotion or symptom rating that is not typically automatically collected by a device or app.
   * @member {Boolean} manualTracking
   */
  exports.prototype['manualTracking'] = undefined;
  /**
   * User-Defined Variable Setting: The maximum allowed value a daily aggregated measurement. Unit: User-specified or common.
   * @member {Number} maximumAllowedDailyValue
   */
  exports.prototype['maximumAllowedDailyValue'] = undefined;
  /**
   * User-Defined Variable Setting: The maximum allowed value a single measurement. While you can record a value above this maximum, it will be excluded from the correlation analysis.  Unit: User-specified or common.
   * @member {Number} maximumAllowedValue
   */
  exports.prototype['maximumAllowedValue'] = undefined;
  /**
   * Calculated Statistic: Maximum recorded daily value of this variable. Unit: User-specified or common.
   * @member {Number} maximumRecordedDailyValue
   */
  exports.prototype['maximumRecordedDailyValue'] = undefined;
  /**
   * Calculated Statistic: Ex: 1. Unit: User-specified or common.
   * @member {Number} maximumRecordedValue
   */
  exports.prototype['maximumRecordedValue'] = undefined;
  /**
   * Mean. Unit: User-specified or common.
   * @member {Number} mean
   */
  exports.prototype['mean'] = undefined;
  /**
   * Number of measurements at last analysis
   * @member {Number} measurementsAtLastAnalysis
   */
  exports.prototype['measurementsAtLastAnalysis'] = undefined;
  /**
   * Median
   * @member {Number} median
   */
  exports.prototype['median'] = undefined;
  /**
   * User-Defined Variable Setting: The minimum allowed value a single measurement. While you can record a value below this minimum, it will be excluded from the correlation analysis. Unit: User-specified or common
   * @member {Number} minimumAllowedValue
   */
  exports.prototype['minimumAllowedValue'] = undefined;
  /**
   * User-Defined Variable Setting: The minimum allowed value a daily aggregated measurement.  For instance, you might set to 100 for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.
   * @member {Number} minimumAllowedDailyValue
   */
  exports.prototype['minimumAllowedDailyValue'] = undefined;
  /**
   * User-Defined Variable Setting: The minimum allowed non-zero value a single measurement.  For instance, you might set to 100 mL for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.
   * @member {Number} minimumNonZeroValue
   */
  exports.prototype['minimumNonZeroValue'] = undefined;
  /**
   * Minimum recorded value of this variable. Unit: User-specified or common.
   * @member {Number} minimumRecordedValue
   */
  exports.prototype['minimumRecordedValue'] = undefined;
  /**
   * Ex: 51
   * @member {Number} mostCommonConnectorId
   */
  exports.prototype['mostCommonConnectorId'] = undefined;
  /**
   * Ex: 23
   * @member {Number} mostCommonOriginalUnitId
   */
  exports.prototype['mostCommonOriginalUnitId'] = undefined;
  /**
   * Most common Unit ID
   * @member {Number} mostCommonUnitId
   */
  exports.prototype['mostCommonUnitId'] = undefined;
  /**
   * Calculated Statistic: Most common value. Unit: User-specified or common.
   * @member {Number} mostCommonValue
   */
  exports.prototype['mostCommonValue'] = undefined;
  /**
   * Ex: Trader Joes Bedtime Tea / Sleepytime Tea (any Brand)
   * @member {String} name
   */
  exports.prototype['name'] = undefined;
  /**
   * Ex: 1
   * @member {Number} numberOfAggregateCorrelationsAsCause
   */
  exports.prototype['numberOfAggregateCorrelationsAsCause'] = undefined;
  /**
   * Ex: 310
   * @member {Number} numberOfAggregateCorrelationsAsEffect
   */
  exports.prototype['numberOfAggregateCorrelationsAsEffect'] = undefined;
  /**
   * Number of changes
   * @member {Number} numberOfChanges
   */
  exports.prototype['numberOfChanges'] = undefined;
  /**
   * Number of correlations for this variable
   * @member {Number} numberOfCorrelations
   */
  exports.prototype['numberOfCorrelations'] = undefined;
  /**
   * numberOfAggregateCorrelationsAsCause plus numberOfUserCorrelationsAsCause
   * @member {Number} numberOfCorrelationsAsCause
   */
  exports.prototype['numberOfCorrelationsAsCause'] = undefined;
  /**
   * numberOfAggregateCorrelationsAsEffect plus numberOfUserCorrelationsAsEffect
   * @member {Number} numberOfCorrelationsAsEffect
   */
  exports.prototype['numberOfCorrelationsAsEffect'] = undefined;
  /**
   * Number of processed measurements
   * @member {Number} numberOfProcessedDailyMeasurements
   */
  exports.prototype['numberOfProcessedDailyMeasurements'] = undefined;
  /**
   * Ex: 295
   * @member {Number} numberOfRawMeasurements
   */
  exports.prototype['numberOfRawMeasurements'] = undefined;
  /**
   * Ex: 1
   * @member {Number} numberOfTrackingReminders
   */
  exports.prototype['numberOfTrackingReminders'] = undefined;
  /**
   * Number of unique daily values
   * @member {Number} numberOfUniqueDailyValues
   */
  exports.prototype['numberOfUniqueDailyValues'] = undefined;
  /**
   * Ex: 2
   * @member {Number} numberOfUniqueValues
   */
  exports.prototype['numberOfUniqueValues'] = undefined;
  /**
   * Ex: 115
   * @member {Number} numberOfUserCorrelationsAsCause
   */
  exports.prototype['numberOfUserCorrelationsAsCause'] = undefined;
  /**
   * Ex: 29014
   * @member {Number} numberOfUserCorrelationsAsEffect
   */
  exports.prototype['numberOfUserCorrelationsAsEffect'] = undefined;
  /**
   * Ex: 2
   * @member {Number} numberOfUserVariables
   */
  exports.prototype['numberOfUserVariables'] = undefined;
  /**
   * The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.
   * @member {Number} onsetDelay
   */
  exports.prototype['onsetDelay'] = undefined;
  /**
   * User-Defined Variable Setting: The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.
   * @member {Number} onsetDelayInHours
   */
  exports.prototype['onsetDelayInHours'] = undefined;
  /**
   * User-Defined Variable Setting: True for variables for which a human would generally want to identify the influencing factors. These include symptoms of illness, physique, mood, cognitive performance, etc.  Generally correlation calculations are only performed on outcome variables
   * @member {Boolean} outcome
   */
  exports.prototype['outcome'] = undefined;
  /**
   * Do you want to receive updates on newly discovered factors influencing this variable?
   * @member {Boolean} outcomeOfInterest
   */
  exports.prototype['outcomeOfInterest'] = undefined;
  /**
   * Commonly defined for all users.  An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple.  Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed.  This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake.
   * @member {Array.<module:model/Variable>} parentCommonTagVariables
   */
  exports.prototype['parentCommonTagVariables'] = undefined;
  /**
   * User-defined. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple.  Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed.  This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake.
   * @member {Array.<module:model/Variable>} parentUserTagVariables
   */
  exports.prototype['parentUserTagVariables'] = undefined;
  /**
   * Ex: img/variable_categories/treatments.png
   * @member {String} pngPath
   */
  exports.prototype['pngPath'] = undefined;
  /**
   * Ex: https://web.quantimo.do/img/variable_categories/treatments.png
   * @member {String} pngUrl
   */
  exports.prototype['pngUrl'] = undefined;
  /**
   * Ex: 0
   * @member {Number} predictorOfInterest
   */
  exports.prototype['predictorOfInterest'] = undefined;
  /**
   * Ex: 95.4
   * @member {Number} price
   */
  exports.prototype['price'] = undefined;
  /**
   * Link to associated product for purchase
   * @member {String} productUrl
   */
  exports.prototype['productUrl'] = undefined;
  /**
   * Should this variable show up in automcomplete searches for users who do not already have measurements for it?
   * @member {Boolean} public
   */
  exports.prototype['public'] = undefined;
  /**
   * Ex: How is your overall mood?
   * @member {String} question
   */
  exports.prototype['question'] = undefined;
  /**
   * Ex: How is your overall mood on a scale of 1 to 5??
   * @member {String} longQuestion
   */
  exports.prototype['longQuestion'] = undefined;
  /**
   * Ex: 131
   * @member {Number} rawMeasurementsAtLastAnalysis
   */
  exports.prototype['rawMeasurementsAtLastAnalysis'] = undefined;
  /**
   * Calculated Statistic: Ex: 1. Unit: User-specified or common.
   * @member {Number} secondMostCommonValue
   */
  exports.prototype['secondMostCommonValue'] = undefined;
  /**
   * Calculated Statistic: Ex: 250. Unit: User-specified or common.
   * @member {Number} secondToLastValue
   */
  exports.prototype['secondToLastValue'] = undefined;
  /**
   * Would you like to make your measurements publicly visible?
   * @member {Boolean} shareUserMeasurements
   */
  exports.prototype['shareUserMeasurements'] = undefined;
  /**
   * Skewness
   * @member {Number} skewness
   */
  exports.prototype['skewness'] = undefined;
  /**
   * Standard deviation Ex: 0.46483219855434
   * @member {Number} standardDeviation
   */
  exports.prototype['standardDeviation'] = undefined;
  /**
   * status
   * @member {String} status
   */
  exports.prototype['status'] = undefined;
  /**
   * Based on sort filter and can be shown beneath variable name on search list
   * @member {String} subtitle
   */
  exports.prototype['subtitle'] = undefined;
  /**
   * Ex: https://web.quantimo.do/img/variable_categories/treatments.svg
   * @member {String} svgUrl
   */
  exports.prototype['svgUrl'] = undefined;
  /**
   * Calculated Statistic: Ex: 6. Unit: User-specified or common.
   * @member {Number} thirdMostCommonValue
   */
  exports.prototype['thirdMostCommonValue'] = undefined;
  /**
   * Calculated Statistic: Ex: 250. Unit: User-specified or common.
   * @member {Number} thirdToLastValue
   */
  exports.prototype['thirdToLastValue'] = undefined;
  /**
   * HTML instructions for tracking
   * @member {String} trackingInstructions
   */
  exports.prototype['trackingInstructions'] = undefined;
  /**
   * Instructions for tracking with buttons and images
   * @member {module:model/Card} trackingInstructionsCard
   */
  exports.prototype['trackingInstructionsCard'] = undefined;
  /**
   * @member {module:model/Unit} unit
   */
  exports.prototype['unit'] = undefined;
  /**
   * Ex: count
   * @member {String} unitAbbreviatedName
   */
  exports.prototype['unitAbbreviatedName'] = undefined;
  /**
   * Ex: 6
   * @member {Number} unitCategoryId
   */
  exports.prototype['unitCategoryId'] = undefined;
  /**
   * Ex: Miscellany
   * @member {String} unitCategoryName
   */
  exports.prototype['unitCategoryName'] = undefined;
  /**
   * ID of unit to use for this variable
   * @member {Number} unitId
   */
  exports.prototype['unitId'] = undefined;
  /**
   * User-Defined Variable Setting: Count
   * @member {String} unitName
   */
  exports.prototype['unitName'] = undefined;
  /**
   * Universal product code or similar
   * @member {String} upc
   */
  exports.prototype['upc'] = undefined;
  /**
   * updated
   * @member {Number} updated
   */
  exports.prototype['updated'] = undefined;
  /**
   * When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format
   * @member {String} updatedAt
   */
  exports.prototype['updatedAt'] = undefined;
  /**
   * Ex: 2017-07-30 14:58:26
   * @member {String} updatedTime
   */
  exports.prototype['updatedTime'] = undefined;
  /**
   * User ID
   * @member {Number} userId
   */
  exports.prototype['userId'] = undefined;
  /**
   * @member {Array.<module:model/Variable>} userTaggedVariables
   */
  exports.prototype['userTaggedVariables'] = undefined;
  /**
   * @member {Array.<module:model/Variable>} userTagVariables
   */
  exports.prototype['userTagVariables'] = undefined;
  /**
   * Ex: count
   * @member {String} userVariableUnitAbbreviatedName
   */
  exports.prototype['userVariableUnitAbbreviatedName'] = undefined;
  /**
   * Ex: 6
   * @member {Number} userVariableUnitCategoryId
   */
  exports.prototype['userVariableUnitCategoryId'] = undefined;
  /**
   * Ex: Miscellany
   * @member {String} userVariableUnitCategoryName
   */
  exports.prototype['userVariableUnitCategoryName'] = undefined;
  /**
   * Ex: 23
   * @member {Number} userVariableUnitId
   */
  exports.prototype['userVariableUnitId'] = undefined;
  /**
   * Ex: Count
   * @member {String} userVariableUnitName
   */
  exports.prototype['userVariableUnitName'] = undefined;
  /**
   * @member {module:model/VariableCategory} variableCategory
   */
  exports.prototype['variableCategory'] = undefined;
  /**
   * Array of Variables that are joined with this Variable
   * @member {Array.<module:model/Variable>} joinedVariables
   */
  exports.prototype['joinedVariables'] = undefined;
  /**
   * Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. 
   * @member {String} valence
   */
  exports.prototype['valence'] = undefined;
  /**
   * Ex: 6
   * @member {Number} variableCategoryId
   */
  exports.prototype['variableCategoryId'] = undefined;
  /**
   * User-Defined Variable Setting: Variable category like Emotions, Sleep, Physical Activities, Treatments, Symptoms, etc.
   * @member {module:model/Variable.VariableCategoryNameEnum} variableCategoryName
   */
  exports.prototype['variableCategoryName'] = undefined;
  /**
   * Ex: 96380
   * @member {Number} variableId
   */
  exports.prototype['variableId'] = undefined;
  /**
   * Ex: Sleep Duration
   * @member {String} variableName
   */
  exports.prototype['variableName'] = undefined;
  /**
   * Statistic: Ex: 115947037.40816
   * @member {Number} variance
   */
  exports.prototype['variance'] = undefined;
  /**
   * User-Defined Variable Setting: You can help to improve the studies by pasting the title of the most appropriate Wikipedia article for this variable
   * @member {String} wikipediaTitle
   */
  exports.prototype['wikipediaTitle'] = undefined;


  /**
   * Allowed values for the <code>combinationOperation</code> property.
   * @enum {String}
   * @readonly
   */
  exports.CombinationOperationEnum = {
    /**
     * value: "MEAN"
     * @const
     */
    "MEAN": "MEAN",
    /**
     * value: "SUM"
     * @const
     */
    "SUM": "SUM"  };

  /**
   * Allowed values for the <code>fillingType</code> property.
   * @enum {String}
   * @readonly
   */
  exports.FillingTypeEnum = {
    /**
     * value: "none"
     * @const
     */
    "none": "none",
    /**
     * value: "zero-filling"
     * @const
     */
    "zero-filling": "zero-filling",
    /**
     * value: "value-filling"
     * @const
     */
    "value-filling": "value-filling"  };

  /**
   * Allowed values for the <code>variableCategoryName</code> property.
   * @enum {String}
   * @readonly
   */
  exports.VariableCategoryNameEnum = {
    /**
     * value: "Activity"
     * @const
     */
    "Activity": "Activity",
    /**
     * value: "Books"
     * @const
     */
    "Books": "Books",
    /**
     * value: "Causes of Illness"
     * @const
     */
    "Causes of Illness": "Causes of Illness",
    /**
     * value: "Cognitive Performance"
     * @const
     */
    "Cognitive Performance": "Cognitive Performance",
    /**
     * value: "Conditions"
     * @const
     */
    "Conditions": "Conditions",
    /**
     * value: "Emotions"
     * @const
     */
    "Emotions": "Emotions",
    /**
     * value: "Environment"
     * @const
     */
    "Environment": "Environment",
    /**
     * value: "Foods"
     * @const
     */
    "Foods": "Foods",
    /**
     * value: "Goals"
     * @const
     */
    "Goals": "Goals",
    /**
     * value: "Locations"
     * @const
     */
    "Locations": "Locations",
    /**
     * value: "Miscellaneous"
     * @const
     */
    "Miscellaneous": "Miscellaneous",
    /**
     * value: "Movies and TV"
     * @const
     */
    "Movies and TV": "Movies and TV",
    /**
     * value: "Music"
     * @const
     */
    "Music": "Music",
    /**
     * value: "Nutrients"
     * @const
     */
    "Nutrients": "Nutrients",
    /**
     * value: "Payments"
     * @const
     */
    "Payments": "Payments",
    /**
     * value: "Physical Activities"
     * @const
     */
    "Physical Activities": "Physical Activities",
    /**
     * value: "Physique"
     * @const
     */
    "Physique": "Physique",
    /**
     * value: "Sleep"
     * @const
     */
    "Sleep": "Sleep",
    /**
     * value: "Social Interactions"
     * @const
     */
    "Social Interactions": "Social Interactions",
    /**
     * value: "Software"
     * @const
     */
    "Software": "Software",
    /**
     * value: "Symptoms"
     * @const
     */
    "Symptoms": "Symptoms",
    /**
     * value: "Treatments"
     * @const
     */
    "Treatments": "Treatments",
    /**
     * value: "Vital Signs"
     * @const
     */
    "Vital Signs": "Vital Signs"  };


  return exports;
}));


