package org.hl7.v3;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for POCD_MT000040.Patient complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="POCD_MT000040.Patient">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="realmCode" type="{urn:hl7-org:v3}CS" maxOccurs="unbounded" minOccurs="0"/>
* <element name="typeId" type="{urn:hl7-org:v3}POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
* <element name="templateId" type="{urn:hl7-org:v3}II" maxOccurs="unbounded" minOccurs="0"/>
* <element name="id" type="{urn:hl7-org:v3}II" minOccurs="0"/>
* <element name="name" type="{urn:hl7-org:v3}PN" maxOccurs="unbounded" minOccurs="0"/>
* <element name="administrativeGenderCode" type="{urn:hl7-org:v3}CE" minOccurs="0"/>
* <element name="birthTime" type="{urn:hl7-org:v3}TS" minOccurs="0"/>
* <element name="maritalStatusCode" type="{urn:hl7-org:v3}CE" minOccurs="0"/>
* <element name="religiousAffiliationCode" type="{urn:hl7-org:v3}CE" minOccurs="0"/>
* <element name="raceCode" type="{urn:hl7-org:v3}CE" minOccurs="0"/>
* <element name="ethnicGroupCode" type="{urn:hl7-org:v3}CE" minOccurs="0"/>
* <element name="guardian" type="{urn:hl7-org:v3}POCD_MT000040.Guardian" maxOccurs="unbounded" minOccurs="0"/>
* <element name="birthplace" type="{urn:hl7-org:v3}POCD_MT000040.Birthplace" minOccurs="0"/>
* <element name="languageCommunication" type="{urn:hl7-org:v3}POCD_MT000040.LanguageCommunication" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* <attribute name="nullFlavor" type="{urn:hl7-org:v3}NullFlavor" />
* <attribute name="classCode" type="{urn:hl7-org:v3}EntityClass" fixed="PSN" />
* <attribute name="determinerCode" type="{urn:hl7-org:v3}EntityDeterminer" fixed="INSTANCE" />
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "POCD_MT000040.Patient", propOrder = {
"realmCode", "typeId", "templateId", "id", "name", "administrativeGenderCode", "birthTime",
"maritalStatusCode", "religiousAffiliationCode", "raceCode", "ethnicGroupCode", "guardian",
"birthplace", "languageCommunication"
})
public class POCDMT000040Patient {
protected List<CS> realmCode;
protected POCDMT000040InfrastructureRootTypeId typeId;
protected List<II> templateId;
protected II id;
protected List<PN> name;
protected CE administrativeGenderCode;
protected TS birthTime;
protected CE maritalStatusCode;
protected CE religiousAffiliationCode;
protected CE raceCode;
protected CE ethnicGroupCode;
protected List<POCDMT000040Guardian> guardian;
protected POCDMT000040Birthplace birthplace;
protected List<POCDMT000040LanguageCommunication> languageCommunication;
@XmlAttribute
protected List<String> nullFlavor;
@XmlAttribute
protected List<String> classCode;
@XmlAttribute
protected String determinerCode;
/**
* Gets the value of the realmCode property.
*
* <p>
* 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 JAXB object. This is
* why there is not a <CODE>set</CODE> method for the realmCode property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getRealmCode().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link CS }
*
*
*/
public List<CS> getRealmCode(){
if (realmCode == null) {
realmCode = new ArrayList<CS>();
}
return this.realmCode;
}
/**
* Gets the value of the typeId property.
*
* @return possible object is {@link POCDMT000040InfrastructureRootTypeId }
*
*/
public POCDMT000040InfrastructureRootTypeId getTypeId(){
return typeId;
}
/**
* Sets the value of the typeId property.
*
* @param value
* allowed object is {@link POCDMT000040InfrastructureRootTypeId }
*
*/
public void setTypeId(POCDMT000040InfrastructureRootTypeId value){
this.typeId = value;
}
/**
* Gets the value of the templateId property.
*
* <p>
* 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 JAXB object. This is
* why there is not a <CODE>set</CODE> method for the templateId property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getTemplateId().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link II }
*
*
*/
public List<II> getTemplateId(){
if (templateId == null) {
templateId = new ArrayList<II>();
}
return this.templateId;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link II }
*
*/
public II getId(){
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link II }
*
*/
public void setId(II value){
this.id = value;
}
/**
* Gets the value of the name property.
*
* <p>
* 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 JAXB object. This is
* why there is not a <CODE>set</CODE> method for the name property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getName().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link PN }
*
*
*/
public List<PN> getName(){
if (name == null) {
name = new ArrayList<PN>();
}
return this.name;
}
/**
* Gets the value of the administrativeGenderCode property.
*
* @return possible object is {@link CE }
*
*/
public CE getAdministrativeGenderCode(){
return administrativeGenderCode;
}
/**
* Sets the value of the administrativeGenderCode property.
*
* @param value
* allowed object is {@link CE }
*
*/
public void setAdministrativeGenderCode(CE value){
this.administrativeGenderCode = value;
}
/**
* Gets the value of the birthTime property.
*
* @return possible object is {@link TS }
*
*/
public TS getBirthTime(){
return birthTime;
}
/**
* Sets the value of the birthTime property.
*
* @param value
* allowed object is {@link TS }
*
*/
public void setBirthTime(TS value){
this.birthTime = value;
}
/**
* Gets the value of the maritalStatusCode property.
*
* @return possible object is {@link CE }
*
*/
public CE getMaritalStatusCode(){
return maritalStatusCode;
}
/**
* Sets the value of the maritalStatusCode property.
*
* @param value
* allowed object is {@link CE }
*
*/
public void setMaritalStatusCode(CE value){
this.maritalStatusCode = value;
}
/**
* Gets the value of the religiousAffiliationCode property.
*
* @return possible object is {@link CE }
*
*/
public CE getReligiousAffiliationCode(){
return religiousAffiliationCode;
}
/**
* Sets the value of the religiousAffiliationCode property.
*
* @param value
* allowed object is {@link CE }
*
*/
public void setReligiousAffiliationCode(CE value){
this.religiousAffiliationCode = value;
}
/**
* Gets the value of the raceCode property.
*
* @return possible object is {@link CE }
*
*/
public CE getRaceCode(){
return raceCode;
}
/**
* Sets the value of the raceCode property.
*
* @param value
* allowed object is {@link CE }
*
*/
public void setRaceCode(CE value){
this.raceCode = value;
}
/**
* Gets the value of the ethnicGroupCode property.
*
* @return possible object is {@link CE }
*
*/
public CE getEthnicGroupCode(){
return ethnicGroupCode;
}
/**
* Sets the value of the ethnicGroupCode property.
*
* @param value
* allowed object is {@link CE }
*
*/
public void setEthnicGroupCode(CE value){
this.ethnicGroupCode = value;
}
/**
* Gets the value of the guardian property.
*
* <p>
* 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 JAXB object. This is
* why there is not a <CODE>set</CODE> method for the guardian property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getGuardian().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link POCDMT000040Guardian }
*
*
*/
public List<POCDMT000040Guardian> getGuardian(){
if (guardian == null) {
guardian = new ArrayList<POCDMT000040Guardian>();
}
return this.guardian;
}
/**
* Gets the value of the birthplace property.
*
* @return possible object is {@link POCDMT000040Birthplace }
*
*/
public POCDMT000040Birthplace getBirthplace(){
return birthplace;
}
/**
* Sets the value of the birthplace property.
*
* @param value
* allowed object is {@link POCDMT000040Birthplace }
*
*/
public void setBirthplace(POCDMT000040Birthplace value){
this.birthplace = value;
}
/**
* Gets the value of the languageCommunication property.
*
* <p>
* 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 JAXB object. This is
* why there is not a <CODE>set</CODE> method for the languageCommunication property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getLanguageCommunication().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link POCDMT000040LanguageCommunication }
*
*
*/
public List<POCDMT000040LanguageCommunication> getLanguageCommunication(){
if (languageCommunication == null) {
languageCommunication = new ArrayList<POCDMT000040LanguageCommunication>();
}
return this.languageCommunication;
}
/**
* Gets the value of the nullFlavor property.
*
* <p>
* 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 JAXB object. This is
* why there is not a <CODE>set</CODE> method for the nullFlavor property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getNullFlavor().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link String }
*
*
*/
public List<String> getNullFlavor(){
if (nullFlavor == null) {
nullFlavor = new ArrayList<String>();
}
return this.nullFlavor;
}
/**
* Gets the value of the classCode property.
*
* <p>
* 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 JAXB object. This is
* why there is not a <CODE>set</CODE> method for the classCode property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getClassCode().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link String }
*
*
*/
public List<String> getClassCode(){
if (classCode == null) {
classCode = new ArrayList<String>();
}
return this.classCode;
}
/**
* Gets the value of the determinerCode property.
*
* @return possible object is {@link String }
*
*/
public String getDeterminerCode(){
if (determinerCode == null) {
return "INSTANCE";
} else {
return determinerCode;
}
}
/**
* Sets the value of the determinerCode property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setDeterminerCode(String value){
this.determinerCode = value;
}
}