/*******************************************************************************
 *  Copyright 2017-2018 Centre for Development of Advanced Computing(C-DAC), Pune
 *  
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *  
 *   http://www.apache.org/licenses/LICENSE-2.0
 *  
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *******************************************************************************/
package cdac.medinfo.sdk.dcm30_04.templates.breastimagingreporttemplates;

import cdac.medinfo.sdk.dcm30_04.baselibs.ContentSequenceItem;
import cdac.medinfo.sdk.dcm30_04.enums.EnumContinuityOfContent;
import cdac.medinfo.sdk.dcm30_04.srtree.SRTree;
import cdac.medinfo.sdk.dcm30_04.templates.cid.FluidColor_CID6067;
import cdac.medinfo.sdk.dcm30_04.templates.cid.InstrumentApproach_CID6065;
import cdac.medinfo.sdk.dcm30_04.templates.cid.InterventionalProcedureComplications_CID6062;
import cdac.medinfo.sdk.dcm30_04.templates.cid.PositiveNegative_CID250;
import cdac.medinfo.sdk.dcm30_04.templates.cid.SeverityOfComplication_CID251;
import cdac.medinfo.sdk.dcm30_04.templates.cid.TargetConfirmation_CID6066;
import cdac.medinfo.sdk.dcm30_04.templates.cid.YesNo_CID230;
import cdac.medinfo.sdk.dcm30_04.templates.enums.EnumCodingSchemeDesignator;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_ActionOnFluid;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_BreastImagingReportInterventionSection;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_FluidColor;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_InstrumentApproach;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_InterventionalProcedureComplications;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_PositiveNegative;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_SeverityOfComplication;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_TargetConfirmation;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_Unit;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cm.EnumCM_YesNo;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cv.EnumCV_ActionOnFluid;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cv.EnumCV_BreastImagingReportInterventionSection;
import cdac.medinfo.sdk.dcm30_04.templates.enums.cv.EnumCV_Unit;
import cdac.medinfo.sdk.dcm30_04.templates.generaltemplates.ReferencesToSupportingEvidence_TID350;
import cdac.medinfo.sdk.dcm30_04.templates.generaltemplates.SubjectContextSpecimen_TID1009;
import cdac.medinfo.sdk.dcm30_04.templates.generaltemplates.Template;

/**
 * This class represents BreastImagingReportInterventionSection - TID4204
 */
public class BreastImagingReportInterventionSection_TID4204 extends Template
{
	/**
	 * Object of BreastImagingPathologyResults_TID4207. 
	 */

	private BreastImagingPathologyResults_TID4207 objBreastImagingPathologyResultsTID4207 = null;

	/**
	 * Object of PositiveNegative_CID250
	 */
	private PositiveNegative_CID250 objPositiveNegativeCID250;

	/**
	 * Object of SubjectContextSpecimen_TID1009
	 */

	private SubjectContextSpecimen_TID1009 objSubjectContextSpecimen_TID1009;

	/**
	 * Object of SeverityOfComplication_CID251
	 */
	private SeverityOfComplication_CID251 objSeverityOfComplicationCID251;

	/**
	 * Object of FluidColor_CID6067
	 */
	private FluidColor_CID6067 objFluidColorCID6067;

	/**
	 * Object of InterventionalProcedureComplications_CID6062
	 */
	private InterventionalProcedureComplications_CID6062 objProcedureComplicationsCID6062;

	/**
	 * Object of TargetConfirmation_CID6066
	 */
	private TargetConfirmation_CID6066 objTargetConfirmationCID6066;

	/**
	 * Object of YesNo_CID230
	 */
	private YesNo_CID230 objYesNoCID230;

	/**
	 * Object of InstrumentApproach_CID6065
	 */
	private InstrumentApproach_CID6065 objInstrumentApproachCID6065;

	/**
	 * Object of BreastImagingProcedureReported_TID4201. 
	 */

	private BreastImagingProcedureReported_TID4201 objBreastImagingProcedureReportedTID4201;
	/**
	 * Object of ReferencesToSupportingEvidence_TID350. 
	 */

	private ReferencesToSupportingEvidence_TID350 objReferencesToSupportingEvidenceTID350;

	/**
	 * Instantiates BreastImagingReportInterventionSection_TID4204 Template.
	 * @param objTree Object of SRTree.
	 */
	public BreastImagingReportInterventionSection_TID4204(SRTree objTree)
	{
		super(objTree);
	}

