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

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 PRPAMT201310UV02Person.
 *
 */

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PRPA_MT201310UV02.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_MT201310UV02.Person")
public class PRPAMT201310UV02Person 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.datatypes.II> 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.prpamt201310UV02.PRPAMT201310UV02PatientOfOtherProvider> asPatientOfOtherProvider;
	@XmlElement(name = "asEmployee", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Employee> asEmployee;
	@XmlElement(name = "asCitizen", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Citizen> asCitizen;
	@XmlElement(name = "asStudent", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Student> asStudent;
	@XmlElement(name = "asMember", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Member> asMember;
	@XmlElement(name = "asOtherIDs", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02OtherIDs> asOtherIDs;
	@XmlElement(name = "contactParty", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02ContactParty> contactParty;
	@XmlElement(name = "guardian", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Guardian> guardian;
	@XmlElement(name = "personalRelationship", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02PersonalRelationship> personalRelationship;
	@XmlElement(name = "careGiver", namespace = "urn:hl7-org:v3")
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02CareGiver> careGiver;
	@XmlElement(name = "birthPlace", namespace = "urn:hl7-org:v3")
	public net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02BirthPlace 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.prpamt201310UV02.PRPAMT201310UV02LanguageCommunication> 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.datatypes.II> getId() {
		if (id == null) {
			id = new ArrayList<>();
		}
		return id;
	}

	/**
	 * Set a value to attribute id.
	 * 
	 * @param id
	 *            .
	 */
	public void setId(List<net.ihe.gazelle.hl7v3.datatypes.II> id) {
		this.id = id;
	}

	/**
	 * Add a id to the id collection.
	 * 
	 * @param id_elt
	 *            Element to add.
	 */
	public void addId(net.ihe.gazelle.hl7v3.datatypes.II id_elt) {
		if (this.id == null) {
			this.id = new ArrayList<>();
		}
		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.datatypes.II 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.getDisabilityCode().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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.
	 * 
	 * @param 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.getRaceCode().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.
	 * 
	 * @param 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.getEthnicGroupCode().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.prpamt201310UV02.PRPAMT201310UV02PatientOfOtherProvider> getAsPatientOfOtherProvider() {
		if (asPatientOfOtherProvider == null) {
			asPatientOfOtherProvider = new ArrayList<>();
		}
		return asPatientOfOtherProvider;
	}

	/**
	 * Set a value to attribute asPatientOfOtherProvider.
	 * 
	 * @param asPatientOfOtherProvider
	 *            .
	 */
	public void setAsPatientOfOtherProvider(
			List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02PatientOfOtherProvider> asPatientOfOtherProvider) {
		this.asPatientOfOtherProvider = asPatientOfOtherProvider;
	}

	/**
	 * Add a asPatientOfOtherProvider to the asPatientOfOtherProvider collection.
	 * 
	 * @param asPatientOfOtherProvider_elt
	 *            Element to add.
	 */
	public void addAsPatientOfOtherProvider(
			net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02PatientOfOtherProvider asPatientOfOtherProvider_elt) {
		this.getAsPatientOfOtherProvider().add(asPatientOfOtherProvider_elt);
	}

	/**
	 * Remove a asPatientOfOtherProvider to the asPatientOfOtherProvider collection.
	 * 
	 * @param asPatientOfOtherProvider_elt
	 *            Element to remove
	 */
	public void removeAsPatientOfOtherProvider(
			net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02PatientOfOtherProvider asPatientOfOtherProvider_elt) {
		this.getAsPatientOfOtherProvider().remove(asPatientOfOtherProvider_elt);
	}

	/**
	 * Return asEmployee.
	 * 
	 * @return asEmployee
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Employee> getAsEmployee() {
		if (asEmployee == null) {
			asEmployee = new ArrayList<>();
		}
		return asEmployee;
	}

	/**
	 * Set a value to attribute asEmployee.
	 * 
	 * @param asEmployee
	 *            .
	 */
	public void setAsEmployee(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Employee> asEmployee) {
		this.asEmployee = asEmployee;
	}

	/**
	 * Add a asEmployee to the asEmployee collection.
	 * 
	 * @param asEmployee_elt
	 *            Element to add.
	 */
	public void addAsEmployee(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Employee asEmployee_elt) {
		this.getAsEmployee().add(asEmployee_elt);
	}

	/**
	 * Remove a asEmployee to the asEmployee collection.
	 * 
	 * @param asEmployee_elt
	 *            Element to remove
	 */
	public void removeAsEmployee(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Employee asEmployee_elt) {
		this.asEmployee.remove(asEmployee_elt);
	}

	/**
	 * Return asCitizen.
	 * 
	 * @return asCitizen
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Citizen> getAsCitizen() {
		if (asCitizen == null) {
			asCitizen = new ArrayList<>();
		}
		return asCitizen;
	}

	/**
	 * Set a value to attribute asCitizen.
	 * 
	 * @param asCitizen
	 *            .
	 */
	public void setAsCitizen(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Citizen> asCitizen) {
		this.asCitizen = asCitizen;
	}

	/**
	 * Add a asCitizen to the asCitizen collection.
	 * 
	 * @param asCitizen_elt
	 *            Element to add.
	 */
	public void addAsCitizen(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Citizen asCitizen_elt) {
		this.getAsCitizen().add(asCitizen_elt);
	}

	/**
	 * Remove a asCitizen to the asCitizen collection.
	 * 
	 * @param asCitizen_elt
	 *            Element to remove
	 */
	public void removeAsCitizen(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Citizen asCitizen_elt) {
		this.asCitizen.remove(asCitizen_elt);
	}

	/**
	 * Return asStudent.
	 * 
	 * @return asStudent
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Student> getAsStudent() {
		if (asStudent == null) {
			asStudent = new ArrayList<>();
		}
		return asStudent;
	}

	/**
	 * Set a value to attribute asStudent.
	 * 
	 * @param asStudent
	 *            .
	 */
	public void setAsStudent(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Student> asStudent) {
		this.asStudent = asStudent;
	}

	/**
	 * Add a asStudent to the asStudent collection.
	 * 
	 * @param asStudent_elt
	 *            Element to add.
	 */
	public void addAsStudent(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Student asStudent_elt) {
		this.getAsStudent().add(asStudent_elt);
	}

	/**
	 * Remove a asStudent to the asStudent collection.
	 * 
	 * @param asStudent_elt
	 *            Element to remove
	 */
	public void removeAsStudent(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Student asStudent_elt) {
		this.asStudent.remove(asStudent_elt);
	}

	/**
	 * Return asMember.
	 * 
	 * @return asMember
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Member> getAsMember() {
		if (asMember == null) {
			asMember = new ArrayList<>();
		}
		return asMember;
	}

	/**
	 * Set a value to attribute asMember.
	 * 
	 * @param asMember
	 *            .
	 */
	public void setAsMember(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Member> asMember) {
		this.asMember = asMember;
	}

	/**
	 * Add a asMember to the asMember collection.
	 * 
	 * @param asMember_elt
	 *            Element to add.
	 */
	public void addAsMember(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Member asMember_elt) {
		this.getAsMember().add(asMember_elt);
	}

	/**
	 * Remove a asMember to the asMember collection.
	 * 
	 * @param asMember_elt
	 *            Element to remove
	 */
	public void removeAsMember(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Member asMember_elt) {
		this.asMember.remove(asMember_elt);
	}

	/**
	 * Return asOtherIDs.
	 * 
	 * @return asOtherIDs
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02OtherIDs> getAsOtherIDs() {
		if (asOtherIDs == null) {
			asOtherIDs = new ArrayList<>();
		}
		return asOtherIDs;
	}

	/**
	 * Set a value to attribute asOtherIDs.
	 * 
	 * @param asOtherIDs
	 *            .
	 */
	public void setAsOtherIDs(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02OtherIDs> asOtherIDs) {
		this.asOtherIDs = asOtherIDs;
	}

	/**
	 * Add a asOtherIDs to the asOtherIDs collection.
	 * 
	 * @param asOtherIDs_elt
	 *            Element to add.
	 */
	public void addAsOtherIDs(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02OtherIDs asOtherIDs_elt) {
		this.getAsOtherIDs().add(asOtherIDs_elt);
	}

	/**
	 * Remove a asOtherIDs to the asOtherIDs collection.
	 * 
	 * @param asOtherIDs_elt
	 *            Element to remove
	 */
	public void removeAsOtherIDs(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02OtherIDs asOtherIDs_elt) {
		this.getAsOtherIDs().remove(asOtherIDs_elt);
	}

	/**
	 * Return contactParty.
	 * 
	 * @return contactParty
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02ContactParty> getContactParty() {
		if (contactParty == null) {
			contactParty = new ArrayList<>();
		}
		return contactParty;
	}

	/**
	 * Set a value to attribute contactParty.
	 * 
	 * @param contactParty
	 *            .
	 */
	public void setContactParty(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02ContactParty> contactParty) {
		this.contactParty = contactParty;
	}

	/**
	 * Add a contactParty to the contactParty collection.
	 * 
	 * @param contactParty_elt
	 *            Element to add.
	 */
	public void addContactParty(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02ContactParty contactParty_elt) {
		this.getContactParty().add(contactParty_elt);
	}

	/**
	 * Remove a contactParty to the contactParty collection.
	 * 
	 * @param contactParty_elt
	 *            Element to remove
	 */
	public void removeContactParty(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02ContactParty contactParty_elt) {
		this.getContactParty().remove(contactParty_elt);
	}

	/**
	 * Return guardian.
	 * 
	 * @return guardian
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Guardian> getGuardian() {
		if (guardian == null) {
			guardian = new ArrayList<>();
		}
		return guardian;
	}

	/**
	 * Set a value to attribute guardian.
	 * 
	 * @param guardian
	 *            .
	 */
	public void setGuardian(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Guardian> guardian) {
		this.guardian = guardian;
	}

	/**
	 * Add a guardian to the guardian collection.
	 * 
	 * @param guardian_elt
	 *            Element to add.
	 */
	public void addGuardian(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Guardian guardian_elt) {
		this.getGuardian().add(guardian_elt);
	}

	/**
	 * Remove a guardian to the guardian collection.
	 * 
	 * @param guardian_elt
	 *            Element to remove
	 */
	public void removeGuardian(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02Guardian guardian_elt) {
		this.getGuardian().remove(guardian_elt);
	}

	/**
	 * Return personalRelationship.
	 * 
	 * @return personalRelationship
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02PersonalRelationship> getPersonalRelationship() {
		if (personalRelationship == null) {
			personalRelationship = new ArrayList<>();
		}
		return personalRelationship;
	}

	/**
	 * Set a value to attribute personalRelationship.
	 * 
	 * @param personalRelationship
	 *            .
	 */
	public void setPersonalRelationship(
			List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02PersonalRelationship> personalRelationship) {
		this.personalRelationship = personalRelationship;
	}

	/**
	 * Add a personalRelationship to the personalRelationship collection.
	 * 
	 * @param personalRelationship_elt
	 *            Element to add.
	 */
	public void addPersonalRelationship(
			net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02PersonalRelationship 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.prpamt201310UV02.PRPAMT201310UV02PersonalRelationship personalRelationship_elt) {
		this.getPersonalRelationship().remove(personalRelationship_elt);
	}

	/**
	 * Return careGiver.
	 * 
	 * @return careGiver
	 */
	public List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02CareGiver> getCareGiver() {
		if (careGiver == null) {
			careGiver = new ArrayList<>();
		}
		return careGiver;
	}

	/**
	 * Set a value to attribute careGiver.
	 * 
	 * @param careGiver
	 *            .
	 */
	public void setCareGiver(List<net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02CareGiver> careGiver) {
		this.careGiver = careGiver;
	}

	/**
	 * Add a careGiver to the careGiver collection.
	 * 
	 * @param careGiver_elt
	 *            Element to add.
	 */
	public void addCareGiver(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02CareGiver careGiver_elt) {
		this.getCareGiver().add(careGiver_elt);
	}

	/**
	 * Remove a careGiver to the careGiver collection.
	 * 
	 * @param careGiver_elt
	 *            Element to remove
	 */
	public void removeCareGiver(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02CareGiver careGiver_elt) {
		this.getCareGiver().remove(careGiver_elt);
	}

	/**
	 * Return birthPlace.
	 * 
	 * @return birthPlace
	 */
	public net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02BirthPlace getBirthPlace() {
		return birthPlace;
	}

	/**
	 * Set a value to attribute birthPlace.
	 * 
	 * @param birthPlace
	 *            .
	 */
	public void setBirthPlace(net.ihe.gazelle.hl7v3.prpamt201310UV02.PRPAMT201310UV02BirthPlace 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.
	 * 
	 * @param guarantorRole
	 *            .
	 */
	public void setGuarantorRole(
