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.Reference complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="POCD_MT000040.Reference">
* <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="seperatableInd" type="{urn:hl7-org:v3}BL" minOccurs="0"/>
* <choice>
* <element name="externalAct" type="{urn:hl7-org:v3}POCD_MT000040.ExternalAct"/>
* <element name="externalObservation" type="{urn:hl7-org:v3}POCD_MT000040.ExternalObservation"/>
* <element name="externalProcedure" type="{urn:hl7-org:v3}POCD_MT000040.ExternalProcedure"/>
* <element name="externalDocument" type="{urn:hl7-org:v3}POCD_MT000040.ExternalDocument"/>
* </choice>
* </sequence>
* <attribute name="nullFlavor" type="{urn:hl7-org:v3}NullFlavor" />
* <attribute name="typeCode" use="required" type="{urn:hl7-org:v3}x_ActRelationshipExternalReference" />
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "POCD_MT000040.Reference", propOrder = {
"realmCode", "typeId", "templateId", "seperatableInd", "externalAct", "externalObservation",
"externalProcedure", "externalDocument"
})
public class POCDMT000040Reference {
protected List<CS> realmCode;
protected POCDMT000040InfrastructureRootTypeId typeId;
protected List<II> templateId;
protected BL seperatableInd;
protected POCDMT000040ExternalAct externalAct;
protected POCDMT000040ExternalObservation externalObservation;
protected POCDMT000040ExternalProcedure externalProcedure;
protected POCDMT000040ExternalDocument externalDocument;
@XmlAttribute
protected List<String> nullFlavor;
@XmlAttribute(required = true)
protected XActRelationshipExternalReference typeCode;
/**
* 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 seperatableInd property.
*
* @return possible object is {@link BL }
*
*/
public BL getSeperatableInd(){
return seperatableInd;
}
/**
* Sets the value of the seperatableInd property.
*
* @param value
* allowed object is {@link BL }
*
*/
public void setSeperatableInd(BL value){
this.seperatableInd = value;
}
/**
* Gets the value of the externalAct property.
*
* @return possible object is {@link POCDMT000040ExternalAct }
*
*/
public POCDMT000040ExternalAct getExternalAct(){
return externalAct;
}
/**
* Sets the value of the externalAct property.
*
* @param value
* allowed object is {@link POCDMT000040ExternalAct }
*
*/
public void setExternalAct(POCDMT000040ExternalAct value){
this.externalAct = value;
}
/**
* Gets the value of the externalObservation property.
*
* @return possible object is {@link POCDMT000040ExternalObservation }
*
*/
public POCDMT000040ExternalObservation getExternalObservation(){
return externalObservation;
}
/**
* Sets the value of the externalObservation property.
*
* @param value
* allowed object is {@link POCDMT000040ExternalObservation }
*
*/
public void setExternalObservation(POCDMT000040ExternalObservation value){
this.externalObservation = value;
}
/**
* Gets the value of the externalProcedure property.
*
* @return possible object is {@link POCDMT000040ExternalProcedure }
*
*/
public POCDMT000040ExternalProcedure getExternalProcedure(){
return externalProcedure;
}
/**
* Sets the value of the externalProcedure property.
*
* @param value
* allowed object is {@link POCDMT000040ExternalProcedure }
*
*/
public void setExternalProcedure(POCDMT000040ExternalProcedure value){
this.externalProcedure = value;
}
/**
* Gets the value of the externalDocument property.
*
* @return possible object is {@link POCDMT000040ExternalDocument }
*
*/
public POCDMT000040ExternalDocument getExternalDocument(){
return externalDocument;
}
/**
* Sets the value of the externalDocument property.
*
* @param value
* allowed object is {@link POCDMT000040ExternalDocument }
*
*/
public void setExternalDocument(POCDMT000040ExternalDocument value){
this.externalDocument = value;
}
/**
* 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 typeCode property.
*
* @return possible object is {@link XActRelationshipExternalReference }
*
*/
public XActRelationshipExternalReference getTypeCode(){
return typeCode;
}
/**
* Sets the value of the typeCode property.
*
* @param value
* allowed object is {@link XActRelationshipExternalReference }
*
*/
public void setTypeCode(XActRelationshipExternalReference value){
this.typeCode = value;
}
}