/FileExtraction/Java_unseen/IMS-MAXIMS_openMAXIMS/Source Library/openmaxims_workspace/ValueObjects/src/ims/oncology/vo/TeletherapyDetailsVo.java
//#############################################################################
//#                                                                           #
//#  Copyright (C) <2015>  <IMS MAXIMS>                                       #
//#                                                                           #
//#  This program is free software: you can redistribute it and/or modify     #
//#  it under the terms of the GNU Affero General Public License as           #
//#  published by the Free Software Foundation, either version 3 of the       #
//#  License, or (at your option) any later version.                          # 
//#                                                                           #
//#  This program is distributed in the hope that it will be useful,          #
//#  but WITHOUT ANY WARRANTY; without even the implied warranty of           #
//#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
//#  GNU Affero General Public License for more details.                      #
//#                                                                           #
//#  You should have received a copy of the GNU Affero General Public License #
//#  along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
//#                                                                           #
//#  IMS MAXIMS provides absolutely NO GUARANTEE OF THE CLINICAL SAFTEY of    #
//#  this program.  Users of this software do so entirely at their own risk.  #
//#  IMS MAXIMS only ensures the Clinical Safety of unaltered run-time        #
//#  software that it builds, deploys and maintains.                          #
//#                                                                           #
//#############################################################################
//#EOH
// This code was generated by Barbara Worwood using IMS Development Environment (version 1.80 build 5589.25814)
// Copyright (C) 1995-2015 IMS MAXIMS. All rights reserved.
// WARNING: DO NOT MODIFY the content of this file

package ims.oncology.vo;

/**
 * Linked to Oncology.TeletherapyDetails business object (ID: 1074100030).
 */
public class TeletherapyDetailsVo extends ims.oncology.vo.TeletherapyDetailsRefVo implements ims.vo.ImsCloneable, Comparable
{
	private static final long serialVersionUID = 1L;

	public TeletherapyDetailsVo()
	{
	}
	public TeletherapyDetailsVo(Integer id, int version)
	{
		super(id, version);
	}
	public TeletherapyDetailsVo(ims.oncology.vo.beans.TeletherapyDetailsVoBean bean)
	{
		this.id = bean.getId();
		this.version = bean.getVersion();
		this.actualdose = bean.getActualDose();
		this.actualfractions = bean.getActualFractions();
		this.beamtype = bean.getBeamType() == null ? null : ims.oncology.vo.lookups.BeamType.buildLookup(bean.getBeamType());
		this.beamenergy = bean.getBeamEnergy() == null ? null : ims.oncology.vo.lookups.BeamEnergy.buildLookup(bean.getBeamEnergy());
		this.nooffields = bean.getNoOfFields() == null ? null : ims.oncology.vo.lookups.NoOfFields.buildLookup(bean.getNoOfFields());
		this.complexitygroup = bean.getComplexityGroup() == null ? null : ims.oncology.vo.lookups.ComplexityGroup.buildLookup(bean.getComplexityGroup());
		this.multipleplanning = bean.getMultiplePlanning() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getMultiplePlanning());
		this.hyperfractionation = bean.getHyperfractionation() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getHyperfractionation());
		this.phasedetails = ims.oncology.vo.TeletherapyPhaseVoCollection.buildFromBeanCollection(bean.getPhaseDetails());
		this.perscriptionpoint = bean.getPerscriptionPoint();
		this.actualphases = bean.getActualPhases();
		this.anterior = bean.getAnterior() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getAnterior());
		this.anteriordose = bean.getAnteriorDose();
		this.anteriorfractions = bean.getAnteriorFractions();
		this.hasadjacentfields = bean.getHasAdjacentFields() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getHasAdjacentFields());
		this.adjacentfielddetails = ims.oncology.vo.AdjacentFieldPhaseVoCollection.buildFromBeanCollection(bean.getAdjacentFieldDetails());
		this.retreatment = bean.getRetreatment() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getRetreatment());
		this.specialtechnique = bean.getSpecialTechnique() == null ? null : ims.oncology.vo.lookups.SpecialTechnique.buildLookup(bean.getSpecialTechnique());
		this.preoperative = bean.getPreoperative() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPreoperative());
		this.generalanaesthetic = bean.getGeneralAnaesthetic() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getGeneralAnaesthetic());
		this.actualduration = bean.getActualDuration();
	}
	public void populate(ims.vo.ValueObjectBeanMap map, ims.oncology.vo.beans.TeletherapyDetailsVoBean bean)
	{
		this.id = bean.getId();
		this.version = bean.getVersion();
		this.actualdose = bean.getActualDose();
		this.actualfractions = bean.getActualFractions();
		this.beamtype = bean.getBeamType() == null ? null : ims.oncology.vo.lookups.BeamType.buildLookup(bean.getBeamType());
		this.beamenergy = bean.getBeamEnergy() == null ? null : ims.oncology.vo.lookups.BeamEnergy.buildLookup(bean.getBeamEnergy());
		this.nooffields = bean.getNoOfFields() == null ? null : ims.oncology.vo.lookups.NoOfFields.buildLookup(bean.getNoOfFields());
		this.complexitygroup = bean.getComplexityGroup() == null ? null : ims.oncology.vo.lookups.ComplexityGroup.buildLookup(bean.getComplexityGroup());
		this.multipleplanning = bean.getMultiplePlanning() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getMultiplePlanning());
		this.hyperfractionation = bean.getHyperfractionation() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getHyperfractionation());
		this.phasedetails = ims.oncology.vo.TeletherapyPhaseVoCollection.buildFromBeanCollection(bean.getPhaseDetails());
		this.perscriptionpoint = bean.getPerscriptionPoint();
		this.actualphases = bean.getActualPhases();
		this.anterior = bean.getAnterior() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getAnterior());
		this.anteriordose = bean.getAnteriorDose();
		this.anteriorfractions = bean.getAnteriorFractions();
		this.hasadjacentfields = bean.getHasAdjacentFields() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getHasAdjacentFields());
		this.adjacentfielddetails = ims.oncology.vo.AdjacentFieldPhaseVoCollection.buildFromBeanCollection(bean.getAdjacentFieldDetails());
		this.retreatment = bean.getRetreatment() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getRetreatment());
		this.specialtechnique = bean.getSpecialTechnique() == null ? null : ims.oncology.vo.lookups.SpecialTechnique.buildLookup(bean.getSpecialTechnique());
		this.preoperative = bean.getPreoperative() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPreoperative());
		this.generalanaesthetic = bean.getGeneralAnaesthetic() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getGeneralAnaesthetic());
		this.actualduration = bean.getActualDuration();
	}
	public ims.vo.ValueObjectBean getBean()
	{
		return this.getBean(new ims.vo.ValueObjectBeanMap());
	}
	public ims.vo.ValueObjectBean getBean(ims.vo.ValueObjectBeanMap map)
	{
		ims.oncology.vo.beans.TeletherapyDetailsVoBean bean = null;
		if(map != null)
			bean = (ims.oncology.vo.beans.TeletherapyDetailsVoBean)map.getValueObjectBean(this);
		if (bean == null)
		{
			bean = new ims.oncology.vo.beans.TeletherapyDetailsVoBean();
			map.addValueObjectBean(this, bean);
			bean.populate(map, this);
		}
		return bean;
	}
	public Object getFieldValueByFieldName(String fieldName)
	{
		if(fieldName == null)
			throw new ims.framework.exceptions.CodingRuntimeException("Invalid field name");
		fieldName = fieldName.toUpperCase();
		if(fieldName.equals("ACTUALDOSE"))
			return getActualDose();
		if(fieldName.equals("ACTUALFRACTIONS"))
			return getActualFractions();
		if(fieldName.equals("BEAMTYPE"))
			return getBeamType();
		if(fieldName.equals("BEAMENERGY"))
			return getBeamEnergy();
		if(fieldName.equals("NOOFFIELDS"))
			return getNoOfFields();
		if(fieldName.equals("COMPLEXITYGROUP"))
			return getComplexityGroup();
		if(fieldName.equals("MULTIPLEPLANNING"))
			return getMultiplePlanning();
		if(fieldName.equals("HYPERFRACTIONATION"))
			return getHyperfractionation();
		if(fieldName.equals("PHASEDETAILS"))
			return getPhaseDetails();
		if(fieldName.equals("PERSCRIPTIONPOINT"))
			return getPerscriptionPoint();
		if(fieldName.equals("ACTUALPHASES"))
			return getActualPhases();
		if(fieldName.equals("ANTERIOR"))
			return getAnterior();
		if(fieldName.equals("ANTERIORDOSE"))
			return getAnteriorDose();
		if(fieldName.equals("ANTERIORFRACTIONS"))
			return getAnteriorFractions();
		if(fieldName.equals("HASADJACENTFIELDS"))
			return getHasAdjacentFields();
		if(fieldName.equals("ADJACENTFIELDDETAILS"))
			return getAdjacentFieldDetails();
		if(fieldName.equals("RETREATMENT"))
			return getRetreatment();
		if(fieldName.equals("SPECIALTECHNIQUE"))
			return getSpecialTechnique();
		if(fieldName.equals("PREOPERATIVE"))
			return getPreoperative();
		if(fieldName.equals("GENERALANAESTHETIC"))
			return getGeneralAnaesthetic();
		if(fieldName.equals("ACTUALDURATION"))
			return getActualDuration();
		return super.getFieldValueByFieldName(fieldName);
	}
	public boolean getActualDoseIsNotNull()
	{
		return this.actualdose != null;
	}
	public Float getActualDose()
	{
		return this.actualdose;
	}
	public void setActualDose(Float value)
	{
		this.isValidated = false;
		this.actualdose = value;
	}
	public boolean getActualFractionsIsNotNull()
	{
		return this.actualfractions != null;
	}
	public Integer getActualFractions()
	{
		return this.actualfractions;
	}
	public void setActualFractions(Integer value)
	{
		this.isValidated = false;
		this.actualfractions = value;
	}
	public boolean getBeamTypeIsNotNull()
	{
		return this.beamtype != null;
	}
	public ims.oncology.vo.lookups.BeamType getBeamType()
	{
		return this.beamtype;
	}
	public void setBeamType(ims.oncology.vo.lookups.BeamType value)
	{
		this.isValidated = false;
		this.beamtype = value;
	}
	public boolean getBeamEnergyIsNotNull()
	{
		return this.beamenergy != null;
	}
	public ims.oncology.vo.lookups.BeamEnergy getBeamEnergy()
	{
		return this.beamenergy;
	}
	public void setBeamEnergy(ims.oncology.vo.lookups.BeamEnergy value)
	{
		this.isValidated = false;
		this.beamenergy = value;
	}
	public boolean getNoOfFieldsIsNotNull()
	{
		return this.nooffields != null;
	}
	public ims.oncology.vo.lookups.NoOfFields getNoOfFields()
	{
		return this.nooffields;
	}
	public void setNoOfFields(ims.oncology.vo.lookups.NoOfFields value)
	{
		this.isValidated = false;
		this.nooffields = value;
	}
	public boolean getComplexityGroupIsNotNull()
	{
		return this.complexitygroup != null;
	}
	public ims.oncology.vo.lookups.ComplexityGroup getComplexityGroup()
	{
		return this.complexitygroup;
	}
	public void setComplexityGroup(ims.oncology.vo.lookups.ComplexityGroup value)
	{
		this.isValidated = false;
		this.complexitygroup = value;
	}
	public boolean getMultiplePlanningIsNotNull()
	{
		return this.multipleplanning != null;
	}
	public ims.core.vo.lookups.YesNo getMultiplePlanning()
	{
		return this.multipleplanning;
	}
	public void setMultiplePlanning(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.multipleplanning = value;
	}
	public boolean getHyperfractionationIsNotNull()
	{
		return this.hyperfractionation != null;
	}
	public ims.core.vo.lookups.YesNo getHyperfractionation()
	{
		return this.hyperfractionation;
	}
	public void setHyperfractionation(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.hyperfractionation = value;
	}
	public boolean getPhaseDetailsIsNotNull()
	{
		return this.phasedetails != null;
	}
	public ims.oncology.vo.TeletherapyPhaseVoCollection getPhaseDetails()
	{
		return this.phasedetails;
	}
	public void setPhaseDetails(ims.oncology.vo.TeletherapyPhaseVoCollection value)
	{
		this.isValidated = false;
		this.phasedetails = value;
	}
	public boolean getPerscriptionPointIsNotNull()
	{
		return this.perscriptionpoint != null;
	}
	public Integer getPerscriptionPoint()
	{
		return this.perscriptionpoint;
	}
	public void setPerscriptionPoint(Integer value)
	{
		this.isValidated = false;
		this.perscriptionpoint = value;
	}
	public boolean getActualPhasesIsNotNull()
	{
		return this.actualphases != null;
	}
	public Integer getActualPhases()
	{
		return this.actualphases;
	}
	public void setActualPhases(Integer value)
	{
		this.isValidated = false;
		this.actualphases = value;
	}
	public boolean getAnteriorIsNotNull()
	{
		return this.anterior != null;
	}
	public ims.core.vo.lookups.YesNo getAnterior()
	{
		return this.anterior;
	}
	public void setAnterior(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.anterior = value;
	}
	public boolean getAnteriorDoseIsNotNull()
	{
		return this.anteriordose != null;
	}
	public Float getAnteriorDose()
	{
		return this.anteriordose;
	}
	public void setAnteriorDose(Float value)
	{
		this.isValidated = false;
		this.anteriordose = value;
	}
	public boolean getAnteriorFractionsIsNotNull()
	{
		return this.anteriorfractions != null;
	}
	public Integer getAnteriorFractions()
	{
		return this.anteriorfractions;
	}
	public void setAnteriorFractions(Integer value)
	{
		this.isValidated = false;
		this.anteriorfractions = value;
	}
	public boolean getHasAdjacentFieldsIsNotNull()
	{
		return this.hasadjacentfields != null;
	}
	public ims.core.vo.lookups.YesNo getHasAdjacentFields()
	{
		return this.hasadjacentfields;
	}
	public void setHasAdjacentFields(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.hasadjacentfields = value;
	}
	public boolean getAdjacentFieldDetailsIsNotNull()
	{
		return this.adjacentfielddetails != null;
	}
	public ims.oncology.vo.AdjacentFieldPhaseVoCollection getAdjacentFieldDetails()
	{
		return this.adjacentfielddetails;
	}
	public void setAdjacentFieldDetails(ims.oncology.vo.AdjacentFieldPhaseVoCollection value)
	{
		this.isValidated = false;
		this.adjacentfielddetails = value;
	}
	public boolean getRetreatmentIsNotNull()
	{
		return this.retreatment != null;
	}
	public ims.core.vo.lookups.YesNo getRetreatment()
	{
		return this.retreatment;
	}
	public void setRetreatment(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.retreatment = value;
	}
	public boolean getSpecialTechniqueIsNotNull()
	{
		return this.specialtechnique != null;
	}
	public ims.oncology.vo.lookups.SpecialTechnique getSpecialTechnique()
	{
		return this.specialtechnique;
	}
	public void setSpecialTechnique(ims.oncology.vo.lookups.SpecialTechnique value)
	{
		this.isValidated = false;
		this.specialtechnique = value;
	}
	public boolean getPreoperativeIsNotNull()
	{
		return this.preoperative != null;
	}
	public ims.core.vo.lookups.YesNo getPreoperative()
	{
		return this.preoperative;
	}
	public void setPreoperative(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.preoperative = value;
	}
	public boolean getGeneralAnaestheticIsNotNull()
	{
		return this.generalanaesthetic != null;
	}
	public ims.core.vo.lookups.YesNo getGeneralAnaesthetic()
	{
		return this.generalanaesthetic;
	}
	public void setGeneralAnaesthetic(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.generalanaesthetic = value;
	}
	public boolean getActualDurationIsNotNull()
	{
		return this.actualduration != null;
	}
	public Integer getActualDuration()
	{
		return this.actualduration;
	}
	public void setActualDuration(Integer value)
	{
		this.isValidated = false;
		this.actualduration = value;
	}
	public boolean isValidated()
	{
		if(this.isBusy)
			return true;
		this.isBusy = true;
	
		if(!this.isValidated)
		{
			this.isBusy = false;
			return false;
		}
		if(this.phasedetails != null)
		{
			if(!this.phasedetails.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		if(this.adjacentfielddetails != null)
		{
			if(!this.adjacentfielddetails.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		this.isBusy = false;
		return true;
	}
	public String[] validate()
	{
		return validate(null);
	}
	public String[] validate(String[] existingErrors)
	{
		if(this.isBusy)
			return null;
		this.isBusy = true;
	
		java.util.ArrayList<String> listOfErrors = new java.util.ArrayList<String>();
		if(existingErrors != null)
		{
			for(int x = 0; x < existingErrors.length; x++)
			{
				listOfErrors.add(existingErrors[x]);
			}
		}
		if(this.phasedetails != null)
		{
			String[] listOfOtherErrors = this.phasedetails.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		if(this.adjacentfielddetails != null)
		{
			String[] listOfOtherErrors = this.adjacentfielddetails.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		int errorCount = listOfErrors.size();
		if(errorCount == 0)
		{
			this.isBusy = false;
			this.isValidated = true;
			return null;
		}
		String[] result = new String[errorCount];
		for(int x = 0; x < errorCount; x++)
			result[x] = (String)listOfErrors.get(x);
		this.isBusy = false;
		this.isValidated = false;
		return result;
	}
	public void clearIDAndVersion()
	{
		this.id = null;
		this.version = 0;
	}
	public Object clone()
	{
		if(this.isBusy)
			return this;
		this.isBusy = true;
	
		TeletherapyDetailsVo clone = new TeletherapyDetailsVo(this.id, this.version);
		
		clone.actualdose = this.actualdose;
		clone.actualfractions = this.actualfractions;
		if(this.beamtype == null)
			clone.beamtype = null;
		else
			clone.beamtype = (ims.oncology.vo.lookups.BeamType)this.beamtype.clone();
		if(this.beamenergy == null)
			clone.beamenergy = null;
		else
			clone.beamenergy = (ims.oncology.vo.lookups.BeamEnergy)this.beamenergy.clone();
		if(this.nooffields == null)
			clone.nooffields = null;
		else
			clone.nooffields = (ims.oncology.vo.lookups.NoOfFields)this.nooffields.clone();
		if(this.complexitygroup == null)
			clone.complexitygroup = null;
		else
			clone.complexitygroup = (ims.oncology.vo.lookups.ComplexityGroup)this.complexitygroup.clone();
		if(this.multipleplanning == null)
			clone.multipleplanning = null;
		else
			clone.multipleplanning = (ims.core.vo.lookups.YesNo)this.multipleplanning.clone();
		if(this.hyperfractionation == null)
			clone.hyperfractionation = null;
		else
			clone.hyperfractionation = (ims.core.vo.lookups.YesNo)this.hyperfractionation.clone();
		if(this.phasedetails == null)
			clone.phasedetails = null;
		else
			clone.phasedetails = (ims.oncology.vo.TeletherapyPhaseVoCollection)this.phasedetails.clone();
		clone.perscriptionpoint = this.perscriptionpoint;
		clone.actualphases = this.actualphases;
		if(this.anterior == null)
			clone.anterior = null;
		else
			clone.anterior = (ims.core.vo.lookups.YesNo)this.anterior.clone();
		clone.anteriordose = this.anteriordose;
		clone.anteriorfractions = this.anteriorfractions;
		if(this.hasadjacentfields == null)
			clone.hasadjacentfields = null;
		else
			clone.hasadjacentfields = (ims.core.vo.lookups.YesNo)this.hasadjacentfields.clone();
		if(this.adjacentfielddetails == null)
			clone.adjacentfielddetails = null;
		else
			clone.adjacentfielddetails = (ims.oncology.vo.AdjacentFieldPhaseVoCollection)this.adjacentfielddetails.clone();
		if(this.retreatment == null)
			clone.retreatment = null;
		else
			clone.retreatment = (ims.core.vo.lookups.YesNo)this.retreatment.clone();
		if(this.specialtechnique == null)
			clone.specialtechnique = null;
		else
			clone.specialtechnique = (ims.oncology.vo.lookups.SpecialTechnique)this.specialtechnique.clone();
		if(this.preoperative == null)
			clone.preoperative = null;
		else
			clone.preoperative = (ims.core.vo.lookups.YesNo)this.preoperative.clone();
		if(this.generalanaesthetic == null)
			clone.generalanaesthetic = null;
		else
			clone.generalanaesthetic = (ims.core.vo.lookups.YesNo)this.generalanaesthetic.clone();
		clone.actualduration = this.actualduration;
		clone.isValidated = this.isValidated;
		
		this.isBusy = false;
		return clone;
	}
	public int compareTo(Object obj)
	{
		return compareTo(obj, true);
	}
	public int compareTo(Object obj, boolean caseInsensitive)
	{
		if (obj == null)
		{
			return -1;
		}
		if(caseInsensitive); // this is to avoid eclipse warning only.
		if (!(TeletherapyDetailsVo.class.isAssignableFrom(obj.getClass())))
		{
			throw new ClassCastException("A TeletherapyDetailsVo object cannot be compared an Object of type " + obj.getClass().getName());
		}
		if (this.id == null)
			return 1;
		if (((TeletherapyDetailsVo)obj).getBoId() == null)
			return -1;
		return this.id.compareTo(((TeletherapyDetailsVo)obj).getBoId());
	}
	public synchronized static int generateValueObjectUniqueID()
	{
		return ims.vo.ValueObject.generateUniqueID();
	}
	public int countFieldsWithValue()
	{
		int count = 0;
		if(this.actualdose != null)
			count++;
		if(this.actualfractions != null)
			count++;
		if(this.beamtype != null)
			count++;
		if(this.beamenergy != null)
			count++;
		if(this.nooffields != null)
			count++;
		if(this.complexitygroup != null)
			count++;
		if(this.multipleplanning != null)
			count++;
		if(this.hyperfractionation != null)
			count++;
		if(this.phasedetails != null)
			count++;
		if(this.perscriptionpoint != null)
			count++;
		if(this.actualphases != null)
			count++;
		if(this.anterior != null)
			count++;
		if(this.anteriordose != null)
			count++;
		if(this.anteriorfractions != null)
			count++;
		if(this.hasadjacentfields != null)
			count++;
		if(this.adjacentfielddetails != null)
			count++;
		if(this.retreatment != null)
			count++;
		if(this.specialtechnique != null)
			count++;
		if(this.preoperative != null)
			count++;
		if(this.generalanaesthetic != null)
			count++;
		if(this.actualduration != null)
			count++;
		return count;
	}
	public int countValueObjectFields()
	{
		return 21;
	}
	protected Float actualdose;
	protected Integer actualfractions;
	protected ims.oncology.vo.lookups.BeamType beamtype;
	protected ims.oncology.vo.lookups.BeamEnergy beamenergy;
	protected ims.oncology.vo.lookups.NoOfFields nooffields;
	protected ims.oncology.vo.lookups.ComplexityGroup complexitygroup;
	protected ims.core.vo.lookups.YesNo multipleplanning;
	protected ims.core.vo.lookups.YesNo hyperfractionation;
	protected ims.oncology.vo.TeletherapyPhaseVoCollection phasedetails;
	protected Integer perscriptionpoint;
	protected Integer actualphases;
	protected ims.core.vo.lookups.YesNo anterior;
	protected Float anteriordose;
	protected Integer anteriorfractions;
	protected ims.core.vo.lookups.YesNo hasadjacentfields;
	protected ims.oncology.vo.AdjacentFieldPhaseVoCollection adjacentfielddetails;
	protected ims.core.vo.lookups.YesNo retreatment;
	protected ims.oncology.vo.lookups.SpecialTechnique specialtechnique;
	protected ims.core.vo.lookups.YesNo preoperative;
	protected ims.core.vo.lookups.YesNo generalanaesthetic;
	protected Integer actualduration;
	private boolean isValidated = false;
	private boolean isBusy = false;
}
