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.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
*
* A concept descriptor represents any kind of concept usually by giving a code defined in a code
* system. A concept descriptor can contain the original text or phrase that served as the basis of
* the coding and one or more translations into different coding systems. A concept descriptor can
* also contain qualifiers to describe, e.g., the concept of a "left foot" as a postcoordinated term
* built from the primary code "FOOT" and the qualifier "LEFT". In exceptional cases, the concept
* descriptor need not contain a code but only the original text describing that concept.
*
*
* <p>
* Java class for CD complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="CD">
* <complexContent>
* <extension base="{urn:hl7-org:v3}ANY">
* <sequence>
* <element name="originalText" type="{urn:hl7-org:v3}ED" minOccurs="0"/>
* <element name="qualifier" type="{urn:hl7-org:v3}CR" maxOccurs="unbounded" minOccurs="0"/>
* <element name="translation" type="{urn:hl7-org:v3}CD" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* <attribute name="code" type="{urn:hl7-org:v3}cs" />
* <attribute name="codeSystem" type="{urn:hl7-org:v3}uid" />
* <attribute name="codeSystemName" type="{urn:hl7-org:v3}st" />
* <attribute name="codeSystemVersion" type="{urn:hl7-org:v3}st" />
* <attribute name="displayName" type="{urn:hl7-org:v3}st" />
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CD", propOrder = {
"originalText", "qualifier", "translation"
})
@XmlSeeAlso({
BXITCD.class, SXCMCD.class, CE.class
})
public class CD extends ANY {
/**
*
*/
private static final long serialVersionUID = 1L;
protected ED originalText;
protected List<CR> qualifier;
protected List<CD> translation;
@XmlAttribute
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
protected String code;
@XmlAttribute
protected String codeSystem;
@XmlAttribute
protected String codeSystemName;
@XmlAttribute
protected String codeSystemVersion;
@XmlAttribute
protected String displayName;
/**
* Gets the value of the originalText property.
*
* @return possible object is {@link ED }
*
*/
public ED getOriginalText(){
return originalText;
}
/**
* Sets the value of the originalText property.
*
* @param value
* allowed object is {@link ED }
*
*/
public void setOriginalText(ED value){
this.originalText = value;
}
/**
* Gets the value of the qualifier 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 qualifier property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getQualifier().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link CR }
*
*
*/
public List<CR> getQualifier(){
if (qualifier == null) {
qualifier = new ArrayList<CR>();
}
return this.qualifier;
}
/**
* Gets the value of the translation 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 translation property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getTranslation().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link CD }
*
*
*/
public List<CD> getTranslation(){
if (translation == null) {
translation = new ArrayList<CD>();
}
return this.translation;
}
/**
* Gets the value of the code property.
*
* @return possible object is {@link String }
*
*/
public String getCode(){
return code;
}
/**
* Sets the value of the code property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setCode(String value){
this.code = value;
}
/**
* Gets the value of the codeSystem property.
*
* @return possible object is {@link String }
*
*/
public String getCodeSystem(){
return codeSystem;
}
/**
* Sets the value of the codeSystem property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setCodeSystem(String value){
this.codeSystem = value;
}
/**
* Gets the value of the codeSystemName property.
*
* @return possible object is {@link String }
*
*/
public String getCodeSystemName(){
return codeSystemName;
}
/**
* Sets the value of the codeSystemName property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setCodeSystemName(String value){
this.codeSystemName = value;
}
/**
* Gets the value of the codeSystemVersion property.
*
* @return possible object is {@link String }
*
*/
public String getCodeSystemVersion(){
return codeSystemVersion;
}
/**
* Sets the value of the codeSystemVersion property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setCodeSystemVersion(String value){
this.codeSystemVersion = value;
}
/**
* Gets the value of the displayName property.
*
* @return possible object is {@link String }
*
*/
public String getDisplayName(){
return displayName;
}
/**
* Sets the value of the displayName property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setDisplayName(String value){
this.displayName = value;
}
}