package org.ohdsi.webapi.featureextraction.specification;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.ArrayList;
import java.util.List;
import org.ohdsi.analysis.featureextraction.design.*;
import org.ohdsi.webapi.RLangClassImpl;

/**
 *
 * @author asena5
 */
@JsonIgnoreProperties(ignoreUnknown=true)
public class CovariateSettingsImpl extends RLangClassImpl implements CovariateSettings {
  private Boolean temporal = false;
  private Boolean demographicsGender = false;
  private Boolean demographicsAge = false;
  private Boolean demographicsAgeGroup = false;
  private Boolean demographicsRace = false;
  private Boolean demographicsEthnicity = false;
  private Boolean demographicsIndexYear = false;
  private Boolean demographicsIndexMonth = false;
  private Boolean demographicsPriorObservationTime = false;
  private Boolean demographicsPostObservationTime = false;
  private Boolean demographicsTimeInCohort = false;
  private Boolean demographicsIndexYearMonth = false;
  private Boolean conditionOccurrenceAnyTimePrior = false;
  private Boolean conditionOccurrenceLongTerm = false;
  private Boolean conditionOccurrenceMediumTerm = false;
  private Boolean conditionOccurrenceShortTerm = false;
  private Boolean conditionOccurrencePrimaryInpatientAnyTimePrior = false;
  private Boolean conditionOccurrencePrimaryInpatientLongTerm = false;
  private Boolean conditionOccurrencePrimaryInpatientMediumTerm = false;
  private Boolean conditionOccurrencePrimaryInpatientShortTerm = false;
  private Boolean conditionEraAnyTimePrior = false;
  private Boolean conditionEraLongTerm = false;
  private Boolean conditionEraMediumTerm = false;
  private Boolean conditionEraShortTerm = false;
  private Boolean conditionEraOverlapping = false;
  private Boolean conditionEraStartLongTerm = false;
  private Boolean conditionEraStartMediumTerm = false;
  private Boolean conditionEraStartShortTerm = false;
  private Boolean conditionGroupEraAnyTimePrior = false;
  private Boolean conditionGroupEraLongTerm = false;
  private Boolean conditionGroupEraMediumTerm = false;
  private Boolean conditionGroupEraShortTerm = false;
  private Boolean conditionGroupEraOverlapping = false;
  private Boolean conditionGroupEraStartLongTerm = false;
  private Boolean conditionGroupEraStartMediumTerm = false;
  private Boolean conditionGroupEraStartShortTerm = false;
  private Boolean drugExposureAnyTimePrior = false;
  private Boolean drugExposureLongTerm = false;
  private Boolean drugExposureMediumTerm = false;
  private Boolean drugExposureShortTerm = false;
  private Boolean drugEraAnyTimePrior = false;
  private Boolean drugEraLongTerm = false;
  private Boolean drugEraMediumTerm = false;
  private Boolean drugEraShortTerm = false;
  private Boolean drugEraOverlapping = false;
  private Boolean drugEraStartLongTerm = false;
  private Boolean drugEraStartMediumTerm = false;
  private Boolean drugEraStartShortTerm = false;
  private Boolean drugGroupEraAnyTimePrior = false;
  private Boolean drugGroupEraLongTerm = false;
  private Boolean drugGroupEraMediumTerm = false;
  private Boolean drugGroupEraShortTerm = false;
  private Boolean drugGroupEraOverlapping = false;
  private Boolean drugGroupEraStartLongTerm = false;
  private Boolean drugGroupEraStartMediumTerm = false;
  private Boolean drugGroupEraStartShortTerm = false;
  private Boolean procedureOccurrenceAnyTimePrior = false;
  private Boolean procedureOccurrenceLongTerm = false;
  private Boolean procedureOccurrenceMediumTerm = false;
  private Boolean procedureOccurrenceShortTerm = false;
  private Boolean deviceExposureAnyTimePrior = false;
  private Boolean deviceExposureLongTerm = false;
  private Boolean deviceExposureMediumTerm = false;
  private Boolean deviceExposureShortTerm = false;
  private Boolean measurementAnyTimePrior = false;
  private Boolean measurementLongTerm = false;
  private Boolean measurementMediumTerm = false;
  private Boolean measurementShortTerm = false;
  private Boolean measurementValueAnyTimePrior = false;
  private Boolean measurementValueLongTerm = false;
  private Boolean measurementValueMediumTerm = false;
  private Boolean measurementValueShortTerm = false;
  private Boolean measurementRangeGroupAnyTimePrior = false;
  private Boolean measurementRangeGroupLongTerm = false;
  private Boolean measurementRangeGroupMediumTerm = false;
  private Boolean measurementRangeGroupShortTerm = false;
  private Boolean observationAnyTimePrior = false;
  private Boolean observationLongTerm = false;
  private Boolean observationMediumTerm = false;
  private Boolean observationShortTerm = false;
  private Boolean charlsonIndex = false;
  private Boolean dcsi = false;
  private Boolean chads2 = false;
  private Boolean chads2Vasc = false;
  private Boolean distinctConditionCountLongTerm = false;
  private Boolean distinctConditionCountMediumTerm = false;
  private Boolean distinctConditionCountShortTerm = false;
  private Boolean distinctIngredientCountLongTerm = false;
  private Boolean distinctIngredientCountMediumTerm = false;
  private Boolean distinctIngredientCountShortTerm = false;
  private Boolean distinctProcedureCountLongTerm = false;
  private Boolean distinctProcedureCountMediumTerm = false;
  private Boolean distinctProcedureCountShortTerm = false;
  private Boolean distinctMeasurementCountLongTerm = false;
  private Boolean distinctMeasurementCountMediumTerm = false;
  private Boolean distinctMeasurementCountShortTerm = false;
  private Boolean distinctObservationCountLongTerm = false;
  private Boolean distinctObservationCountMediumTerm = false;
  private Boolean distinctObservationCountShortTerm = false;
  private Boolean visitCountLongTerm = false;
  private Boolean visitCountMediumTerm = false;
  private Boolean visitCountShortTerm = false;
  private Boolean visitConceptCountLongTerm = false;
  private Boolean visitConceptCountMediumTerm = false;
  private Boolean visitConceptCountShortTerm = false;
  private Integer longTermStartDays = -365;
  private Integer mediumTermStartDays = -180;
  private Integer shortTermStartDays = -30;
  private Integer endDays = 0;
  private List<Long> includedCovariateConceptIds = null;
  private Boolean addDescendantsToInclude = false;
  private List<Long> excludedCovariateConceptIds = null;
  private Boolean addDescendantsToExclude = false;
  private List<Long> includedCovariateIds = null;
  private String attrFun = "getDbDefaultCovariateData";
  private String csAttrClass = "covariateSettings";

