org.hl7.fhir.ClaimItem 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: 2024.03.21 at 12:42:34 PM MDT
//
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;
/**
* A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.
*
* Java class for Claim.Item complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Claim.Item">
* <complexContent>
* <extension base="{http://hl7.org/fhir}BackboneElement">
* <sequence>
* <element name="sequence" type="{http://hl7.org/fhir}positiveInt"/>
* <element name="type" type="{http://hl7.org/fhir}Coding"/>
* <choice minOccurs="0">
* <element name="providerIdentifier" type="{http://hl7.org/fhir}Identifier"/>
* <element name="providerReference" type="{http://hl7.org/fhir}Reference"/>
* </choice>
* <choice minOccurs="0">
* <element name="supervisorIdentifier" type="{http://hl7.org/fhir}Identifier"/>
* <element name="supervisorReference" type="{http://hl7.org/fhir}Reference"/>
* </choice>
* <element name="providerQualification" type="{http://hl7.org/fhir}Coding" minOccurs="0"/>
* <element name="diagnosisLinkId" type="{http://hl7.org/fhir}positiveInt" maxOccurs="unbounded" minOccurs="0"/>
* <element name="service" type="{http://hl7.org/fhir}Coding"/>
* <element name="serviceModifier" type="{http://hl7.org/fhir}Coding" maxOccurs="unbounded" minOccurs="0"/>
* <element name="modifier" type="{http://hl7.org/fhir}Coding" maxOccurs="unbounded" minOccurs="0"/>
* <element name="programCode" type="{http://hl7.org/fhir}Coding" maxOccurs="unbounded" minOccurs="0"/>
* <choice minOccurs="0">
* <element name="servicedDate" type="{http://hl7.org/fhir}date"/>
* <element name="servicedPeriod" type="{http://hl7.org/fhir}Period"/>
* </choice>
* <element name="place" type="{http://hl7.org/fhir}Coding" minOccurs="0"/>
* <element name="quantity" type="{http://hl7.org/fhir}SimpleQuantity" minOccurs="0"/>
* <element name="unitPrice" type="{http://hl7.org/fhir}Money" minOccurs="0"/>
* <element name="factor" type="{http://hl7.org/fhir}decimal" minOccurs="0"/>
* <element name="points" type="{http://hl7.org/fhir}decimal" minOccurs="0"/>
* <element name="net" type="{http://hl7.org/fhir}Money" minOccurs="0"/>
* <element name="udi" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* <element name="bodySite" type="{http://hl7.org/fhir}Coding" minOccurs="0"/>
* <element name="subSite" type="{http://hl7.org/fhir}Coding" maxOccurs="unbounded" minOccurs="0"/>
* <element name="detail" type="{http://hl7.org/fhir}Claim.Detail" maxOccurs="unbounded" minOccurs="0"/>
* <element name="prosthesis" type="{http://hl7.org/fhir}Claim.Prosthesis" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Claim.Item", propOrder = {
"sequence",
"type",
"providerIdentifier",
"providerReference",
"supervisorIdentifier",
"supervisorReference",
"providerQualification",
"diagnosisLinkId",
"service",
"serviceModifier",
"modifier",
"programCode",
"servicedDate",
"servicedPeriod",
"place",
"quantity",
"unitPrice",
"factor",
"points",
"net",
"udi",
"bodySite",
"subSite",
"detail",
"prosthesis"
})
public class ClaimItem
extends BackboneElement
implements Equals2, HashCode2, ToString2
{
@XmlElement(required = true)
protected PositiveInt sequence;
@XmlElement(required = true)
protected Coding type;
protected Identifier providerIdentifier;
protected Reference providerReference;
protected Identifier supervisorIdentifier;
protected Reference supervisorReference;
protected Coding providerQualification;
protected List diagnosisLinkId;
@XmlElement(required = true)
protected Coding service;
protected List serviceModifier;
protected List modifier;
protected List programCode;
protected Date servicedDate;
protected Period servicedPeriod;
protected Coding place;
protected SimpleQuantity quantity;
protected Money unitPrice;
protected Decimal factor;
protected Decimal points;
protected Money net;
protected List udi;
protected Coding bodySite;
protected List subSite;
protected List detail;
protected ClaimProsthesis prosthesis;
/**
* Gets the value of the sequence property.
*
* @return
* possible object is
* {@link PositiveInt }
*
*/
public PositiveInt getSequence() {
return sequence;
}
/**
* Sets the value of the sequence property.
*
* @param value
* allowed object is
* {@link PositiveInt }
*
*/
public void setSequence(PositiveInt value) {
this.sequence = value;
}
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link Coding }
*
*/
public Coding getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link Coding }
*
*/
public void setType(Coding value) {
this.type = value;
}
/**
* Gets the value of the providerIdentifier property.
*
* @return
* possible object is
* {@link Identifier }
*
*/
public Identifier getProviderIdentifier() {
return providerIdentifier;
}
/**
* Sets the value of the providerIdentifier property.
*
* @param value
* allowed object is
* {@link Identifier }
*
*/
public void setProviderIdentifier(Identifier value) {
this.providerIdentifier = value;
}
/**
* Gets the value of the providerReference property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getProviderReference() {
return providerReference;
}
/**
* Sets the value of the providerReference property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setProviderReference(Reference value) {
this.providerReference = value;
}
/**
* Gets the value of the supervisorIdentifier property.
*
* @return
* possible object is
* {@link Identifier }
*
*/
public Identifier getSupervisorIdentifier() {
return supervisorIdentifier;
}
/**
* Sets the value of the supervisorIdentifier property.
*
* @param value
* allowed object is
* {@link Identifier }
*
*/
public void setSupervisorIdentifier(Identifier value) {
this.supervisorIdentifier = value;
}
/**
* Gets the value of the supervisorReference property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getSupervisorReference() {
return supervisorReference;
}
/**
* Sets the value of the supervisorReference property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setSupervisorReference(Reference value) {
this.supervisorReference = value;
}
/**
* Gets the value of the providerQualification property.
*
* @return
* possible object is
* {@link Coding }
*
*/
public Coding getProviderQualification() {
return providerQualification;
}
/**
* Sets the value of the providerQualification property.
*
* @param value
* allowed object is
* {@link Coding }
*
*/
public void setProviderQualification(Coding value) {
this.providerQualification = value;
}
/**
* Gets the value of the diagnosisLinkId 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 diagnosisLinkId property.
*
*
* For example, to add a new item, do as follows:
*
* getDiagnosisLinkId().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link PositiveInt }
*
*
*/
public List getDiagnosisLinkId() {
if (diagnosisLinkId == null) {
diagnosisLinkId = new ArrayList();
}
return this.diagnosisLinkId;
}
/**
* Gets the value of the service property.
*
* @return
* possible object is
* {@link Coding }
*
*/
public Coding getService() {
return service;
}
/**
* Sets the value of the service property.
*
* @param value
* allowed object is
* {@link Coding }
*
*/
public void setService(Coding value) {
this.service = value;
}
/**
* Gets the value of the serviceModifier 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 serviceModifier property.
*
*
* For example, to add a new item, do as follows:
*
* getServiceModifier().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Coding }
*
*
*/
public List getServiceModifier() {
if (serviceModifier == null) {
serviceModifier = new ArrayList();
}
return this.serviceModifier;
}
/**
* Gets the value of the modifier 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 modifier property.
*
*
* For example, to add a new item, do as follows:
*
* getModifier().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Coding }
*
*
*/
public List getModifier() {
if (modifier == null) {
modifier = new ArrayList();
}
return this.modifier;
}
/**
* Gets the value of the programCode 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 programCode property.
*
*
* For example, to add a new item, do as follows:
*
* getProgramCode().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Coding }
*
*
*/
public List getProgramCode() {
if (programCode == null) {
programCode = new ArrayList();
}
return this.programCode;
}
/**
* Gets the value of the servicedDate property.
*
* @return
* possible object is
* {@link Date }
*
*/
public Date getServicedDate() {
return servicedDate;
}
/**
* Sets the value of the servicedDate property.
*
* @param value
* allowed object is
* {@link Date }
*
*/
public void setServicedDate(Date value) {
this.servicedDate = value;
}
/**
* Gets the value of the servicedPeriod property.
*
* @return
* possible object is
* {@link Period }
*
*/
public Period getServicedPeriod() {
return servicedPeriod;
}
/**
* Sets the value of the servicedPeriod property.
*
* @param value
* allowed object is
* {@link Period }
*
*/
public void setServicedPeriod(Period value) {
this.servicedPeriod = value;
}
/**
* Gets the value of the place property.
*
* @return
* possible object is
* {@link Coding }
*
*/
public Coding getPlace() {
return place;
}
/**
* Sets the value of the place property.
*
* @param value
* allowed object is
* {@link Coding }
*
*/
public void setPlace(Coding value) {
this.place = value;
}
/**
* Gets the value of the quantity property.
*
* @return
* possible object is
* {@link SimpleQuantity }
*
*/
public SimpleQuantity getQuantity() {
return quantity;
}
/**
* Sets the value of the quantity property.
*
* @param value
* allowed object is
* {@link SimpleQuantity }
*
*/
public void setQuantity(SimpleQuantity value) {
this.quantity = value;
}
/**
* Gets the value of the unitPrice property.
*
* @return
* possible object is
* {@link Money }
*
*/
public Money getUnitPrice() {
return unitPrice;
}
/**
* Sets the value of the unitPrice property.
*
* @param value
* allowed object is
* {@link Money }
*
*/
public void setUnitPrice(Money value) {
this.unitPrice = value;
}
/**
* Gets the value of the factor property.
*
* @return
* possible object is
* {@link Decimal }
*
*/
public Decimal getFactor() {
return factor;
}
/**
* Sets the value of the factor property.
*
* @param value
* allowed object is
* {@link Decimal }
*
*/
public void setFactor(Decimal value) {
this.factor = value;
}
/**
* Gets the value of the points property.
*
* @return
* possible object is
* {@link Decimal }
*
*/
public Decimal getPoints() {
return points;
}
/**
* Sets the value of the points property.
*
* @param value
* allowed object is
* {@link Decimal }
*
*/
public void setPoints(Decimal value) {
this.points = value;
}
/**
* Gets the value of the net property.
*
* @return
* possible object is
* {@link Money }
*
*/
public Money getNet() {
return net;
}
/**
* Sets the value of the net property.
*
* @param value
* allowed object is
* {@link Money }
*
*/
public void setNet(Money value) {
this.net = value;
}
/**
* Gets the value of the udi 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 udi property.
*
*
* For example, to add a new item, do as follows:
*
* getUdi().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getUdi() {
if (udi == null) {
udi = new ArrayList();
}
return this.udi;
}
/**
* Gets the value of the bodySite property.
*
* @return
* possible object is
* {@link Coding }
*
*/
public Coding getBodySite() {
return bodySite;
}
/**
* Sets the value of the bodySite property.
*
* @param value
* allowed object is
* {@link Coding }
*
*/
public void setBodySite(Coding value) {
this.bodySite = value;
}
/**
* Gets the value of the subSite 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 subSite property.
*
*
* For example, to add a new item, do as follows:
*
* getSubSite().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Coding }
*
*
*/
public List getSubSite() {
if (subSite == null) {
subSite = new ArrayList();
}
return this.subSite;
}
/**
* Gets the value of the detail 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 detail property.
*
*
* For example, to add a new item, do as follows:
*
* getDetail().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ClaimDetail }
*
*
*/
public List getDetail() {
if (detail == null) {
detail = new ArrayList();
}
return this.detail;
}
/**
* Gets the value of the prosthesis property.
*
* @return
* possible object is
* {@link ClaimProsthesis }
*
*/
public ClaimProsthesis getProsthesis() {
return prosthesis;
}
/**
* Sets the value of the prosthesis property.
*
* @param value
* allowed object is
* {@link ClaimProsthesis }
*
*/
public void setProsthesis(ClaimProsthesis value) {
this.prosthesis = value;
}
public ClaimItem withSequence(PositiveInt value) {
setSequence(value);
return this;
}
public ClaimItem withType(Coding value) {
setType(value);
return this;
}
public ClaimItem withProviderIdentifier(Identifier value) {
setProviderIdentifier(value);
return this;
}
public ClaimItem withProviderReference(Reference value) {
setProviderReference(value);
return this;
}
public ClaimItem withSupervisorIdentifier(Identifier value) {
setSupervisorIdentifier(value);
return this;
}
public ClaimItem withSupervisorReference(Reference value) {
setSupervisorReference(value);
return this;
}
public ClaimItem withProviderQualification(Coding value) {
setProviderQualification(value);
return this;
}
public ClaimItem withDiagnosisLinkId(PositiveInt... values) {
if (values!= null) {
for (PositiveInt value: values) {
getDiagnosisLinkId().add(value);
}
}
return this;
}
public ClaimItem withDiagnosisLinkId(Collection values) {
if (values!= null) {
getDiagnosisLinkId().addAll(values);
}
return this;
}
public ClaimItem withService(Coding value) {
setService(value);
return this;
}
public ClaimItem withServiceModifier(Coding... values) {
if (values!= null) {
for (Coding value: values) {
getServiceModifier().add(value);
}
}
return this;
}
public ClaimItem withServiceModifier(Collection values) {
if (values!= null) {
getServiceModifier().addAll(values);
}
return this;
}
public ClaimItem withModifier(Coding... values) {
if (values!= null) {
for (Coding value: values) {
getModifier().add(value);
}
}
return this;
}
public ClaimItem withModifier(Collection values) {
if (values!= null) {
getModifier().addAll(values);
}
return this;
}
public ClaimItem withProgramCode(Coding... values) {
if (values!= null) {
for (Coding value: values) {
getProgramCode().add(value);
}
}
return this;
}
public ClaimItem withProgramCode(Collection values) {
if (values!= null) {
getProgramCode().addAll(values);
}
return this;
}
public ClaimItem withServicedDate(Date value) {
setServicedDate(value);
return this;
}
public ClaimItem withServicedPeriod(Period value) {
setServicedPeriod(value);
return this;
}
public ClaimItem withPlace(Coding value) {
setPlace(value);
return this;
}
public ClaimItem withQuantity(SimpleQuantity value) {
setQuantity(value);
return this;
}
public ClaimItem withUnitPrice(Money value) {
setUnitPrice(value);
return this;
}
public ClaimItem withFactor(Decimal value) {
setFactor(value);
return this;
}
public ClaimItem withPoints(Decimal value) {
setPoints(value);
return this;
}
public ClaimItem withNet(Money value) {
setNet(value);
return this;
}
public ClaimItem withUdi(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getUdi().add(value);
}
}
return this;
}
public ClaimItem withUdi(Collection values) {
if (values!= null) {
getUdi().addAll(values);
}
return this;
}
public ClaimItem withBodySite(Coding value) {
setBodySite(value);
return this;
}
public ClaimItem withSubSite(Coding... values) {
if (values!= null) {
for (Coding value: values) {
getSubSite().add(value);
}
}
return this;
}
public ClaimItem withSubSite(Collection values) {
if (values!= null) {
getSubSite().addAll(values);
}
return this;
}
public ClaimItem withDetail(ClaimDetail... values) {
if (values!= null) {
for (ClaimDetail value: values) {
getDetail().add(value);
}
}
return this;
}
public ClaimItem withDetail(Collection values) {
if (values!= null) {
getDetail().addAll(values);
}
return this;
}
public ClaimItem withProsthesis(ClaimProsthesis value) {
setProsthesis(value);
return this;
}
@Override
public ClaimItem withModifierExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getModifierExtension().add(value);
}
}
return this;
}
@Override
public ClaimItem withModifierExtension(Collection values) {
if (values!= null) {
getModifierExtension().addAll(values);
}
return this;
}
@Override
public ClaimItem withExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getExtension().add(value);
}
}
return this;
}
@Override
public ClaimItem withExtension(Collection values) {
if (values!= null) {
getExtension().addAll(values);
}
return this;
}
@Override
public ClaimItem 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 ClaimItem that = ((ClaimItem) object);
{
PositiveInt lhsSequence;
lhsSequence = this.getSequence();
PositiveInt rhsSequence;
rhsSequence = that.getSequence();
if (!strategy.equals(LocatorUtils.property(thisLocator, "sequence", lhsSequence), LocatorUtils.property(thatLocator, "sequence", rhsSequence), lhsSequence, rhsSequence, (this.sequence!= null), (that.sequence!= null))) {
return false;
}
}
{
Coding lhsType;
lhsType = this.getType();
Coding rhsType;
rhsType = that.getType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "type", lhsType), LocatorUtils.property(thatLocator, "type", rhsType), lhsType, rhsType, (this.type!= null), (that.type!= null))) {
return false;
}
}
{
Identifier lhsProviderIdentifier;
lhsProviderIdentifier = this.getProviderIdentifier();
Identifier rhsProviderIdentifier;
rhsProviderIdentifier = that.getProviderIdentifier();
if (!strategy.equals(LocatorUtils.property(thisLocator, "providerIdentifier", lhsProviderIdentifier), LocatorUtils.property(thatLocator, "providerIdentifier", rhsProviderIdentifier), lhsProviderIdentifier, rhsProviderIdentifier, (this.providerIdentifier!= null), (that.providerIdentifier!= null))) {
return false;
}
}
{
Reference lhsProviderReference;
lhsProviderReference = this.getProviderReference();
Reference rhsProviderReference;
rhsProviderReference = that.getProviderReference();
if (!strategy.equals(LocatorUtils.property(thisLocator, "providerReference", lhsProviderReference), LocatorUtils.property(thatLocator, "providerReference", rhsProviderReference), lhsProviderReference, rhsProviderReference, (this.providerReference!= null), (that.providerReference!= null))) {
return false;
}
}
{
Identifier lhsSupervisorIdentifier;
lhsSupervisorIdentifier = this.getSupervisorIdentifier();
Identifier rhsSupervisorIdentifier;
rhsSupervisorIdentifier = that.getSupervisorIdentifier();
if (!strategy.equals(LocatorUtils.property(thisLocator, "supervisorIdentifier", lhsSupervisorIdentifier), LocatorUtils.property(thatLocator, "supervisorIdentifier", rhsSupervisorIdentifier), lhsSupervisorIdentifier, rhsSupervisorIdentifier, (this.supervisorIdentifier!= null), (that.supervisorIdentifier!= null))) {
return false;
}
}
{
Reference lhsSupervisorReference;
lhsSupervisorReference = this.getSupervisorReference();
Reference rhsSupervisorReference;
rhsSupervisorReference = that.getSupervisorReference();
if (!strategy.equals(LocatorUtils.property(thisLocator, "supervisorReference", lhsSupervisorReference), LocatorUtils.property(thatLocator, "supervisorReference", rhsSupervisorReference), lhsSupervisorReference, rhsSupervisorReference, (this.supervisorReference!= null), (that.supervisorReference!= null))) {
return false;
}
}
{
Coding lhsProviderQualification;
lhsProviderQualification = this.getProviderQualification();
Coding rhsProviderQualification;
rhsProviderQualification = that.getProviderQualification();
if (!strategy.equals(LocatorUtils.property(thisLocator, "providerQualification", lhsProviderQualification), LocatorUtils.property(thatLocator, "providerQualification", rhsProviderQualification), lhsProviderQualification, rhsProviderQualification, (this.providerQualification!= null), (that.providerQualification!= null))) {
return false;
}
}
{
List lhsDiagnosisLinkId;
lhsDiagnosisLinkId = (((this.diagnosisLinkId!= null)&&(!this.diagnosisLinkId.isEmpty()))?this.getDiagnosisLinkId():null);
List rhsDiagnosisLinkId;
rhsDiagnosisLinkId = (((that.diagnosisLinkId!= null)&&(!that.diagnosisLinkId.isEmpty()))?that.getDiagnosisLinkId():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "diagnosisLinkId", lhsDiagnosisLinkId), LocatorUtils.property(thatLocator, "diagnosisLinkId", rhsDiagnosisLinkId), lhsDiagnosisLinkId, rhsDiagnosisLinkId, ((this.diagnosisLinkId!= null)&&(!this.diagnosisLinkId.isEmpty())), ((that.diagnosisLinkId!= null)&&(!that.diagnosisLinkId.isEmpty())))) {
return false;
}
}
{
Coding lhsService;
lhsService = this.getService();
Coding rhsService;
rhsService = that.getService();
if (!strategy.equals(LocatorUtils.property(thisLocator, "service", lhsService), LocatorUtils.property(thatLocator, "service", rhsService), lhsService, rhsService, (this.service!= null), (that.service!= null))) {
return false;
}
}
{
List lhsServiceModifier;
lhsServiceModifier = (((this.serviceModifier!= null)&&(!this.serviceModifier.isEmpty()))?this.getServiceModifier():null);
List rhsServiceModifier;
rhsServiceModifier = (((that.serviceModifier!= null)&&(!that.serviceModifier.isEmpty()))?that.getServiceModifier():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "serviceModifier", lhsServiceModifier), LocatorUtils.property(thatLocator, "serviceModifier", rhsServiceModifier), lhsServiceModifier, rhsServiceModifier, ((this.serviceModifier!= null)&&(!this.serviceModifier.isEmpty())), ((that.serviceModifier!= null)&&(!that.serviceModifier.isEmpty())))) {
return false;
}
}
{
List lhsModifier;
lhsModifier = (((this.modifier!= null)&&(!this.modifier.isEmpty()))?this.getModifier():null);
List rhsModifier;
rhsModifier = (((that.modifier!= null)&&(!that.modifier.isEmpty()))?that.getModifier():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "modifier", lhsModifier), LocatorUtils.property(thatLocator, "modifier", rhsModifier), lhsModifier, rhsModifier, ((this.modifier!= null)&&(!this.modifier.isEmpty())), ((that.modifier!= null)&&(!that.modifier.isEmpty())))) {
return false;
}
}
{
List lhsProgramCode;
lhsProgramCode = (((this.programCode!= null)&&(!this.programCode.isEmpty()))?this.getProgramCode():null);
List rhsProgramCode;
rhsProgramCode = (((that.programCode!= null)&&(!that.programCode.isEmpty()))?that.getProgramCode():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "programCode", lhsProgramCode), LocatorUtils.property(thatLocator, "programCode", rhsProgramCode), lhsProgramCode, rhsProgramCode, ((this.programCode!= null)&&(!this.programCode.isEmpty())), ((that.programCode!= null)&&(!that.programCode.isEmpty())))) {
return false;
}
}
{
Date lhsServicedDate;
lhsServicedDate = this.getServicedDate();
Date rhsServicedDate;
rhsServicedDate = that.getServicedDate();
if (!strategy.equals(LocatorUtils.property(thisLocator, "servicedDate", lhsServicedDate), LocatorUtils.property(thatLocator, "servicedDate", rhsServicedDate), lhsServicedDate, rhsServicedDate, (this.servicedDate!= null), (that.servicedDate!= null))) {
return false;
}
}
{
Period lhsServicedPeriod;
lhsServicedPeriod = this.getServicedPeriod();
Period rhsServicedPeriod;
rhsServicedPeriod = that.getServicedPeriod();
if (!strategy.equals(LocatorUtils.property(thisLocator, "servicedPeriod", lhsServicedPeriod), LocatorUtils.property(thatLocator, "servicedPeriod", rhsServicedPeriod), lhsServicedPeriod, rhsServicedPeriod, (this.servicedPeriod!= null), (that.servicedPeriod!= null))) {
return false;
}
}
{
Coding lhsPlace;
lhsPlace = this.getPlace();
Coding rhsPlace;
rhsPlace = that.getPlace();
if (!strategy.equals(LocatorUtils.property(thisLocator, "place", lhsPlace), LocatorUtils.property(thatLocator, "place", rhsPlace), lhsPlace, rhsPlace, (this.place!= null), (that.place!= null))) {
return false;
}
}
{
SimpleQuantity lhsQuantity;
lhsQuantity = this.getQuantity();
SimpleQuantity rhsQuantity;
rhsQuantity = that.getQuantity();
if (!strategy.equals(LocatorUtils.property(thisLocator, "quantity", lhsQuantity), LocatorUtils.property(thatLocator, "quantity", rhsQuantity), lhsQuantity, rhsQuantity, (this.quantity!= null), (that.quantity!= null))) {
return false;
}
}
{
Money lhsUnitPrice;
lhsUnitPrice = this.getUnitPrice();
Money rhsUnitPrice;
rhsUnitPrice = that.getUnitPrice();
if (!strategy.equals(LocatorUtils.property(thisLocator, "unitPrice", lhsUnitPrice), LocatorUtils.property(thatLocator, "unitPrice", rhsUnitPrice), lhsUnitPrice, rhsUnitPrice, (this.unitPrice!= null), (that.unitPrice!= null))) {
return false;
}
}
{
Decimal lhsFactor;
lhsFactor = this.getFactor();
Decimal rhsFactor;
rhsFactor = that.getFactor();
if (!strategy.equals(LocatorUtils.property(thisLocator, "factor", lhsFactor), LocatorUtils.property(thatLocator, "factor", rhsFactor), lhsFactor, rhsFactor, (this.factor!= null), (that.factor!= null))) {
return false;
}
}
{
Decimal lhsPoints;
lhsPoints = this.getPoints();
Decimal rhsPoints;
rhsPoints = that.getPoints();
if (!strategy.equals(LocatorUtils.property(thisLocator, "points", lhsPoints), LocatorUtils.property(thatLocator, "points", rhsPoints), lhsPoints, rhsPoints, (this.points!= null), (that.points!= null))) {
return false;
}
}
{
Money lhsNet;
lhsNet = this.getNet();
Money rhsNet;
rhsNet = that.getNet();
if (!strategy.equals(LocatorUtils.property(thisLocator, "net", lhsNet), LocatorUtils.property(thatLocator, "net", rhsNet), lhsNet, rhsNet, (this.net!= null), (that.net!= null))) {
return false;
}
}
{
List lhsUdi;
lhsUdi = (((this.udi!= null)&&(!this.udi.isEmpty()))?this.getUdi():null);
List rhsUdi;
rhsUdi = (((that.udi!= null)&&(!that.udi.isEmpty()))?that.getUdi():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "udi", lhsUdi), LocatorUtils.property(thatLocator, "udi", rhsUdi), lhsUdi, rhsUdi, ((this.udi!= null)&&(!this.udi.isEmpty())), ((that.udi!= null)&&(!that.udi.isEmpty())))) {
return false;
}
}
{
Coding lhsBodySite;
lhsBodySite = this.getBodySite();
Coding 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;
}
}
{
List lhsSubSite;
lhsSubSite = (((this.subSite!= null)&&(!this.subSite.isEmpty()))?this.getSubSite():null);
List rhsSubSite;
rhsSubSite = (((that.subSite!= null)&&(!that.subSite.isEmpty()))?that.getSubSite():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "subSite", lhsSubSite), LocatorUtils.property(thatLocator, "subSite", rhsSubSite), lhsSubSite, rhsSubSite, ((this.subSite!= null)&&(!this.subSite.isEmpty())), ((that.subSite!= null)&&(!that.subSite.isEmpty())))) {
return false;
}
}
{
List lhsDetail;
lhsDetail = (((this.detail!= null)&&(!this.detail.isEmpty()))?this.getDetail():null);
List rhsDetail;
rhsDetail = (((that.detail!= null)&&(!that.detail.isEmpty()))?that.getDetail():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "detail", lhsDetail), LocatorUtils.property(thatLocator, "detail", rhsDetail), lhsDetail, rhsDetail, ((this.detail!= null)&&(!this.detail.isEmpty())), ((that.detail!= null)&&(!that.detail.isEmpty())))) {
return false;
}
}
{
ClaimProsthesis lhsProsthesis;
lhsProsthesis = this.getProsthesis();
ClaimProsthesis rhsProsthesis;
rhsProsthesis = that.getProsthesis();
if (!strategy.equals(LocatorUtils.property(thisLocator, "prosthesis", lhsProsthesis), LocatorUtils.property(thatLocator, "prosthesis", rhsProsthesis), lhsProsthesis, rhsProsthesis, (this.prosthesis!= null), (that.prosthesis!= 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);
{
PositiveInt theSequence;
theSequence = this.getSequence();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "sequence", theSequence), currentHashCode, theSequence, (this.sequence!= null));
}
{
Coding theType;
theType = this.getType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "type", theType), currentHashCode, theType, (this.type!= null));
}
{
Identifier theProviderIdentifier;
theProviderIdentifier = this.getProviderIdentifier();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "providerIdentifier", theProviderIdentifier), currentHashCode, theProviderIdentifier, (this.providerIdentifier!= null));
}
{
Reference theProviderReference;
theProviderReference = this.getProviderReference();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "providerReference", theProviderReference), currentHashCode, theProviderReference, (this.providerReference!= null));
}
{
Identifier theSupervisorIdentifier;
theSupervisorIdentifier = this.getSupervisorIdentifier();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "supervisorIdentifier", theSupervisorIdentifier), currentHashCode, theSupervisorIdentifier, (this.supervisorIdentifier!= null));
}
{
Reference theSupervisorReference;
theSupervisorReference = this.getSupervisorReference();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "supervisorReference", theSupervisorReference), currentHashCode, theSupervisorReference, (this.supervisorReference!= null));
}
{
Coding theProviderQualification;
theProviderQualification = this.getProviderQualification();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "providerQualification", theProviderQualification), currentHashCode, theProviderQualification, (this.providerQualification!= null));
}
{
List theDiagnosisLinkId;
theDiagnosisLinkId = (((this.diagnosisLinkId!= null)&&(!this.diagnosisLinkId.isEmpty()))?this.getDiagnosisLinkId():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "diagnosisLinkId", theDiagnosisLinkId), currentHashCode, theDiagnosisLinkId, ((this.diagnosisLinkId!= null)&&(!this.diagnosisLinkId.isEmpty())));
}
{
Coding theService;
theService = this.getService();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "service", theService), currentHashCode, theService, (this.service!= null));
}
{
List theServiceModifier;
theServiceModifier = (((this.serviceModifier!= null)&&(!this.serviceModifier.isEmpty()))?this.getServiceModifier():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "serviceModifier", theServiceModifier), currentHashCode, theServiceModifier, ((this.serviceModifier!= null)&&(!this.serviceModifier.isEmpty())));
}
{
List theModifier;
theModifier = (((this.modifier!= null)&&(!this.modifier.isEmpty()))?this.getModifier():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "modifier", theModifier), currentHashCode, theModifier, ((this.modifier!= null)&&(!this.modifier.isEmpty())));
}
{
List theProgramCode;
theProgramCode = (((this.programCode!= null)&&(!this.programCode.isEmpty()))?this.getProgramCode():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "programCode", theProgramCode), currentHashCode, theProgramCode, ((this.programCode!= null)&&(!this.programCode.isEmpty())));
}
{
Date theServicedDate;
theServicedDate = this.getServicedDate();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "servicedDate", theServicedDate), currentHashCode, theServicedDate, (this.servicedDate!= null));
}
{
Period theServicedPeriod;
theServicedPeriod = this.getServicedPeriod();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "servicedPeriod", theServicedPeriod), currentHashCode, theServicedPeriod, (this.servicedPeriod!= null));
}
{
Coding thePlace;
thePlace = this.getPlace();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "place", thePlace), currentHashCode, thePlace, (this.place!= null));
}
{
SimpleQuantity theQuantity;
theQuantity = this.getQuantity();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "quantity", theQuantity), currentHashCode, theQuantity, (this.quantity!= null));
}
{
Money theUnitPrice;
theUnitPrice = this.getUnitPrice();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "unitPrice", theUnitPrice), currentHashCode, theUnitPrice, (this.unitPrice!= null));
}
{
Decimal theFactor;
theFactor = this.getFactor();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "factor", theFactor), currentHashCode, theFactor, (this.factor!= null));
}
{
Decimal thePoints;
thePoints = this.getPoints();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "points", thePoints), currentHashCode, thePoints, (this.points!= null));
}
{
Money theNet;
theNet = this.getNet();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "net", theNet), currentHashCode, theNet, (this.net!= null));
}
{
List theUdi;
theUdi = (((this.udi!= null)&&(!this.udi.isEmpty()))?this.getUdi():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "udi", theUdi), currentHashCode, theUdi, ((this.udi!= null)&&(!this.udi.isEmpty())));
}
{
Coding theBodySite;
theBodySite = this.getBodySite();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bodySite", theBodySite), currentHashCode, theBodySite, (this.bodySite!= null));
}
{
List theSubSite;
theSubSite = (((this.subSite!= null)&&(!this.subSite.isEmpty()))?this.getSubSite():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "subSite", theSubSite), currentHashCode, theSubSite, ((this.subSite!= null)&&(!this.subSite.isEmpty())));
}
{
List theDetail;
theDetail = (((this.detail!= null)&&(!this.detail.isEmpty()))?this.getDetail():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "detail", theDetail), currentHashCode, theDetail, ((this.detail!= null)&&(!this.detail.isEmpty())));
}
{
ClaimProsthesis theProsthesis;
theProsthesis = this.getProsthesis();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "prosthesis", theProsthesis), currentHashCode, theProsthesis, (this.prosthesis!= 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);
{
PositiveInt theSequence;
theSequence = this.getSequence();
strategy.appendField(locator, this, "sequence", buffer, theSequence, (this.sequence!= null));
}
{
Coding theType;
theType = this.getType();
strategy.appendField(locator, this, "type", buffer, theType, (this.type!= null));
}
{
Identifier theProviderIdentifier;
theProviderIdentifier = this.getProviderIdentifier();
strategy.appendField(locator, this, "providerIdentifier", buffer, theProviderIdentifier, (this.providerIdentifier!= null));
}
{
Reference theProviderReference;
theProviderReference = this.getProviderReference();
strategy.appendField(locator, this, "providerReference", buffer, theProviderReference, (this.providerReference!= null));
}
{
Identifier theSupervisorIdentifier;
theSupervisorIdentifier = this.getSupervisorIdentifier();
strategy.appendField(locator, this, "supervisorIdentifier", buffer, theSupervisorIdentifier, (this.supervisorIdentifier!= null));
}
{
Reference theSupervisorReference;
theSupervisorReference = this.getSupervisorReference();
strategy.appendField(locator, this, "supervisorReference", buffer, theSupervisorReference, (this.supervisorReference!= null));
}
{
Coding theProviderQualification;
theProviderQualification = this.getProviderQualification();
strategy.appendField(locator, this, "providerQualification", buffer, theProviderQualification, (this.providerQualification!= null));
}
{
List theDiagnosisLinkId;
theDiagnosisLinkId = (((this.diagnosisLinkId!= null)&&(!this.diagnosisLinkId.isEmpty()))?this.getDiagnosisLinkId():null);
strategy.appendField(locator, this, "diagnosisLinkId", buffer, theDiagnosisLinkId, ((this.diagnosisLinkId!= null)&&(!this.diagnosisLinkId.isEmpty())));
}
{
Coding theService;
theService = this.getService();
strategy.appendField(locator, this, "service", buffer, theService, (this.service!= null));
}
{
List theServiceModifier;
theServiceModifier = (((this.serviceModifier!= null)&&(!this.serviceModifier.isEmpty()))?this.getServiceModifier():null);
strategy.appendField(locator, this, "serviceModifier", buffer, theServiceModifier, ((this.serviceModifier!= null)&&(!this.serviceModifier.isEmpty())));
}
{
List theModifier;
theModifier = (((this.modifier!= null)&&(!this.modifier.isEmpty()))?this.getModifier():null);
strategy.appendField(locator, this, "modifier", buffer, theModifier, ((this.modifier!= null)&&(!this.modifier.isEmpty())));
}
{
List theProgramCode;
theProgramCode = (((this.programCode!= null)&&(!this.programCode.isEmpty()))?this.getProgramCode():null);
strategy.appendField(locator, this, "programCode", buffer, theProgramCode, ((this.programCode!= null)&&(!this.programCode.isEmpty())));
}
{
Date theServicedDate;
theServicedDate = this.getServicedDate();
strategy.appendField(locator, this, "servicedDate", buffer, theServicedDate, (this.servicedDate!= null));
}
{
Period theServicedPeriod;
theServicedPeriod = this.getServicedPeriod();
strategy.appendField(locator, this, "servicedPeriod", buffer, theServicedPeriod, (this.servicedPeriod!= null));
}
{
Coding thePlace;
thePlace = this.getPlace();
strategy.appendField(locator, this, "place", buffer, thePlace, (this.place!= null));
}
{
SimpleQuantity theQuantity;
theQuantity = this.getQuantity();
strategy.appendField(locator, this, "quantity", buffer, theQuantity, (this.quantity!= null));
}
{
Money theUnitPrice;
theUnitPrice = this.getUnitPrice();
strategy.appendField(locator, this, "unitPrice", buffer, theUnitPrice, (this.unitPrice!= null));
}
{
Decimal theFactor;
theFactor = this.getFactor();
strategy.appendField(locator, this, "factor", buffer, theFactor, (this.factor!= null));
}
{
Decimal thePoints;
thePoints = this.getPoints();
strategy.appendField(locator, this, "points", buffer, thePoints, (this.points!= null));
}
{
Money theNet;
theNet = this.getNet();
strategy.appendField(locator, this, "net", buffer, theNet, (this.net!= null));
}
{
List theUdi;
theUdi = (((this.udi!= null)&&(!this.udi.isEmpty()))?this.getUdi():null);
strategy.appendField(locator, this, "udi", buffer, theUdi, ((this.udi!= null)&&(!this.udi.isEmpty())));
}
{
Coding theBodySite;
theBodySite = this.getBodySite();
strategy.appendField(locator, this, "bodySite", buffer, theBodySite, (this.bodySite!= null));
}
{
List theSubSite;
theSubSite = (((this.subSite!= null)&&(!this.subSite.isEmpty()))?this.getSubSite():null);
strategy.appendField(locator, this, "subSite", buffer, theSubSite, ((this.subSite!= null)&&(!this.subSite.isEmpty())));
}
{
List theDetail;
theDetail = (((this.detail!= null)&&(!this.detail.isEmpty()))?this.getDetail():null);
strategy.appendField(locator, this, "detail", buffer, theDetail, ((this.detail!= null)&&(!this.detail.isEmpty())));
}
{
ClaimProsthesis theProsthesis;
theProsthesis = this.getProsthesis();
strategy.appendField(locator, this, "prosthesis", buffer, theProsthesis, (this.prosthesis!= null));
}
return buffer;
}
public void setDiagnosisLinkId(List value) {
this.diagnosisLinkId = value;
}
public void setServiceModifier(List value) {
this.serviceModifier = value;
}
public void setModifier(List value) {
this.modifier = value;
}
public void setProgramCode(List value) {
this.programCode = value;
}
public void setUdi(List value) {
this.udi = value;
}
public void setSubSite(List value) {
this.subSite = value;
}
public void setDetail(List value) {
this.detail = value;
}
}