org.hl7.fhir.Observation Maven / Gradle / Ivy
Show all versions of quick Show documentation
//
// 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: 2023.12.08 at 08:47:56 AM MST
//
package org.hl7.fhir;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
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 either a @value, an @id, or extensions
*
* Java class for Observation complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Observation">
* <complexContent>
* <extension base="{http://hl7.org/fhir}DomainResource">
* <sequence>
* <element name="identifier" type="{http://hl7.org/fhir}Identifier" maxOccurs="unbounded" minOccurs="0"/>
* <element name="status" type="{http://hl7.org/fhir}ObservationStatus"/>
* <element name="category" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="code" type="{http://hl7.org/fhir}CodeableConcept"/>
* <element name="subject" type="{http://hl7.org/fhir}Reference" minOccurs="0"/>
* <element name="encounter" type="{http://hl7.org/fhir}Reference" minOccurs="0"/>
* <choice minOccurs="0">
* <element name="effectiveDateTime" type="{http://hl7.org/fhir}dateTime"/>
* <element name="effectivePeriod" type="{http://hl7.org/fhir}Period"/>
* </choice>
* <element name="issued" type="{http://hl7.org/fhir}instant" minOccurs="0"/>
* <element name="performer" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* <choice minOccurs="0">
* <element name="valueQuantity" type="{http://hl7.org/fhir}Quantity"/>
* <element name="valueCodeableConcept" type="{http://hl7.org/fhir}CodeableConcept"/>
* <element name="valueString" type="{http://hl7.org/fhir}string"/>
* <element name="valueRange" type="{http://hl7.org/fhir}Range"/>
* <element name="valueRatio" type="{http://hl7.org/fhir}Ratio"/>
* <element name="valueSampledData" type="{http://hl7.org/fhir}SampledData"/>
* <element name="valueAttachment" type="{http://hl7.org/fhir}Attachment"/>
* <element name="valueTime" type="{http://hl7.org/fhir}time"/>
* <element name="valueDateTime" type="{http://hl7.org/fhir}dateTime"/>
* <element name="valuePeriod" type="{http://hl7.org/fhir}Period"/>
* </choice>
* <element name="dataAbsentReason" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="interpretation" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="comment" type="{http://hl7.org/fhir}string" minOccurs="0"/>
* <element name="bodySite" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="method" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="specimen" type="{http://hl7.org/fhir}Reference" minOccurs="0"/>
* <element name="device" type="{http://hl7.org/fhir}Reference" minOccurs="0"/>
* <element name="referenceRange" type="{http://hl7.org/fhir}Observation.ReferenceRange" maxOccurs="unbounded" minOccurs="0"/>
* <element name="related" type="{http://hl7.org/fhir}Observation.Related" maxOccurs="unbounded" minOccurs="0"/>
* <element name="component" type="{http://hl7.org/fhir}Observation.Component" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Observation", propOrder = {
"identifier",
"status",
"category",
"code",
"subject",
"encounter",
"effectiveDateTime",
"effectivePeriod",
"issued",
"performer",
"valueQuantity",
"valueCodeableConcept",
"valueString",
"valueRange",
"valueRatio",
"valueSampledData",
"valueAttachment",
"valueTime",
"valueDateTime",
"valuePeriod",
"dataAbsentReason",
"interpretation",
"comment",
"bodySite",
"method",
"specimen",
"device",
"referenceRange",
"related",
"component"
})
public class Observation
extends DomainResource
implements Equals2, HashCode2, ToString2
{
protected List identifier;
@XmlElement(required = true)
protected ObservationStatus status;
protected CodeableConcept category;
@XmlElement(required = true)
protected CodeableConcept code;
protected Reference subject;
protected Reference encounter;
protected DateTime effectiveDateTime;
protected Period effectivePeriod;
protected Instant issued;
protected List performer;
protected Quantity valueQuantity;
protected CodeableConcept valueCodeableConcept;
protected org.hl7.fhir.String valueString;
protected Range valueRange;
protected Ratio valueRatio;
protected SampledData valueSampledData;
protected Attachment valueAttachment;
protected Time valueTime;
protected DateTime valueDateTime;
protected Period valuePeriod;
protected CodeableConcept dataAbsentReason;
protected CodeableConcept interpretation;
protected org.hl7.fhir.String comment;
protected CodeableConcept bodySite;
protected CodeableConcept method;
protected Reference specimen;
protected Reference device;
protected List referenceRange;
protected List related;
protected List component;
/**
* Gets the value of the identifier property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a set
method for the identifier property.
*
*
* For example, to add a new item, do as follows:
*
* getIdentifier().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Identifier }
*
*
*/
public List getIdentifier() {
if (identifier == null) {
identifier = new ArrayList();
}
return this.identifier;
}
/**
* Gets the value of the status property.
*
* @return
* possible object is
* {@link ObservationStatus }
*
*/
public ObservationStatus getStatus() {
return status;
}
/**
* Sets the value of the status property.
*
* @param value
* allowed object is
* {@link ObservationStatus }
*
*/
public void setStatus(ObservationStatus value) {
this.status = value;
}
/**
* Gets the value of the category property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getCategory() {
return category;
}
/**
* Sets the value of the category property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setCategory(CodeableConcept value) {
this.category = value;
}
/**
* Gets the value of the code property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getCode() {
return code;
}
/**
* Sets the value of the code property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setCode(CodeableConcept value) {
this.code = value;
}
/**
* Gets the value of the subject property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getSubject() {
return subject;
}
/**
* Sets the value of the subject property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setSubject(Reference value) {
this.subject = value;
}
/**
* Gets the value of the encounter property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getEncounter() {
return encounter;
}
/**
* Sets the value of the encounter property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setEncounter(Reference value) {
this.encounter = value;
}
/**
* Gets the value of the effectiveDateTime property.
*
* @return
* possible object is
* {@link DateTime }
*
*/
public DateTime getEffectiveDateTime() {
return effectiveDateTime;
}
/**
* Sets the value of the effectiveDateTime property.
*
* @param value
* allowed object is
* {@link DateTime }
*
*/
public void setEffectiveDateTime(DateTime value) {
this.effectiveDateTime = value;
}
/**
* Gets the value of the effectivePeriod property.
*
* @return
* possible object is
* {@link Period }
*
*/
public Period getEffectivePeriod() {
return effectivePeriod;
}
/**
* Sets the value of the effectivePeriod property.
*
* @param value
* allowed object is
* {@link Period }
*
*/
public void setEffectivePeriod(Period value) {
this.effectivePeriod = value;
}
/**
* Gets the value of the issued property.
*
* @return
* possible object is
* {@link Instant }
*
*/
public Instant getIssued() {
return issued;
}
/**
* Sets the value of the issued property.
*
* @param value
* allowed object is
* {@link Instant }
*
*/
public void setIssued(Instant value) {
this.issued = value;
}
/**
* Gets the value of the performer property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a set
method for the performer property.
*
*
* For example, to add a new item, do as follows:
*
* getPerformer().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getPerformer() {
if (performer == null) {
performer = new ArrayList();
}
return this.performer;
}
/**
* Gets the value of the valueQuantity property.
*
* @return
* possible object is
* {@link Quantity }
*
*/
public Quantity getValueQuantity() {
return valueQuantity;
}
/**
* Sets the value of the valueQuantity property.
*
* @param value
* allowed object is
* {@link Quantity }
*
*/
public void setValueQuantity(Quantity value) {
this.valueQuantity = value;
}
/**
* Gets the value of the valueCodeableConcept property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getValueCodeableConcept() {
return valueCodeableConcept;
}
/**
* Sets the value of the valueCodeableConcept property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setValueCodeableConcept(CodeableConcept value) {
this.valueCodeableConcept = value;
}
/**
* Gets the value of the valueString property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getValueString() {
return valueString;
}
/**
* Sets the value of the valueString property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setValueString(org.hl7.fhir.String value) {
this.valueString = value;
}
/**
* Gets the value of the valueRange property.
*
* @return
* possible object is
* {@link Range }
*
*/
public Range getValueRange() {
return valueRange;
}
/**
* Sets the value of the valueRange property.
*
* @param value
* allowed object is
* {@link Range }
*
*/
public void setValueRange(Range value) {
this.valueRange = value;
}
/**
* Gets the value of the valueRatio property.
*
* @return
* possible object is
* {@link Ratio }
*
*/
public Ratio getValueRatio() {
return valueRatio;
}
/**
* Sets the value of the valueRatio property.
*
* @param value
* allowed object is
* {@link Ratio }
*
*/
public void setValueRatio(Ratio value) {
this.valueRatio = value;
}
/**
* Gets the value of the valueSampledData property.
*
* @return
* possible object is
* {@link SampledData }
*
*/
public SampledData getValueSampledData() {
return valueSampledData;
}
/**
* Sets the value of the valueSampledData property.
*
* @param value
* allowed object is
* {@link SampledData }
*
*/
public void setValueSampledData(SampledData value) {
this.valueSampledData = value;
}
/**
* Gets the value of the valueAttachment property.
*
* @return
* possible object is
* {@link Attachment }
*
*/
public Attachment getValueAttachment() {
return valueAttachment;
}
/**
* Sets the value of the valueAttachment property.
*
* @param value
* allowed object is
* {@link Attachment }
*
*/
public void setValueAttachment(Attachment value) {
this.valueAttachment = value;
}
/**
* Gets the value of the valueTime property.
*
* @return
* possible object is
* {@link Time }
*
*/
public Time getValueTime() {
return valueTime;
}
/**
* Sets the value of the valueTime property.
*
* @param value
* allowed object is
* {@link Time }
*
*/
public void setValueTime(Time value) {
this.valueTime = value;
}
/**
* Gets the value of the valueDateTime property.
*
* @return
* possible object is
* {@link DateTime }
*
*/
public DateTime getValueDateTime() {
return valueDateTime;
}
/**
* Sets the value of the valueDateTime property.
*
* @param value
* allowed object is
* {@link DateTime }
*
*/
public void setValueDateTime(DateTime value) {
this.valueDateTime = value;
}
/**
* Gets the value of the valuePeriod property.
*
* @return
* possible object is
* {@link Period }
*
*/
public Period getValuePeriod() {
return valuePeriod;
}
/**
* Sets the value of the valuePeriod property.
*
* @param value
* allowed object is
* {@link Period }
*
*/
public void setValuePeriod(Period value) {
this.valuePeriod = value;
}
/**
* Gets the value of the dataAbsentReason property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getDataAbsentReason() {
return dataAbsentReason;
}
/**
* Sets the value of the dataAbsentReason property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setDataAbsentReason(CodeableConcept value) {
this.dataAbsentReason = value;
}
/**
* Gets the value of the interpretation property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getInterpretation() {
return interpretation;
}
/**
* Sets the value of the interpretation property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setInterpretation(CodeableConcept value) {
this.interpretation = value;
}
/**
* Gets the value of the comment property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getComment() {
return comment;
}
/**
* Sets the value of the comment property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setComment(org.hl7.fhir.String value) {
this.comment = value;
}
/**
* Gets the value of the bodySite property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getBodySite() {
return bodySite;
}
/**
* Sets the value of the bodySite property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setBodySite(CodeableConcept value) {
this.bodySite = value;
}
/**
* Gets the value of the method property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getMethod() {
return method;
}
/**
* Sets the value of the method property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setMethod(CodeableConcept value) {
this.method = value;
}
/**
* Gets the value of the specimen property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getSpecimen() {
return specimen;
}
/**
* Sets the value of the specimen property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setSpecimen(Reference value) {
this.specimen = value;
}
/**
* Gets the value of the device property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getDevice() {
return device;
}
/**
* Sets the value of the device property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setDevice(Reference value) {
this.device = value;
}
/**
* Gets the value of the referenceRange property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a set
method for the referenceRange property.
*
*
* For example, to add a new item, do as follows:
*
* getReferenceRange().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ObservationReferenceRange }
*
*
*/
public List getReferenceRange() {
if (referenceRange == null) {
referenceRange = new ArrayList();
}
return this.referenceRange;
}
/**
* Gets the value of the related property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a set
method for the related property.
*
*
* For example, to add a new item, do as follows:
*
* getRelated().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ObservationRelated }
*
*
*/
public List getRelated() {
if (related == null) {
related = new ArrayList();
}
return this.related;
}
/**
* Gets the value of the component property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a set
method for the component property.
*
*
* For example, to add a new item, do as follows:
*
* getComponent().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ObservationComponent }
*
*
*/
public List getComponent() {
if (component == null) {
component = new ArrayList();
}
return this.component;
}
public Observation withIdentifier(Identifier... values) {
if (values!= null) {
for (Identifier value: values) {
getIdentifier().add(value);
}
}
return this;
}
public Observation withIdentifier(Collection values) {
if (values!= null) {
getIdentifier().addAll(values);
}
return this;
}
public Observation withStatus(ObservationStatus value) {
setStatus(value);
return this;
}
public Observation withCategory(CodeableConcept value) {
setCategory(value);
return this;
}
public Observation withCode(CodeableConcept value) {
setCode(value);
return this;
}
public Observation withSubject(Reference value) {
setSubject(value);
return this;
}
public Observation withEncounter(Reference value) {
setEncounter(value);
return this;
}
public Observation withEffectiveDateTime(DateTime value) {
setEffectiveDateTime(value);
return this;
}
public Observation withEffectivePeriod(Period value) {
setEffectivePeriod(value);
return this;
}
public Observation withIssued(Instant value) {
setIssued(value);
return this;
}
public Observation withPerformer(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getPerformer().add(value);
}
}
return this;
}
public Observation withPerformer(Collection values) {
if (values!= null) {
getPerformer().addAll(values);
}
return this;
}
public Observation withValueQuantity(Quantity value) {
setValueQuantity(value);
return this;
}
public Observation withValueCodeableConcept(CodeableConcept value) {
setValueCodeableConcept(value);
return this;
}
public Observation withValueString(org.hl7.fhir.String value) {
setValueString(value);
return this;
}
public Observation withValueRange(Range value) {
setValueRange(value);
return this;
}
public Observation withValueRatio(Ratio value) {
setValueRatio(value);
return this;
}
public Observation withValueSampledData(SampledData value) {
setValueSampledData(value);
return this;
}
public Observation withValueAttachment(Attachment value) {
setValueAttachment(value);
return this;
}
public Observation withValueTime(Time value) {
setValueTime(value);
return this;
}
public Observation withValueDateTime(DateTime value) {
setValueDateTime(value);
return this;
}
public Observation withValuePeriod(Period value) {
setValuePeriod(value);
return this;
}
public Observation withDataAbsentReason(CodeableConcept value) {
setDataAbsentReason(value);
return this;
}
public Observation withInterpretation(CodeableConcept value) {
setInterpretation(value);
return this;
}
public Observation withComment(org.hl7.fhir.String value) {
setComment(value);
return this;
}
public Observation withBodySite(CodeableConcept value) {
setBodySite(value);
return this;
}
public Observation withMethod(CodeableConcept value) {
setMethod(value);
return this;
}
public Observation withSpecimen(Reference value) {
setSpecimen(value);
return this;
}
public Observation withDevice(Reference value) {
setDevice(value);
return this;
}
public Observation withReferenceRange(ObservationReferenceRange... values) {
if (values!= null) {
for (ObservationReferenceRange value: values) {
getReferenceRange().add(value);
}
}
return this;
}
public Observation withReferenceRange(Collection values) {
if (values!= null) {
getReferenceRange().addAll(values);
}
return this;
}
public Observation withRelated(ObservationRelated... values) {
if (values!= null) {
for (ObservationRelated value: values) {
getRelated().add(value);
}
}
return this;
}
public Observation withRelated(Collection values) {
if (values!= null) {
getRelated().addAll(values);
}
return this;
}
public Observation withComponent(ObservationComponent... values) {
if (values!= null) {
for (ObservationComponent value: values) {
getComponent().add(value);
}
}
return this;
}
public Observation withComponent(Collection values) {
if (values!= null) {
getComponent().addAll(values);
}
return this;
}
@Override
public Observation withText(Narrative value) {
setText(value);
return this;
}
@Override
public Observation withContained(ResourceContainer... values) {
if (values!= null) {
for (ResourceContainer value: values) {
getContained().add(value);
}
}
return this;
}
@Override
public Observation withContained(Collection values) {
if (values!= null) {
getContained().addAll(values);
}
return this;
}
@Override
public Observation withExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getExtension().add(value);
}
}
return this;
}
@Override
public Observation withExtension(Collection values) {
if (values!= null) {
getExtension().addAll(values);
}
return this;
}
@Override
public Observation withModifierExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getModifierExtension().add(value);
}
}
return this;
}
@Override
public Observation withModifierExtension(Collection values) {
if (values!= null) {
getModifierExtension().addAll(values);
}
return this;
}
@Override
public Observation withId(Id value) {
setId(value);
return this;
}
@Override
public Observation withMeta(Meta value) {
setMeta(value);
return this;
}
@Override
public Observation withImplicitRules(Uri value) {
setImplicitRules(value);
return this;
}
@Override
public Observation withLanguage(Code value) {
setLanguage(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 Observation that = ((Observation) object);
{
List lhsIdentifier;
lhsIdentifier = (((this.identifier!= null)&&(!this.identifier.isEmpty()))?this.getIdentifier():null);
List rhsIdentifier;
rhsIdentifier = (((that.identifier!= null)&&(!that.identifier.isEmpty()))?that.getIdentifier():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "identifier", lhsIdentifier), LocatorUtils.property(thatLocator, "identifier", rhsIdentifier), lhsIdentifier, rhsIdentifier, ((this.identifier!= null)&&(!this.identifier.isEmpty())), ((that.identifier!= null)&&(!that.identifier.isEmpty())))) {
return false;
}
}
{
ObservationStatus lhsStatus;
lhsStatus = this.getStatus();
ObservationStatus rhsStatus;
rhsStatus = that.getStatus();
if (!strategy.equals(LocatorUtils.property(thisLocator, "status", lhsStatus), LocatorUtils.property(thatLocator, "status", rhsStatus), lhsStatus, rhsStatus, (this.status!= null), (that.status!= null))) {
return false;
}
}
{
CodeableConcept lhsCategory;
lhsCategory = this.getCategory();
CodeableConcept rhsCategory;
rhsCategory = that.getCategory();
if (!strategy.equals(LocatorUtils.property(thisLocator, "category", lhsCategory), LocatorUtils.property(thatLocator, "category", rhsCategory), lhsCategory, rhsCategory, (this.category!= null), (that.category!= null))) {
return false;
}
}
{
CodeableConcept lhsCode;
lhsCode = this.getCode();
CodeableConcept rhsCode;
rhsCode = that.getCode();
if (!strategy.equals(LocatorUtils.property(thisLocator, "code", lhsCode), LocatorUtils.property(thatLocator, "code", rhsCode), lhsCode, rhsCode, (this.code!= null), (that.code!= null))) {
return false;
}
}
{
Reference lhsSubject;
lhsSubject = this.getSubject();
Reference rhsSubject;
rhsSubject = that.getSubject();
if (!strategy.equals(LocatorUtils.property(thisLocator, "subject", lhsSubject), LocatorUtils.property(thatLocator, "subject", rhsSubject), lhsSubject, rhsSubject, (this.subject!= null), (that.subject!= null))) {
return false;
}
}
{
Reference lhsEncounter;
lhsEncounter = this.getEncounter();
Reference rhsEncounter;
rhsEncounter = that.getEncounter();
if (!strategy.equals(LocatorUtils.property(thisLocator, "encounter", lhsEncounter), LocatorUtils.property(thatLocator, "encounter", rhsEncounter), lhsEncounter, rhsEncounter, (this.encounter!= null), (that.encounter!= null))) {
return false;
}
}
{
DateTime lhsEffectiveDateTime;
lhsEffectiveDateTime = this.getEffectiveDateTime();
DateTime rhsEffectiveDateTime;
rhsEffectiveDateTime = that.getEffectiveDateTime();
if (!strategy.equals(LocatorUtils.property(thisLocator, "effectiveDateTime", lhsEffectiveDateTime), LocatorUtils.property(thatLocator, "effectiveDateTime", rhsEffectiveDateTime), lhsEffectiveDateTime, rhsEffectiveDateTime, (this.effectiveDateTime!= null), (that.effectiveDateTime!= null))) {
return false;
}
}
{
Period lhsEffectivePeriod;
lhsEffectivePeriod = this.getEffectivePeriod();
Period rhsEffectivePeriod;
rhsEffectivePeriod = that.getEffectivePeriod();
if (!strategy.equals(LocatorUtils.property(thisLocator, "effectivePeriod", lhsEffectivePeriod), LocatorUtils.property(thatLocator, "effectivePeriod", rhsEffectivePeriod), lhsEffectivePeriod, rhsEffectivePeriod, (this.effectivePeriod!= null), (that.effectivePeriod!= null))) {
return false;
}
}
{
Instant lhsIssued;
lhsIssued = this.getIssued();
Instant rhsIssued;
rhsIssued = that.getIssued();
if (!strategy.equals(LocatorUtils.property(thisLocator, "issued", lhsIssued), LocatorUtils.property(thatLocator, "issued", rhsIssued), lhsIssued, rhsIssued, (this.issued!= null), (that.issued!= null))) {
return false;
}
}
{
List lhsPerformer;
lhsPerformer = (((this.performer!= null)&&(!this.performer.isEmpty()))?this.getPerformer():null);
List rhsPerformer;
rhsPerformer = (((that.performer!= null)&&(!that.performer.isEmpty()))?that.getPerformer():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "performer", lhsPerformer), LocatorUtils.property(thatLocator, "performer", rhsPerformer), lhsPerformer, rhsPerformer, ((this.performer!= null)&&(!this.performer.isEmpty())), ((that.performer!= null)&&(!that.performer.isEmpty())))) {
return false;
}
}
{
Quantity lhsValueQuantity;
lhsValueQuantity = this.getValueQuantity();
Quantity rhsValueQuantity;
rhsValueQuantity = that.getValueQuantity();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueQuantity", lhsValueQuantity), LocatorUtils.property(thatLocator, "valueQuantity", rhsValueQuantity), lhsValueQuantity, rhsValueQuantity, (this.valueQuantity!= null), (that.valueQuantity!= null))) {
return false;
}
}
{
CodeableConcept lhsValueCodeableConcept;
lhsValueCodeableConcept = this.getValueCodeableConcept();
CodeableConcept rhsValueCodeableConcept;
rhsValueCodeableConcept = that.getValueCodeableConcept();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueCodeableConcept", lhsValueCodeableConcept), LocatorUtils.property(thatLocator, "valueCodeableConcept", rhsValueCodeableConcept), lhsValueCodeableConcept, rhsValueCodeableConcept, (this.valueCodeableConcept!= null), (that.valueCodeableConcept!= null))) {
return false;
}
}
{
org.hl7.fhir.String lhsValueString;
lhsValueString = this.getValueString();
org.hl7.fhir.String rhsValueString;
rhsValueString = that.getValueString();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueString", lhsValueString), LocatorUtils.property(thatLocator, "valueString", rhsValueString), lhsValueString, rhsValueString, (this.valueString!= null), (that.valueString!= null))) {
return false;
}
}
{
Range lhsValueRange;
lhsValueRange = this.getValueRange();
Range rhsValueRange;
rhsValueRange = that.getValueRange();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueRange", lhsValueRange), LocatorUtils.property(thatLocator, "valueRange", rhsValueRange), lhsValueRange, rhsValueRange, (this.valueRange!= null), (that.valueRange!= null))) {
return false;
}
}
{
Ratio lhsValueRatio;
lhsValueRatio = this.getValueRatio();
Ratio rhsValueRatio;
rhsValueRatio = that.getValueRatio();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueRatio", lhsValueRatio), LocatorUtils.property(thatLocator, "valueRatio", rhsValueRatio), lhsValueRatio, rhsValueRatio, (this.valueRatio!= null), (that.valueRatio!= null))) {
return false;
}
}
{
SampledData lhsValueSampledData;
lhsValueSampledData = this.getValueSampledData();
SampledData rhsValueSampledData;
rhsValueSampledData = that.getValueSampledData();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueSampledData", lhsValueSampledData), LocatorUtils.property(thatLocator, "valueSampledData", rhsValueSampledData), lhsValueSampledData, rhsValueSampledData, (this.valueSampledData!= null), (that.valueSampledData!= null))) {
return false;
}
}
{
Attachment lhsValueAttachment;
lhsValueAttachment = this.getValueAttachment();
Attachment rhsValueAttachment;
rhsValueAttachment = that.getValueAttachment();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueAttachment", lhsValueAttachment), LocatorUtils.property(thatLocator, "valueAttachment", rhsValueAttachment), lhsValueAttachment, rhsValueAttachment, (this.valueAttachment!= null), (that.valueAttachment!= null))) {
return false;
}
}
{
Time lhsValueTime;
lhsValueTime = this.getValueTime();
Time rhsValueTime;
rhsValueTime = that.getValueTime();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueTime", lhsValueTime), LocatorUtils.property(thatLocator, "valueTime", rhsValueTime), lhsValueTime, rhsValueTime, (this.valueTime!= null), (that.valueTime!= null))) {
return false;
}
}
{
DateTime lhsValueDateTime;
lhsValueDateTime = this.getValueDateTime();
DateTime rhsValueDateTime;
rhsValueDateTime = that.getValueDateTime();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueDateTime", lhsValueDateTime), LocatorUtils.property(thatLocator, "valueDateTime", rhsValueDateTime), lhsValueDateTime, rhsValueDateTime, (this.valueDateTime!= null), (that.valueDateTime!= null))) {
return false;
}
}
{
Period lhsValuePeriod;
lhsValuePeriod = this.getValuePeriod();
Period rhsValuePeriod;
rhsValuePeriod = that.getValuePeriod();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valuePeriod", lhsValuePeriod), LocatorUtils.property(thatLocator, "valuePeriod", rhsValuePeriod), lhsValuePeriod, rhsValuePeriod, (this.valuePeriod!= null), (that.valuePeriod!= null))) {
return false;
}
}
{
CodeableConcept lhsDataAbsentReason;
lhsDataAbsentReason = this.getDataAbsentReason();
CodeableConcept rhsDataAbsentReason;
rhsDataAbsentReason = that.getDataAbsentReason();
if (!strategy.equals(LocatorUtils.property(thisLocator, "dataAbsentReason", lhsDataAbsentReason), LocatorUtils.property(thatLocator, "dataAbsentReason", rhsDataAbsentReason), lhsDataAbsentReason, rhsDataAbsentReason, (this.dataAbsentReason!= null), (that.dataAbsentReason!= null))) {
return false;
}
}
{
CodeableConcept lhsInterpretation;
lhsInterpretation = this.getInterpretation();
CodeableConcept rhsInterpretation;
rhsInterpretation = that.getInterpretation();
if (!strategy.equals(LocatorUtils.property(thisLocator, "interpretation", lhsInterpretation), LocatorUtils.property(thatLocator, "interpretation", rhsInterpretation), lhsInterpretation, rhsInterpretation, (this.interpretation!= null), (that.interpretation!= null))) {
return false;
}
}
{
org.hl7.fhir.String lhsComment;
lhsComment = this.getComment();
org.hl7.fhir.String rhsComment;
rhsComment = that.getComment();
if (!strategy.equals(LocatorUtils.property(thisLocator, "comment", lhsComment), LocatorUtils.property(thatLocator, "comment", rhsComment), lhsComment, rhsComment, (this.comment!= null), (that.comment!= null))) {
return false;
}
}
{
CodeableConcept lhsBodySite;
lhsBodySite = this.getBodySite();
CodeableConcept rhsBodySite;
rhsBodySite = that.getBodySite();
if (!strategy.equals(LocatorUtils.property(thisLocator, "bodySite", lhsBodySite), LocatorUtils.property(thatLocator, "bodySite", rhsBodySite), lhsBodySite, rhsBodySite, (this.bodySite!= null), (that.bodySite!= null))) {
return false;
}
}
{
CodeableConcept lhsMethod;
lhsMethod = this.getMethod();
CodeableConcept rhsMethod;
rhsMethod = that.getMethod();
if (!strategy.equals(LocatorUtils.property(thisLocator, "method", lhsMethod), LocatorUtils.property(thatLocator, "method", rhsMethod), lhsMethod, rhsMethod, (this.method!= null), (that.method!= null))) {
return false;
}
}
{
Reference lhsSpecimen;
lhsSpecimen = this.getSpecimen();
Reference rhsSpecimen;
rhsSpecimen = that.getSpecimen();
if (!strategy.equals(LocatorUtils.property(thisLocator, "specimen", lhsSpecimen), LocatorUtils.property(thatLocator, "specimen", rhsSpecimen), lhsSpecimen, rhsSpecimen, (this.specimen!= null), (that.specimen!= null))) {
return false;
}
}
{
Reference lhsDevice;
lhsDevice = this.getDevice();
Reference rhsDevice;
rhsDevice = that.getDevice();
if (!strategy.equals(LocatorUtils.property(thisLocator, "device", lhsDevice), LocatorUtils.property(thatLocator, "device", rhsDevice), lhsDevice, rhsDevice, (this.device!= null), (that.device!= null))) {
return false;
}
}
{
List lhsReferenceRange;
lhsReferenceRange = (((this.referenceRange!= null)&&(!this.referenceRange.isEmpty()))?this.getReferenceRange():null);
List rhsReferenceRange;
rhsReferenceRange = (((that.referenceRange!= null)&&(!that.referenceRange.isEmpty()))?that.getReferenceRange():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "referenceRange", lhsReferenceRange), LocatorUtils.property(thatLocator, "referenceRange", rhsReferenceRange), lhsReferenceRange, rhsReferenceRange, ((this.referenceRange!= null)&&(!this.referenceRange.isEmpty())), ((that.referenceRange!= null)&&(!that.referenceRange.isEmpty())))) {
return false;
}
}
{
List lhsRelated;
lhsRelated = (((this.related!= null)&&(!this.related.isEmpty()))?this.getRelated():null);
List rhsRelated;
rhsRelated = (((that.related!= null)&&(!that.related.isEmpty()))?that.getRelated():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "related", lhsRelated), LocatorUtils.property(thatLocator, "related", rhsRelated), lhsRelated, rhsRelated, ((this.related!= null)&&(!this.related.isEmpty())), ((that.related!= null)&&(!that.related.isEmpty())))) {
return false;
}
}
{
List lhsComponent;
lhsComponent = (((this.component!= null)&&(!this.component.isEmpty()))?this.getComponent():null);
List rhsComponent;
rhsComponent = (((that.component!= null)&&(!that.component.isEmpty()))?that.getComponent():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "component", lhsComponent), LocatorUtils.property(thatLocator, "component", rhsComponent), lhsComponent, rhsComponent, ((this.component!= null)&&(!this.component.isEmpty())), ((that.component!= null)&&(!that.component.isEmpty())))) {
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);
{
List theIdentifier;
theIdentifier = (((this.identifier!= null)&&(!this.identifier.isEmpty()))?this.getIdentifier():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "identifier", theIdentifier), currentHashCode, theIdentifier, ((this.identifier!= null)&&(!this.identifier.isEmpty())));
}
{
ObservationStatus theStatus;
theStatus = this.getStatus();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "status", theStatus), currentHashCode, theStatus, (this.status!= null));
}
{
CodeableConcept theCategory;
theCategory = this.getCategory();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "category", theCategory), currentHashCode, theCategory, (this.category!= null));
}
{
CodeableConcept theCode;
theCode = this.getCode();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "code", theCode), currentHashCode, theCode, (this.code!= null));
}
{
Reference theSubject;
theSubject = this.getSubject();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "subject", theSubject), currentHashCode, theSubject, (this.subject!= null));
}
{
Reference theEncounter;
theEncounter = this.getEncounter();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "encounter", theEncounter), currentHashCode, theEncounter, (this.encounter!= null));
}
{
DateTime theEffectiveDateTime;
theEffectiveDateTime = this.getEffectiveDateTime();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "effectiveDateTime", theEffectiveDateTime), currentHashCode, theEffectiveDateTime, (this.effectiveDateTime!= null));
}
{
Period theEffectivePeriod;
theEffectivePeriod = this.getEffectivePeriod();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "effectivePeriod", theEffectivePeriod), currentHashCode, theEffectivePeriod, (this.effectivePeriod!= null));
}
{
Instant theIssued;
theIssued = this.getIssued();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "issued", theIssued), currentHashCode, theIssued, (this.issued!= null));
}
{
List thePerformer;
thePerformer = (((this.performer!= null)&&(!this.performer.isEmpty()))?this.getPerformer():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "performer", thePerformer), currentHashCode, thePerformer, ((this.performer!= null)&&(!this.performer.isEmpty())));
}
{
Quantity theValueQuantity;
theValueQuantity = this.getValueQuantity();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueQuantity", theValueQuantity), currentHashCode, theValueQuantity, (this.valueQuantity!= null));
}
{
CodeableConcept theValueCodeableConcept;
theValueCodeableConcept = this.getValueCodeableConcept();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueCodeableConcept", theValueCodeableConcept), currentHashCode, theValueCodeableConcept, (this.valueCodeableConcept!= null));
}
{
org.hl7.fhir.String theValueString;
theValueString = this.getValueString();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueString", theValueString), currentHashCode, theValueString, (this.valueString!= null));
}
{
Range theValueRange;
theValueRange = this.getValueRange();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueRange", theValueRange), currentHashCode, theValueRange, (this.valueRange!= null));
}
{
Ratio theValueRatio;
theValueRatio = this.getValueRatio();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueRatio", theValueRatio), currentHashCode, theValueRatio, (this.valueRatio!= null));
}
{
SampledData theValueSampledData;
theValueSampledData = this.getValueSampledData();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueSampledData", theValueSampledData), currentHashCode, theValueSampledData, (this.valueSampledData!= null));
}
{
Attachment theValueAttachment;
theValueAttachment = this.getValueAttachment();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueAttachment", theValueAttachment), currentHashCode, theValueAttachment, (this.valueAttachment!= null));
}
{
Time theValueTime;
theValueTime = this.getValueTime();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueTime", theValueTime), currentHashCode, theValueTime, (this.valueTime!= null));
}
{
DateTime theValueDateTime;
theValueDateTime = this.getValueDateTime();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueDateTime", theValueDateTime), currentHashCode, theValueDateTime, (this.valueDateTime!= null));
}
{
Period theValuePeriod;
theValuePeriod = this.getValuePeriod();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valuePeriod", theValuePeriod), currentHashCode, theValuePeriod, (this.valuePeriod!= null));
}
{
CodeableConcept theDataAbsentReason;
theDataAbsentReason = this.getDataAbsentReason();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dataAbsentReason", theDataAbsentReason), currentHashCode, theDataAbsentReason, (this.dataAbsentReason!= null));
}
{
CodeableConcept theInterpretation;
theInterpretation = this.getInterpretation();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "interpretation", theInterpretation), currentHashCode, theInterpretation, (this.interpretation!= null));
}
{
org.hl7.fhir.String theComment;
theComment = this.getComment();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "comment", theComment), currentHashCode, theComment, (this.comment!= null));
}
{
CodeableConcept theBodySite;
theBodySite = this.getBodySite();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bodySite", theBodySite), currentHashCode, theBodySite, (this.bodySite!= null));
}
{
CodeableConcept theMethod;
theMethod = this.getMethod();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "method", theMethod), currentHashCode, theMethod, (this.method!= null));
}
{
Reference theSpecimen;
theSpecimen = this.getSpecimen();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "specimen", theSpecimen), currentHashCode, theSpecimen, (this.specimen!= null));
}
{
Reference theDevice;
theDevice = this.getDevice();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "device", theDevice), currentHashCode, theDevice, (this.device!= null));
}
{
List theReferenceRange;
theReferenceRange = (((this.referenceRange!= null)&&(!this.referenceRange.isEmpty()))?this.getReferenceRange():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "referenceRange", theReferenceRange), currentHashCode, theReferenceRange, ((this.referenceRange!= null)&&(!this.referenceRange.isEmpty())));
}
{
List theRelated;
theRelated = (((this.related!= null)&&(!this.related.isEmpty()))?this.getRelated():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "related", theRelated), currentHashCode, theRelated, ((this.related!= null)&&(!this.related.isEmpty())));
}
{
List theComponent;
theComponent = (((this.component!= null)&&(!this.component.isEmpty()))?this.getComponent():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "component", theComponent), currentHashCode, theComponent, ((this.component!= null)&&(!this.component.isEmpty())));
}
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);
{
List theIdentifier;
theIdentifier = (((this.identifier!= null)&&(!this.identifier.isEmpty()))?this.getIdentifier():null);
strategy.appendField(locator, this, "identifier", buffer, theIdentifier, ((this.identifier!= null)&&(!this.identifier.isEmpty())));
}
{
ObservationStatus theStatus;
theStatus = this.getStatus();
strategy.appendField(locator, this, "status", buffer, theStatus, (this.status!= null));
}
{
CodeableConcept theCategory;
theCategory = this.getCategory();
strategy.appendField(locator, this, "category", buffer, theCategory, (this.category!= null));
}
{
CodeableConcept theCode;
theCode = this.getCode();
strategy.appendField(locator, this, "code", buffer, theCode, (this.code!= null));
}
{
Reference theSubject;
theSubject = this.getSubject();
strategy.appendField(locator, this, "subject", buffer, theSubject, (this.subject!= null));
}
{
Reference theEncounter;
theEncounter = this.getEncounter();
strategy.appendField(locator, this, "encounter", buffer, theEncounter, (this.encounter!= null));
}
{
DateTime theEffectiveDateTime;
theEffectiveDateTime = this.getEffectiveDateTime();
strategy.appendField(locator, this, "effectiveDateTime", buffer, theEffectiveDateTime, (this.effectiveDateTime!= null));
}
{
Period theEffectivePeriod;
theEffectivePeriod = this.getEffectivePeriod();
strategy.appendField(locator, this, "effectivePeriod", buffer, theEffectivePeriod, (this.effectivePeriod!= null));
}
{
Instant theIssued;
theIssued = this.getIssued();
strategy.appendField(locator, this, "issued", buffer, theIssued, (this.issued!= null));
}
{
List thePerformer;
thePerformer = (((this.performer!= null)&&(!this.performer.isEmpty()))?this.getPerformer():null);
strategy.appendField(locator, this, "performer", buffer, thePerformer, ((this.performer!= null)&&(!this.performer.isEmpty())));
}
{
Quantity theValueQuantity;
theValueQuantity = this.getValueQuantity();
strategy.appendField(locator, this, "valueQuantity", buffer, theValueQuantity, (this.valueQuantity!= null));
}
{
CodeableConcept theValueCodeableConcept;
theValueCodeableConcept = this.getValueCodeableConcept();
strategy.appendField(locator, this, "valueCodeableConcept", buffer, theValueCodeableConcept, (this.valueCodeableConcept!= null));
}
{
org.hl7.fhir.String theValueString;
theValueString = this.getValueString();
strategy.appendField(locator, this, "valueString", buffer, theValueString, (this.valueString!= null));
}
{
Range theValueRange;
theValueRange = this.getValueRange();
strategy.appendField(locator, this, "valueRange", buffer, theValueRange, (this.valueRange!= null));
}
{
Ratio theValueRatio;
theValueRatio = this.getValueRatio();
strategy.appendField(locator, this, "valueRatio", buffer, theValueRatio, (this.valueRatio!= null));
}
{
SampledData theValueSampledData;
theValueSampledData = this.getValueSampledData();
strategy.appendField(locator, this, "valueSampledData", buffer, theValueSampledData, (this.valueSampledData!= null));
}
{
Attachment theValueAttachment;
theValueAttachment = this.getValueAttachment();
strategy.appendField(locator, this, "valueAttachment", buffer, theValueAttachment, (this.valueAttachment!= null));
}
{
Time theValueTime;
theValueTime = this.getValueTime();
strategy.appendField(locator, this, "valueTime", buffer, theValueTime, (this.valueTime!= null));
}
{
DateTime theValueDateTime;
theValueDateTime = this.getValueDateTime();
strategy.appendField(locator, this, "valueDateTime", buffer, theValueDateTime, (this.valueDateTime!= null));
}
{
Period theValuePeriod;
theValuePeriod = this.getValuePeriod();
strategy.appendField(locator, this, "valuePeriod", buffer, theValuePeriod, (this.valuePeriod!= null));
}
{
CodeableConcept theDataAbsentReason;
theDataAbsentReason = this.getDataAbsentReason();
strategy.appendField(locator, this, "dataAbsentReason", buffer, theDataAbsentReason, (this.dataAbsentReason!= null));
}
{
CodeableConcept theInterpretation;
theInterpretation = this.getInterpretation();
strategy.appendField(locator, this, "interpretation", buffer, theInterpretation, (this.interpretation!= null));
}
{
org.hl7.fhir.String theComment;
theComment = this.getComment();
strategy.appendField(locator, this, "comment", buffer, theComment, (this.comment!= null));
}
{
CodeableConcept theBodySite;
theBodySite = this.getBodySite();
strategy.appendField(locator, this, "bodySite", buffer, theBodySite, (this.bodySite!= null));
}
{
CodeableConcept theMethod;
theMethod = this.getMethod();
strategy.appendField(locator, this, "method", buffer, theMethod, (this.method!= null));
}
{
Reference theSpecimen;
theSpecimen = this.getSpecimen();
strategy.appendField(locator, this, "specimen", buffer, theSpecimen, (this.specimen!= null));
}
{
Reference theDevice;
theDevice = this.getDevice();
strategy.appendField(locator, this, "device", buffer, theDevice, (this.device!= null));
}
{
List theReferenceRange;
theReferenceRange = (((this.referenceRange!= null)&&(!this.referenceRange.isEmpty()))?this.getReferenceRange():null);
strategy.appendField(locator, this, "referenceRange", buffer, theReferenceRange, ((this.referenceRange!= null)&&(!this.referenceRange.isEmpty())));
}
{
List theRelated;
theRelated = (((this.related!= null)&&(!this.related.isEmpty()))?this.getRelated():null);
strategy.appendField(locator, this, "related", buffer, theRelated, ((this.related!= null)&&(!this.related.isEmpty())));
}
{
List theComponent;
theComponent = (((this.component!= null)&&(!this.component.isEmpty()))?this.getComponent():null);
strategy.appendField(locator, this, "component", buffer, theComponent, ((this.component!= null)&&(!this.component.isEmpty())));
}
return buffer;
}
}