/FileExtraction/Java_unseen/IMS-MAXIMS_openMAXIMS/Source Library/openmaxims_workspace/ValueObjects/src/ims/eas/vo/ElectronicActionSheetVo.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.eas.vo;

/**
 * Linked to EAS.ElectronicActionSheet business object (ID: 1113100000).
 */
public class ElectronicActionSheetVo extends ims.eas.vo.ElectronicActionSheetRefVo implements ims.vo.ImsCloneable, Comparable
{
	private static final long serialVersionUID = 1L;

	public ElectronicActionSheetVo()
	{
	}
	public ElectronicActionSheetVo(Integer id, int version)
	{
		super(id, version);
	}
	public ElectronicActionSheetVo(ims.eas.vo.beans.ElectronicActionSheetVoBean bean)
	{
		this.id = bean.getId();
		this.version = bean.getVersion();
		this.patient = bean.getPatient() == null ? null : new ims.core.patient.vo.PatientRefVo(new Integer(bean.getPatient().getId()), bean.getPatient().getVersion());
		this.easstatus = bean.getEasStatus() == null ? null : bean.getEasStatus().buildVo();
		this.statushistory = ims.eas.vo.EASStatusRecordVoCollection.buildFromBeanCollection(bean.getStatusHistory());
		this.recordinginfo = bean.getRecordingInfo() == null ? null : bean.getRecordingInfo().buildVo();
		this.authorisedby = bean.getAuthorisedBy() == null ? null : bean.getAuthorisedBy().buildVo();
		this.authoriseddatetime = bean.getAuthorisedDateTime() == null ? null : bean.getAuthorisedDateTime().buildDateTime();
		this.responsiblehcp = bean.getResponsibleHcp() == null ? null : bean.getResponsibleHcp().buildVo();
		this.tpcreated = bean.getTPCreated();
		this.actionrequired = bean.getActionRequired();
		this.removedstat = bean.getRemovedStat();
		this.removalreason = bean.getRemovalReason() == null ? null : ims.eas.vo.lookups.RemovalReason.buildLookup(bean.getRemovalReason());
		this.seenby = bean.getSeenBy() == null ? null : bean.getSeenBy().buildVo();
		this.dateseen = bean.getDateSeen() == null ? null : bean.getDateSeen().buildDate();
		this.datedecisiontotreat = bean.getDateDecisionToTreat() == null ? null : bean.getDateDecisionToTreat().buildDate();
		this.primarytumour = bean.getPrimaryTumour() == null ? null : bean.getPrimaryTumour().buildVo();
		this.treatmentsite = bean.getTreatmentSite() == null ? null : bean.getTreatmentSite().buildVo();
		this.firsttherapeuticintervention = bean.getFirstTherapeuticIntervention();
		this.clinicaltrialpatient = bean.getClinicalTrialPatient();
		this.protocolused = bean.getProtocolUsed();
		this.patientconsent = bean.getPatientConsent() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPatientConsent());
		this.planconssession = bean.getPlanConsSession() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPlanConsSession());
		this.appropcccl = bean.getAppropCCCL() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getAppropCCCL());
		this.imagetransfer = bean.getImageTransfer() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getImageTransfer());
		this.phases = ims.eas.vo.EASPhaseVoCollection.buildFromBeanCollection(bean.getPhases());
		this.concurrentsystemictreatment = bean.getConcurrentSystemicTreatment() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getConcurrentSystemicTreatment());
		this.seenat = bean.getSeenAt() == null ? null : ims.ccosched.vo.lookups.SeenAt.buildLookup(bean.getSeenAt());
		this.intent = bean.getIntent() == null ? null : ims.ccosched.vo.lookups.TreatmentIntent.buildLookup(bean.getIntent());
		this.priority = bean.getPriority() == null ? null : ims.ccosched.vo.lookups.Priority.buildLookup(bean.getPriority());
		this.delayed = bean.getDelayed();
		this.delayedcomment = bean.getDelayedComment();
		this.readytotreatdate = bean.getReadyToTreatDate() == null ? null : bean.getReadyToTreatDate().buildPartialDate();
		this.delayedreason = bean.getDelayedReason() == null ? null : ims.ccosched.vo.lookups.ActionStatusReason.buildLookup(bean.getDelayedReason());
		this.treatsitelaterality = bean.getTreatSiteLaterality() == null ? null : ims.core.vo.lookups.LateralityLRonly.buildLookup(bean.getTreatSiteLaterality());
		this.anatomicalsite = bean.getAnatomicalSite();
		this.clinicaltrial = bean.getClinicalTrial() == null ? null : ims.oncology.vo.lookups.ClinicalTrialName.buildLookup(bean.getClinicalTrial());
		this.protocol = bean.getProtocol() == null ? null : bean.getProtocol().buildVo();
		this.offprotocolreason = bean.getOffProtocolReason();
		this.eascomment = bean.getEasComment();
		this.imagetransfers = ims.eas.vo.EASImageTransferVoCollection.buildFromBeanCollection(bean.getImageTransfers());
		this.planningct = bean.getPlanningCT() == null ? null : ims.eas.vo.lookups.ScanLimits.buildLookup(bean.getPlanningCT());
		this.planningcttext = bean.getPlanningCTText();
		this.mriforcoreg = bean.getMRIforCoReg() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getMRIforCoReg());
		this.dentistrequired = bean.getDentistRequired() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getDentistRequired());
		this.pegrequired = bean.getPegRequired() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPegRequired());
		this.simulationrequired = bean.getSimulationRequired() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getSimulationRequired());
		this.ivcontrast = bean.getIVContrast() == null ? null : ims.eas.vo.lookups.IVContrast.buildLookup(bean.getIVContrast());
		this.investigationdate = bean.getInvestigationDate() == null ? null : bean.getInvestigationDate().buildDate();
		this.creatininelevel = bean.getCreatinineLevel();
		this.oralcontrast = ims.eas.vo.lookups.OralContrastCollection.buildFromBeanCollection(bean.getOralContrast());
		this.gatingoptions = bean.getGatingOptions() == null ? null : ims.eas.vo.lookups.GatingOptions.buildLookup(bean.getGatingOptions());
		this.imrt = bean.getIMRT() == null ? null : ims.eas.vo.lookups.IMRT.buildLookup(bean.getIMRT());
		this.petct = bean.getPetCT() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPetCT());
		this.immobtype = bean.getImmobType() == null ? null : ims.eas.vo.lookups.ImmobilisationType.buildLookup(bean.getImmobType());
		this.mouldroomactivity = bean.getMouldRoomActivity() == null ? null : ims.eas.vo.lookups.MouldRoomActivity.buildLookup(bean.getMouldRoomActivity());
		this.agent = bean.getAgent() == null ? null : ims.eas.vo.lookups.Agents.buildLookup(bean.getAgent());
		this.planningapptdate = bean.getPlanningApptDate() == null ? null : bean.getPlanningApptDate().buildDateTime();
		this.planningtransport = bean.getPlanningTransport() == null ? null : ims.ccosched.vo.lookups.Transport.buildLookup(bean.getPlanningTransport());
		this.treatmenttransport = bean.getTreatmentTransport() == null ? null : ims.ccosched.vo.lookups.Transport.buildLookup(bean.getTreatmentTransport());
		this.ip_op_planning = bean.getIP_OP_Planning() == null ? null : ims.ccosched.vo.lookups.AttendingAs.buildLookup(bean.getIP_OP_Planning());
		this.ip_op_treatment = bean.getIP_OP_Treatment() == null ? null : ims.ccosched.vo.lookups.AttendingAs.buildLookup(bean.getIP_OP_Treatment());
		this.patientstatus = bean.getPatientStatus() == null ? null : ims.ccosched.vo.lookups.Status.buildLookup(bean.getPatientStatus());
		this.generateddocument = bean.getGeneratedDocument() == null ? null : bean.getGeneratedDocument().buildVo();
		this.annotation = ims.eas.vo.EASAnnotationVoCollection.buildFromBeanCollection(bean.getAnnotation());
		this.graphicassessment = bean.getGraphicAssessment() == null ? null : new ims.assessment.instantiation.vo.PatientAssessmentRefVo(new Integer(bean.getGraphicAssessment().getId()), bean.getGraphicAssessment().getVersion());
		this.recentcreatinine = bean.getRecentCreatinine();
		this.planningctrequired = bean.getPlanningCTRequired();
	}
	public void populate(ims.vo.ValueObjectBeanMap map, ims.eas.vo.beans.ElectronicActionSheetVoBean bean)
	{
		this.id = bean.getId();
		this.version = bean.getVersion();
		this.patient = bean.getPatient() == null ? null : new ims.core.patient.vo.PatientRefVo(new Integer(bean.getPatient().getId()), bean.getPatient().getVersion());
		this.easstatus = bean.getEasStatus() == null ? null : bean.getEasStatus().buildVo(map);
		this.statushistory = ims.eas.vo.EASStatusRecordVoCollection.buildFromBeanCollection(bean.getStatusHistory());
		this.recordinginfo = bean.getRecordingInfo() == null ? null : bean.getRecordingInfo().buildVo(map);
		this.authorisedby = bean.getAuthorisedBy() == null ? null : bean.getAuthorisedBy().buildVo(map);
		this.authoriseddatetime = bean.getAuthorisedDateTime() == null ? null : bean.getAuthorisedDateTime().buildDateTime();
		this.responsiblehcp = bean.getResponsibleHcp() == null ? null : bean.getResponsibleHcp().buildVo(map);
		this.tpcreated = bean.getTPCreated();
		this.actionrequired = bean.getActionRequired();
		this.removedstat = bean.getRemovedStat();
		this.removalreason = bean.getRemovalReason() == null ? null : ims.eas.vo.lookups.RemovalReason.buildLookup(bean.getRemovalReason());
		this.seenby = bean.getSeenBy() == null ? null : bean.getSeenBy().buildVo(map);
		this.dateseen = bean.getDateSeen() == null ? null : bean.getDateSeen().buildDate();
		this.datedecisiontotreat = bean.getDateDecisionToTreat() == null ? null : bean.getDateDecisionToTreat().buildDate();
		this.primarytumour = bean.getPrimaryTumour() == null ? null : bean.getPrimaryTumour().buildVo(map);
		this.treatmentsite = bean.getTreatmentSite() == null ? null : bean.getTreatmentSite().buildVo(map);
		this.firsttherapeuticintervention = bean.getFirstTherapeuticIntervention();
		this.clinicaltrialpatient = bean.getClinicalTrialPatient();
		this.protocolused = bean.getProtocolUsed();
		this.patientconsent = bean.getPatientConsent() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPatientConsent());
		this.planconssession = bean.getPlanConsSession() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPlanConsSession());
		this.appropcccl = bean.getAppropCCCL() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getAppropCCCL());
		this.imagetransfer = bean.getImageTransfer() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getImageTransfer());
		this.phases = ims.eas.vo.EASPhaseVoCollection.buildFromBeanCollection(bean.getPhases());
		this.concurrentsystemictreatment = bean.getConcurrentSystemicTreatment() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getConcurrentSystemicTreatment());
		this.seenat = bean.getSeenAt() == null ? null : ims.ccosched.vo.lookups.SeenAt.buildLookup(bean.getSeenAt());
		this.intent = bean.getIntent() == null ? null : ims.ccosched.vo.lookups.TreatmentIntent.buildLookup(bean.getIntent());
		this.priority = bean.getPriority() == null ? null : ims.ccosched.vo.lookups.Priority.buildLookup(bean.getPriority());
		this.delayed = bean.getDelayed();
		this.delayedcomment = bean.getDelayedComment();
		this.readytotreatdate = bean.getReadyToTreatDate() == null ? null : bean.getReadyToTreatDate().buildPartialDate();
		this.delayedreason = bean.getDelayedReason() == null ? null : ims.ccosched.vo.lookups.ActionStatusReason.buildLookup(bean.getDelayedReason());
		this.treatsitelaterality = bean.getTreatSiteLaterality() == null ? null : ims.core.vo.lookups.LateralityLRonly.buildLookup(bean.getTreatSiteLaterality());
		this.anatomicalsite = bean.getAnatomicalSite();
		this.clinicaltrial = bean.getClinicalTrial() == null ? null : ims.oncology.vo.lookups.ClinicalTrialName.buildLookup(bean.getClinicalTrial());
		this.protocol = bean.getProtocol() == null ? null : bean.getProtocol().buildVo(map);
		this.offprotocolreason = bean.getOffProtocolReason();
		this.eascomment = bean.getEasComment();
		this.imagetransfers = ims.eas.vo.EASImageTransferVoCollection.buildFromBeanCollection(bean.getImageTransfers());
		this.planningct = bean.getPlanningCT() == null ? null : ims.eas.vo.lookups.ScanLimits.buildLookup(bean.getPlanningCT());
		this.planningcttext = bean.getPlanningCTText();
		this.mriforcoreg = bean.getMRIforCoReg() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getMRIforCoReg());
		this.dentistrequired = bean.getDentistRequired() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getDentistRequired());
		this.pegrequired = bean.getPegRequired() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPegRequired());
		this.simulationrequired = bean.getSimulationRequired() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getSimulationRequired());
		this.ivcontrast = bean.getIVContrast() == null ? null : ims.eas.vo.lookups.IVContrast.buildLookup(bean.getIVContrast());
		this.investigationdate = bean.getInvestigationDate() == null ? null : bean.getInvestigationDate().buildDate();
		this.creatininelevel = bean.getCreatinineLevel();
		this.oralcontrast = ims.eas.vo.lookups.OralContrastCollection.buildFromBeanCollection(bean.getOralContrast());
		this.gatingoptions = bean.getGatingOptions() == null ? null : ims.eas.vo.lookups.GatingOptions.buildLookup(bean.getGatingOptions());
		this.imrt = bean.getIMRT() == null ? null : ims.eas.vo.lookups.IMRT.buildLookup(bean.getIMRT());
		this.petct = bean.getPetCT() == null ? null : ims.core.vo.lookups.YesNo.buildLookup(bean.getPetCT());
		this.immobtype = bean.getImmobType() == null ? null : ims.eas.vo.lookups.ImmobilisationType.buildLookup(bean.getImmobType());
		this.mouldroomactivity = bean.getMouldRoomActivity() == null ? null : ims.eas.vo.lookups.MouldRoomActivity.buildLookup(bean.getMouldRoomActivity());
		this.agent = bean.getAgent() == null ? null : ims.eas.vo.lookups.Agents.buildLookup(bean.getAgent());
		this.planningapptdate = bean.getPlanningApptDate() == null ? null : bean.getPlanningApptDate().buildDateTime();
		this.planningtransport = bean.getPlanningTransport() == null ? null : ims.ccosched.vo.lookups.Transport.buildLookup(bean.getPlanningTransport());
		this.treatmenttransport = bean.getTreatmentTransport() == null ? null : ims.ccosched.vo.lookups.Transport.buildLookup(bean.getTreatmentTransport());
		this.ip_op_planning = bean.getIP_OP_Planning() == null ? null : ims.ccosched.vo.lookups.AttendingAs.buildLookup(bean.getIP_OP_Planning());
		this.ip_op_treatment = bean.getIP_OP_Treatment() == null ? null : ims.ccosched.vo.lookups.AttendingAs.buildLookup(bean.getIP_OP_Treatment());
		this.patientstatus = bean.getPatientStatus() == null ? null : ims.ccosched.vo.lookups.Status.buildLookup(bean.getPatientStatus());
		this.generateddocument = bean.getGeneratedDocument() == null ? null : bean.getGeneratedDocument().buildVo(map);
		this.annotation = ims.eas.vo.EASAnnotationVoCollection.buildFromBeanCollection(bean.getAnnotation());
		this.graphicassessment = bean.getGraphicAssessment() == null ? null : new ims.assessment.instantiation.vo.PatientAssessmentRefVo(new Integer(bean.getGraphicAssessment().getId()), bean.getGraphicAssessment().getVersion());
		this.recentcreatinine = bean.getRecentCreatinine();
		this.planningctrequired = bean.getPlanningCTRequired();
	}
	public ims.vo.ValueObjectBean getBean()
	{
		return this.getBean(new ims.vo.ValueObjectBeanMap());
	}
	public ims.vo.ValueObjectBean getBean(ims.vo.ValueObjectBeanMap map)
	{
		ims.eas.vo.beans.ElectronicActionSheetVoBean bean = null;
		if(map != null)
			bean = (ims.eas.vo.beans.ElectronicActionSheetVoBean)map.getValueObjectBean(this);
		if (bean == null)
		{
			bean = new ims.eas.vo.beans.ElectronicActionSheetVoBean();
			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("PATIENT"))
			return getPatient();
		if(fieldName.equals("EASSTATUS"))
			return getEasStatus();
		if(fieldName.equals("STATUSHISTORY"))
			return getStatusHistory();
		if(fieldName.equals("RECORDINGINFO"))
			return getRecordingInfo();
		if(fieldName.equals("AUTHORISEDBY"))
			return getAuthorisedBy();
		if(fieldName.equals("AUTHORISEDDATETIME"))
			return getAuthorisedDateTime();
		if(fieldName.equals("RESPONSIBLEHCP"))
			return getResponsibleHcp();
		if(fieldName.equals("TPCREATED"))
			return getTPCreated();
		if(fieldName.equals("ACTIONREQUIRED"))
			return getActionRequired();
		if(fieldName.equals("REMOVEDSTAT"))
			return getRemovedStat();
		if(fieldName.equals("REMOVALREASON"))
			return getRemovalReason();
		if(fieldName.equals("SEENBY"))
			return getSeenBy();
		if(fieldName.equals("DATESEEN"))
			return getDateSeen();
		if(fieldName.equals("DATEDECISIONTOTREAT"))
			return getDateDecisionToTreat();
		if(fieldName.equals("PRIMARYTUMOUR"))
			return getPrimaryTumour();
		if(fieldName.equals("TREATMENTSITE"))
			return getTreatmentSite();
		if(fieldName.equals("FIRSTTHERAPEUTICINTERVENTION"))
			return getFirstTherapeuticIntervention();
		if(fieldName.equals("CLINICALTRIALPATIENT"))
			return getClinicalTrialPatient();
		if(fieldName.equals("PROTOCOLUSED"))
			return getProtocolUsed();
		if(fieldName.equals("PATIENTCONSENT"))
			return getPatientConsent();
		if(fieldName.equals("PLANCONSSESSION"))
			return getPlanConsSession();
		if(fieldName.equals("APPROPCCCL"))
			return getAppropCCCL();
		if(fieldName.equals("IMAGETRANSFER"))
			return getImageTransfer();
		if(fieldName.equals("PHASES"))
			return getPhases();
		if(fieldName.equals("CONCURRENTSYSTEMICTREATMENT"))
			return getConcurrentSystemicTreatment();
		if(fieldName.equals("SEENAT"))
			return getSeenAt();
		if(fieldName.equals("INTENT"))
			return getIntent();
		if(fieldName.equals("PRIORITY"))
			return getPriority();
		if(fieldName.equals("DELAYED"))
			return getDelayed();
		if(fieldName.equals("DELAYEDCOMMENT"))
			return getDelayedComment();
		if(fieldName.equals("READYTOTREATDATE"))
			return getReadyToTreatDate();
		if(fieldName.equals("DELAYEDREASON"))
			return getDelayedReason();
		if(fieldName.equals("TREATSITELATERALITY"))
			return getTreatSiteLaterality();
		if(fieldName.equals("ANATOMICALSITE"))
			return getAnatomicalSite();
		if(fieldName.equals("CLINICALTRIAL"))
			return getClinicalTrial();
		if(fieldName.equals("PROTOCOL"))
			return getProtocol();
		if(fieldName.equals("OFFPROTOCOLREASON"))
			return getOffProtocolReason();
		if(fieldName.equals("EASCOMMENT"))
			return getEasComment();
		if(fieldName.equals("IMAGETRANSFERS"))
			return getImageTransfers();
		if(fieldName.equals("PLANNINGCT"))
			return getPlanningCT();
		if(fieldName.equals("PLANNINGCTTEXT"))
			return getPlanningCTText();
		if(fieldName.equals("MRIFORCOREG"))
			return getMRIforCoReg();
		if(fieldName.equals("DENTISTREQUIRED"))
			return getDentistRequired();
		if(fieldName.equals("PEGREQUIRED"))
			return getPegRequired();
		if(fieldName.equals("SIMULATIONREQUIRED"))
			return getSimulationRequired();
		if(fieldName.equals("IVCONTRAST"))
			return getIVContrast();
		if(fieldName.equals("INVESTIGATIONDATE"))
			return getInvestigationDate();
		if(fieldName.equals("CREATININELEVEL"))
			return getCreatinineLevel();
		if(fieldName.equals("ORALCONTRAST"))
			return getOralContrast();
		if(fieldName.equals("GATINGOPTIONS"))
			return getGatingOptions();
		if(fieldName.equals("IMRT"))
			return getIMRT();
		if(fieldName.equals("PETCT"))
			return getPetCT();
		if(fieldName.equals("IMMOBTYPE"))
			return getImmobType();
		if(fieldName.equals("MOULDROOMACTIVITY"))
			return getMouldRoomActivity();
		if(fieldName.equals("AGENT"))
			return getAgent();
		if(fieldName.equals("PLANNINGAPPTDATE"))
			return getPlanningApptDate();
		if(fieldName.equals("PLANNINGTRANSPORT"))
			return getPlanningTransport();
		if(fieldName.equals("TREATMENTTRANSPORT"))
			return getTreatmentTransport();
		if(fieldName.equals("IP_OP_PLANNING"))
			return getIP_OP_Planning();
		if(fieldName.equals("IP_OP_TREATMENT"))
			return getIP_OP_Treatment();
		if(fieldName.equals("PATIENTSTATUS"))
			return getPatientStatus();
		if(fieldName.equals("GENERATEDDOCUMENT"))
			return getGeneratedDocument();
		if(fieldName.equals("ANNOTATION"))
			return getAnnotation();
		if(fieldName.equals("GRAPHICASSESSMENT"))
			return getGraphicAssessment();
		if(fieldName.equals("RECENTCREATININE"))
			return getRecentCreatinine();
		if(fieldName.equals("PLANNINGCTREQUIRED"))
			return getPlanningCTRequired();
		return super.getFieldValueByFieldName(fieldName);
	}
	public boolean getPatientIsNotNull()
	{
		return this.patient != null;
	}
	public ims.core.patient.vo.PatientRefVo getPatient()
	{
		return this.patient;
	}
	public void setPatient(ims.core.patient.vo.PatientRefVo value)
	{
		this.isValidated = false;
		this.patient = value;
	}
	public boolean getEasStatusIsNotNull()
	{
		return this.easstatus != null;
	}
	public ims.eas.vo.EASStatusRecordVo getEasStatus()
	{
		return this.easstatus;
	}
	public void setEasStatus(ims.eas.vo.EASStatusRecordVo value)
	{
		this.isValidated = false;
		this.easstatus = value;
	}
	public boolean getStatusHistoryIsNotNull()
	{
		return this.statushistory != null;
	}
	public ims.eas.vo.EASStatusRecordVoCollection getStatusHistory()
	{
		return this.statushistory;
	}
	public void setStatusHistory(ims.eas.vo.EASStatusRecordVoCollection value)
	{
		this.isValidated = false;
		this.statushistory = value;
	}
	public boolean getRecordingInfoIsNotNull()
	{
		return this.recordinginfo != null;
	}
	public ims.core.vo.RecordingUserInformationVo getRecordingInfo()
	{
		return this.recordinginfo;
	}
	public void setRecordingInfo(ims.core.vo.RecordingUserInformationVo value)
	{
		this.isValidated = false;
		this.recordinginfo = value;
	}
	public boolean getAuthorisedByIsNotNull()
	{
		return this.authorisedby != null;
	}
	public ims.core.vo.MemberOfStaffLiteVo getAuthorisedBy()
	{
		return this.authorisedby;
	}
	public void setAuthorisedBy(ims.core.vo.MemberOfStaffLiteVo value)
	{
		this.isValidated = false;
		this.authorisedby = value;
	}
	public boolean getAuthorisedDateTimeIsNotNull()
	{
		return this.authoriseddatetime != null;
	}
	public ims.framework.utils.DateTime getAuthorisedDateTime()
	{
		return this.authoriseddatetime;
	}
	public void setAuthorisedDateTime(ims.framework.utils.DateTime value)
	{
		this.isValidated = false;
		this.authoriseddatetime = value;
	}
	public boolean getResponsibleHcpIsNotNull()
	{
		return this.responsiblehcp != null;
	}
	public ims.core.vo.HcpLiteVo getResponsibleHcp()
	{
		return this.responsiblehcp;
	}
	public void setResponsibleHcp(ims.core.vo.HcpLiteVo value)
	{
		this.isValidated = false;
		this.responsiblehcp = value;
	}
	public boolean getTPCreatedIsNotNull()
	{
		return this.tpcreated != null;
	}
	public Boolean getTPCreated()
	{
		return this.tpcreated;
	}
	public void setTPCreated(Boolean value)
	{
		this.isValidated = false;
		this.tpcreated = value;
	}
	public boolean getActionRequiredIsNotNull()
	{
		return this.actionrequired != null;
	}
	public Boolean getActionRequired()
	{
		return this.actionrequired;
	}
	public void setActionRequired(Boolean value)
	{
		this.isValidated = false;
		this.actionrequired = value;
	}
	public boolean getRemovedStatIsNotNull()
	{
		return this.removedstat != null;
	}
	public Boolean getRemovedStat()
	{
		return this.removedstat;
	}
	public void setRemovedStat(Boolean value)
	{
		this.isValidated = false;
		this.removedstat = value;
	}
	public boolean getRemovalReasonIsNotNull()
	{
		return this.removalreason != null;
	}
	public ims.eas.vo.lookups.RemovalReason getRemovalReason()
	{
		return this.removalreason;
	}
	public void setRemovalReason(ims.eas.vo.lookups.RemovalReason value)
	{
		this.isValidated = false;
		this.removalreason = value;
	}
	public boolean getSeenByIsNotNull()
	{
		return this.seenby != null;
	}
	public ims.core.vo.Hcp getSeenBy()
	{
		return this.seenby;
	}
	public void setSeenBy(ims.core.vo.Hcp value)
	{
		this.isValidated = false;
		this.seenby = value;
	}
	public boolean getDateSeenIsNotNull()
	{
		return this.dateseen != null;
	}
	public ims.framework.utils.Date getDateSeen()
	{
		return this.dateseen;
	}
	public void setDateSeen(ims.framework.utils.Date value)
	{
		this.isValidated = false;
		this.dateseen = value;
	}
	public boolean getDateDecisionToTreatIsNotNull()
	{
		return this.datedecisiontotreat != null;
	}
	public ims.framework.utils.Date getDateDecisionToTreat()
	{
		return this.datedecisiontotreat;
	}
	public void setDateDecisionToTreat(ims.framework.utils.Date value)
	{
		this.isValidated = false;
		this.datedecisiontotreat = value;
	}
	public boolean getPrimaryTumourIsNotNull()
	{
		return this.primarytumour != null;
	}
	public ims.eas.vo.PrimaryTumourInsVo getPrimaryTumour()
	{
		return this.primarytumour;
	}
	public void setPrimaryTumour(ims.eas.vo.PrimaryTumourInsVo value)
	{
		this.isValidated = false;
		this.primarytumour = value;
	}
	public boolean getTreatmentSiteIsNotNull()
	{
		return this.treatmentsite != null;
	}
	public ims.eas.vo.TreatmentSiteInsVo getTreatmentSite()
	{
		return this.treatmentsite;
	}
	public void setTreatmentSite(ims.eas.vo.TreatmentSiteInsVo value)
	{
		this.isValidated = false;
		this.treatmentsite = value;
	}
	public boolean getFirstTherapeuticInterventionIsNotNull()
	{
		return this.firsttherapeuticintervention != null;
	}
	public Boolean getFirstTherapeuticIntervention()
	{
		return this.firsttherapeuticintervention;
	}
	public void setFirstTherapeuticIntervention(Boolean value)
	{
		this.isValidated = false;
		this.firsttherapeuticintervention = value;
	}
	public boolean getClinicalTrialPatientIsNotNull()
	{
		return this.clinicaltrialpatient != null;
	}
	public Boolean getClinicalTrialPatient()
	{
		return this.clinicaltrialpatient;
	}
	public void setClinicalTrialPatient(Boolean value)
	{
		this.isValidated = false;
		this.clinicaltrialpatient = value;
	}
	public boolean getProtocolUsedIsNotNull()
	{
		return this.protocolused != null;
	}
	public Boolean getProtocolUsed()
	{
		return this.protocolused;
	}
	public void setProtocolUsed(Boolean value)
	{
		this.isValidated = false;
		this.protocolused = value;
	}
	public boolean getPatientConsentIsNotNull()
	{
		return this.patientconsent != null;
	}
	public ims.core.vo.lookups.YesNo getPatientConsent()
	{
		return this.patientconsent;
	}
	public void setPatientConsent(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.patientconsent = value;
	}
	public boolean getPlanConsSessionIsNotNull()
	{
		return this.planconssession != null;
	}
	public ims.core.vo.lookups.YesNo getPlanConsSession()
	{
		return this.planconssession;
	}
	public void setPlanConsSession(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.planconssession = value;
	}
	public boolean getAppropCCCLIsNotNull()
	{
		return this.appropcccl != null;
	}
	public ims.core.vo.lookups.YesNo getAppropCCCL()
	{
		return this.appropcccl;
	}
	public void setAppropCCCL(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.appropcccl = value;
	}
	public boolean getImageTransferIsNotNull()
	{
		return this.imagetransfer != null;
	}
	public ims.core.vo.lookups.YesNo getImageTransfer()
	{
		return this.imagetransfer;
	}
	public void setImageTransfer(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.imagetransfer = value;
	}
	public boolean getPhasesIsNotNull()
	{
		return this.phases != null;
	}
	public ims.eas.vo.EASPhaseVoCollection getPhases()
	{
		return this.phases;
	}
	public void setPhases(ims.eas.vo.EASPhaseVoCollection value)
	{
		this.isValidated = false;
		this.phases = value;
	}
	public boolean getConcurrentSystemicTreatmentIsNotNull()
	{
		return this.concurrentsystemictreatment != null;
	}
	public ims.core.vo.lookups.YesNo getConcurrentSystemicTreatment()
	{
		return this.concurrentsystemictreatment;
	}
	public void setConcurrentSystemicTreatment(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.concurrentsystemictreatment = value;
	}
	public boolean getSeenAtIsNotNull()
	{
		return this.seenat != null;
	}
	public ims.ccosched.vo.lookups.SeenAt getSeenAt()
	{
		return this.seenat;
	}
	public void setSeenAt(ims.ccosched.vo.lookups.SeenAt value)
	{
		this.isValidated = false;
		this.seenat = value;
	}
	public boolean getIntentIsNotNull()
	{
		return this.intent != null;
	}
	public ims.ccosched.vo.lookups.TreatmentIntent getIntent()
	{
		return this.intent;
	}
	public void setIntent(ims.ccosched.vo.lookups.TreatmentIntent value)
	{
		this.isValidated = false;
		this.intent = value;
	}
	public boolean getPriorityIsNotNull()
	{
		return this.priority != null;
	}
	public ims.ccosched.vo.lookups.Priority getPriority()
	{
		return this.priority;
	}
	public void setPriority(ims.ccosched.vo.lookups.Priority value)
	{
		this.isValidated = false;
		this.priority = value;
	}
	public boolean getDelayedIsNotNull()
	{
		return this.delayed != null;
	}
	public Boolean getDelayed()
	{
		return this.delayed;
	}
	public void setDelayed(Boolean value)
	{
		this.isValidated = false;
		this.delayed = value;
	}
	public boolean getDelayedCommentIsNotNull()
	{
		return this.delayedcomment != null;
	}
	public String getDelayedComment()
	{
		return this.delayedcomment;
	}
	public static int getDelayedCommentMaxLength()
	{
		return 255;
	}
	public void setDelayedComment(String value)
	{
		this.isValidated = false;
		this.delayedcomment = value;
	}
	public boolean getReadyToTreatDateIsNotNull()
	{
		return this.readytotreatdate != null;
	}
	public ims.framework.utils.PartialDate getReadyToTreatDate()
	{
		return this.readytotreatdate;
	}
	public void setReadyToTreatDate(ims.framework.utils.PartialDate value)
	{
		this.isValidated = false;
		this.readytotreatdate = value;
	}
	public boolean getDelayedReasonIsNotNull()
	{
		return this.delayedreason != null;
	}
	public ims.ccosched.vo.lookups.ActionStatusReason getDelayedReason()
	{
		return this.delayedreason;
	}
	public void setDelayedReason(ims.ccosched.vo.lookups.ActionStatusReason value)
	{
		this.isValidated = false;
		this.delayedreason = value;
	}
	public boolean getTreatSiteLateralityIsNotNull()
	{
		return this.treatsitelaterality != null;
	}
	public ims.core.vo.lookups.LateralityLRonly getTreatSiteLaterality()
	{
		return this.treatsitelaterality;
	}
	public void setTreatSiteLaterality(ims.core.vo.lookups.LateralityLRonly value)
	{
		this.isValidated = false;
		this.treatsitelaterality = value;
	}
	public boolean getAnatomicalSiteIsNotNull()
	{
		return this.anatomicalsite != null;
	}
	public String getAnatomicalSite()
	{
		return this.anatomicalsite;
	}
	public static int getAnatomicalSiteMaxLength()
	{
		return 100;
	}
	public void setAnatomicalSite(String value)
	{
		this.isValidated = false;
		this.anatomicalsite = value;
	}
	public boolean getClinicalTrialIsNotNull()
	{
		return this.clinicaltrial != null;
	}
	public ims.oncology.vo.lookups.ClinicalTrialName getClinicalTrial()
	{
		return this.clinicaltrial;
	}
	public void setClinicalTrial(ims.oncology.vo.lookups.ClinicalTrialName value)
	{
		this.isValidated = false;
		this.clinicaltrial = value;
	}
	public boolean getProtocolIsNotNull()
	{
		return this.protocol != null;
	}
	public ims.eas.vo.ProtocolLiteInsVo getProtocol()
	{
		return this.protocol;
	}
	public void setProtocol(ims.eas.vo.ProtocolLiteInsVo value)
	{
		this.isValidated = false;
		this.protocol = value;
	}
	public boolean getOffProtocolReasonIsNotNull()
	{
		return this.offprotocolreason != null;
	}
	public String getOffProtocolReason()
	{
		return this.offprotocolreason;
	}
	public static int getOffProtocolReasonMaxLength()
	{
		return 250;
	}
	public void setOffProtocolReason(String value)
	{
		this.isValidated = false;
		this.offprotocolreason = value;
	}
	public boolean getEasCommentIsNotNull()
	{
		return this.eascomment != null;
	}
	public String getEasComment()
	{
		return this.eascomment;
	}
	public static int getEasCommentMaxLength()
	{
		return 500;
	}
	public void setEasComment(String value)
	{
		this.isValidated = false;
		this.eascomment = value;
	}
	public boolean getImageTransfersIsNotNull()
	{
		return this.imagetransfers != null;
	}
	public ims.eas.vo.EASImageTransferVoCollection getImageTransfers()
	{
		return this.imagetransfers;
	}
	public void setImageTransfers(ims.eas.vo.EASImageTransferVoCollection value)
	{
		this.isValidated = false;
		this.imagetransfers = value;
	}
	public boolean getPlanningCTIsNotNull()
	{
		return this.planningct != null;
	}
	public ims.eas.vo.lookups.ScanLimits getPlanningCT()
	{
		return this.planningct;
	}
	public void setPlanningCT(ims.eas.vo.lookups.ScanLimits value)
	{
		this.isValidated = false;
		this.planningct = value;
	}
	public boolean getPlanningCTTextIsNotNull()
	{
		return this.planningcttext != null;
	}
	public String getPlanningCTText()
	{
		return this.planningcttext;
	}
	public static int getPlanningCTTextMaxLength()
	{
		return 70;
	}
	public void setPlanningCTText(String value)
	{
		this.isValidated = false;
		this.planningcttext = value;
	}
	public boolean getMRIforCoRegIsNotNull()
	{
		return this.mriforcoreg != null;
	}
	public ims.core.vo.lookups.YesNo getMRIforCoReg()
	{
		return this.mriforcoreg;
	}
	public void setMRIforCoReg(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.mriforcoreg = value;
	}
	public boolean getDentistRequiredIsNotNull()
	{
		return this.dentistrequired != null;
	}
	public ims.core.vo.lookups.YesNo getDentistRequired()
	{
		return this.dentistrequired;
	}
	public void setDentistRequired(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.dentistrequired = value;
	}
	public boolean getPegRequiredIsNotNull()
	{
		return this.pegrequired != null;
	}
	public ims.core.vo.lookups.YesNo getPegRequired()
	{
		return this.pegrequired;
	}
	public void setPegRequired(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.pegrequired = value;
	}
	public boolean getSimulationRequiredIsNotNull()
	{
		return this.simulationrequired != null;
	}
	public ims.core.vo.lookups.YesNo getSimulationRequired()
	{
		return this.simulationrequired;
	}
	public void setSimulationRequired(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.simulationrequired = value;
	}
	public boolean getIVContrastIsNotNull()
	{
		return this.ivcontrast != null;
	}
	public ims.eas.vo.lookups.IVContrast getIVContrast()
	{
		return this.ivcontrast;
	}
	public void setIVContrast(ims.eas.vo.lookups.IVContrast value)
	{
		this.isValidated = false;
		this.ivcontrast = value;
	}
	public boolean getInvestigationDateIsNotNull()
	{
		return this.investigationdate != null;
	}
	public ims.framework.utils.Date getInvestigationDate()
	{
		return this.investigationdate;
	}
	public void setInvestigationDate(ims.framework.utils.Date value)
	{
		this.isValidated = false;
		this.investigationdate = value;
	}
	public boolean getCreatinineLevelIsNotNull()
	{
		return this.creatininelevel != null;
	}
	public Float getCreatinineLevel()
	{
		return this.creatininelevel;
	}
	public void setCreatinineLevel(Float value)
	{
		this.isValidated = false;
		this.creatininelevel = value;
	}
	public boolean getOralContrastIsNotNull()
	{
		return this.oralcontrast != null;
	}
	public ims.eas.vo.lookups.OralContrastCollection getOralContrast()
	{
		return this.oralcontrast;
	}
	public void setOralContrast(ims.eas.vo.lookups.OralContrastCollection value)
	{
		this.isValidated = false;
		this.oralcontrast = value;
	}
	public boolean getGatingOptionsIsNotNull()
	{
		return this.gatingoptions != null;
	}
	public ims.eas.vo.lookups.GatingOptions getGatingOptions()
	{
		return this.gatingoptions;
	}
	public void setGatingOptions(ims.eas.vo.lookups.GatingOptions value)
	{
		this.isValidated = false;
		this.gatingoptions = value;
	}
	public boolean getIMRTIsNotNull()
	{
		return this.imrt != null;
	}
	public ims.eas.vo.lookups.IMRT getIMRT()
	{
		return this.imrt;
	}
	public void setIMRT(ims.eas.vo.lookups.IMRT value)
	{
		this.isValidated = false;
		this.imrt = value;
	}
	public boolean getPetCTIsNotNull()
	{
		return this.petct != null;
	}
	public ims.core.vo.lookups.YesNo getPetCT()
	{
		return this.petct;
	}
	public void setPetCT(ims.core.vo.lookups.YesNo value)
	{
		this.isValidated = false;
		this.petct = value;
	}
	public boolean getImmobTypeIsNotNull()
	{
		return this.immobtype != null;
	}
	public ims.eas.vo.lookups.ImmobilisationType getImmobType()
	{
		return this.immobtype;
	}
	public void setImmobType(ims.eas.vo.lookups.ImmobilisationType value)
	{
		this.isValidated = false;
		this.immobtype = value;
	}
	public boolean getMouldRoomActivityIsNotNull()
	{
		return this.mouldroomactivity != null;
	}
	public ims.eas.vo.lookups.MouldRoomActivity getMouldRoomActivity()
	{
		return this.mouldroomactivity;
	}
	public void setMouldRoomActivity(ims.eas.vo.lookups.MouldRoomActivity value)
	{
		this.isValidated = false;
		this.mouldroomactivity = value;
	}
	public boolean getAgentIsNotNull()
	{
		return this.agent != null;
	}
	public ims.eas.vo.lookups.Agents getAgent()
	{
		return this.agent;
	}
	public void setAgent(ims.eas.vo.lookups.Agents value)
	{
		this.isValidated = false;
		this.agent = value;
	}
	public boolean getPlanningApptDateIsNotNull()
	{
		return this.planningapptdate != null;
	}
	public ims.framework.utils.DateTime getPlanningApptDate()
	{
		return this.planningapptdate;
	}
	public void setPlanningApptDate(ims.framework.utils.DateTime value)
	{
		this.isValidated = false;
		this.planningapptdate = value;
	}
	public boolean getPlanningTransportIsNotNull()
	{
		return this.planningtransport != null;
	}
	public ims.ccosched.vo.lookups.Transport getPlanningTransport()
	{
		return this.planningtransport;
	}
	public void setPlanningTransport(ims.ccosched.vo.lookups.Transport value)
	{
		this.isValidated = false;
		this.planningtransport = value;
	}
	public boolean getTreatmentTransportIsNotNull()
	{
		return this.treatmenttransport != null;
	}
	public ims.ccosched.vo.lookups.Transport getTreatmentTransport()
	{
		return this.treatmenttransport;
	}
	public void setTreatmentTransport(ims.ccosched.vo.lookups.Transport value)
	{
		this.isValidated = false;
		this.treatmenttransport = value;
	}
	public boolean getIP_OP_PlanningIsNotNull()
	{
		return this.ip_op_planning != null;
	}
	public ims.ccosched.vo.lookups.AttendingAs getIP_OP_Planning()
	{
		return this.ip_op_planning;
	}
	public void setIP_OP_Planning(ims.ccosched.vo.lookups.AttendingAs value)
	{
		this.isValidated = false;
		this.ip_op_planning = value;
	}
	public boolean getIP_OP_TreatmentIsNotNull()
	{
		return this.ip_op_treatment != null;
	}
	public ims.ccosched.vo.lookups.AttendingAs getIP_OP_Treatment()
	{
		return this.ip_op_treatment;
	}
	public void setIP_OP_Treatment(ims.ccosched.vo.lookups.AttendingAs value)
	{
		this.isValidated = false;
		this.ip_op_treatment = value;
	}
	public boolean getPatientStatusIsNotNull()
	{
		return this.patientstatus != null;
	}
	public ims.ccosched.vo.lookups.Status getPatientStatus()
	{
		return this.patientstatus;
	}
	public void setPatientStatus(ims.ccosched.vo.lookups.Status value)
	{
		this.isValidated = false;
		this.patientstatus = value;
	}
	public boolean getGeneratedDocumentIsNotNull()
	{
		return this.generateddocument != null;
	}
	public ims.core.vo.ServerDocumentVo getGeneratedDocument()
	{
		return this.generateddocument;
	}
	public void setGeneratedDocument(ims.core.vo.ServerDocumentVo value)
	{
		this.isValidated = false;
		this.generateddocument = value;
	}
	public boolean getAnnotationIsNotNull()
	{
		return this.annotation != null;
	}
	public ims.eas.vo.EASAnnotationVoCollection getAnnotation()
	{
		return this.annotation;
	}
	public void setAnnotation(ims.eas.vo.EASAnnotationVoCollection value)
	{
		this.isValidated = false;
		this.annotation = value;
	}
	public boolean getGraphicAssessmentIsNotNull()
	{
		return this.graphicassessment != null;
	}
	public ims.assessment.instantiation.vo.PatientAssessmentRefVo getGraphicAssessment()
	{
		return this.graphicassessment;
	}
	public void setGraphicAssessment(ims.assessment.instantiation.vo.PatientAssessmentRefVo value)
	{
		this.isValidated = false;
		this.graphicassessment = value;
	}
	public boolean getRecentCreatinineIsNotNull()
	{
		return this.recentcreatinine != null;
	}
	public Boolean getRecentCreatinine()
	{
		return this.recentcreatinine;
	}
	public void setRecentCreatinine(Boolean value)
	{
		this.isValidated = false;
		this.recentcreatinine = value;
	}
	public boolean getPlanningCTRequiredIsNotNull()
	{
		return this.planningctrequired != null;
	}
	public Boolean getPlanningCTRequired()
	{
		return this.planningctrequired;
	}
	public void setPlanningCTRequired(Boolean value)
	{
		this.isValidated = false;
		this.planningctrequired = value;
	}
	public boolean isValidated()
	{
		if(this.isBusy)
			return true;
		this.isBusy = true;
	
		if(!this.isValidated)
		{
			this.isBusy = false;
			return false;
		}
		if(this.easstatus != null)
		{
			if(!this.easstatus.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		if(this.statushistory != null)
		{
			if(!this.statushistory.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		if(this.recordinginfo != null)
		{
			if(!this.recordinginfo.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		if(this.authorisedby != null)
		{
			if(!this.authorisedby.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		if(this.phases != null)
		{
			if(!this.phases.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		if(this.imagetransfers != null)
		{
			if(!this.imagetransfers.isValidated())
			{
				this.isBusy = false;
				return false;
			}
		}
		if(this.annotation != null)
		{
			if(!this.annotation.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.patient == null)
			listOfErrors.add("Patient is mandatory");
		if(this.easstatus == null)
			listOfErrors.add("EasStatus is mandatory");
		if(this.easstatus != null)
		{
			String[] listOfOtherErrors = this.easstatus.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		if(this.statushistory == null || this.statushistory.size() == 0)
			listOfErrors.add("StatusHistory are mandatory");
		if(this.statushistory != null)
		{
			String[] listOfOtherErrors = this.statushistory.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		if(this.recordinginfo != null)
		{
			String[] listOfOtherErrors = this.recordinginfo.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		if(this.authorisedby != null)
		{
			String[] listOfOtherErrors = this.authorisedby.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		if(this.responsiblehcp == null)
			listOfErrors.add("ResponsibleHcp is mandatory");
		if(this.seenby == null)
			listOfErrors.add("SeenBy is mandatory");
		if(this.dateseen == null)
			listOfErrors.add("DateSeen is mandatory");
		if(this.datedecisiontotreat == null)
			listOfErrors.add("DateDecisionToTreat is mandatory");
		if(this.primarytumour == null)
			listOfErrors.add("PrimaryTumour is mandatory");
		if(this.treatmentsite == null)
			listOfErrors.add("TreatmentSite is mandatory");
		if(this.firsttherapeuticintervention == null)
			listOfErrors.add("FirstTherapeuticIntervention is mandatory");
		if(this.clinicaltrialpatient == null)
			listOfErrors.add("ClinicalTrialPatient is mandatory");
		if(this.protocolused == null)
			listOfErrors.add("ProtocolUsed is mandatory");
		if(this.patientconsent == null)
			listOfErrors.add("PatientConsent is mandatory");
		if(this.planconssession == null)
			listOfErrors.add("PlanConsSession is mandatory");
		if(this.appropcccl == null)
			listOfErrors.add("AppropCCCL is mandatory");
		if(this.imagetransfer == null)
			listOfErrors.add("ImageTransfer is mandatory");
		if(this.phases == null || this.phases.size() == 0)
			listOfErrors.add("Phases are mandatory");
		if(this.phases != null)
		{
			String[] listOfOtherErrors = this.phases.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		if(this.intent == null)
			listOfErrors.add("Intent is mandatory");
		if(this.priority == null)
			listOfErrors.add("Priority is mandatory");
		if(this.delayedcomment != null)
			if(this.delayedcomment.length() > 255)
				listOfErrors.add("The length of the field [delayedcomment] in the value object [ims.eas.vo.ElectronicActionSheetVo] is too big. It should be less or equal to 255");
		if(this.anatomicalsite != null)
			if(this.anatomicalsite.length() > 100)
				listOfErrors.add("The length of the field [anatomicalsite] in the value object [ims.eas.vo.ElectronicActionSheetVo] is too big. It should be less or equal to 100");
		if(this.offprotocolreason != null)
			if(this.offprotocolreason.length() > 250)
				listOfErrors.add("The length of the field [offprotocolreason] in the value object [ims.eas.vo.ElectronicActionSheetVo] is too big. It should be less or equal to 250");
		if(this.eascomment != null)
			if(this.eascomment.length() > 500)
				listOfErrors.add("The length of the field [eascomment] in the value object [ims.eas.vo.ElectronicActionSheetVo] is too big. It should be less or equal to 500");
		if(this.imagetransfers != null)
		{
			String[] listOfOtherErrors = this.imagetransfers.validate();
			if(listOfOtherErrors != null)
			{
				for(int x = 0; x < listOfOtherErrors.length; x++)
				{
					listOfErrors.add(listOfOtherErrors[x]);
				}
			}
		}
		if(this.planningcttext != null)
			if(this.planningcttext.length() > 70)
				listOfErrors.add("The length of the field [planningcttext] in the value object [ims.eas.vo.ElectronicActionSheetVo] is too big. It should be less or equal to 70");
		if(this.annotation != null)
		{
			String[] listOfOtherErrors = this.annotation.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;
	
		ElectronicActionSheetVo clone = new ElectronicActionSheetVo(this.id, this.version);
		
		clone.patient = this.patient;
		if(this.easstatus == null)
			clone.easstatus = null;
		else
			clone.easstatus = (ims.eas.vo.EASStatusRecordVo)this.easstatus.clone();
		if(this.statushistory == null)
			clone.statushistory = null;
		else
			clone.statushistory = (ims.eas.vo.EASStatusRecordVoCollection)this.statushistory.clone();
		if(this.recordinginfo == null)
			clone.recordinginfo = null;
		else
			clone.recordinginfo = (ims.core.vo.RecordingUserInformationVo)this.recordinginfo.clone();
		if(this.authorisedby == null)
			clone.authorisedby = null;
		else
			clone.authorisedby = (ims.core.vo.MemberOfStaffLiteVo)this.authorisedby.clone();
		if(this.authoriseddatetime == null)
			clone.authoriseddatetime = null;
		else
			clone.authoriseddatetime = (ims.framework.utils.DateTime)this.authoriseddatetime.clone();
		if(this.responsiblehcp == null)
			clone.responsiblehcp = null;
		else
			clone.responsiblehcp = (ims.core.vo.HcpLiteVo)this.responsiblehcp.clone();
		clone.tpcreated = this.tpcreated;
		clone.actionrequired = this.actionrequired;
		clone.removedstat = this.removedstat;
		if(this.removalreason == null)
			clone.removalreason = null;
		else
			clone.removalreason = (ims.eas.vo.lookups.RemovalReason)this.removalreason.clone();
		if(this.seenby == null)
			clone.seenby = null;
		else
			clone.seenby = (ims.core.vo.Hcp)this.seenby.clone();
		if(this.dateseen == null)
			clone.dateseen = null;
		else
			clone.dateseen = (ims.framework.utils.Date)this.dateseen.clone();
		if(this.datedecisiontotreat == null)
			clone.datedecisiontotreat = null;
		else
			clone.datedecisiontotreat = (ims.framework.utils.Date)this.datedecisiontotreat.clone();
		if(this.primarytumour == null)
			clone.primarytumour = null;
		else
			clone.primarytumour = (ims.eas.vo.PrimaryTumourInsVo)this.primarytumour.clone();
		if(this.treatmentsite == null)
			clone.treatmentsite = null;
		else
			clone.treatmentsite = (ims.eas.vo.TreatmentSiteInsVo)this.treatmentsite.clone();
		clone.firsttherapeuticintervention = this.firsttherapeuticintervention;
		clone.clinicaltrialpatient = this.clinicaltrialpatient;
		clone.protocolused = this.protocolused;
		if(this.patientconsent == null)
			clone.patientconsent = null;
		else
			clone.patientconsent = (ims.core.vo.lookups.YesNo)this.patientconsent.clone();
		if(this.planconssession == null)
			clone.planconssession = null;
		else
			clone.planconssession = (ims.core.vo.lookups.YesNo)this.planconssession.clone();
		if(this.appropcccl == null)
			clone.appropcccl = null;
		else
			clone.appropcccl = (ims.core.vo.lookups.YesNo)this.appropcccl.clone();
		if(this.imagetransfer == null)
			clone.imagetransfer = null;
		else
			clone.imagetransfer = (ims.core.vo.lookups.YesNo)this.imagetransfer.clone();
		if(this.phases == null)
			clone.phases = null;
		else
			clone.phases = (ims.eas.vo.EASPhaseVoCollection)this.phases.clone();
		if(this.concurrentsystemictreatment == null)
			clone.concurrentsystemictreatment = null;
		else
			clone.concurrentsystemictreatment = (ims.core.vo.lookups.YesNo)this.concurrentsystemictreatment.clone();
		if(this.seenat == null)
			clone.seenat = null;
		else
			clone.seenat = (ims.ccosched.vo.lookups.SeenAt)this.seenat.clone();
		if(this.intent == null)
			clone.intent = null;
		else
			clone.intent = (ims.ccosched.vo.lookups.TreatmentIntent)this.intent.clone();
		if(this.priority == null)
			clone.priority = null;
		else
			clone.priority = (ims.ccosched.vo.lookups.Priority)this.priority.clone();
		clone.delayed = this.delayed;
		clone.delayedcomment = this.delayedcomment;
		if(this.readytotreatdate == null)
			clone.readytotreatdate = null;
		else
			clone.readytotreatdate = (ims.framework.utils.PartialDate)this.readytotreatdate.clone();
		if(this.delayedreason == null)
			clone.delayedreason = null;
		else
			clone.delayedreason = (ims.ccosched.vo.lookups.ActionStatusReason)this.delayedreason.clone();
		if(this.treatsitelaterality == null)
			clone.treatsitelaterality = null;
		else
			clone.treatsitelaterality = (ims.core.vo.lookups.LateralityLRonly)this.treatsitelaterality.clone();
		clone.anatomicalsite = this.anatomicalsite;
		if(this.clinicaltrial == null)
			clone.clinicaltrial = null;
		else
			clone.clinicaltrial = (ims.oncology.vo.lookups.ClinicalTrialName)this.clinicaltrial.clone();
		if(this.protocol == null)
			clone.protocol = null;
		else
			clone.protocol = (ims.eas.vo.ProtocolLiteInsVo)this.protocol.clone();
		clone.offprotocolreason = this.offprotocolreason;
		clone.eascomment = this.eascomment;
		if(this.imagetransfers == null)
			clone.imagetransfers = null;
		else
			clone.imagetransfers = (ims.eas.vo.EASImageTransferVoCollection)this.imagetransfers.clone();
		if(this.planningct == null)
			clone.planningct = null;
		else
			clone.planningct = (ims.eas.vo.lookups.ScanLimits)this.planningct.clone();
		clone.planningcttext = this.planningcttext;
		if(this.mriforcoreg == null)
			clone.mriforcoreg = null;
		else
			clone.mriforcoreg = (ims.core.vo.lookups.YesNo)this.mriforcoreg.clone();
		if(this.dentistrequired == null)
			clone.dentistrequired = null;
		else
			clone.dentistrequired = (ims.core.vo.lookups.YesNo)this.dentistrequired.clone();
		if(this.pegrequired == null)
			clone.pegrequired = null;
		else
			clone.pegrequired = (ims.core.vo.lookups.YesNo)this.pegrequired.clone();
		if(this.simulationrequired == null)
			clone.simulationrequired = null;
		else
			clone.simulationrequired = (ims.core.vo.lookups.YesNo)this.simulationrequired.clone();
		if(this.ivcontrast == null)
			clone.ivcontrast = null;
		else
			clone.ivcontrast = (ims.eas.vo.lookups.IVContrast)this.ivcontrast.clone();
		if(this.investigationdate == null)
			clone.investigationdate = null;
		else
			clone.investigationdate = (ims.framework.utils.Date)this.investigationdate.clone();
		clone.creatininelevel = this.creatininelevel;
		if(this.oralcontrast == null)
			clone.oralcontrast = null;
		else
			clone.oralcontrast = (ims.eas.vo.lookups.OralContrastCollection)this.oralcontrast.clone();
		if(this.gatingoptions == null)
			clone.gatingoptions = null;
		else
			clone.gatingoptions = (ims.eas.vo.lookups.GatingOptions)this.gatingoptions.clone();
		if(this.imrt == null)
			clone.imrt = null;
		else
			clone.imrt = (ims.eas.vo.lookups.IMRT)this.imrt.clone();
		if(this.petct == null)
			clone.petct = null;
		else
			clone.petct = (ims.core.vo.lookups.YesNo)this.petct.clone();
		if(this.immobtype == null)
			clone.immobtype = null;
		else
			clone.immobtype = (ims.eas.vo.lookups.ImmobilisationType)this.immobtype.clone();
		if(this.mouldroomactivity == null)
			clone.mouldroomactivity = null;
		else
			clone.mouldroomactivity = (ims.eas.vo.lookups.MouldRoomActivity)this.mouldroomactivity.clone();
		if(this.agent == null)
			clone.agent = null;
		else
			clone.agent = (ims.eas.vo.lookups.Agents)this.agent.clone();
		if(this.planningapptdate == null)
			clone.planningapptdate = null;
		else
			clone.planningapptdate = (ims.framework.utils.DateTime)this.planningapptdate.clone();
		if(this.planningtransport == null)
			clone.planningtransport = null;
		else
			clone.planningtransport = (ims.ccosched.vo.lookups.Transport)this.planningtransport.clone();
		if(this.treatmenttransport == null)
			clone.treatmenttransport = null;
		else
			clone.treatmenttransport = (ims.ccosched.vo.lookups.Transport)this.treatmenttransport.clone();
		if(this.ip_op_planning == null)
			clone.ip_op_planning = null;
		else
			clone.ip_op_planning = (ims.ccosched.vo.lookups.AttendingAs)this.ip_op_planning.clone();
		if(this.ip_op_treatment == null)
			clone.ip_op_treatment = null;
		else
			clone.ip_op_treatment = (ims.ccosched.vo.lookups.AttendingAs)this.ip_op_treatment.clone();
		if(this.patientstatus == null)
			clone.patientstatus = null;
		else
			clone.patientstatus = (ims.ccosched.vo.lookups.Status)this.patientstatus.clone();
		if(this.generateddocument == null)
			clone.generateddocument = null;
		else
			clone.generateddocument = (ims.core.vo.ServerDocumentVo)this.generateddocument.clone();
		if(this.annotation == null)
			clone.annotation = null;
		else
			clone.annotation = (ims.eas.vo.EASAnnotationVoCollection)this.annotation.clone();
		clone.graphicassessment = this.graphicassessment;
		clone.recentcreatinine = this.recentcreatinine;
		clone.planningctrequired = this.planningctrequired;
		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 (!(ElectronicActionSheetVo.class.isAssignableFrom(obj.getClass())))
		{
			throw new ClassCastException("A ElectronicActionSheetVo object cannot be compared an Object of type " + obj.getClass().getName());
		}
		if (this.id == null)
			return 1;
		if (((ElectronicActionSheetVo)obj).getBoId() == null)
			return -1;
		return this.id.compareTo(((ElectronicActionSheetVo)obj).getBoId());
	}
	public synchronized static int generateValueObjectUniqueID()
	{
		return ims.vo.ValueObject.generateUniqueID();
	}
	public int countFieldsWithValue()
	{
		int count = 0;
		if(this.patient != null)
			count++;
		if(this.easstatus != null)
			count++;
		if(this.statushistory != null)
			count++;
		if(this.recordinginfo != null)
			count++;
		if(this.authorisedby != null)
			count++;
		if(this.authoriseddatetime != null)
			count++;
		if(this.responsiblehcp != null)
			count++;
		if(this.tpcreated != null)
			count++;
		if(this.actionrequired != null)
			count++;
		if(this.removedstat != null)
			count++;
		if(this.removalreason != null)
			count++;
		if(this.seenby != null)
			count++;
		if(this.dateseen != null)
			count++;
		if(this.datedecisiontotreat != null)
			count++;
		if(this.primarytumour != null)
			count++;
		if(this.treatmentsite != null)
			count++;
		if(this.firsttherapeuticintervention != null)
			count++;
		if(this.clinicaltrialpatient != null)
			count++;
		if(this.protocolused != null)
			count++;
		if(this.patientconsent != null)
			count++;
		if(this.planconssession != null)
			count++;
		if(this.appropcccl != null)
			count++;
		if(this.imagetransfer != null)
			count++;
		if(this.phases != null)
			count++;
		if(this.concurrentsystemictreatment != null)
			count++;
		if(this.seenat != null)
			count++;
		if(this.intent != null)
			count++;
		if(this.priority != null)
			count++;
		if(this.delayed != null)
			count++;
		if(this.delayedcomment != null)
			count++;
		if(this.readytotreatdate != null)
			count++;
		if(this.delayedreason != null)
			count++;
		if(this.treatsitelaterality != null)
			count++;
		if(this.anatomicalsite != null)
			count++;
		if(this.clinicaltrial != null)
			count++;
		if(this.protocol != null)
			count++;
		if(this.offprotocolreason != null)
			count++;
		if(this.eascomment != null)
			count++;
		if(this.imagetransfers != null)
			count++;
		if(this.planningct != null)
			count++;
		if(this.planningcttext != null)
			count++;
		if(this.mriforcoreg != null)
			count++;
		if(this.dentistrequired != null)
			count++;
		if(this.pegrequired != null)
			count++;
		if(this.simulationrequired != null)
			count++;
		if(this.ivcontrast != null)
			count++;
		if(this.investigationdate != null)
			count++;
		if(this.creatininelevel != null)
			count++;
		if(this.oralcontrast != null)
			count++;
		if(this.gatingoptions != null)
			count++;
		if(this.imrt != null)
			count++;
		if(this.petct != null)
			count++;
		if(this.immobtype != null)
			count++;
		if(this.mouldroomactivity != null)
			count++;
		if(this.agent != null)
			count++;
		if(this.planningapptdate != null)
			count++;
		if(this.planningtransport != null)
			count++;
		if(this.treatmenttransport != null)
			count++;
		if(this.ip_op_planning != null)
			count++;
		if(this.ip_op_treatment != null)
			count++;
		if(this.patientstatus != null)
			count++;
		if(this.generateddocument != null)
			count++;
		if(this.annotation != null)
			count++;
		if(this.graphicassessment != null)
			count++;
		if(this.recentcreatinine != null)
			count++;
		if(this.planningctrequired != null)
			count++;
		return count;
	}
	public int countValueObjectFields()
	{
		return 66;
	}
	protected ims.core.patient.vo.PatientRefVo patient;
	protected ims.eas.vo.EASStatusRecordVo easstatus;
	protected ims.eas.vo.EASStatusRecordVoCollection statushistory;
	protected ims.core.vo.RecordingUserInformationVo recordinginfo;
	protected ims.core.vo.MemberOfStaffLiteVo authorisedby;
	protected ims.framework.utils.DateTime authoriseddatetime;
	protected ims.core.vo.HcpLiteVo responsiblehcp;
	protected Boolean tpcreated;
	protected Boolean actionrequired;
	protected Boolean removedstat;
	protected ims.eas.vo.lookups.RemovalReason removalreason;
	protected ims.core.vo.Hcp seenby;
	protected ims.framework.utils.Date dateseen;
	protected ims.framework.utils.Date datedecisiontotreat;
	protected ims.eas.vo.PrimaryTumourInsVo primarytumour;
	protected ims.eas.vo.TreatmentSiteInsVo treatmentsite;
	protected Boolean firsttherapeuticintervention;
	protected Boolean clinicaltrialpatient;
	protected Boolean protocolused;
	protected ims.core.vo.lookups.YesNo patientconsent;
	protected ims.core.vo.lookups.YesNo planconssession;
	protected ims.core.vo.lookups.YesNo appropcccl;
	protected ims.core.vo.lookups.YesNo imagetransfer;
	protected ims.eas.vo.EASPhaseVoCollection phases;
	protected ims.core.vo.lookups.YesNo concurrentsystemictreatment;
	protected ims.ccosched.vo.lookups.SeenAt seenat;
	protected ims.ccosched.vo.lookups.TreatmentIntent intent;
	protected ims.ccosched.vo.lookups.Priority priority;
	protected Boolean delayed;
	protected String delayedcomment;
	protected ims.framework.utils.PartialDate readytotreatdate;
	protected ims.ccosched.vo.lookups.ActionStatusReason delayedreason;
	protected ims.core.vo.lookups.LateralityLRonly treatsitelaterality;
	protected String anatomicalsite;
	protected ims.oncology.vo.lookups.ClinicalTrialName clinicaltrial;
	protected ims.eas.vo.ProtocolLiteInsVo protocol;
	protected String offprotocolreason;
	protected String eascomment;
	protected ims.eas.vo.EASImageTransferVoCollection imagetransfers;
	protected ims.eas.vo.lookups.ScanLimits planningct;
	protected String planningcttext;
	protected ims.core.vo.lookups.YesNo mriforcoreg;
	protected ims.core.vo.lookups.YesNo dentistrequired;
	protected ims.core.vo.lookups.YesNo pegrequired;
	protected ims.core.vo.lookups.YesNo simulationrequired;
	protected ims.eas.vo.lookups.IVContrast ivcontrast;
	protected ims.framework.utils.Date investigationdate;
	protected Float creatininelevel;
	protected ims.eas.vo.lookups.OralContrastCollection oralcontrast;
	protected ims.eas.vo.lookups.GatingOptions gatingoptions;
	protected ims.eas.vo.lookups.IMRT imrt;
	protected ims.core.vo.lookups.YesNo petct;
	protected ims.eas.vo.lookups.ImmobilisationType immobtype;
	protected ims.eas.vo.lookups.MouldRoomActivity mouldroomactivity;
	protected ims.eas.vo.lookups.Agents agent;
	protected ims.framework.utils.DateTime planningapptdate;
	protected ims.ccosched.vo.lookups.Transport planningtransport;
	protected ims.ccosched.vo.lookups.Transport treatmenttransport;
	protected ims.ccosched.vo.lookups.AttendingAs ip_op_planning;
	protected ims.ccosched.vo.lookups.AttendingAs ip_op_treatment;
	protected ims.ccosched.vo.lookups.Status patientstatus;
	protected ims.core.vo.ServerDocumentVo generateddocument;
	protected ims.eas.vo.EASAnnotationVoCollection annotation;
	protected ims.assessment.instantiation.vo.PatientAssessmentRefVo graphicassessment;
	protected Boolean recentcreatinine;
	protected Boolean planningctrequired;
	private boolean isValidated = false;
	private boolean isBusy = false;
}