	/**
	 * Retrieves the object of BreastImagingProcedureReported.
	 * @return objBreastImagingProcedureReportedTID4201 object of BreastImagingProcedureReported_TID4201
	 */
	public BreastImagingProcedureReported_TID4201 getBreastImagingProcedureReported() 
	{
		if(null == this.objBreastImagingProcedureReportedTID4201)
			this.objBreastImagingProcedureReportedTID4201 = new BreastImagingProcedureReported_TID4201(getSRTree());
		return this.objBreastImagingProcedureReportedTID4201;
	}

	/**
	 * Retrieves the object of ReferencesToSupportingEvidence.
	 * @return objReferencesToSupportingEvidenceTID350 object of ReferencesToSupportingEvidence_TID350
	 */
	public ReferencesToSupportingEvidence_TID350 getReferencesToSupportingEvidence() 
	{
		if(null == this.objReferencesToSupportingEvidenceTID350)
			this.objReferencesToSupportingEvidenceTID350 = new ReferencesToSupportingEvidence_TID350(getSRTree());
		return this.objReferencesToSupportingEvidenceTID350;
	} 
	
	/**
	 * Retrieves the object of SubjectContextSpecimen_TID1009
	 * @return objSubjectContextSpecimen_TID1009 object of SubjectContextSpecimen_TID1009
	 */
	public SubjectContextSpecimen_TID1009 getObjSubjectContextSpecimen_TID1009() 
	{
		if(null == objSubjectContextSpecimen_TID1009)
			objSubjectContextSpecimen_TID1009 = new SubjectContextSpecimen_TID1009(getSRTree());
		return objSubjectContextSpecimen_TID1009;
	}

	/**
	 * Retrieves the object of BreastImagingPathologyResults.
	 * @return objBreastImagingProcedureReportedTID4201 object of BreastImagingPathologyResults_TID4207
	 */
	public BreastImagingPathologyResults_TID4207 getBreastImagingPathologyResults() 
	{
		if(null == this.objBreastImagingPathologyResultsTID4207)
			this.objBreastImagingPathologyResultsTID4207 = new BreastImagingPathologyResults_TID4207(getSRTree());
		return this.objBreastImagingPathologyResultsTID4207;
	}