  /**
   * Construct temporal covariates  
   * @return temporal
   **/
  @Override
  public Boolean getTemporal() {
    return temporal;
  }

    /**
     *
     * @param temporal
     */
    public void setTemporal(Boolean temporal) {
    this.temporal = temporal;
  }

    
  /**
   * Gender of the subject. (analysis ID 1) 
   * @return demographicsGender
   **/
  @Override
  public Boolean getDemographicsGender() {
    return demographicsGender;
  }

    /**
     *
     * @param demographicsGender
     */
    public void setDemographicsGender(Boolean demographicsGender) {
    this.demographicsGender = demographicsGender;
  }

    
  /**
   * Age of the subject on the index date (in years). (analysis ID 2) 
   * @return demographicsAge
   **/
  @Override
  public Boolean getDemographicsAge() {
    return demographicsAge;
  }

    /**
     *
     * @param demographicsAge
     */
    public void setDemographicsAge(Boolean demographicsAge) {
    this.demographicsAge = demographicsAge;
  }

    
  /**
   * Age of the subject on the index date (in 5 year age groups) (analysis ID 3) 
   * @return demographicsAgeGroup
   **/
  @Override
  public Boolean getDemographicsAgeGroup() {
    return demographicsAgeGroup;
  }

    /**
     *
     * @param demographicsAgeGroup
     */
    public void setDemographicsAgeGroup(Boolean demographicsAgeGroup) {
    this.demographicsAgeGroup = demographicsAgeGroup;
  }

    
  /**
   * Race of the subject. (analysis ID 4) 
   * @return demographicsRace
   **/
  @Override
  public Boolean getDemographicsRace() {
    return demographicsRace;
  }

    /**
     *
     * @param demographicsRace
     */
    public void setDemographicsRace(Boolean demographicsRace) {
    this.demographicsRace = demographicsRace;
  }

