All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hl7.fhir.TimingRepeat Maven / Gradle / Ivy

Go to download

The quick library for the Clinical Quality Language Java reference implementation

There is a newer version: 3.18.0
Show newest version
//
// This file was generated by the Eclipse Implementation of JAXB, v3.0.2 
// See https://eclipse-ee4j.github.io/jaxb-ri 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2024.08.16 at 09:36:55 AM MDT 
//


package org.hl7.fhir;

import java.util.Collection;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.HashCode2;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;


/**
 * If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions
 * 
 * 

Java class for Timing.Repeat complex type. * *

The following schema fragment specifies the expected content contained within this class. * *

 * <complexType name="Timing.Repeat">
 *   <complexContent>
 *     <extension base="{http://hl7.org/fhir}Element">
 *       <sequence>
 *         <choice minOccurs="0">
 *           <element name="boundsQuantity" type="{http://hl7.org/fhir}Duration"/>
 *           <element name="boundsRange" type="{http://hl7.org/fhir}Range"/>
 *           <element name="boundsPeriod" type="{http://hl7.org/fhir}Period"/>
 *         </choice>
 *         <element name="count" type="{http://hl7.org/fhir}integer" minOccurs="0"/>
 *         <element name="countMax" type="{http://hl7.org/fhir}integer" minOccurs="0"/>
 *         <element name="duration" type="{http://hl7.org/fhir}decimal" minOccurs="0"/>
 *         <element name="durationMax" type="{http://hl7.org/fhir}decimal" minOccurs="0"/>
 *         <element name="durationUnit" type="{http://hl7.org/fhir}UnitsOfTime" minOccurs="0"/>
 *         <element name="frequency" type="{http://hl7.org/fhir}integer" minOccurs="0"/>
 *         <element name="frequencyMax" type="{http://hl7.org/fhir}integer" minOccurs="0"/>
 *         <element name="period" type="{http://hl7.org/fhir}decimal" minOccurs="0"/>
 *         <element name="periodMax" type="{http://hl7.org/fhir}decimal" minOccurs="0"/>
 *         <element name="periodUnit" type="{http://hl7.org/fhir}UnitsOfTime" minOccurs="0"/>
 *         <element name="when" type="{http://hl7.org/fhir}EventTiming" minOccurs="0"/>
 *         <element name="offset" type="{http://hl7.org/fhir}unsignedInt" minOccurs="0"/>
 *       </sequence>
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Timing.Repeat", propOrder = { "boundsQuantity", "boundsRange", "boundsPeriod", "count", "countMax", "duration", "durationMax", "durationUnit", "frequency", "frequencyMax", "period", "periodMax", "periodUnit", "when", "offset" }) public class TimingRepeat extends Element implements Equals2, HashCode2, ToString2 { protected Duration boundsQuantity; protected Range boundsRange; protected Period boundsPeriod; protected Integer count; protected Integer countMax; protected Decimal duration; protected Decimal durationMax; protected UnitsOfTime durationUnit; protected Integer frequency; protected Integer frequencyMax; protected Decimal period; protected Decimal periodMax; protected UnitsOfTime periodUnit; protected EventTiming when; protected UnsignedInt offset; /** * Gets the value of the boundsQuantity property. * * @return * possible object is * {@link Duration } * */ public Duration getBoundsQuantity() { return boundsQuantity; } /** * Sets the value of the boundsQuantity property. * * @param value * allowed object is * {@link Duration } * */ public void setBoundsQuantity(Duration value) { this.boundsQuantity = value; } /** * Gets the value of the boundsRange property. * * @return * possible object is * {@link Range } * */ public Range getBoundsRange() { return boundsRange; } /** * Sets the value of the boundsRange property. * * @param value * allowed object is * {@link Range } * */ public void setBoundsRange(Range value) { this.boundsRange = value; } /** * Gets the value of the boundsPeriod property. * * @return * possible object is * {@link Period } * */ public Period getBoundsPeriod() { return boundsPeriod; } /** * Sets the value of the boundsPeriod property. * * @param value * allowed object is * {@link Period } * */ public void setBoundsPeriod(Period value) { this.boundsPeriod = value; } /** * Gets the value of the count property. * * @return * possible object is * {@link Integer } * */ public Integer getCount() { return count; } /** * Sets the value of the count property. * * @param value * allowed object is * {@link Integer } * */ public void setCount(Integer value) { this.count = value; } /** * Gets the value of the countMax property. * * @return * possible object is * {@link Integer } * */ public Integer getCountMax() { return countMax; } /** * Sets the value of the countMax property. * * @param value * allowed object is * {@link Integer } * */ public void setCountMax(Integer value) { this.countMax = value; } /** * Gets the value of the duration property. * * @return * possible object is * {@link Decimal } * */ public Decimal getDuration() { return duration; } /** * Sets the value of the duration property. * * @param value * allowed object is * {@link Decimal } * */ public void setDuration(Decimal value) { this.duration = value; } /** * Gets the value of the durationMax property. * * @return * possible object is * {@link Decimal } * */ public Decimal getDurationMax() { return durationMax; } /** * Sets the value of the durationMax property. * * @param value * allowed object is * {@link Decimal } * */ public void setDurationMax(Decimal value) { this.durationMax = value; } /** * Gets the value of the durationUnit property. * * @return * possible object is * {@link UnitsOfTime } * */ public UnitsOfTime getDurationUnit() { return durationUnit; } /** * Sets the value of the durationUnit property. * * @param value * allowed object is * {@link UnitsOfTime } * */ public void setDurationUnit(UnitsOfTime value) { this.durationUnit = value; } /** * Gets the value of the frequency property. * * @return * possible object is * {@link Integer } * */ public Integer getFrequency() { return frequency; } /** * Sets the value of the frequency property. * * @param value * allowed object is * {@link Integer } * */ public void setFrequency(Integer value) { this.frequency = value; } /** * Gets the value of the frequencyMax property. * * @return * possible object is * {@link Integer } * */ public Integer getFrequencyMax() { return frequencyMax; } /** * Sets the value of the frequencyMax property. * * @param value * allowed object is * {@link Integer } * */ public void setFrequencyMax(Integer value) { this.frequencyMax = value; } /** * Gets the value of the period property. * * @return * possible object is * {@link Decimal } * */ public Decimal getPeriod() { return period; } /** * Sets the value of the period property. * * @param value * allowed object is * {@link Decimal } * */ public void setPeriod(Decimal value) { this.period = value; } /** * Gets the value of the periodMax property. * * @return * possible object is * {@link Decimal } * */ public Decimal getPeriodMax() { return periodMax; } /** * Sets the value of the periodMax property. * * @param value * allowed object is * {@link Decimal } * */ public void setPeriodMax(Decimal value) { this.periodMax = value; } /** * Gets the value of the periodUnit property. * * @return * possible object is * {@link UnitsOfTime } * */ public UnitsOfTime getPeriodUnit() { return periodUnit; } /** * Sets the value of the periodUnit property. * * @param value * allowed object is * {@link UnitsOfTime } * */ public void setPeriodUnit(UnitsOfTime value) { this.periodUnit = value; } /** * Gets the value of the when property. * * @return * possible object is * {@link EventTiming } * */ public EventTiming getWhen() { return when; } /** * Sets the value of the when property. * * @param value * allowed object is * {@link EventTiming } * */ public void setWhen(EventTiming value) { this.when = value; } /** * Gets the value of the offset property. * * @return * possible object is * {@link UnsignedInt } * */ public UnsignedInt getOffset() { return offset; } /** * Sets the value of the offset property. * * @param value * allowed object is * {@link UnsignedInt } * */ public void setOffset(UnsignedInt value) { this.offset = value; } public TimingRepeat withBoundsQuantity(Duration value) { setBoundsQuantity(value); return this; } public TimingRepeat withBoundsRange(Range value) { setBoundsRange(value); return this; } public TimingRepeat withBoundsPeriod(Period value) { setBoundsPeriod(value); return this; } public TimingRepeat withCount(Integer value) { setCount(value); return this; } public TimingRepeat withCountMax(Integer value) { setCountMax(value); return this; } public TimingRepeat withDuration(Decimal value) { setDuration(value); return this; } public TimingRepeat withDurationMax(Decimal value) { setDurationMax(value); return this; } public TimingRepeat withDurationUnit(UnitsOfTime value) { setDurationUnit(value); return this; } public TimingRepeat withFrequency(Integer value) { setFrequency(value); return this; } public TimingRepeat withFrequencyMax(Integer value) { setFrequencyMax(value); return this; } public TimingRepeat withPeriod(Decimal value) { setPeriod(value); return this; } public TimingRepeat withPeriodMax(Decimal value) { setPeriodMax(value); return this; } public TimingRepeat withPeriodUnit(UnitsOfTime value) { setPeriodUnit(value); return this; } public TimingRepeat withWhen(EventTiming value) { setWhen(value); return this; } public TimingRepeat withOffset(UnsignedInt value) { setOffset(value); return this; } @Override public TimingRepeat withExtension(Extension... values) { if (values!= null) { for (Extension value: values) { getExtension().add(value); } } return this; } @Override public TimingRepeat withExtension(Collection values) { if (values!= null) { getExtension().addAll(values); } return this; } @Override public TimingRepeat withId(java.lang.String value) { setId(value); return this; } @Override public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) { if ((object == null)||(this.getClass()!= object.getClass())) { return false; } if (this == object) { return true; } if (!super.equals(thisLocator, thatLocator, object, strategy)) { return false; } final TimingRepeat that = ((TimingRepeat) object); { Duration lhsBoundsQuantity; lhsBoundsQuantity = this.getBoundsQuantity(); Duration rhsBoundsQuantity; rhsBoundsQuantity = that.getBoundsQuantity(); if (!strategy.equals(LocatorUtils.property(thisLocator, "boundsQuantity", lhsBoundsQuantity), LocatorUtils.property(thatLocator, "boundsQuantity", rhsBoundsQuantity), lhsBoundsQuantity, rhsBoundsQuantity, (this.boundsQuantity!= null), (that.boundsQuantity!= null))) { return false; } } { Range lhsBoundsRange; lhsBoundsRange = this.getBoundsRange(); Range rhsBoundsRange; rhsBoundsRange = that.getBoundsRange(); if (!strategy.equals(LocatorUtils.property(thisLocator, "boundsRange", lhsBoundsRange), LocatorUtils.property(thatLocator, "boundsRange", rhsBoundsRange), lhsBoundsRange, rhsBoundsRange, (this.boundsRange!= null), (that.boundsRange!= null))) { return false; } } { Period lhsBoundsPeriod; lhsBoundsPeriod = this.getBoundsPeriod(); Period rhsBoundsPeriod; rhsBoundsPeriod = that.getBoundsPeriod(); if (!strategy.equals(LocatorUtils.property(thisLocator, "boundsPeriod", lhsBoundsPeriod), LocatorUtils.property(thatLocator, "boundsPeriod", rhsBoundsPeriod), lhsBoundsPeriod, rhsBoundsPeriod, (this.boundsPeriod!= null), (that.boundsPeriod!= null))) { return false; } } { Integer lhsCount; lhsCount = this.getCount(); Integer rhsCount; rhsCount = that.getCount(); if (!strategy.equals(LocatorUtils.property(thisLocator, "count", lhsCount), LocatorUtils.property(thatLocator, "count", rhsCount), lhsCount, rhsCount, (this.count!= null), (that.count!= null))) { return false; } } { Integer lhsCountMax; lhsCountMax = this.getCountMax(); Integer rhsCountMax; rhsCountMax = that.getCountMax(); if (!strategy.equals(LocatorUtils.property(thisLocator, "countMax", lhsCountMax), LocatorUtils.property(thatLocator, "countMax", rhsCountMax), lhsCountMax, rhsCountMax, (this.countMax!= null), (that.countMax!= null))) { return false; } } { Decimal lhsDuration; lhsDuration = this.getDuration(); Decimal rhsDuration; rhsDuration = that.getDuration(); if (!strategy.equals(LocatorUtils.property(thisLocator, "duration", lhsDuration), LocatorUtils.property(thatLocator, "duration", rhsDuration), lhsDuration, rhsDuration, (this.duration!= null), (that.duration!= null))) { return false; } } { Decimal lhsDurationMax; lhsDurationMax = this.getDurationMax(); Decimal rhsDurationMax; rhsDurationMax = that.getDurationMax(); if (!strategy.equals(LocatorUtils.property(thisLocator, "durationMax", lhsDurationMax), LocatorUtils.property(thatLocator, "durationMax", rhsDurationMax), lhsDurationMax, rhsDurationMax, (this.durationMax!= null), (that.durationMax!= null))) { return false; } } { UnitsOfTime lhsDurationUnit; lhsDurationUnit = this.getDurationUnit(); UnitsOfTime rhsDurationUnit; rhsDurationUnit = that.getDurationUnit(); if (!strategy.equals(LocatorUtils.property(thisLocator, "durationUnit", lhsDurationUnit), LocatorUtils.property(thatLocator, "durationUnit", rhsDurationUnit), lhsDurationUnit, rhsDurationUnit, (this.durationUnit!= null), (that.durationUnit!= null))) { return false; } } { Integer lhsFrequency; lhsFrequency = this.getFrequency(); Integer rhsFrequency; rhsFrequency = that.getFrequency(); if (!strategy.equals(LocatorUtils.property(thisLocator, "frequency", lhsFrequency), LocatorUtils.property(thatLocator, "frequency", rhsFrequency), lhsFrequency, rhsFrequency, (this.frequency!= null), (that.frequency!= null))) { return false; } } { Integer lhsFrequencyMax; lhsFrequencyMax = this.getFrequencyMax(); Integer rhsFrequencyMax; rhsFrequencyMax = that.getFrequencyMax(); if (!strategy.equals(LocatorUtils.property(thisLocator, "frequencyMax", lhsFrequencyMax), LocatorUtils.property(thatLocator, "frequencyMax", rhsFrequencyMax), lhsFrequencyMax, rhsFrequencyMax, (this.frequencyMax!= null), (that.frequencyMax!= null))) { return false; } } { Decimal lhsPeriod; lhsPeriod = this.getPeriod(); Decimal rhsPeriod; rhsPeriod = that.getPeriod(); if (!strategy.equals(LocatorUtils.property(thisLocator, "period", lhsPeriod), LocatorUtils.property(thatLocator, "period", rhsPeriod), lhsPeriod, rhsPeriod, (this.period!= null), (that.period!= null))) { return false; } } { Decimal lhsPeriodMax; lhsPeriodMax = this.getPeriodMax(); Decimal rhsPeriodMax; rhsPeriodMax = that.getPeriodMax(); if (!strategy.equals(LocatorUtils.property(thisLocator, "periodMax", lhsPeriodMax), LocatorUtils.property(thatLocator, "periodMax", rhsPeriodMax), lhsPeriodMax, rhsPeriodMax, (this.periodMax!= null), (that.periodMax!= null))) { return false; } } { UnitsOfTime lhsPeriodUnit; lhsPeriodUnit = this.getPeriodUnit(); UnitsOfTime rhsPeriodUnit; rhsPeriodUnit = that.getPeriodUnit(); if (!strategy.equals(LocatorUtils.property(thisLocator, "periodUnit", lhsPeriodUnit), LocatorUtils.property(thatLocator, "periodUnit", rhsPeriodUnit), lhsPeriodUnit, rhsPeriodUnit, (this.periodUnit!= null), (that.periodUnit!= null))) { return false; } } { EventTiming lhsWhen; lhsWhen = this.getWhen(); EventTiming rhsWhen; rhsWhen = that.getWhen(); if (!strategy.equals(LocatorUtils.property(thisLocator, "when", lhsWhen), LocatorUtils.property(thatLocator, "when", rhsWhen), lhsWhen, rhsWhen, (this.when!= null), (that.when!= null))) { return false; } } { UnsignedInt lhsOffset; lhsOffset = this.getOffset(); UnsignedInt rhsOffset; rhsOffset = that.getOffset(); if (!strategy.equals(LocatorUtils.property(thisLocator, "offset", lhsOffset), LocatorUtils.property(thatLocator, "offset", rhsOffset), lhsOffset, rhsOffset, (this.offset!= null), (that.offset!= null))) { return false; } } return true; } @Override public boolean equals(Object object) { final EqualsStrategy2 strategy = JAXBEqualsStrategy.getInstance(); return equals(null, null, object, strategy); } @Override public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) { int currentHashCode = super.hashCode(locator, strategy); { Duration theBoundsQuantity; theBoundsQuantity = this.getBoundsQuantity(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "boundsQuantity", theBoundsQuantity), currentHashCode, theBoundsQuantity, (this.boundsQuantity!= null)); } { Range theBoundsRange; theBoundsRange = this.getBoundsRange(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "boundsRange", theBoundsRange), currentHashCode, theBoundsRange, (this.boundsRange!= null)); } { Period theBoundsPeriod; theBoundsPeriod = this.getBoundsPeriod(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "boundsPeriod", theBoundsPeriod), currentHashCode, theBoundsPeriod, (this.boundsPeriod!= null)); } { Integer theCount; theCount = this.getCount(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "count", theCount), currentHashCode, theCount, (this.count!= null)); } { Integer theCountMax; theCountMax = this.getCountMax(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "countMax", theCountMax), currentHashCode, theCountMax, (this.countMax!= null)); } { Decimal theDuration; theDuration = this.getDuration(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "duration", theDuration), currentHashCode, theDuration, (this.duration!= null)); } { Decimal theDurationMax; theDurationMax = this.getDurationMax(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "durationMax", theDurationMax), currentHashCode, theDurationMax, (this.durationMax!= null)); } { UnitsOfTime theDurationUnit; theDurationUnit = this.getDurationUnit(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "durationUnit", theDurationUnit), currentHashCode, theDurationUnit, (this.durationUnit!= null)); } { Integer theFrequency; theFrequency = this.getFrequency(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "frequency", theFrequency), currentHashCode, theFrequency, (this.frequency!= null)); } { Integer theFrequencyMax; theFrequencyMax = this.getFrequencyMax(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "frequencyMax", theFrequencyMax), currentHashCode, theFrequencyMax, (this.frequencyMax!= null)); } { Decimal thePeriod; thePeriod = this.getPeriod(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "period", thePeriod), currentHashCode, thePeriod, (this.period!= null)); } { Decimal thePeriodMax; thePeriodMax = this.getPeriodMax(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "periodMax", thePeriodMax), currentHashCode, thePeriodMax, (this.periodMax!= null)); } { UnitsOfTime thePeriodUnit; thePeriodUnit = this.getPeriodUnit(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "periodUnit", thePeriodUnit), currentHashCode, thePeriodUnit, (this.periodUnit!= null)); } { EventTiming theWhen; theWhen = this.getWhen(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "when", theWhen), currentHashCode, theWhen, (this.when!= null)); } { UnsignedInt theOffset; theOffset = this.getOffset(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "offset", theOffset), currentHashCode, theOffset, (this.offset!= null)); } return currentHashCode; } @Override public int hashCode() { final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.getInstance(); return this.hashCode(null, strategy); } @Override public java.lang.String toString() { final ToStringStrategy2 strategy = JAXBToStringStrategy.getInstance(); final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } @Override public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) { strategy.appendStart(locator, this, buffer); appendFields(locator, buffer, strategy); strategy.appendEnd(locator, this, buffer); return buffer; } @Override public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) { super.appendFields(locator, buffer, strategy); { Duration theBoundsQuantity; theBoundsQuantity = this.getBoundsQuantity(); strategy.appendField(locator, this, "boundsQuantity", buffer, theBoundsQuantity, (this.boundsQuantity!= null)); } { Range theBoundsRange; theBoundsRange = this.getBoundsRange(); strategy.appendField(locator, this, "boundsRange", buffer, theBoundsRange, (this.boundsRange!= null)); } { Period theBoundsPeriod; theBoundsPeriod = this.getBoundsPeriod(); strategy.appendField(locator, this, "boundsPeriod", buffer, theBoundsPeriod, (this.boundsPeriod!= null)); } { Integer theCount; theCount = this.getCount(); strategy.appendField(locator, this, "count", buffer, theCount, (this.count!= null)); } { Integer theCountMax; theCountMax = this.getCountMax(); strategy.appendField(locator, this, "countMax", buffer, theCountMax, (this.countMax!= null)); } { Decimal theDuration; theDuration = this.getDuration(); strategy.appendField(locator, this, "duration", buffer, theDuration, (this.duration!= null)); } { Decimal theDurationMax; theDurationMax = this.getDurationMax(); strategy.appendField(locator, this, "durationMax", buffer, theDurationMax, (this.durationMax!= null)); } { UnitsOfTime theDurationUnit; theDurationUnit = this.getDurationUnit(); strategy.appendField(locator, this, "durationUnit", buffer, theDurationUnit, (this.durationUnit!= null)); } { Integer theFrequency; theFrequency = this.getFrequency(); strategy.appendField(locator, this, "frequency", buffer, theFrequency, (this.frequency!= null)); } { Integer theFrequencyMax; theFrequencyMax = this.getFrequencyMax(); strategy.appendField(locator, this, "frequencyMax", buffer, theFrequencyMax, (this.frequencyMax!= null)); } { Decimal thePeriod; thePeriod = this.getPeriod(); strategy.appendField(locator, this, "period", buffer, thePeriod, (this.period!= null)); } { Decimal thePeriodMax; thePeriodMax = this.getPeriodMax(); strategy.appendField(locator, this, "periodMax", buffer, thePeriodMax, (this.periodMax!= null)); } { UnitsOfTime thePeriodUnit; thePeriodUnit = this.getPeriodUnit(); strategy.appendField(locator, this, "periodUnit", buffer, thePeriodUnit, (this.periodUnit!= null)); } { EventTiming theWhen; theWhen = this.getWhen(); strategy.appendField(locator, this, "when", buffer, theWhen, (this.when!= null)); } { UnsignedInt theOffset; theOffset = this.getOffset(); strategy.appendField(locator, this, "offset", buffer, theOffset, (this.offset!= null)); } return buffer; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy