org.cqframework.cql.elm.execution.Retrieve Maven / Gradle / Ivy
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0
// See https://javaee.github.io/jaxb-v2/
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2020.09.30 at 08:06:11 PM UTC
//
package org.cqframework.cql.elm.execution;
import java.util.Collection;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
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;
/**
* The retrieve expression defines clinical data that will be used by the artifact. This expression allows clinically relevant filtering criteria to be provided in a well-defined and computable way. This operation defines the integration boundary for artifacts. The result of a retrieve is defined to return the same data for subsequent invocations within the same evaluation request. This means in particular that patient data updates made during the evaluation request are not visible to the artifact. In effect, the patient data is a snapshot of the data as of the start of the evaluation. This ensures strict deterministic and functional behavior of the artifact, and allows the implementation engine freedom to cache intermediate results in order to improve performance.
*
* Java class for Retrieve complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Retrieve">
* <complexContent>
* <extension base="{urn:hl7-org:elm:r1}Expression">
* <sequence>
* <element name="codes" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
* <element name="dateRange" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
* <element name="context" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
* </sequence>
* <attribute name="dataType" use="required" type="{http://www.w3.org/2001/XMLSchema}QName" />
* <attribute name="templateId" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="idProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="codeProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="valueSetProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="dateProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="dateLowProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="dateHighProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Retrieve", namespace = "urn:hl7-org:elm:r1", propOrder = {
"codes",
"dateRange",
"context"
})
@SuppressWarnings({
"all"
})
public class Retrieve
extends Expression
implements Equals2, HashCode2, ToString2
{
@XmlElement(namespace = "urn:hl7-org:elm:r1")
protected Expression codes;
@XmlElement(namespace = "urn:hl7-org:elm:r1")
protected Expression dateRange;
@XmlElement(namespace = "urn:hl7-org:elm:r1")
protected Expression context;
@XmlAttribute(name = "dataType", required = true)
protected QName dataType;
@XmlAttribute(name = "templateId")
protected String templateId;
@XmlAttribute(name = "idProperty")
protected String idProperty;
@XmlAttribute(name = "codeProperty")
protected String codeProperty;
@XmlAttribute(name = "valueSetProperty")
protected String valueSetProperty;
@XmlAttribute(name = "dateProperty")
protected String dateProperty;
@XmlAttribute(name = "dateLowProperty")
protected String dateLowProperty;
@XmlAttribute(name = "dateHighProperty")
protected String dateHighProperty;
/**
* Gets the value of the codes property.
*
* @return
* possible object is
* {@link Expression }
*
*/
public Expression getCodes() {
return codes;
}
/**
* Sets the value of the codes property.
*
* @param value
* allowed object is
* {@link Expression }
*
*/
public void setCodes(Expression value) {
this.codes = value;
}
/**
* Gets the value of the dateRange property.
*
* @return
* possible object is
* {@link Expression }
*
*/
public Expression getDateRange() {
return dateRange;
}
/**
* Sets the value of the dateRange property.
*
* @param value
* allowed object is
* {@link Expression }
*
*/
public void setDateRange(Expression value) {
this.dateRange = value;
}
/**
* Gets the value of the context property.
*
* @return
* possible object is
* {@link Expression }
*
*/
public Expression getContext() {
return context;
}
/**
* Sets the value of the context property.
*
* @param value
* allowed object is
* {@link Expression }
*
*/
public void setContext(Expression value) {
this.context = value;
}
/**
* Gets the value of the dataType property.
*
* @return
* possible object is
* {@link QName }
*
*/
public QName getDataType() {
return dataType;
}
/**
* Sets the value of the dataType property.
*
* @param value
* allowed object is
* {@link QName }
*
*/
public void setDataType(QName value) {
this.dataType = value;
}
/**
* Gets the value of the templateId property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTemplateId() {
return templateId;
}
/**
* Sets the value of the templateId property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTemplateId(String value) {
this.templateId = value;
}
/**
* Gets the value of the idProperty property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getIdProperty() {
return idProperty;
}
/**
* Sets the value of the idProperty property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setIdProperty(String value) {
this.idProperty = value;
}
/**
* Gets the value of the codeProperty property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCodeProperty() {
return codeProperty;
}
/**
* Sets the value of the codeProperty property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCodeProperty(String value) {
this.codeProperty = value;
}
/**
* Gets the value of the valueSetProperty property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getValueSetProperty() {
return valueSetProperty;
}
/**
* Sets the value of the valueSetProperty property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setValueSetProperty(String value) {
this.valueSetProperty = value;
}
/**
* Gets the value of the dateProperty property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDateProperty() {
return dateProperty;
}
/**
* Sets the value of the dateProperty property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDateProperty(String value) {
this.dateProperty = value;
}
/**
* Gets the value of the dateLowProperty property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDateLowProperty() {
return dateLowProperty;
}
/**
* Sets the value of the dateLowProperty property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDateLowProperty(String value) {
this.dateLowProperty = value;
}
/**
* Gets the value of the dateHighProperty property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDateHighProperty() {
return dateHighProperty;
}
/**
* Sets the value of the dateHighProperty property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDateHighProperty(String value) {
this.dateHighProperty = value;
}
public Retrieve withCodes(Expression value) {
setCodes(value);
return this;
}
public Retrieve withDateRange(Expression value) {
setDateRange(value);
return this;
}
public Retrieve withContext(Expression value) {
setContext(value);
return this;
}
public Retrieve withDataType(QName value) {
setDataType(value);
return this;
}
public Retrieve withTemplateId(String value) {
setTemplateId(value);
return this;
}
public Retrieve withIdProperty(String value) {
setIdProperty(value);
return this;
}
public Retrieve withCodeProperty(String value) {
setCodeProperty(value);
return this;
}
public Retrieve withValueSetProperty(String value) {
setValueSetProperty(value);
return this;
}
public Retrieve withDateProperty(String value) {
setDateProperty(value);
return this;
}
public Retrieve withDateLowProperty(String value) {
setDateLowProperty(value);
return this;
}
public Retrieve withDateHighProperty(String value) {
setDateHighProperty(value);
return this;
}
@Override
public Retrieve withAnnotation(Object... values) {
if (values!= null) {
for (Object value: values) {
getAnnotation().add(value);
}
}
return this;
}
@Override
public Retrieve withAnnotation(Collection