  /**
   * Ethnicity of the subject. (analysis ID 5) 
   * @return demographicsEthnicity
   **/
  @Override
  public Boolean getDemographicsEthnicity() {
    return demographicsEthnicity;
  }

    /**
     *
     * @param demographicsEthnicity
     */
    public void setDemographicsEthnicity(Boolean demographicsEthnicity) {
    this.demographicsEthnicity = demographicsEthnicity;
  }

  /**
   * Year of the index date. (analysis ID 6) 
   * @return demographicsIndexYear
   **/
  @Override
  public Boolean getDemographicsIndexYear() {
    return demographicsIndexYear;
  }

    /**
     *
     * @param demographicsIndexYear
     */
    public void setDemographicsIndexYear(Boolean demographicsIndexYear) {
    this.demographicsIndexYear = demographicsIndexYear;
  }

  /**
   * Month of the index date. (analysis ID 7) 
   * @return demographicsIndexMonth
   **/
  @Override
  public Boolean getDemographicsIndexMonth() {
    return demographicsIndexMonth;
  }

    /**
     *
     * @param demographicsIndexMonth
     */
    public void setDemographicsIndexMonth(Boolean demographicsIndexMonth) {
    this.demographicsIndexMonth = demographicsIndexMonth;
  }

  /**
   * Number of continuous days of observation time preceding the index date. (analysis ID 8) 
   * @return demographicsPriorObservationTime
   **/
  @Override
  public Boolean getDemographicsPriorObservationTime() {
    return demographicsPriorObservationTime;
  }

    /**
     *
     * @param demographicsPriorObservationTime
     */
    public void setDemographicsPriorObservationTime(Boolean demographicsPriorObservationTime) {
    this.demographicsPriorObservationTime = demographicsPriorObservationTime;
  }

  /**
   * Number of continuous days of observation time following the index date. (analysis ID 9) 
   * @return demographicsPostObservationTime
   **/
  @Override
  public Boolean getDemographicsPostObservationTime() {
    return demographicsPostObservationTime;
  }

    /**
     *
     * @param demographicsPostObservationTime
     */
    public void setDemographicsPostObservationTime(Boolean demographicsPostObservationTime) {
    this.demographicsPostObservationTime = demographicsPostObservationTime;
  }

  /**
   * Number of days of observation time during cohort period. (analysis ID 10) 
   * @return demographicsTimeInCohort
   **/
  @Override
  public Boolean getDemographicsTimeInCohort() {
    return demographicsTimeInCohort;
  }

    /**
     *
     * @param demographicsTimeInCohort
     */
    public void setDemographicsTimeInCohort(Boolean demographicsTimeInCohort) {
    this.demographicsTimeInCohort = demographicsTimeInCohort;
  }

    
  /**
   * Both calendar year and month of the index date in a single variable. (analysis ID 11) 
   * @return demographicsIndexYearMonth
   **/
  @Override
  public Boolean getDemographicsIndexYearMonth() {
    return demographicsIndexYearMonth;
  }

    /**
     *
     * @param demographicsIndexYearMonth
     */
    public void setDemographicsIndexYearMonth(Boolean demographicsIndexYearMonth) {
    this.demographicsIndexYearMonth = demographicsIndexYearMonth;
  }

  /**
   * One covariate per condition in the condition_occurrence table starting any time prior to index. (analysis ID 101) 
   * @return conditionOccurrenceAnyTimePrior
   **/
  @Override
  public Boolean getConditionOccurrenceAnyTimePrior() {
    return conditionOccurrenceAnyTimePrior;
  }

    /**
     *
     * @param conditionOccurrenceAnyTimePrior
     */
    public void setConditionOccurrenceAnyTimePrior(Boolean conditionOccurrenceAnyTimePrior) {
    this.conditionOccurrenceAnyTimePrior = conditionOccurrenceAnyTimePrior;
  }

    
  /**
   * One covariate per condition in the condition_occurrence table starting in the long term window. (analysis ID 102) 
   * @return conditionOccurrenceLongTerm
   **/
  @Override
  public Boolean getConditionOccurrenceLongTerm() {
    return conditionOccurrenceLongTerm;
  }