	/**
	 * Sets the value for Supplementary Data for Intervention
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumContinuityOfContent Enumerated Value for ContinuityOfContent.
	 */
	public void setSupplementaryDataForIntervention(int[] arrPosition, EnumContinuityOfContent enumContinuityOfContent)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.SUPPLEMENTARY_DATA_FOR_INTERVENTION.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.SUPPLEMENTARY_DATA_FOR_INTERVENTION_111463.getValue();
		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CONTAINER and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createContainer(arrPosition, strCodeMeaning, strCodeValue, strCSD, enumContinuityOfContent);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets value for Instrument.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 */
	public void setInstrument(int[] arrPosition)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.INSTRUMENT.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.INSTRUMENT_A_00110.getValue();
		String strCSDesg = EnumCodingSchemeDesignator.SRT.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning, strCodeValue, strCSDesg, "", "", "", "");
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Needle Gauge
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param strNeedleGauge String value for Needle Gauge.
	 */
	public void setNeedleGauge(int[] arrPosition, String strNeedleGauge)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.NEEDLE_GAUGE.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.NEEDLE_GAUGE_111465.getValue();
		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type TEXT and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createTextNode(arrPosition, strCodeMeaning, strCodeValue, strCSD, strNeedleGauge);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets value for Needle Gauge.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 */
	public void setNeedleGauge(int[] arrPosition)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.NEEDLE_GAUGE.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.NEEDLE_GAUGE_111465.getValue();
		String strCSDesg = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning, strCodeValue, strCSDesg, "", "", "", "");
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Needle Length.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param arrNumericValue String array for Numeric Value.
	 */
	public void setNeedleLength(int[] arrPosition,String[] arrNumericValue)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCMForUnit = EnumCM_Unit.CM.getValue();
		String strCVForUnit = EnumCV_Unit.CM.getValue();
		String strCSDForUnit = EnumCodingSchemeDesignator.UCUM.getValue();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.NEEDLE_LENGTH.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.NEEDLE_LENGTH_111467.getValue();
		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		ContentSequenceItem objContentSequenceItem = getSRTree().createNumNode(arrPosition,strCodeMeaning,strCodeValue,strCSD,arrNumericValue,strCVForUnit,strCSDForUnit,"",strCMForUnit,"","","","");
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Number of passes.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param arrNumericValue String array for Numeric Value.
	 */
	public void setNumberOfPasses(int[] arrPosition,String[] arrNumericValue)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCMForUnit = EnumCM_Unit.PASSES.getValue();
		String strCVForUnit = EnumCV_Unit.PASSES.getValue();
		String strCSDForUnit = EnumCodingSchemeDesignator.UCUM.getValue();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.NUMBER_OF_PASSES.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.NUMBER_OF_PASSES_111436.getValue();
		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		ContentSequenceItem objContentSequenceItem = getSRTree().createNumNode(arrPosition,strCodeMeaning,strCodeValue,strCSD,arrNumericValue,strCVForUnit,strCSDForUnit,"",strCMForUnit,"","","","");
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Number of specimens.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param arrNumericValue String array for Numeric Value.
	 */
	public void setNumberOfSpecimens(int[] arrPosition,String[] arrNumericValue)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCMForUnit = EnumCM_Unit.SPECIMENS.getValue();
		String strCVForUnit = EnumCV_Unit.SPECIMENS.getValue();
		String strCSDForUnit = EnumCodingSchemeDesignator.UCUM.getValue();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.NUMBER_OF_SPECIMENS.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.NUMBER_OF_SPECIMENS_111437.getValue();
		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		ContentSequenceItem objContentSequenceItem = getSRTree().createNumNode(arrPosition,strCodeMeaning,strCodeValue,strCSD,arrNumericValue,strCVForUnit,strCSDForUnit,"",strCMForUnit,"","","","");
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets value for Instrument Approach.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumInstrumentApproach Enumerated value for InstrumentApproach
	 */
	public void setInstrumentApproach(int[] arrPosition, EnumCM_InstrumentApproach enumInstrumentApproach)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.INSTRUMENT_APPROACH.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.INSTRUMENT_APPROACH_111431.getValue();
		String strCSDesg = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Setting value for ComplicationOfProcedure
		 */
		if(null== this.objInstrumentApproachCID6065)
			this.objInstrumentApproachCID6065 = new InstrumentApproach_CID6065();
		this.objInstrumentApproachCID6065.setInstrumentApproach(enumInstrumentApproach);

		String strCM = objInstrumentApproachCID6065.getCodeMeaning();
		String strCV = objInstrumentApproachCID6065.getCodeValue();
		String strCSD = objInstrumentApproachCID6065.getCodingSchemeDesignator();
		String strSNOMEDCTID = objInstrumentApproachCID6065.getSNOMEDCTID();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning, strCodeValue, strCSDesg, strCV, strCSD, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Needle in target.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumYesNo Enum value for Yes-No.
	 */
	public void setNeedleInTarget(int[] arrPosition, EnumCM_YesNo enumYesNo)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objYesNoCID230)
			this.objYesNoCID230 = new YesNo_CID230();
		this.objYesNoCID230.setYesNo(enumYesNo);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objYesNoCID230.getCodeMeaning();
		String strCV = this.objYesNoCID230.getCodeValue();
		String strCSD1 = this.objYesNoCID230.getCodingSchemeDesignator();
		String strSNOMEDCTID = objYesNoCID230.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.NEEDLE_IN_TARGET.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.NEEDLE_IN_TARGET_111438.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}
	/**
	 * Sets the value for Incision made.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumYesNo Enum value for Yes-No.
	 */
	public void setMarkerPlacement(int[] arrPosition, EnumCM_YesNo enumYesNo)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objYesNoCID230)
			this.objYesNoCID230 = new YesNo_CID230();
		this.objYesNoCID230.setYesNo(enumYesNo);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objYesNoCID230.getCodeMeaning();
		String strCV = this.objYesNoCID230.getCodeValue();
		String strCSD1 = this.objYesNoCID230.getCodingSchemeDesignator();
		String strSNOMEDCTID = objYesNoCID230.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.MARKER_PLACEMENT.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.MARKER_PLACEMENT_111123.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}
	/**
	 * Sets the value for Number of needles around target.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param arrNumericValue String array for Numeric Value.
	 */
	public void setNumberOfNeedlesAroundTarget(int[] arrPosition,String[] arrNumericValue)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCMForUnit = EnumCM_Unit.NEEDLES.getValue();
		String strCVForUnit = EnumCV_Unit.NEEDLES.getValue();
		String strCSDForUnit = EnumCodingSchemeDesignator.UCUM.getValue();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.NUMBER_OF_NEEDLES_AROUND_TARGET.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.NUMBER_OF_NEEDLES_AROUND_TARGET_111439.getValue();
		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		ContentSequenceItem objContentSequenceItem = getSRTree().createNumNode(arrPosition,strCodeMeaning,strCodeValue,strCSD,arrNumericValue,strCVForUnit,strCSDForUnit,"",strCMForUnit,"","","","");
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets value for Medication given.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 */
	public void setMedicationGiven(int[] arrPosition)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.MEDICATION_GIVEN.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.MEDICATION_GIVEN_F_04460.getValue();
		String strCSDesg = EnumCodingSchemeDesignator.SRT.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning, strCodeValue, strCSDesg, "", "", "", "");
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Incision made.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumYesNo Enum value for Yes-No.
	 */
	public void setIncisionMade(int[] arrPosition, EnumCM_YesNo enumYesNo)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objYesNoCID230)
			this.objYesNoCID230 = new YesNo_CID230();
		this.objYesNoCID230.setYesNo(enumYesNo);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objYesNoCID230.getCodeMeaning();
		String strCV = this.objYesNoCID230.getCodeValue();
		String strCSD1 = this.objYesNoCID230.getCodingSchemeDesignator();
		String strSNOMEDCTID = objYesNoCID230.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.INCISION_MADE.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.INCISION_MADE_111440.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Microclip placed.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumYesNo Enum value for Yes-No.
	 */
	public void setMicroclipPlaced(int[] arrPosition, EnumCM_YesNo enumYesNo)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objYesNoCID230)
			this.objYesNoCID230 = new YesNo_CID230();
		this.objYesNoCID230.setYesNo(enumYesNo);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objYesNoCID230.getCodeMeaning();
		String strCV = this.objYesNoCID230.getCodeValue();
		String strCSD1 = this.objYesNoCID230.getCodingSchemeDesignator();
		String strSNOMEDCTID = objYesNoCID230.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.MICROCLIP_PLACED.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.MICROCLIP_PLACED_111441.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Confirmation of target.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumTargetConfirmation Enum value for TargetConfirmation
	 */
	public void setConfirmationOfTarget(int[] arrPosition, EnumCM_TargetConfirmation enumTargetConfirmation)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objTargetConfirmationCID6066)
			this.objTargetConfirmationCID6066 = new TargetConfirmation_CID6066();
		this.objTargetConfirmationCID6066.setTargetConfirmation(enumTargetConfirmation);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objTargetConfirmationCID6066.getCodeMeaning();
		String strCV = this.objTargetConfirmationCID6066.getCodeValue();
		String strCSD1 = this.objTargetConfirmationCID6066.getCodingSchemeDesignator();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.INCISION_MADE.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.INCISION_MADE_111440.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Complication of procedure.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumInterventionalProcedureComplications Enum value for InterventionalProcedureComplications
	 */
	public void setComplicationOfProcedure(int[] arrPosition, EnumCM_InterventionalProcedureComplications enumInterventionalProcedureComplications)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objProcedureComplicationsCID6062)
			this.objProcedureComplicationsCID6062 = new InterventionalProcedureComplications_CID6062();
		this.objProcedureComplicationsCID6062.setInterventionalProcedureComplications(enumInterventionalProcedureComplications);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objProcedureComplicationsCID6062.getCodeMeaning();
		String strCV = this.objProcedureComplicationsCID6062.getCodeValue();
		String strCSD1 = this.objProcedureComplicationsCID6062.getCodingSchemeDesignator();
		String strSNOMEDCTID = objProcedureComplicationsCID6062.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.INCISION_MADE.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.INCISION_MADE_111440.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Severity of Complication.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumSeverityOfComplication Enum value for enumSeverityOfComplication
	 */
	public void setSeverityOfComplication(int[] arrPosition, EnumCM_SeverityOfComplication enumSeverityOfComplication)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objSeverityOfComplicationCID251)
			this.objSeverityOfComplicationCID251 = new SeverityOfComplication_CID251();
		this.objSeverityOfComplicationCID251.setSeverityOfComplication(enumSeverityOfComplication);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objSeverityOfComplicationCID251.getCodeMeaning();
		String strCV = this.objSeverityOfComplicationCID251.getCodeValue();
		String strCSD1 = this.objSeverityOfComplicationCID251.getCodingSchemeDesignator();
		String strSNOMEDCTID = objSeverityOfComplicationCID251.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.SEVERITY_OF_COMPLICATION.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.SEVERITY_OF_COMPLICATION_111466.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Specimen
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumContinuityOfContent Enumerated Value for ContinuityOfContent.
	 */
	public void setSpecimen(int[] arrPosition, EnumContinuityOfContent enumContinuityOfContent)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.SPECIMEN.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.SPECIMEN_121027.getValue();
		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CONTAINER and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createContainer(arrPosition, strCodeMeaning, strCodeValue, strCSD, enumContinuityOfContent);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Color of fluid.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumFluidColor Enum value for FluidColor
	 */
	public void setColorOfFluid(int[] arrPosition, EnumCM_FluidColor enumFluidColor)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objFluidColorCID6067)
			this.objFluidColorCID6067 = new FluidColor_CID6067();
		this.objFluidColorCID6067.setFluidColor(enumFluidColor);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objFluidColorCID6067.getCodeMeaning();
		String strCV = this.objFluidColorCID6067.getCodeValue();
		String strCSD1 = this.objFluidColorCID6067.getCodingSchemeDesignator();
		String strSNOMEDCTID = objFluidColorCID6067.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.COLOR_OF_FLUID.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.COLOR_OF_FLUID_F_00E6D.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.SRT.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets value for Action on fluid.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumActionOnFluid Enumerated value for ActionOnFluid.
	 */
	public void setActionOnFluid(int[] arrPosition, EnumCM_ActionOnFluid enumActionOnFluid)
	{
		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.ACTION_ON_FLUID.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.ACTION_ON_FLUID_111456.getValue();
		String strCSDesg = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Setting value for Calculation Method
		 */
		String strCM = enumActionOnFluid.getValue();
		String strCV = null;

		if(strCM.equalsIgnoreCase(EnumCM_ActionOnFluid.SENT_FOR_ANALYSIS.getValue()))
			strCV = EnumCV_ActionOnFluid.SENT_FOR_ANALYSIS_111457.getValue();
		else
			strCV = EnumCV_ActionOnFluid.DISCARDEDO_111458.getValue();

		String strCSD = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning, strCodeValue, strCSDesg, strCV, strCSD, "", strCM);
		getSRTree().addChild(objContentSequenceItem);
	}

	/**
	 * Sets the value for Occult blood test result.
	 * @param arrPosition Identifier which shows the position of the node in the SR Tree.
	 * @param enumPositiveNegative Enumerated value for PositiveNegative
	 */
	public void setOccultBloodTestResult(int[] arrPosition, EnumCM_PositiveNegative enumPositiveNegative)
	{
		/**
		 * Sets the value for Primary Intervention Device.
		 */
		if(null== this.objPositiveNegativeCID250)
			this.objPositiveNegativeCID250 = new PositiveNegative_CID250();
		this.objPositiveNegativeCID250.setPositiveNegative(enumPositiveNegative);

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCM = this.objPositiveNegativeCID250.getCodeMeaning();
		String strCV = this.objPositiveNegativeCID250.getCodeValue();
		String strCSD1 = this.objPositiveNegativeCID250.getCodingSchemeDesignator();
		String strSNOMEDCTID = objPositiveNegativeCID250.getSNOMEDCTID();

		/**
		 * Retrieves the corresponding values of CodeMeaning,CodeValue and CodingSchemeDesignator.
		 */
		String strCodeMeaning = EnumCM_BreastImagingReportInterventionSection.OCCULT_BLOOD_TEST_RESULT.getValue();
		String strCodeValue = EnumCV_BreastImagingReportInterventionSection.OCCULT_BLOOD_TEST_RESULT_111455.getValue();
		String strCSD2 = EnumCodingSchemeDesignator.DCM.getValue();

		/**
		 * Creating a node of Value Type CODE and adding this node at specified identifier in the SR Tree.
		 */
		ContentSequenceItem objContentSequenceItem = getSRTree().createCodeNode(arrPosition, strCodeMeaning,strCodeValue , strCSD2, strCV, strCSD1, "", strCM,strSNOMEDCTID);
		getSRTree().addChild(objContentSequenceItem);
	}
}
