org.hl7.fhir.PractitionerPractitionerRole 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.09.27 at 11:16:19 AM 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.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 person who is directly or indirectly involved in the provisioning of healthcare.
*
* Java class for Practitioner.PractitionerRole complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Practitioner.PractitionerRole">
* <complexContent>
* <extension base="{http://hl7.org/fhir}BackboneElement">
* <sequence>
* <element name="organization" type="{http://hl7.org/fhir}Reference" minOccurs="0"/>
* <element name="role" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="specialty" type="{http://hl7.org/fhir}CodeableConcept" maxOccurs="unbounded" minOccurs="0"/>
* <element name="identifier" type="{http://hl7.org/fhir}Identifier" maxOccurs="unbounded" minOccurs="0"/>
* <element name="telecom" type="{http://hl7.org/fhir}ContactPoint" maxOccurs="unbounded" minOccurs="0"/>
* <element name="period" type="{http://hl7.org/fhir}Period" minOccurs="0"/>
* <element name="location" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* <element name="healthcareService" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Practitioner.PractitionerRole", propOrder = {
"organization",
"role",
"specialty",
"identifier",
"telecom",
"period",
"location",
"healthcareService"
})
public class PractitionerPractitionerRole
extends BackboneElement
implements Equals2, HashCode2, ToString2
{
protected Reference organization;
protected CodeableConcept role;
protected List specialty;
protected List identifier;
protected List telecom;
protected Period period;
protected List location;
protected List healthcareService;
/**
* Gets the value of the organization property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getOrganization() {
return organization;
}
/**
* Sets the value of the organization property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setOrganization(Reference value) {
this.organization = value;
}
/**
* Gets the value of the role property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getRole() {
return role;
}
/**
* Sets the value of the role property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setRole(CodeableConcept value) {
this.role = value;
}
/**
* Gets the value of the specialty 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 specialty property.
*
*
* For example, to add a new item, do as follows:
*
* getSpecialty().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CodeableConcept }
*
*
*/
public List getSpecialty() {
if (specialty == null) {
specialty = new ArrayList();
}
return this.specialty;
}
/**
* 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 telecom 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 telecom property.
*
*
* For example, to add a new item, do as follows:
*
* getTelecom().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContactPoint }
*
*
*/
public List getTelecom() {
if (telecom == null) {
telecom = new ArrayList();
}
return this.telecom;
}
/**
* Gets the value of the period property.
*
* @return
* possible object is
* {@link Period }
*
*/
public Period getPeriod() {
return period;
}
/**
* Sets the value of the period property.
*
* @param value
* allowed object is
* {@link Period }
*
*/
public void setPeriod(Period value) {
this.period = value;
}
/**
* Gets the value of the location 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 location property.
*
*
* For example, to add a new item, do as follows:
*
* getLocation().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getLocation() {
if (location == null) {
location = new ArrayList();
}
return this.location;
}
/**
* Gets the value of the healthcareService 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 healthcareService property.
*
*
* For example, to add a new item, do as follows:
*
* getHealthcareService().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getHealthcareService() {
if (healthcareService == null) {
healthcareService = new ArrayList();
}
return this.healthcareService;
}
public PractitionerPractitionerRole withOrganization(Reference value) {
setOrganization(value);
return this;
}
public PractitionerPractitionerRole withRole(CodeableConcept value) {
setRole(value);
return this;
}
public PractitionerPractitionerRole withSpecialty(CodeableConcept... values) {
if (values!= null) {
for (CodeableConcept value: values) {
getSpecialty().add(value);
}
}
return this;
}
public PractitionerPractitionerRole withSpecialty(Collection values) {
if (values!= null) {
getSpecialty().addAll(values);
}
return this;
}
public PractitionerPractitionerRole withIdentifier(Identifier... values) {
if (values!= null) {
for (Identifier value: values) {
getIdentifier().add(value);
}
}
return this;
}
public PractitionerPractitionerRole withIdentifier(Collection values) {
if (values!= null) {
getIdentifier().addAll(values);
}
return this;
}
public PractitionerPractitionerRole withTelecom(ContactPoint... values) {
if (values!= null) {
for (ContactPoint value: values) {
getTelecom().add(value);
}
}
return this;
}
public PractitionerPractitionerRole withTelecom(Collection values) {
if (values!= null) {
getTelecom().addAll(values);
}
return this;
}
public PractitionerPractitionerRole withPeriod(Period value) {
setPeriod(value);
return this;
}
public PractitionerPractitionerRole withLocation(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getLocation().add(value);
}
}
return this;
}
public PractitionerPractitionerRole withLocation(Collection values) {
if (values!= null) {
getLocation().addAll(values);
}
return this;
}
public PractitionerPractitionerRole withHealthcareService(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getHealthcareService().add(value);
}
}
return this;
}
public PractitionerPractitionerRole withHealthcareService(Collection values) {
if (values!= null) {
getHealthcareService().addAll(values);
}
return this;
}
@Override
public PractitionerPractitionerRole withModifierExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getModifierExtension().add(value);
}
}
return this;
}
@Override
public PractitionerPractitionerRole withModifierExtension(Collection values) {
if (values!= null) {
getModifierExtension().addAll(values);
}
return this;
}
@Override
public PractitionerPractitionerRole withExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getExtension().add(value);
}
}
return this;
}
@Override
public PractitionerPractitionerRole withExtension(Collection values) {
if (values!= null) {
getExtension().addAll(values);
}
return this;
}
@Override
public PractitionerPractitionerRole 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 PractitionerPractitionerRole that = ((PractitionerPractitionerRole) object);
{
Reference lhsOrganization;
lhsOrganization = this.getOrganization();
Reference rhsOrganization;
rhsOrganization = that.getOrganization();
if (!strategy.equals(LocatorUtils.property(thisLocator, "organization", lhsOrganization), LocatorUtils.property(thatLocator, "organization", rhsOrganization), lhsOrganization, rhsOrganization, (this.organization!= null), (that.organization!= null))) {
return false;
}
}
{
CodeableConcept lhsRole;
lhsRole = this.getRole();
CodeableConcept rhsRole;
rhsRole = that.getRole();
if (!strategy.equals(LocatorUtils.property(thisLocator, "role", lhsRole), LocatorUtils.property(thatLocator, "role", rhsRole), lhsRole, rhsRole, (this.role!= null), (that.role!= null))) {
return false;
}
}
{
List lhsSpecialty;
lhsSpecialty = (((this.specialty!= null)&&(!this.specialty.isEmpty()))?this.getSpecialty():null);
List rhsSpecialty;
rhsSpecialty = (((that.specialty!= null)&&(!that.specialty.isEmpty()))?that.getSpecialty():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "specialty", lhsSpecialty), LocatorUtils.property(thatLocator, "specialty", rhsSpecialty), lhsSpecialty, rhsSpecialty, ((this.specialty!= null)&&(!this.specialty.isEmpty())), ((that.specialty!= null)&&(!that.specialty.isEmpty())))) {
return false;
}
}
{
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;
}
}
{
List lhsTelecom;
lhsTelecom = (((this.telecom!= null)&&(!this.telecom.isEmpty()))?this.getTelecom():null);
List rhsTelecom;
rhsTelecom = (((that.telecom!= null)&&(!that.telecom.isEmpty()))?that.getTelecom():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "telecom", lhsTelecom), LocatorUtils.property(thatLocator, "telecom", rhsTelecom), lhsTelecom, rhsTelecom, ((this.telecom!= null)&&(!this.telecom.isEmpty())), ((that.telecom!= null)&&(!that.telecom.isEmpty())))) {
return false;
}
}
{
Period lhsPeriod;
lhsPeriod = this.getPeriod();
Period rhsPeriod;
rhsPeriod = that.getPeriod();
if (!strategy.equals(LocatorUtils.property(thisLocator, "period", lhsPeriod), LocatorUtils.property(thatLocator, "period", rhsPeriod), lhsPeriod, rhsPeriod, (this.period!= null), (that.period!= null))) {
return false;
}
}
{
List lhsLocation;
lhsLocation = (((this.location!= null)&&(!this.location.isEmpty()))?this.getLocation():null);
List rhsLocation;
rhsLocation = (((that.location!= null)&&(!that.location.isEmpty()))?that.getLocation():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "location", lhsLocation), LocatorUtils.property(thatLocator, "location", rhsLocation), lhsLocation, rhsLocation, ((this.location!= null)&&(!this.location.isEmpty())), ((that.location!= null)&&(!that.location.isEmpty())))) {
return false;
}
}
{
List lhsHealthcareService;
lhsHealthcareService = (((this.healthcareService!= null)&&(!this.healthcareService.isEmpty()))?this.getHealthcareService():null);
List rhsHealthcareService;
rhsHealthcareService = (((that.healthcareService!= null)&&(!that.healthcareService.isEmpty()))?that.getHealthcareService():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "healthcareService", lhsHealthcareService), LocatorUtils.property(thatLocator, "healthcareService", rhsHealthcareService), lhsHealthcareService, rhsHealthcareService, ((this.healthcareService!= null)&&(!this.healthcareService.isEmpty())), ((that.healthcareService!= null)&&(!that.healthcareService.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);
{
Reference theOrganization;
theOrganization = this.getOrganization();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "organization", theOrganization), currentHashCode, theOrganization, (this.organization!= null));
}
{
CodeableConcept theRole;
theRole = this.getRole();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "role", theRole), currentHashCode, theRole, (this.role!= null));
}
{
List theSpecialty;
theSpecialty = (((this.specialty!= null)&&(!this.specialty.isEmpty()))?this.getSpecialty():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "specialty", theSpecialty), currentHashCode, theSpecialty, ((this.specialty!= null)&&(!this.specialty.isEmpty())));
}
{
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())));
}
{
List theTelecom;
theTelecom = (((this.telecom!= null)&&(!this.telecom.isEmpty()))?this.getTelecom():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "telecom", theTelecom), currentHashCode, theTelecom, ((this.telecom!= null)&&(!this.telecom.isEmpty())));
}
{
Period thePeriod;
thePeriod = this.getPeriod();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "period", thePeriod), currentHashCode, thePeriod, (this.period!= null));
}
{
List theLocation;
theLocation = (((this.location!= null)&&(!this.location.isEmpty()))?this.getLocation():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "location", theLocation), currentHashCode, theLocation, ((this.location!= null)&&(!this.location.isEmpty())));
}
{
List theHealthcareService;
theHealthcareService = (((this.healthcareService!= null)&&(!this.healthcareService.isEmpty()))?this.getHealthcareService():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "healthcareService", theHealthcareService), currentHashCode, theHealthcareService, ((this.healthcareService!= null)&&(!this.healthcareService.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);
{
Reference theOrganization;
theOrganization = this.getOrganization();
strategy.appendField(locator, this, "organization", buffer, theOrganization, (this.organization!= null));
}
{
CodeableConcept theRole;
theRole = this.getRole();
strategy.appendField(locator, this, "role", buffer, theRole, (this.role!= null));
}
{
List theSpecialty;
theSpecialty = (((this.specialty!= null)&&(!this.specialty.isEmpty()))?this.getSpecialty():null);
strategy.appendField(locator, this, "specialty", buffer, theSpecialty, ((this.specialty!= null)&&(!this.specialty.isEmpty())));
}
{
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())));
}
{
List theTelecom;
theTelecom = (((this.telecom!= null)&&(!this.telecom.isEmpty()))?this.getTelecom():null);
strategy.appendField(locator, this, "telecom", buffer, theTelecom, ((this.telecom!= null)&&(!this.telecom.isEmpty())));
}
{
Period thePeriod;
thePeriod = this.getPeriod();
strategy.appendField(locator, this, "period", buffer, thePeriod, (this.period!= null));
}
{
List theLocation;
theLocation = (((this.location!= null)&&(!this.location.isEmpty()))?this.getLocation():null);
strategy.appendField(locator, this, "location", buffer, theLocation, ((this.location!= null)&&(!this.location.isEmpty())));
}
{
List theHealthcareService;
theHealthcareService = (((this.healthcareService!= null)&&(!this.healthcareService.isEmpty()))?this.getHealthcareService():null);
strategy.appendField(locator, this, "healthcareService", buffer, theHealthcareService, ((this.healthcareService!= null)&&(!this.healthcareService.isEmpty())));
}
return buffer;
}
public void setSpecialty(List value) {
this.specialty = value;
}
public void setIdentifier(List value) {
this.identifier = value;
}
public void setTelecom(List value) {
this.telecom = value;
}
public void setLocation(List value) {
this.location = value;
}
public void setHealthcareService(List value) {
this.healthcareService = value;
}
}