    /**
     *
     * @param conditionOccurrenceLongTerm
     */
    public void setConditionOccurrenceLongTerm(Boolean conditionOccurrenceLongTerm) {
    this.conditionOccurrenceLongTerm = conditionOccurrenceLongTerm;
  }

    
  /**
   * One covariate per condition in the condition_occurrence table starting in the medium term window. (analysis ID 103) 
   * @return conditionOccurrenceMediumTerm
   **/
  @Override
  public Boolean getConditionOccurrenceMediumTerm() {
    return conditionOccurrenceMediumTerm;
  }

    /**
     *
     * @param conditionOccurrenceMediumTerm
     */
    public void setConditionOccurrenceMediumTerm(Boolean conditionOccurrenceMediumTerm) {
    this.conditionOccurrenceMediumTerm = conditionOccurrenceMediumTerm;
  }

  /**
   * One covariate per condition in the condition_occurrence table starting in the short term window. (analysis ID 104) 
   * @return conditionOccurrenceShortTerm
   **/
  @Override
  public Boolean getConditionOccurrenceShortTerm() {
    return conditionOccurrenceShortTerm;
  }

    /**
     *
     * @param conditionOccurrenceShortTerm
     */
    public void setConditionOccurrenceShortTerm(Boolean conditionOccurrenceShortTerm) {
    this.conditionOccurrenceShortTerm = conditionOccurrenceShortTerm;
  }

  /**
   * One covariate per condition observed in an inpatient setting in the condition_occurrence table starting any time prior to index. (analysis ID 105) 
   * @return conditionOccurrencePrimaryInpatientAnyTimePrior
   **/
  @Override
  public Boolean getConditionOccurrencePrimaryInpatientAnyTimePrior() {
    return conditionOccurrencePrimaryInpatientAnyTimePrior;
  }

    /**
     *
     * @param conditionOccurrencePrimaryInpatientAnyTimePrior
     */
    public void setConditionOccurrencePrimaryInpatientAnyTimePrior(Boolean conditionOccurrencePrimaryInpatientAnyTimePrior) {
    this.conditionOccurrencePrimaryInpatientAnyTimePrior = conditionOccurrencePrimaryInpatientAnyTimePrior;
  }

  /**
   * One covariate per condition observed in an inpatient setting in the condition_occurrence table starting in the long term window. (analysis ID 106) 
   * @return conditionOccurrencePrimaryInpatientLongTerm
   **/
  @Override
  public Boolean getConditionOccurrencePrimaryInpatientLongTerm() {
    return conditionOccurrencePrimaryInpatientLongTerm;
  }

    /**
     *
     * @param conditionOccurrencePrimaryInpatientLongTerm
     */
    public void setConditionOccurrencePrimaryInpatientLongTerm(Boolean conditionOccurrencePrimaryInpatientLongTerm) {
    this.conditionOccurrencePrimaryInpatientLongTerm = conditionOccurrencePrimaryInpatientLongTerm;
  }

  /**
   * One covariate per condition observed in an inpatient setting in the condition_occurrence table starting in the medium term window. (analysis ID 107) 
   * @return conditionOccurrencePrimaryInpatientMediumTerm
   **/
  @Override
  public Boolean getConditionOccurrencePrimaryInpatientMediumTerm() {
    return conditionOccurrencePrimaryInpatientMediumTerm;
  }

    /**
     *
     * @param conditionOccurrencePrimaryInpatientMediumTerm
     */
    public void setConditionOccurrencePrimaryInpatientMediumTerm(Boolean conditionOccurrencePrimaryInpatientMediumTerm) {
    this.conditionOccurrencePrimaryInpatientMediumTerm = conditionOccurrencePrimaryInpatientMediumTerm;
  }

  /**
   * One covariate per condition observed in an inpatient setting in the condition_occurrence table starting in the short term window. (analysis ID 108) 
   * @return conditionOccurrencePrimaryInpatientShortTerm
   **/
  @Override
  public Boolean getConditionOccurrencePrimaryInpatientShortTerm() {
    return conditionOccurrencePrimaryInpatientShortTerm;
  }

    /**
     *
     * @param conditionOccurrencePrimaryInpatientShortTerm
     */
    public void setConditionOccurrencePrimaryInpatientShortTerm(Boolean conditionOccurrencePrimaryInpatientShortTerm) {
    this.conditionOccurrencePrimaryInpatientShortTerm = conditionOccurrencePrimaryInpatientShortTerm;
  }

