/**
 * PRPAMT201302UV02Person.java
 * <p>
 * File generated from the prpamt201302UV02::PRPAMT201302UV02Person uml Class
 * Generated by IHE - europe, gazelle team
 */
package net.ihe.gazelle.hl7v3.prpamt201302UV02;

import java.io.Serial;
import java.util.ArrayList;
import java.util.List;

import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Marshaller;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlTransient;
import jakarta.xml.bind.annotation.XmlType;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import net.ihe.gazelle.gen.common.ConstraintValidatorModule;

import org.w3c.dom.Document;
import org.w3c.dom.Node;


/**
 * Description of the class PRPAMT201302UV02Person.
 *
 */

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PRPA_MT201302UV02.Person", propOrder = {
	"realmCode",
	"typeId",
	"templateId",
	"id",
	"name",
	"desc",
	"telecom",
	"administrativeGenderCode",
	"birthTime",
	"deceasedInd",
	"deceasedTime",
	"multipleBirthInd",
	"multipleBirthOrderNumber",
	"organDonorInd",
	"addr",
	"maritalStatusCode",
	"educationLevelCode",
	"disabilityCode",
	"livingArrangementCode",
	"religiousAffiliationCode",
	"raceCode",
	"ethnicGroupCode",
	"asPatientOfOtherProvider",
	"asEmployee",
	"asCitizen",
	"asStudent",
	"asMember",
	"asOtherIDs",
	"contactParty",
	"guardian",
	"personalRelationship",
	"careGiver",
	"birthPlace",
	"guarantorRole",
	"languageCommunication",
	"classCode",
	"determinerCode",
	"nullFlavor"
})
@XmlRootElement(name = "PRPA_MT201302UV02.Person")
public class PRPAMT201302UV02Person implements java.io.Serializable {
	