  /**
   * One covariate per condition in the condition_era table overlapping with any time prior to index. (analysis ID 201) 
   * @return conditionEraAnyTimePrior
   **/
  @Override
  public Boolean getConditionEraAnyTimePrior() {
    return conditionEraAnyTimePrior;
  }

    /**
     *
     * @param conditionEraAnyTimePrior
     */
    public void setConditionEraAnyTimePrior(Boolean conditionEraAnyTimePrior) {
    this.conditionEraAnyTimePrior = conditionEraAnyTimePrior;
  }

  /**
   * One covariate per condition in the condition_era table overlapping with any part of the long term window. (analysis ID 202) 
   * @return conditionEraLongTerm
   **/
  @Override
  public Boolean getConditionEraLongTerm() {
    return conditionEraLongTerm;
  }

    /**
     *
     * @param conditionEraLongTerm
     */
    public void setConditionEraLongTerm(Boolean conditionEraLongTerm) {
    this.conditionEraLongTerm = conditionEraLongTerm;
  }

  /**
   * One covariate per condition in the condition_era table overlapping with any part of the medium term window. (analysis ID 203) 
   * @return conditionEraMediumTerm
   **/
  @Override
  public Boolean getConditionEraMediumTerm() {
    return conditionEraMediumTerm;
  }

    /**
     *
     * @param conditionEraMediumTerm
     */
    public void setConditionEraMediumTerm(Boolean conditionEraMediumTerm) {
    this.conditionEraMediumTerm = conditionEraMediumTerm;
  }

  /**
   * One covariate per condition in the condition_era table overlapping with any part of the short term window. (analysis ID 204) 
   * @return conditionEraShortTerm
   **/
  @Override
  public Boolean getConditionEraShortTerm() {
    return conditionEraShortTerm;
  }

    /**
     *
     * @param conditionEraShortTerm
     */
    public void setConditionEraShortTerm(Boolean conditionEraShortTerm) {
    this.conditionEraShortTerm = conditionEraShortTerm;
  }

  /**
   * One covariate per condition in the condition_era table overlapping with the end of the risk window. (analysis ID 205) 
   * @return conditionEraOverlapping
   **/
  public Boolean getConditionEraOverlapping() {
    return conditionEraOverlapping;
  }

    /**
     *
     * @param conditionEraOverlapping
     */
    public void setConditionEraOverlapping(Boolean conditionEraOverlapping) {
    this.conditionEraOverlapping = conditionEraOverlapping;
  }

  /**
   * One covariate per condition in the condition_era table starting in the long term window. (analysis ID 206) 
   * @return conditionEraStartLongTerm
   **/
  @Override
  public Boolean getConditionEraStartLongTerm() {
    return conditionEraStartLongTerm;
  }

    /**
     *
     * @param conditionEraStartLongTerm
     */
    public void setConditionEraStartLongTerm(Boolean conditionEraStartLongTerm) {
    this.conditionEraStartLongTerm = conditionEraStartLongTerm;
  }

  /**
   * One covariate per condition in the condition_era table starting in the medium term window. (analysis ID 207) 
   * @return conditionEraStartMediumTerm
   **/
  @Override
  public Boolean getConditionEraStartMediumTerm() {
    return conditionEraStartMediumTerm;
  }

    /**
     *
     * @param conditionEraStartMediumTerm
     */
    public void setConditionEraStartMediumTerm(Boolean conditionEraStartMediumTerm) {
    this.conditionEraStartMediumTerm = conditionEraStartMediumTerm;
  }

  /**
   * One covariate per condition in the condition_era table starting in the short term window. (analysis ID 208) 
   * @return conditionEraStartShortTerm
   **/
  @Override
  public Boolean getConditionEraStartShortTerm() {
    return conditionEraStartShortTerm;
  }