	/**
	 * 
	 */
	@Serial
    private static final long serialVersionUID = 1L;

	
	@XmlElement(name = "realmCode", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.CS> realmCode;
	@XmlElement(name = "typeId", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.II typeId;
	@XmlElement(name = "templateId", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.II> templateId;
	@XmlElement(name = "id", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonId> id;
	@XmlElement(name = "name", required = true, namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.PN> name;
	@XmlElement(name = "desc", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.ED desc;
	@XmlElement(name = "telecom", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.TEL> telecom;
	@XmlElement(name = "administrativeGenderCode", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.CE administrativeGenderCode;
	@XmlElement(name = "birthTime", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.TS birthTime;
	@XmlElement(name = "deceasedInd", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.BL deceasedInd;
	@XmlElement(name = "deceasedTime", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.TS deceasedTime;
	@XmlElement(name = "multipleBirthInd", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.BL multipleBirthInd;
	@XmlElement(name = "multipleBirthOrderNumber", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.INT multipleBirthOrderNumber;
	@XmlElement(name = "organDonorInd", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.BL organDonorInd;
	@XmlElement(name = "addr", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.AD> addr;
	@XmlElement(name = "maritalStatusCode", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.CE maritalStatusCode;
	@XmlElement(name = "educationLevelCode", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.CE educationLevelCode;
	@XmlElement(name = "disabilityCode", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.CE> disabilityCode;
	@XmlElement(name = "livingArrangementCode", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.CE livingArrangementCode;
	@XmlElement(name = "religiousAffiliationCode", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.datatypes.CE religiousAffiliationCode;
	@XmlElement(name = "raceCode", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.CE> raceCode;
	@XmlElement(name = "ethnicGroupCode", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.datatypes.CE> ethnicGroupCode;
	@XmlElement(name = "asPatientOfOtherProvider", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientOfOtherProvider> asPatientOfOtherProvider;
	@XmlElement(name = "asEmployee", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Employee> asEmployee;
	@XmlElement(name = "asCitizen", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Citizen> asCitizen;
	@XmlElement(name = "asStudent", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Student> asStudent;
	@XmlElement(name = "asMember", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Member> asMember;
	@XmlElement(name = "asOtherIDs", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDs> asOtherIDs;
	@XmlElement(name = "contactParty", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02ContactParty> contactParty;
	@XmlElement(name = "guardian", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Guardian> guardian;
	@XmlElement(name = "personalRelationship", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonalRelationship> personalRelationship;
	@XmlElement(name = "careGiver", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02CareGiver> careGiver;
	@XmlElement(name = "birthPlace", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02BirthPlace birthPlace;
	@XmlElement(name = "guarantorRole", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.coctmt670000UV04.COCTMT670000UV04GuarantorRole> guarantorRole;
	@XmlElement(name = "languageCommunication", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02LanguageCommunication> languageCommunication;
	@XmlAttribute(name = "classCode")
	public net.ihe.gazelle.hl7v3.voc.EntityClass classCode;
	@XmlAttribute(name = "determinerCode")
	public net.ihe.gazelle.hl7v3.voc.EntityDeterminer determinerCode;
	@XmlAttribute(name = "nullFlavor")
	public net.ihe.gazelle.hl7v3.voc.NullFlavor nullFlavor;
	
	/**
	 * An attribute containing marshalled element node
	 */
	@XmlTransient
	private org.w3c.dom.Node _xmlNodePresentation;
	
	
	/**
	 * Return realmCode.
	 * @return realmCode
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.CS> getRealmCode() {
		if (realmCode == null) {
	        realmCode = new ArrayList<>();
	    }
	    return realmCode;
	}
	
	/**
	 * Set a value to attribute realmCode.
     */
	public void setRealmCode(List<net.ihe.gazelle.hl7v3.datatypes.CS> realmCode) {
	    this.realmCode = realmCode;
	}
	
	
	
	/**
	 * Add a realmCode to the realmCode collection.
	 * @param realmCode_elt Element to add.
	 */
	public void addRealmCode(net.ihe.gazelle.hl7v3.datatypes.CS realmCode_elt) {
	    this.realmCode.add(realmCode_elt);
	}
	
	/**
	 * Remove a realmCode to the realmCode collection.
	 * @param realmCode_elt Element to remove
	 */
	public void removeRealmCode(net.ihe.gazelle.hl7v3.datatypes.CS realmCode_elt) {
	    this.realmCode.remove(realmCode_elt);
	}
	
	/**
	 * Return typeId.
	 * @return typeId
	 */
	public net.ihe.gazelle.hl7v3.datatypes.II getTypeId() {
	    return typeId;
	}
	
	/**
	 * Set a value to attribute typeId.
     */
	public void setTypeId(net.ihe.gazelle.hl7v3.datatypes.II typeId) {
	    this.typeId = typeId;
	}
	
	
	
	
	/**
	 * Return templateId.
	 * @return templateId
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.II> getTemplateId() {
		if (templateId == null) {
	        templateId = new ArrayList<>();
	    }
	    return templateId;
	}
	
	/**
	 * Set a value to attribute templateId.
     */
	public void setTemplateId(List<net.ihe.gazelle.hl7v3.datatypes.II> templateId) {
	    this.templateId = templateId;
	}
	
	
	
	/**
	 * Add a templateId to the templateId collection.
	 * @param templateId_elt Element to add.
	 */
	public void addTemplateId(net.ihe.gazelle.hl7v3.datatypes.II templateId_elt) {
	    this.templateId.add(templateId_elt);
	}
	
	/**
	 * Remove a templateId to the templateId collection.
	 * @param templateId_elt Element to remove
	 */
	public void removeTemplateId(net.ihe.gazelle.hl7v3.datatypes.II templateId_elt) {
	    this.templateId.remove(templateId_elt);
	}
	
	/**
	 * Return id.
	 * @return id
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonId> getId() {
		if (id == null) {
	        id = new ArrayList<>();
	    }
	    return id;
	}
	
	/**
	 * Set a value to attribute id.
     */
	public void setId(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonId> id) {
	    this.id = id;
	}
	
	
	
	/**
	 * Add a id to the id collection.
	 * @param id_elt Element to add.
	 */
	public void addId(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonId id_elt) {
	    this.id.add(id_elt);
	}
	
	/**
	 * Remove a id to the id collection.
	 * @param id_elt Element to remove
	 */
	public void removeId(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonId id_elt) {
	    this.id.remove(id_elt);
	}
	
	/**
	 * Return name.
	 * @return name
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.PN> getName() {
		if (name == null) {
	        name = new ArrayList<>();
	    }
	    return name;
	}
	
	/**
	 * Set a value to attribute name.
     */
	public void setName(List<net.ihe.gazelle.hl7v3.datatypes.PN> name) {
	    this.name = name;
	}
	
	
	
	/**
	 * Add a name to the name collection.
	 * @param name_elt Element to add.
	 */
	public void addName(net.ihe.gazelle.hl7v3.datatypes.PN name_elt) {
	    this.getName().add(name_elt);
	}
	
	/**
	 * Remove a name to the name collection.
	 * @param name_elt Element to remove
	 */
	public void removeName(net.ihe.gazelle.hl7v3.datatypes.PN name_elt) {
	    this.getName().remove(name_elt);
	}
	
	/**
	 * Return desc.
	 * @return desc
	 */
	public net.ihe.gazelle.hl7v3.datatypes.ED getDesc() {
	    return desc;
	}
	
	/**
	 * Set a value to attribute desc.
     */
	public void setDesc(net.ihe.gazelle.hl7v3.datatypes.ED desc) {
	    this.desc = desc;
	}
	
	
	
	
	/**
	 * Return telecom.
	 * @return telecom
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.TEL> getTelecom() {
		if (telecom == null) {
	        telecom = new ArrayList<>();
	    }
	    return telecom;
	}
	
	/**
	 * Set a value to attribute telecom.
     */
	public void setTelecom(List<net.ihe.gazelle.hl7v3.datatypes.TEL> telecom) {
	    this.telecom = telecom;
	}
	
	
	
	/**
	 * Add a telecom to the telecom collection.
	 * @param telecom_elt Element to add.
	 */
	public void addTelecom(net.ihe.gazelle.hl7v3.datatypes.TEL telecom_elt) {
	    this.getTelecom().add(telecom_elt);
	}
	
	/**
	 * Remove a telecom to the telecom collection.
	 * @param telecom_elt Element to remove
	 */
	public void removeTelecom(net.ihe.gazelle.hl7v3.datatypes.TEL telecom_elt) {
	    this.getTelecom().remove(telecom_elt);
	}
	
	/**
	 * Return administrativeGenderCode.
	 * @return administrativeGenderCode
	 */
	public net.ihe.gazelle.hl7v3.datatypes.CE getAdministrativeGenderCode() {
	    return administrativeGenderCode;
	}
	
	/**
	 * Set a value to attribute administrativeGenderCode.
     */
	public void setAdministrativeGenderCode(net.ihe.gazelle.hl7v3.datatypes.CE administrativeGenderCode) {
	    this.administrativeGenderCode = administrativeGenderCode;
	}
	
	
	
	
	/**
	 * Return birthTime.
	 * @return birthTime
	 */
	public net.ihe.gazelle.hl7v3.datatypes.TS getBirthTime() {
	    return birthTime;
	}
	
	/**
	 * Set a value to attribute birthTime.
     */
	public void setBirthTime(net.ihe.gazelle.hl7v3.datatypes.TS birthTime) {
	    this.birthTime = birthTime;
	}
	
	
	
	
	/**
	 * Return deceasedInd.
	 * @return deceasedInd
	 */
	public net.ihe.gazelle.hl7v3.datatypes.BL getDeceasedInd() {
	    return deceasedInd;
	}
	
	/**
	 * Set a value to attribute deceasedInd.
     */
	public void setDeceasedInd(net.ihe.gazelle.hl7v3.datatypes.BL deceasedInd) {
	    this.deceasedInd = deceasedInd;
	}
	
	
	
	
	/**
	 * Return deceasedTime.
	 * @return deceasedTime
	 */
	public net.ihe.gazelle.hl7v3.datatypes.TS getDeceasedTime() {
	    return deceasedTime;
	}
	
	/**
	 * Set a value to attribute deceasedTime.
     */
	public void setDeceasedTime(net.ihe.gazelle.hl7v3.datatypes.TS deceasedTime) {
	    this.deceasedTime = deceasedTime;
	}
	
	
	
	
	/**
	 * Return multipleBirthInd.
	 * @return multipleBirthInd
	 */
	public net.ihe.gazelle.hl7v3.datatypes.BL getMultipleBirthInd() {
	    return multipleBirthInd;
	}
	
	/**
	 * Set a value to attribute multipleBirthInd.
     */
	public void setMultipleBirthInd(net.ihe.gazelle.hl7v3.datatypes.BL multipleBirthInd) {
	    this.multipleBirthInd = multipleBirthInd;
	}
	
	
	
	
	/**
	 * Return multipleBirthOrderNumber.
	 * @return multipleBirthOrderNumber
	 */
	public net.ihe.gazelle.hl7v3.datatypes.INT getMultipleBirthOrderNumber() {
	    return multipleBirthOrderNumber;
	}
	
	/**
	 * Set a value to attribute multipleBirthOrderNumber.
     */
	public void setMultipleBirthOrderNumber(net.ihe.gazelle.hl7v3.datatypes.INT multipleBirthOrderNumber) {
	    this.multipleBirthOrderNumber = multipleBirthOrderNumber;
	}
	
	
	
	
	/**
	 * Return organDonorInd.
	 * @return organDonorInd
	 */
	public net.ihe.gazelle.hl7v3.datatypes.BL getOrganDonorInd() {
	    return organDonorInd;
	}
	
	/**
	 * Set a value to attribute organDonorInd.
     */
	public void setOrganDonorInd(net.ihe.gazelle.hl7v3.datatypes.BL organDonorInd) {
	    this.organDonorInd = organDonorInd;
	}
	
	
	
	
	/**
	 * Return addr.
	 * @return addr
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.AD> getAddr() {
		if (addr == null) {
	        addr = new ArrayList<>();
	    }
	    return addr;
	}
	
	/**
	 * Set a value to attribute addr.
     */
	public void setAddr(List<net.ihe.gazelle.hl7v3.datatypes.AD> addr) {
	    this.addr = addr;
	}
	
	
	
	/**
	 * Add a addr to the addr collection.
	 * @param addr_elt Element to add.
	 */
	public void addAddr(net.ihe.gazelle.hl7v3.datatypes.AD addr_elt) {
	    this.getAddr().add(addr_elt);
	}
	
	/**
	 * Remove a addr to the addr collection.
	 * @param addr_elt Element to remove
	 */
	public void removeAddr(net.ihe.gazelle.hl7v3.datatypes.AD addr_elt) {
	    this.getAddr().remove(addr_elt);
	}
	
	/**
	 * Return maritalStatusCode.
	 * @return maritalStatusCode
	 */
	public net.ihe.gazelle.hl7v3.datatypes.CE getMaritalStatusCode() {
	    return maritalStatusCode;
	}
	
	/**
	 * Set a value to attribute maritalStatusCode.
     */
	public void setMaritalStatusCode(net.ihe.gazelle.hl7v3.datatypes.CE maritalStatusCode) {
	    this.maritalStatusCode = maritalStatusCode;
	}
	
	
	
	
	/**
	 * Return educationLevelCode.
	 * @return educationLevelCode
	 */
	public net.ihe.gazelle.hl7v3.datatypes.CE getEducationLevelCode() {
	    return educationLevelCode;
	}
	
	/**
	 * Set a value to attribute educationLevelCode.
     */
	public void setEducationLevelCode(net.ihe.gazelle.hl7v3.datatypes.CE educationLevelCode) {
	    this.educationLevelCode = educationLevelCode;
	}
	
	
	
	
	/**
	 * Return disabilityCode.
	 * @return disabilityCode
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.CE> getDisabilityCode() {
		if (disabilityCode == null) {
	        disabilityCode = new ArrayList<>();
	    }
	    return disabilityCode;
	}
	
	/**
	 * Set a value to attribute disabilityCode.
     */
	public void setDisabilityCode(List<net.ihe.gazelle.hl7v3.datatypes.CE> disabilityCode) {
	    this.disabilityCode = disabilityCode;
	}
	
	
	
	/**
	 * Add a disabilityCode to the disabilityCode collection.
	 * @param disabilityCode_elt Element to add.
	 */
	public void addDisabilityCode(net.ihe.gazelle.hl7v3.datatypes.CE disabilityCode_elt) {
	    this.disabilityCode.add(disabilityCode_elt);
	}
	
	/**
	 * Remove a disabilityCode to the disabilityCode collection.
	 * @param disabilityCode_elt Element to remove
	 */
	public void removeDisabilityCode(net.ihe.gazelle.hl7v3.datatypes.CE disabilityCode_elt) {
	    this.disabilityCode.remove(disabilityCode_elt);
	}
	
	/**
	 * Return livingArrangementCode.
	 * @return livingArrangementCode
	 */
	public net.ihe.gazelle.hl7v3.datatypes.CE getLivingArrangementCode() {
	    return livingArrangementCode;
	}
	
	/**
	 * Set a value to attribute livingArrangementCode.
     */
	public void setLivingArrangementCode(net.ihe.gazelle.hl7v3.datatypes.CE livingArrangementCode) {
	    this.livingArrangementCode = livingArrangementCode;
	}
	
	
	
	
	/**
	 * Return religiousAffiliationCode.
	 * @return religiousAffiliationCode
	 */
	public net.ihe.gazelle.hl7v3.datatypes.CE getReligiousAffiliationCode() {
	    return religiousAffiliationCode;
	}
	
	/**
	 * Set a value to attribute religiousAffiliationCode.
     */
	public void setReligiousAffiliationCode(net.ihe.gazelle.hl7v3.datatypes.CE religiousAffiliationCode) {
	    this.religiousAffiliationCode = religiousAffiliationCode;
	}
	
	
	
	
	/**
	 * Return raceCode.
	 * @return raceCode
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.CE> getRaceCode() {
		if (raceCode == null) {
	        raceCode = new ArrayList<>();
	    }
	    return raceCode;
	}
	
	/**
	 * Set a value to attribute raceCode.
     */
	public void setRaceCode(List<net.ihe.gazelle.hl7v3.datatypes.CE> raceCode) {
	    this.raceCode = raceCode;
	}
	
	
	
	/**
	 * Add a raceCode to the raceCode collection.
	 * @param raceCode_elt Element to add.
	 */
	public void addRaceCode(net.ihe.gazelle.hl7v3.datatypes.CE raceCode_elt) {
	    this.raceCode.add(raceCode_elt);
	}
	
	/**
	 * Remove a raceCode to the raceCode collection.
	 * @param raceCode_elt Element to remove
	 */
	public void removeRaceCode(net.ihe.gazelle.hl7v3.datatypes.CE raceCode_elt) {
	    this.raceCode.remove(raceCode_elt);
	}
	
	/**
	 * Return ethnicGroupCode.
	 * @return ethnicGroupCode
	 */
	public List<net.ihe.gazelle.hl7v3.datatypes.CE> getEthnicGroupCode() {
		if (ethnicGroupCode == null) {
	        ethnicGroupCode = new ArrayList<>();
	    }
	    return ethnicGroupCode;
	}
	
	/**
	 * Set a value to attribute ethnicGroupCode.
     */
	public void setEthnicGroupCode(List<net.ihe.gazelle.hl7v3.datatypes.CE> ethnicGroupCode) {
	    this.ethnicGroupCode = ethnicGroupCode;
	}
	
	
	
	/**
	 * Add a ethnicGroupCode to the ethnicGroupCode collection.
	 * @param ethnicGroupCode_elt Element to add.
	 */
	public void addEthnicGroupCode(net.ihe.gazelle.hl7v3.datatypes.CE ethnicGroupCode_elt) {
	    this.ethnicGroupCode.add(ethnicGroupCode_elt);
	}
	
	/**
	 * Remove a ethnicGroupCode to the ethnicGroupCode collection.
	 * @param ethnicGroupCode_elt Element to remove
	 */
	public void removeEthnicGroupCode(net.ihe.gazelle.hl7v3.datatypes.CE ethnicGroupCode_elt) {
	    this.ethnicGroupCode.remove(ethnicGroupCode_elt);
	}
	
	/**
	 * Return asPatientOfOtherProvider.
	 * @return asPatientOfOtherProvider
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientOfOtherProvider> getAsPatientOfOtherProvider() {
		if (asPatientOfOtherProvider == null) {
	        asPatientOfOtherProvider = new ArrayList<>();
	    }
	    return asPatientOfOtherProvider;
	}
	
	/**
	 * Set a value to attribute asPatientOfOtherProvider.
     */
	public void setAsPatientOfOtherProvider(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientOfOtherProvider> asPatientOfOtherProvider) {
	    this.asPatientOfOtherProvider = asPatientOfOtherProvider;
	}
	
	
	
	/**
	 * Add a asPatientOfOtherProvider to the asPatientOfOtherProvider collection.
	 * @param asPatientOfOtherProvider_elt Element to add.
	 */
	public void addAsPatientOfOtherProvider(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientOfOtherProvider asPatientOfOtherProvider_elt) {
	    this.asPatientOfOtherProvider.add(asPatientOfOtherProvider_elt);
	}
	
	/**
	 * Remove a asPatientOfOtherProvider to the asPatientOfOtherProvider collection.
	 * @param asPatientOfOtherProvider_elt Element to remove
	 */
	public void removeAsPatientOfOtherProvider(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientOfOtherProvider asPatientOfOtherProvider_elt) {
	    this.asPatientOfOtherProvider.remove(asPatientOfOtherProvider_elt);
	}
	
	/**
	 * Return asEmployee.
	 * @return asEmployee
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Employee> getAsEmployee() {
		if (asEmployee == null) {
	        asEmployee = new ArrayList<>();
	    }
	    return asEmployee;
	}
	
	/**
	 * Set a value to attribute asEmployee.
     */
	public void setAsEmployee(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Employee> asEmployee) {
	    this.asEmployee = asEmployee;
	}
	
	
	
	/**
	 * Add a asEmployee to the asEmployee collection.
	 * @param asEmployee_elt Element to add.
	 */
	public void addAsEmployee(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Employee asEmployee_elt) {
	    this.asEmployee.add(asEmployee_elt);
	}
	
	/**
	 * Remove a asEmployee to the asEmployee collection.
	 * @param asEmployee_elt Element to remove
	 */
	public void removeAsEmployee(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Employee asEmployee_elt) {
	    this.asEmployee.remove(asEmployee_elt);
	}
	
	/**
	 * Return asCitizen.
	 * @return asCitizen
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Citizen> getAsCitizen() {
		if (asCitizen == null) {
	        asCitizen = new ArrayList<>();
	    }
	    return asCitizen;
	}
	
	/**
	 * Set a value to attribute asCitizen.
     */
	public void setAsCitizen(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Citizen> asCitizen) {
	    this.asCitizen = asCitizen;
	}
	
	
	
	/**
	 * Add a asCitizen to the asCitizen collection.
	 * @param asCitizen_elt Element to add.
	 */
	public void addAsCitizen(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Citizen asCitizen_elt) {
	    this.asCitizen.add(asCitizen_elt);
	}
	
	/**
	 * Remove a asCitizen to the asCitizen collection.
	 * @param asCitizen_elt Element to remove
	 */
	public void removeAsCitizen(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Citizen asCitizen_elt) {
	    this.asCitizen.remove(asCitizen_elt);
	}
	
	/**
	 * Return asStudent.
	 * @return asStudent
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Student> getAsStudent() {
		if (asStudent == null) {
	        asStudent = new ArrayList<>();
	    }
	    return asStudent;
	}
	
	/**
	 * Set a value to attribute asStudent.
     */
	public void setAsStudent(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Student> asStudent) {
	    this.asStudent = asStudent;
	}
	
	
	
	/**
	 * Add a asStudent to the asStudent collection.
	 * @param asStudent_elt Element to add.
	 */
	public void addAsStudent(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Student asStudent_elt) {
	    this.asStudent.add(asStudent_elt);
	}
	
	/**
	 * Remove a asStudent to the asStudent collection.
	 * @param asStudent_elt Element to remove
	 */
	public void removeAsStudent(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Student asStudent_elt) {
	    this.asStudent.remove(asStudent_elt);
	}
	
	/**
	 * Return asMember.
	 * @return asMember
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Member> getAsMember() {
		if (asMember == null) {
	        asMember = new ArrayList<>();
	    }
	    return asMember;
	}
	
	/**
	 * Set a value to attribute asMember.
     */
	public void setAsMember(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Member> asMember) {
	    this.asMember = asMember;
	}
	
	
	
	/**
	 * Add a asMember to the asMember collection.
	 * @param asMember_elt Element to add.
	 */
	public void addAsMember(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Member asMember_elt) {
	    this.asMember.add(asMember_elt);
	}
	
	/**
	 * Remove a asMember to the asMember collection.
	 * @param asMember_elt Element to remove
	 */
	public void removeAsMember(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Member asMember_elt) {
	    this.asMember.remove(asMember_elt);
	}
	
	/**
	 * Return asOtherIDs.
	 * @return asOtherIDs
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDs> getAsOtherIDs() {
		if (asOtherIDs == null) {
	        asOtherIDs = new ArrayList<>();
	    }
	    return asOtherIDs;
	}
	
	/**
	 * Set a value to attribute asOtherIDs.
     */
	public void setAsOtherIDs(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDs> asOtherIDs) {
	    this.asOtherIDs = asOtherIDs;
	}
	
	
	
	/**
	 * Add a asOtherIDs to the asOtherIDs collection.
	 * @param asOtherIDs_elt Element to add.
	 */
	public void addAsOtherIDs(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDs asOtherIDs_elt) {
	    this.asOtherIDs.add(asOtherIDs_elt);
	}
	
	/**
	 * Remove a asOtherIDs to the asOtherIDs collection.
	 * @param asOtherIDs_elt Element to remove
	 */
	public void removeAsOtherIDs(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDs asOtherIDs_elt) {
	    this.asOtherIDs.remove(asOtherIDs_elt);
	}
	
	/**
	 * Return contactParty.
	 * @return contactParty
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02ContactParty> getContactParty() {
		if (contactParty == null) {
	        contactParty = new ArrayList<>();
	    }
	    return contactParty;
	}
	
	/**
	 * Set a value to attribute contactParty.
     */
	public void setContactParty(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02ContactParty> contactParty) {
	    this.contactParty = contactParty;
	}
	
	
	
	/**
	 * Add a contactParty to the contactParty collection.
	 * @param contactParty_elt Element to add.
	 */
	public void addContactParty(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02ContactParty contactParty_elt) {
	    this.contactParty.add(contactParty_elt);
	}
	
	/**
	 * Remove a contactParty to the contactParty collection.
	 * @param contactParty_elt Element to remove
	 */
	public void removeContactParty(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02ContactParty contactParty_elt) {
	    this.contactParty.remove(contactParty_elt);
	}
	
	/**
	 * Return guardian.
	 * @return guardian
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Guardian> getGuardian() {
		if (guardian == null) {
	        guardian = new ArrayList<>();
	    }
	    return guardian;
	}
	
	/**
	 * Set a value to attribute guardian.
     */
	public void setGuardian(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Guardian> guardian) {
	    this.guardian = guardian;
	}
	
	
	
	/**
	 * Add a guardian to the guardian collection.
	 * @param guardian_elt Element to add.
	 */
	public void addGuardian(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Guardian guardian_elt) {
	    this.guardian.add(guardian_elt);
	}
	
	/**
	 * Remove a guardian to the guardian collection.
	 * @param guardian_elt Element to remove
	 */
	public void removeGuardian(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Guardian guardian_elt) {
	    this.guardian.remove(guardian_elt);
	}
	
	/**
	 * Return personalRelationship.
	 * @return personalRelationship
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonalRelationship> getPersonalRelationship() {
		if (personalRelationship == null) {
	        personalRelationship = new ArrayList<>();
	    }
	    return personalRelationship;
	}
	
	/**
	 * Set a value to attribute personalRelationship.
     */
	public void setPersonalRelationship(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonalRelationship> personalRelationship) {
	    this.personalRelationship = personalRelationship;
	}
	
	
	
	/**
	 * Add a personalRelationship to the personalRelationship collection.
	 * @param personalRelationship_elt Element to add.
	 */
	public void addPersonalRelationship(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonalRelationship personalRelationship_elt) {
	    this.getPersonalRelationship().add(personalRelationship_elt);
	}
	
	/**
	 * Remove a personalRelationship to the personalRelationship collection.
	 * @param personalRelationship_elt Element to remove
	 */
	public void removePersonalRelationship(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PersonalRelationship personalRelationship_elt) {
	    this.getPersonalRelationship().remove(personalRelationship_elt);
	}
	
	/**
	 * Return careGiver.
	 * @return careGiver
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02CareGiver> getCareGiver() {
		if (careGiver == null) {
	        careGiver = new ArrayList<>();
	    }
	    return careGiver;
	}
	
	/**
	 * Set a value to attribute careGiver.
     */
	public void setCareGiver(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02CareGiver> careGiver) {
	    this.careGiver = careGiver;
	}
	
	
	
	/**
	 * Add a careGiver to the careGiver collection.
	 * @param careGiver_elt Element to add.
	 */
	public void addCareGiver(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02CareGiver careGiver_elt) {
	    this.careGiver.add(careGiver_elt);
	}
	
	/**
	 * Remove a careGiver to the careGiver collection.
	 * @param careGiver_elt Element to remove
	 */
	public void removeCareGiver(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02CareGiver careGiver_elt) {
	    this.careGiver.remove(careGiver_elt);
	}
	
	/**
	 * Return birthPlace.
	 * @return birthPlace
	 */
	public net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02BirthPlace getBirthPlace() {
	    return birthPlace;
	}
	
	/**
	 * Set a value to attribute birthPlace.
     */
	public void setBirthPlace(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02BirthPlace birthPlace) {
	    this.birthPlace = birthPlace;
	}
	
	
	
	
	/**
	 * Return guarantorRole.
	 * @return guarantorRole
	 */
	public List<net.ihe.gazelle.hl7v3.coctmt670000UV04.COCTMT670000UV04GuarantorRole> getGuarantorRole() {
		if (guarantorRole == null) {
	        guarantorRole = new ArrayList<>();
	    }
	    return guarantorRole;
	}
	
	/**
	 * Set a value to attribute guarantorRole.
     */
	public void setGuarantorRole(List<net.ihe.gazelle.hl7v3.coctmt670000UV04.COCTMT670000UV04GuarantorRole> guarantorRole) {
	    this.guarantorRole = guarantorRole;
	}
	
	
	
	/**
	 * Add a guarantorRole to the guarantorRole collection.
	 * @param guarantorRole_elt Element to add.
	 */
	public void addGuarantorRole(net.ihe.gazelle.hl7v3.coctmt670000UV04.COCTMT670000UV04GuarantorRole guarantorRole_elt) {
	    this.guarantorRole.add(guarantorRole_elt);
	}
	
	/**
	 * Remove a guarantorRole to the guarantorRole collection.
	 * @param guarantorRole_elt Element to remove
	 */
	public void removeGuarantorRole(net.ihe.gazelle.hl7v3.coctmt670000UV04.COCTMT670000UV04GuarantorRole guarantorRole_elt) {
	    this.guarantorRole.remove(guarantorRole_elt);
	}
	
	/**
	 * Return languageCommunication.
	 * @return languageCommunication
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02LanguageCommunication> getLanguageCommunication() {
		if (languageCommunication == null) {
	        languageCommunication = new ArrayList<>();
	    }
	    return languageCommunication;
	}
	
	/**
	 * Set a value to attribute languageCommunication.
     */
	public void setLanguageCommunication(List<net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02LanguageCommunication> languageCommunication) {
	    this.languageCommunication = languageCommunication;
	}
	
	
	
	/**
	 * Add a languageCommunication to the languageCommunication collection.
	 * @param languageCommunication_elt Element to add.
	 */
	public void addLanguageCommunication(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02LanguageCommunication languageCommunication_elt) {