    /**
     *
     * @param conditionEraStartShortTerm
     */
    public void setConditionEraStartShortTerm(Boolean conditionEraStartShortTerm) {
    this.conditionEraStartShortTerm = conditionEraStartShortTerm;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table overlapping with any time prior to index. (analysis ID 209) 
   * @return conditionGroupEraAnyTimePrior
   **/
  @Override
  public Boolean getConditionGroupEraAnyTimePrior() {
    return conditionGroupEraAnyTimePrior;
  }

    /**
     *
     * @param conditionGroupEraAnyTimePrior
     */
    public void setConditionGroupEraAnyTimePrior(Boolean conditionGroupEraAnyTimePrior) {
    this.conditionGroupEraAnyTimePrior = conditionGroupEraAnyTimePrior;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table overlapping with any part of the long term window. (analysis ID 210) 
   * @return conditionGroupEraLongTerm
   **/
  @Override
  public Boolean getConditionGroupEraLongTerm() {
    return conditionGroupEraLongTerm;
  }

    /**
     *
     * @param conditionGroupEraLongTerm
     */
    public void setConditionGroupEraLongTerm(Boolean conditionGroupEraLongTerm) {
    this.conditionGroupEraLongTerm = conditionGroupEraLongTerm;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table overlapping with any part of the medium term window. (analysis ID 211) 
   * @return conditionGroupEraMediumTerm
   **/
  @Override
  public Boolean getConditionGroupEraMediumTerm() {
    return conditionGroupEraMediumTerm;
  }

    /**
     *
     * @param conditionGroupEraMediumTerm
     */
    public void setConditionGroupEraMediumTerm(Boolean conditionGroupEraMediumTerm) {
    this.conditionGroupEraMediumTerm = conditionGroupEraMediumTerm;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table overlapping with any part of the short term window. (analysis ID 212) 
   * @return conditionGroupEraShortTerm
   **/
  @Override
  public Boolean getConditionGroupEraShortTerm() {
    return conditionGroupEraShortTerm;
  }

    /**
     *
     * @param conditionGroupEraShortTerm
     */
    public void setConditionGroupEraShortTerm(Boolean conditionGroupEraShortTerm) {
    this.conditionGroupEraShortTerm = conditionGroupEraShortTerm;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table overlapping with the end of the risk window. (analysis ID 213) 
   * @return conditionGroupEraOverlapping
   **/
  @Override
  public Boolean getConditionGroupEraOverlapping() {
    return conditionGroupEraOverlapping;
  }

    /**
     *
     * @param conditionGroupEraOverlapping
     */
    public void setConditionGroupEraOverlapping(Boolean conditionGroupEraOverlapping) {
    this.conditionGroupEraOverlapping = conditionGroupEraOverlapping;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table starting in the long term window. (analysis ID 214) 
   * @return conditionGroupEraStartLongTerm
   **/
  @Override
  public Boolean getConditionGroupEraStartLongTerm() {
    return conditionGroupEraStartLongTerm;
  }

    /**
     *
     * @param conditionGroupEraStartLongTerm
     */
    public void setConditionGroupEraStartLongTerm(Boolean conditionGroupEraStartLongTerm) {
    this.conditionGroupEraStartLongTerm = conditionGroupEraStartLongTerm;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table starting in the medium term window. (analysis ID 215) 
   * @return conditionGroupEraStartMediumTerm
   **/
  @Override
  public Boolean getConditionGroupEraStartMediumTerm() {
    return conditionGroupEraStartMediumTerm;
  }

    /**
     *
     * @param conditionGroupEraStartMediumTerm
     */
    public void setConditionGroupEraStartMediumTerm(Boolean conditionGroupEraStartMediumTerm) {
    this.conditionGroupEraStartMediumTerm = conditionGroupEraStartMediumTerm;
  }

  /**
   * One covariate per condition era rolled up to groups in the condition_era table starting in the short term window. (analysis ID 216) 
   * @return conditionGroupEraStartShortTerm
   **/
  @Override
  public Boolean getConditionGroupEraStartShortTerm() {
    return conditionGroupEraStartShortTerm;
  }

    /**
     *
     * @param conditionGroupEraStartShortTerm
     */
    public void setConditionGroupEraStartShortTerm(Boolean conditionGroupEraStartShortTerm) {
    this.conditionGroupEraStartShortTerm = conditionGroupEraStartShortTerm;
  }

  /**
   * One covariate per drug in the drug_exposure table starting any time prior to index. (analysis ID 301) 
   * @return drugExposureAnyTimePrior
   **/
  @Override
  public Boolean getDrugExposureAnyTimePrior() {
    return drugExposureAnyTimePrior;
  }

    /**
     *
     * @param drugExposureAnyTimePrior
     */
    public void setDrugExposureAnyTimePrior(Boolean drugExposureAnyTimePrior) {
    this.drugExposureAnyTimePrior = drugExposureAnyTimePrior;
  }

  /**
   * One covariate per drug in the drug_exposure table starting in the long term window. (analysis ID 302) 
   * @return drugExposureLongTerm
   **/
  @Override
  public Boolean getDrugExposureLongTerm() {
    return drugExposureLongTerm;
  }

    /**
     *
     * @param drugExposureLongTerm
     */
    public void setDrugExposureLongTerm(Boolean drugExposureLongTerm) {
    this.drugExposureLongTerm = drugExposureLongTerm;
  }

  /**
   * One covariate per drug in the drug_exposure table starting in the medium term window. (analysis ID 303) 
   * @return drugExposureMediumTerm
   **/
  @Override
  public Boolean getDrugExposureMediumTerm() {
    return drugExposureMediumTerm;
  }

    /**
     *
     * @param drugExposureMediumTerm
     */
    public void setDrugExposureMediumTerm(Boolean drugExposureMediumTerm) {
    this.drugExposureMediumTerm = drugExposureMediumTerm;
  }

  /**
   * One covariate per drug in the drug_exposure table starting in the short term window. (analysis ID 304) 
   * @return drugExposureShortTerm
   **/
  @Override
  public Boolean getDrugExposureShortTerm() {
    return drugExposureShortTerm;
  }

    /**
     *
     * @param drugExposureShortTerm
     */
    public void setDrugExposureShortTerm(Boolean drugExposureShortTerm) {
    this.drugExposureShortTerm = drugExposureShortTerm;
  }

  /**
   * One covariate per drug in the drug_era table overlapping with any time prior to index. (analysis ID 401) 
   * @return drugEraAnyTimePrior
   **/
  @Override
  public Boolean getDrugEraAnyTimePrior() {
    return drugEraAnyTimePrior;
  }

    /**
     *
     * @param drugEraAnyTimePrior
     */
    public void setDrugEraAnyTimePrior(Boolean drugEraAnyTimePrior) {
    this.drugEraAnyTimePrior = drugEraAnyTimePrior;
  }

  /**
   * One covariate per drug in the drug_era table overlapping with any part of the long term window. (analysis ID 402) 
   * @return drugEraLongTerm
   **/
  @Override
  public Boolean getDrugEraLongTerm() {
    return drugEraLongTerm;
  }

    /**
     *
     * @param drugEraLongTerm
     */
    public void setDrugEraLongTerm(Boolean drugEraLongTerm) {
    this.drugEraLongTerm = drugEraLongTerm;
  }

  /**
   * One covariate per drug in the drug_era table overlapping with any part of the medium term window. (analysis ID 403) 
   * @return drugEraMediumTerm
   **/
  @Override
  public Boolean getDrugEraMediumTerm() {
    return drugEraMediumTerm;
  }

    /**
     *
     * @param drugEraMediumTerm
     */
    public void setDrugEraMediumTerm(Boolean drugEraMediumTerm) {
    this.drugEraMediumTerm = drugEraMediumTerm;
  }

  /**
   * One covariate per drug in the drug_era table overlapping with any part of the short window. (analysis ID 404) 
   * @return drugEraShortTerm
   **/
  @Override
  public Boolean getDrugEraShortTerm() {
    return drugEraShortTerm;
  }

    /**
     *
     * @param drugEraShortTerm
     */
    public void setDrugEraShortTerm(Boolean drugEraShortTerm) {
    this.drugEraShortTerm = drugEraShortTerm;
  }

  /**
   * One covariate per drug in the drug_era table overlapping with the end of the risk window. (analysis ID 405) 
   * @return drugEraOverlapping
   **/
  @Override
  public Boolean getDrugEraOverlapping() {
    return drugEraOverlapping;
  }

    /**
     *
     * @param drugEraOverlapping
     */
    public void setDrugEraOverlapping(Boolean drugEraOverlapping) {
    this.drugEraOverlapping = drugEraOverlapping;
  }

  /**
   * One covariate per drug in the drug_era table starting in the long term window. (analysis ID 406) 
   * @return drugEraStartLongTerm
   **/
  @Override
  public Boolean getDrugEraStartLongTerm() {
    return drugEraStartLongTerm;
  }

    /**
     *
     * @param drugEraStartLongTerm
     */
    public void setDrugEraStartLongTerm(Boolean drugEraStartLongTerm) {
    this.drugEraStartLongTerm = drugEraStartLongTerm;
  }

  /**
   * One covariate per drug in the drug_era table starting in the medium term window. (analysis ID 407) 
   * @return drugEraStartMediumTerm
   **/
  @Override
  public Boolean getDrugEraStartMediumTerm() {
    return drugEraStartMediumTerm;
  }

    /**
     *
     * @param drugEraStartMediumTerm
     */
    public void setDrugEraStartMediumTerm(Boolean drugEraStartMediumTerm) {
    this.drugEraStartMediumTerm = drugEraStartMediumTerm;
  }

  /**
   * One covariate per drug in the drug_era table starting in the long short window. (analysis ID 408) 
   * @return drugEraStartShortTerm
   **/
  @Override
  public Boolean getDrugEraStartShortTerm() {
    return drugEraStartShortTerm;
  }

    /**
     *
     * @param drugEraStartShortTerm
     */
    public void setDrugEraStartShortTerm(Boolean drugEraStartShortTerm) {
    this.drugEraStartShortTerm = drugEraStartShortTerm;
  }

  /**
   * One covariate per drug rolled up to ATC groups in the drug_era table overlapping with any time prior to index. (analysis ID 409) 
   * @return drugGroupEraAnyTimePrior
   **/
  @Override
  public Boolean getDrugGroupEraAnyTimePrior() {
    return drugGroupEraAnyTimePrior;
  }

    /**
     *
     * @param drugGroupEraAnyTimePrior
     */
    public void setDrugGroupEraAnyTimePrior(Boolean drugGroupEraAnyTimePrior) {
    this.drugGroupEraAnyTimePrior = drugGroupEraAnyTimePrior;
  }

  /**
   * One covariate per drug rolled up to ATC groups in the drug_era table overlapping with any part of the long term window. (analysis ID 410) 
   * @return drugGroupEraLongTerm
   **/
  @Override
  public Boolean getDrugGroupEraLongTerm() {
    return drugGroupEraLongTerm;
  }

    /**
     *
     * @param drugGroupEraLongTerm
     */
    public void setDrugGroupEraLongTerm(Boolean drugGroupEraLongTerm) {
    this.drugGroupEraLongTerm = drugGroupEraLongTerm;
  }

  /**
   * One covariate per drug rolled up to ATC groups in the drug_era table overlapping with any part of the medium term window. (analysis ID 411) 
   * @return drugGroupEraMediumTerm
   **/
  @Override
  public Boolean getDrugGroupEraMediumTerm() {
    return drugGroupEraMediumTerm;
  }

    /**
     *
     * @param drugGroupEraMediumTerm
     */
    public void setDrugGroupEraMediumTerm(Boolean drugGroupEraMediumTerm) {
    this.drugGroupEraMediumTerm = drugGroupEraMediumTerm;
  }

  /**
   * One covariate per drug rolled up to ATC groups in the drug_era table overlapping with any part of the short term window. (analysis ID 412) 
   * @return drugGroupEraShortTerm
   **/
  @Override
  public Boolean getDrugGroupEraShortTerm() {
    return drugGroupEraShortTerm;
  }

    /**
     *
     * @param drugGroupEraShortTerm
     */
    public void setDrugGroupEraShortTerm(Boolean drugGroupEraShortTerm) {
    this.drugGroupEraShortTerm = drugGroupEraShortTerm;
  }

  /**
   * One covariate per drug rolled up to ATC groups in the drug_era table overlapping with the end of the risk window. (analysis ID 413) 
   * @return drugGroupEraOverlapping
   **/
  @Override
  public Boolean getDrugGroupEraOverlapping() {
    return drugGroupEraOverlapping;
  }

    /**
     *
     * @param drugGroupEraOverlapping
     */
    public void setDrugGroupEraOverlapping(Boolean drugGroupEraOverlapping) {
    this.drugGroupEraOverlapping = drugGroupEraOverlapping;
  }

  /**
   * One covariate per drug rolled up to ATC groups in the drug_era table starting in the long term window. (analysis ID 414) 
   * @return drugGroupEraStartLongTerm
   **/
  @Override
  public Boolean getDrugGroupEraStartLongTerm() {
    return drugGroupEraStartLongTerm;
  }

    /**
     *
     * @param drugGroupEraStartLongTerm
     */
    public void setDrugGroupEraStartLongTerm(Boolean drugGroupEraStartLongTerm) {
    this.drugGroupEraStartLongTerm = drugGroupEraStartLongTerm;
  }

  /**
