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

/**
 * Linked to core.admin.PDSConfiguration business object (ID: 1004100075).
 */
public class PDSConfigurationVo extends ims.core.admin.vo.PDSConfigurationRefVo implements ims.vo.ImsCloneable, Comparable
{
	private static final long serialVersionUID = 1L;

	public PDSConfigurationVo()
	{
	}
	public PDSConfigurationVo(Integer id, int version)
	{
		super(id, version);
	}
	public PDSConfigurationVo(ims.admin.vo.beans.PDSConfigurationVoBean bean)
	{
		this.id = bean.getId();
		this.version = bean.getVersion();
		this.dob_date_range = bean.getDOB_DATE_RANGE();
		this.dod_date_range = bean.getDOD_DATE_RANGE();
		this.trace_advanced_ignore_history = bean.getTRACE_ADVANCED_IGNORE_HISTORY();
		this.trace_history_data_indicator = bean.getTRACE_HISTORY_DATA_INDICATOR();
		this.use_lpi_crosscheck = bean.getUSE_LPI_CROSSCHECK();
		this.no_fixed_abode_postcode = bean.getNO_FIXED_ABODE_POSTCODE();
		this.advanced_search_timer_interval = bean.getADVANCED_SEARCH_TIMER_INTERVAL();
		this.pds_backoffice_notificati = bean.getPDS_BACKOFFICE_NOTIFICATI() == null ? null : new ims.core.configuration.vo.AppUserRefVo(new Integer(bean.getPDS_BACKOFFICE_NOTIFICATI().getId()), bean.getPDS_BACKOFFICE_NOTIFICATI().getVersion());
		this.numofdaysappointbatchtrace = bean.getNumOfDaysAppointBatchTrace();
		this.numofdaystcibatchtrace = bean.getNumOfDaysTCIBatchTrace();
		this.numofdaysfornextpdscheck = bean.getNumOfDaysForNextPDSCheck();
		this.synchronise_with_backoffice = bean.getSYNCHRONISE_WITH_BACKOFFICE();
		this.frompdsaccreditedsystemid = bean.getFromPDSAccreditedSystemId();
		this.topdsaccreditedsystemid = bean.getToPDSAccreditedSystemId();
		this.pds_config_file = bean.getPDS_CONFIG_FILE();
		this.pds_store_message_loc = bean.getPDS_STORE_MESSAGE_LOC();
		this.pds_store_message = bean.getPDS_STORE_MESSAGE();
		this.start_pds_gateway = bean.getSTART_PDS_GATEWAY();
		this.pds_msh_repository = bean.getPDS_MSH_REPOSITORY();
		this.pds_msh_url = bean.getPDS_MSH_URL();
		this.create_bo_notifications = bean.getCREATE_BO_NOTIFICATIONS();
		this.sdshost = bean.getSDSHost();
		this.sdsport = bean.getSDSPort();
		this.pds_url = bean.getPDS_URL();
		this.pds_host = bean.getPDS_HOST();
		this.pds_store_sync_message = bean.getPDS_STORE_SYNC_MESSAGE();
		this.pds_store_sync_message_loc = bean.getPDS_STORE_SYNC_MESSAGE_LOC();
		this.consentchangemessage = bean.getConsentChangeMessage();
		this.inactivepatientrecordbgcolour = bean.getInactivePatientRecordBgColour() == null ? null : bean.getInactivePatientRecordBgColour().buildColor();
		this.decouple_on_decease = bean.getDECOUPLE_ON_DECEASE();
		this.notify_on_decease = bean.getNOTIFY_ON_DECEASE();
		this.decouple_on_sync_required = bean.getDECOUPLE_ON_SYNC_REQUIRED();
		this.pds_authentication = bean.getPDS_AUTHENTICATION();
		this.rbac_pdssearchforpatient = bean.getRBAC_PdsSearchForPatient();
		this.rbac_pdssearchpatientadvanced = bean.getRBAC_PdsSearchPatientAdvanced();
		this.rbac_pdsretrieval = bean.getRBAC_PdsRetrieval();
		this.rbac_accesssensitivedata = bean.getRBAC_AccessSensitiveData();
		this.rbac_amendpatient = bean.getRBAC_AmendPatient();
		this.rbac_controlconsent = bean.getRBAC_ControlConsent();
		this.rbac_amendpatientdecease = bean.getRBAC_AmendPatientDecease();
		this.rbac_postcodesearch = bean.getRBAC_PostcodeSearch();
		this.pds_display_consent = bean.getPDS_DISPLAY_CONSENT();
		this.dob_date_range_type = bean.getDOB_DATE_RANGE_TYPE() == null ? null : ims.core.vo.lookups.TimeUnitsSecondsToYears.buildLookup(bean.getDOB_DATE_RANGE_TYPE());
		this.dod_date_range_type = bean.getDOD_DATE_RANGE_TYPE() == null ? null : ims.core.vo.lookups.TimeUnitsSecondsToYears.buildLookup(bean.getDOD_DATE_RANGE_TYPE());
		this.tp_bookoutpatientappt = bean.getTP_BookOutpatientAppt();
		this.tp_bookwardattenderappt = bean.getTP_BookWardAttenderAppt();
		this.tp_createtciandtheatrebooking = bean.getTP_CreateTCIAndTheatreBooking();
		this.tp_anyadmission = bean.getTP_AnyAdmission();
		this.tp_anyapptarrival = bean.getTP_AnyApptArrival();
	}
	public void populate(ims.vo.ValueObjectBeanMap map, ims.admin.vo.beans.PDSConfigurationVoBean bean)
	{
		this.id = bean.getId();
		this.version = bean.getVersion();
		this.dob_date_range = bean.getDOB_DATE_RANGE();
		this.dod_date_range = bean.getDOD_DATE_RANGE();
		this.trace_advanced_ignore_history = bean.getTRACE_ADVANCED_IGNORE_HISTORY();
		this.trace_history_data_indicator = bean.getTRACE_HISTORY_DATA_INDICATOR();
		this.use_lpi_crosscheck = bean.getUSE_LPI_CROSSCHECK();
		this.no_fixed_abode_postcode = bean.getNO_FIXED_ABODE_POSTCODE();
		this.advanced_search_timer_interval = bean.getADVANCED_SEARCH_TIMER_INTERVAL();
		this.pds_backoffice_notificati = bean.getPDS_BACKOFFICE_NOTIFICATI() == null ? null : new ims.core.configuration.vo.AppUserRefVo(new Integer(bean.getPDS_BACKOFFICE_NOTIFICATI().getId()), bean.getPDS_BACKOFFICE_NOTIFICATI().getVersion());
		this.numofdaysappointbatchtrace = bean.getNumOfDaysAppointBatchTrace();
		this.numofdaystcibatchtrace = bean.getNumOfDaysTCIBatchTrace();
		this.numofdaysfornextpdscheck = bean.getNumOfDaysForNextPDSCheck();
		this.synchronise_with_backoffice = bean.getSYNCHRONISE_WITH_BACKOFFICE();
		this.frompdsaccreditedsystemid = bean.getFromPDSAccreditedSystemId();
		this.topdsaccreditedsystemid = bean.getToPDSAccreditedSystemId();
		this.pds_config_file = bean.getPDS_CONFIG_FILE();
		this.pds_store_message_loc = bean.getPDS_STORE_MESSAGE_LOC();
		this.pds_store_message = bean.getPDS_STORE_MESSAGE();
		this.start_pds_gateway = bean.getSTART_PDS_GATEWAY();
		this.pds_msh_repository = bean.getPDS_MSH_REPOSITORY();
		this.pds_msh_url = bean.getPDS_MSH_URL();
		this.create_bo_notifications = bean.getCREATE_BO_NOTIFICATIONS();
		this.sdshost = bean.getSDSHost();
		this.sdsport = bean.getSDSPort();
		this.pds_url = bean.getPDS_URL();
		this.pds_host = bean.getPDS_HOST();
		this.pds_store_sync_message = bean.getPDS_STORE_SYNC_MESSAGE();
		this.pds_store_sync_message_loc = bean.getPDS_STORE_SYNC_MESSAGE_LOC();
		this.consentchangemessage = bean.getConsentChangeMessage();
		this.inactivepatientrecordbgcolour = bean.getInactivePatientRecordBgColour() == null ? null : bean.getInactivePatientRecordBgColour().buildColor();
		this.decouple_on_decease = bean.getDECOUPLE_ON_DECEASE();
		this.notify_on_decease = bean.getNOTIFY_ON_DECEASE();
		this.decouple_on_sync_required = bean.getDECOUPLE_ON_SYNC_REQUIRED();
		this.pds_authentication = bean.getPDS_AUTHENTICATION();
		this.rbac_pdssearchforpatient = bean.getRBAC_PdsSearchForPatient();
		this.rbac_pdssearchpatientadvanced = bean.getRBAC_PdsSearchPatientAdvanced();
		this.rbac_pdsretrieval = bean.getRBAC_PdsRetrieval();
		this.rbac_accesssensitivedata = bean.getRBAC_AccessSensitiveData();
		this.rbac_amendpatient = bean.getRBAC_AmendPatient();
		this.rbac_controlconsent = bean.getRBAC_ControlConsent();
		this.rbac_amendpatientdecease = bean.getRBAC_AmendPatientDecease();
		this.rbac_postcodesearch = bean.getRBAC_PostcodeSearch();
		this.pds_display_consent = bean.getPDS_DISPLAY_CONSENT();
		this.dob_date_range_type = bean.getDOB_DATE_RANGE_TYPE() == null ? null : ims.core.vo.lookups.TimeUnitsSecondsToYears.buildLookup(bean.getDOB_DATE_RANGE_TYPE());
		this.dod_date_range_type = bean.getDOD_DATE_RANGE_TYPE() == null ? null : ims.core.vo.lookups.TimeUnitsSecondsToYears.buildLookup(bean.getDOD_DATE_RANGE_TYPE());
		this.tp_bookoutpatientappt = bean.getTP_BookOutpatientAppt();
		this.tp_bookwardattenderappt = bean.getTP_BookWardAttenderAppt();
		this.tp_createtciandtheatrebooking = bean.getTP_CreateTCIAndTheatreBooking();
		this.tp_anyadmission = bean.getTP_AnyAdmission();
		this.tp_anyapptarrival = bean.getTP_AnyApptArrival();
	}
	public ims.vo.ValueObjectBean getBean()
	{
		return this.getBean(new ims.vo.ValueObjectBeanMap());
	}
	public ims.vo.ValueObjectBean getBean(ims.vo.ValueObjectBeanMap map)
	{
		ims.admin.vo.beans.PDSConfigurationVoBean bean = null;
		if(map != null)
			bean = (ims.admin.vo.beans.PDSConfigurationVoBean)map.getValueObjectBean(this);
		if (bean == null)
		{
			bean = new ims.admin.vo.beans.PDSConfigurationVoBean();
			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("DOB_DATE_RANGE"))
			return getDOB_DATE_RANGE();
		if(fieldName.equals("DOD_DATE_RANGE"))
			return getDOD_DATE_RANGE();
		if(fieldName.equals("TRACE_ADVANCED_IGNORE_HISTORY"))
			return getTRACE_ADVANCED_IGNORE_HISTORY();
		if(fieldName.equals("TRACE_HISTORY_DATA_INDICATOR"))
			return getTRACE_HISTORY_DATA_INDICATOR();
		if(fieldName.equals("USE_LPI_CROSSCHECK"))
			return getUSE_LPI_CROSSCHECK();
		if(fieldName.equals("NO_FIXED_ABODE_POSTCODE"))
			return getNO_FIXED_ABODE_POSTCODE();
		if(fieldName.equals("ADVANCED_SEARCH_TIMER_INTERVAL"))
			return getADVANCED_SEARCH_TIMER_INTERVAL();
		if(fieldName.equals("PDS_BACKOFFICE_NOTIFICATI"))
			return getPDS_BACKOFFICE_NOTIFICATI();
		if(fieldName.equals("NUMOFDAYSAPPOINTBATCHTRACE"))
			return getNumOfDaysAppointBatchTrace();
		if(fieldName.equals("NUMOFDAYSTCIBATCHTRACE"))
			return getNumOfDaysTCIBatchTrace();
		if(fieldName.equals("NUMOFDAYSFORNEXTPDSCHECK"))
			return getNumOfDaysForNextPDSCheck();
		if(fieldName.equals("SYNCHRONISE_WITH_BACKOFFICE"))
			return getSYNCHRONISE_WITH_BACKOFFICE();
		if(fieldName.equals("FROMPDSACCREDITEDSYSTEMID"))
			return getFromPDSAccreditedSystemId();
		if(fieldName.equals("TOPDSACCREDITEDSYSTEMID"))
			return getToPDSAccreditedSystemId();
		if(fieldName.equals("PDS_CONFIG_FILE"))
			return getPDS_CONFIG_FILE();
		if(fieldName.equals("PDS_STORE_MESSAGE_LOC"))
			return getPDS_STORE_MESSAGE_LOC();
		if(fieldName.equals("PDS_STORE_MESSAGE"))
			return getPDS_STORE_MESSAGE();
		if(fieldName.equals("START_PDS_GATEWAY"))
			return getSTART_PDS_GATEWAY();
		if(fieldName.equals("PDS_MSH_REPOSITORY"))
			return getPDS_MSH_REPOSITORY();
		if(fieldName.equals("PDS_MSH_URL"))
			return getPDS_MSH_URL();
		if(fieldName.equals("CREATE_BO_NOTIFICATIONS"))
			return getCREATE_BO_NOTIFICATIONS();
		if(fieldName.equals("SDSHOST"))
			return getSDSHost();
		if(fieldName.equals("SDSPORT"))
			return getSDSPort();
		if(fieldName.equals("PDS_URL"))
			return getPDS_URL();
		if(fieldName.equals("PDS_HOST"))
			return getPDS_HOST();
		if(fieldName.equals("PDS_STORE_SYNC_MESSAGE"))
			return getPDS_STORE_SYNC_MESSAGE();
		if(fieldName.equals("PDS_STORE_SYNC_MESSAGE_LOC"))
			return getPDS_STORE_SYNC_MESSAGE_LOC();
		if(fieldName.equals("CONSENTCHANGEMESSAGE"))
			return getConsentChangeMessage();
		if(fieldName.equals("INACTIVEPATIENTRECORDBGCOLOUR"))
			return getInactivePatientRecordBgColour();
		if(fieldName.equals("DECOUPLE_ON_DECEASE"))
			return getDECOUPLE_ON_DECEASE();
		if(fieldName.equals("NOTIFY_ON_DECEASE"))
			return getNOTIFY_ON_DECEASE();
		if(fieldName.equals("DECOUPLE_ON_SYNC_REQUIRED"))
			return getDECOUPLE_ON_SYNC_REQUIRED();
		if(fieldName.equals("PDS_AUTHENTICATION"))
			return getPDS_AUTHENTICATION();
		if(fieldName.equals("RBAC_PDSSEARCHFORPATIENT"))
			return getRBAC_PdsSearchForPatient();
		if(fieldName.equals("RBAC_PDSSEARCHPATIENTADVANCED"))
			return getRBAC_PdsSearchPatientAdvanced();
		if(fieldName.equals("RBAC_PDSRETRIEVAL"))
			return getRBAC_PdsRetrieval();
		if(fieldName.equals("RBAC_ACCESSSENSITIVEDATA"))
			return getRBAC_AccessSensitiveData();
		if(fieldName.equals("RBAC_AMENDPATIENT"))
			return getRBAC_AmendPatient();
		if(fieldName.equals("RBAC_CONTROLCONSENT"))
			return getRBAC_ControlConsent();
		if(fieldName.equals("RBAC_AMENDPATIENTDECEASE"))
			return getRBAC_AmendPatientDecease();
		if(fieldName.equals("RBAC_POSTCODESEARCH"))
			return getRBAC_PostcodeSearch();
		if(fieldName.equals("PDS_DISPLAY_CONSENT"))
			return getPDS_DISPLAY_CONSENT();
		if(fieldName.equals("DOB_DATE_RANGE_TYPE"))
			return getDOB_DATE_RANGE_TYPE();
		if(fieldName.equals("DOD_DATE_RANGE_TYPE"))
			return getDOD_DATE_RANGE_TYPE();
		if(fieldName.equals("TP_BOOKOUTPATIENTAPPT"))
			return getTP_BookOutpatientAppt();
		if(fieldName.equals("TP_BOOKWARDATTENDERAPPT"))
			return getTP_BookWardAttenderAppt();
		if(fieldName.equals("TP_CREATETCIANDTHEATREBOOKING"))
			return getTP_CreateTCIAndTheatreBooking();
		if(fieldName.equals("TP_ANYADMISSION"))
			return getTP_AnyAdmission();
		if(fieldName.equals("TP_ANYAPPTARRIVAL"))
			return getTP_AnyApptArrival();
		return super.getFieldValueByFieldName(fieldName);
	}
	public boolean getDOB_DATE_RANGEIsNotNull()
	{
		return this.dob_date_range != null;
	}
	public Integer getDOB_DATE_RANGE()
	{
		return this.dob_date_range;
	}
	public void setDOB_DATE_RANGE(Integer value)
	{
		this.isValidated = false;
		this.dob_date_range = value;
	}
	public boolean getDOD_DATE_RANGEIsNotNull()
	{
		return this.dod_date_range != null;
	}
	public Integer getDOD_DATE_RANGE()
	{
		return this.dod_date_range;
	}
	public void setDOD_DATE_RANGE(Integer value)
	{
		this.isValidated = false;
		this.dod_date_range = value;
	}
	public boolean getTRACE_ADVANCED_IGNORE_HISTORYIsNotNull()
	{
		return this.trace_advanced_ignore_history != null;
	}
	public Boolean getTRACE_ADVANCED_IGNORE_HISTORY()
	{
		return this.trace_advanced_ignore_history;
	}
	public void setTRACE_ADVANCED_IGNORE_HISTORY(Boolean value)
	{
		this.isValidated = false;
		this.trace_advanced_ignore_history = value;
	}
	public boolean getTRACE_HISTORY_DATA_INDICATORIsNotNull()
	{
		return this.trace_history_data_indicator != null;
	}
	public Boolean getTRACE_HISTORY_DATA_INDICATOR()
	{
		return this.trace_history_data_indicator;
	}
	public void setTRACE_HISTORY_DATA_INDICATOR(Boolean value)
	{
		this.isValidated = false;
		this.trace_history_data_indicator = value;
	}
	public boolean getUSE_LPI_CROSSCHECKIsNotNull()
	{
		return this.use_lpi_crosscheck != null;
	}
	public Boolean getUSE_LPI_CROSSCHECK()
	{
		return this.use_lpi_crosscheck;
	}
	public void setUSE_LPI_CROSSCHECK(Boolean value)
	{
		this.isValidated = false;
		this.use_lpi_crosscheck = value;
	}
	public boolean getNO_FIXED_ABODE_POSTCODEIsNotNull()
	{
		return this.no_fixed_abode_postcode != null;
	}
	public String getNO_FIXED_ABODE_POSTCODE()
	{
		return this.no_fixed_abode_postcode;
	}
	public static int getNO_FIXED_ABODE_POSTCODEMaxLength()
	{
		return 10;
	}
	public void setNO_FIXED_ABODE_POSTCODE(String value)
	{
		this.isValidated = false;
		this.no_fixed_abode_postcode = value;
	}
	public boolean getADVANCED_SEARCH_TIMER_INTERVALIsNotNull()
	{
		return this.advanced_search_timer_interval != null;
	}
	public Integer getADVANCED_SEARCH_TIMER_INTERVAL()
	{
		return this.advanced_search_timer_interval;
	}
	public void setADVANCED_SEARCH_TIMER_INTERVAL(Integer value)
	{
		this.isValidated = false;
		this.advanced_search_timer_interval = value;
	}
	public boolean getPDS_BACKOFFICE_NOTIFICATIIsNotNull()
	{
		return this.pds_backoffice_notificati != null;
	}
	public ims.core.configuration.vo.AppUserRefVo getPDS_BACKOFFICE_NOTIFICATI()
	{
		return this.pds_backoffice_notificati;
	}
	public void setPDS_BACKOFFICE_NOTIFICATI(ims.core.configuration.vo.AppUserRefVo value)
	{
		this.isValidated = false;
		this.pds_backoffice_notificati = value;
	}
	public boolean getNumOfDaysAppointBatchTraceIsNotNull()
	{
		return this.numofdaysappointbatchtrace != null;
	}
	public Integer getNumOfDaysAppointBatchTrace()
	{
		return this.numofdaysappointbatchtrace;
	}
	public void setNumOfDaysAppointBatchTrace(Integer value)
	{
		this.isValidated = false;
		this.numofdaysappointbatchtrace = value;
	}
	public boolean getNumOfDaysTCIBatchTraceIsNotNull()
	{
		return this.numofdaystcibatchtrace != null;
	}
	public Integer getNumOfDaysTCIBatchTrace()
	{
		return this.numofdaystcibatchtrace;
	}
	public void setNumOfDaysTCIBatchTrace(Integer value)
	{
		this.isValidated = false;
		this.numofdaystcibatchtrace = value;
	}
	public boolean getNumOfDaysForNextPDSCheckIsNotNull()
	{
		return this.numofdaysfornextpdscheck != null;
	}
	public Integer getNumOfDaysForNextPDSCheck()
	{
		return this.numofdaysfornextpdscheck;
	}
	public void setNumOfDaysForNextPDSCheck(Integer value)
	{
		this.isValidated = false;
		this.numofdaysfornextpdscheck = value;
	}
	public boolean getSYNCHRONISE_WITH_BACKOFFICEIsNotNull()
	{
		return this.synchronise_with_backoffice != null;
	}
	public Boolean getSYNCHRONISE_WITH_BACKOFFICE()
	{
		return this.synchronise_with_backoffice;
	}
	public void setSYNCHRONISE_WITH_BACKOFFICE(Boolean value)
	{
		this.isValidated = false;
		this.synchronise_with_backoffice = value;
	}
	public boolean getFromPDSAccreditedSystemIdIsNotNull()
	{
		return this.frompdsaccreditedsystemid != null;
	}
	public String getFromPDSAccreditedSystemId()
	{
		return this.frompdsaccreditedsystemid;
	}
	public static int getFromPDSAccreditedSystemIdMaxLength()
	{
		return 20;
	}
	public void setFromPDSAccreditedSystemId(String value)
	{
		this.isValidated = false;
		this.frompdsaccreditedsystemid = value;
	}
	public boolean getToPDSAccreditedSystemIdIsNotNull()
	{
		return this.topdsaccreditedsystemid != null;
	}
	public String getToPDSAccreditedSystemId()
	{
		return this.topdsaccreditedsystemid;
	}
	public static int getToPDSAccreditedSystemIdMaxLength()
	{
		return 20;
	}
	public void setToPDSAccreditedSystemId(String value)
	{
		this.isValidated = false;
		this.topdsaccreditedsystemid = value;
	}
	public boolean getPDS_CONFIG_FILEIsNotNull()
	{
		return this.pds_config_file != null;
	}
	public String getPDS_CONFIG_FILE()
	{
		return this.pds_config_file;
	}
	public static int getPDS_CONFIG_FILEMaxLength()
	{
		return 200;
	}
	public void setPDS_CONFIG_FILE(String value)
	{
		this.isValidated = false;
		this.pds_config_file = value;
	}
	public boolean getPDS_STORE_MESSAGE_LOCIsNotNull()
	{
		return this.pds_store_message_loc != null;
	}
	public String getPDS_STORE_MESSAGE_LOC()
	{
		return this.pds_store_message_loc;
	}
	public static int getPDS_STORE_MESSAGE_LOCMaxLength()
	{
		return 250;
	}
	public void setPDS_STORE_MESSAGE_LOC(String value)
	{
		this.isValidated = false;
		this.pds_store_message_loc = value;
	}
	public boolean getPDS_STORE_MESSAGEIsNotNull()
	{
		return this.pds_store_message != null;
	}
	public Boolean getPDS_STORE_MESSAGE()
	{
		return this.pds_store_message;
	}
	public void setPDS_STORE_MESSAGE(Boolean value)
	{
		this.isValidated = false;
		this.pds_store_message = value;
	}
	public boolean getSTART_PDS_GATEWAYIsNotNull()
	{
		return this.start_pds_gateway != null;
	}
	public Boolean getSTART_PDS_GATEWAY()
	{
		return this.start_pds_gateway;
	}
	public void setSTART_PDS_GATEWAY(Boolean value)
	{
		this.isValidated = false;
		this.start_pds_gateway = value;
	}
	public boolean getPDS_MSH_REPOSITORYIsNotNull()
	{
		return this.pds_msh_repository != null;
	}
	public String getPDS_MSH_REPOSITORY()
	{
		return this.pds_msh_repository;
	}
	public static int getPDS_MSH_REPOSITORYMaxLength()
	{
		return 250;
	}
	public void setPDS_MSH_REPOSITORY(String value)
	{
		this.isValidated = false;
		this.pds_msh_repository = value;
	}
	public boolean getPDS_MSH_URLIsNotNull()
	{
		return this.pds_msh_url != null;
	}
	public String getPDS_MSH_URL()
	{
		return this.pds_msh_url;
	}
	public static int getPDS_MSH_URLMaxLength()
	{
		return 250;
	}
	public void setPDS_MSH_URL(String value)
	{
		this.isValidated = false;
		this.pds_msh_url = value;
	}
	public boolean getCREATE_BO_NOTIFICATIONSIsNotNull()
	{
		return this.create_bo_notifications != null;
	}
	public Boolean getCREATE_BO_NOTIFICATIONS()
	{
		return this.create_bo_notifications;
	}
	public void setCREATE_BO_NOTIFICATIONS(Boolean value)
	{
		this.isValidated = false;
		this.create_bo_notifications = value;
	}
	public boolean getSDSHostIsNotNull()
	{
		return this.sdshost != null;
	}
	public String getSDSHost()
	{
		return this.sdshost;
	}
	public static int getSDSHostMaxLength()
	{
		return 100;
	}
	public void setSDSHost(String value)
	{
		this.isValidated = false;
		this.sdshost = value;
	}
	public boolean getSDSPortIsNotNull()
	{
		return this.sdsport != null;
	}
	public String getSDSPort()
	{
		return this.sdsport;
	}
	public static int getSDSPortMaxLength()
	{
		return 20;
	}
	public void setSDSPort(String value)
	{
		this.isValidated = false;
		this.sdsport = value;
	}
	public boolean getPDS_URLIsNotNull()
	{
		return this.pds_url != null;
	}
	public String getPDS_URL()
	{
		return this.pds_url;
	}
	public static int getPDS_URLMaxLength()
	{
		return 200;
	}
	public void setPDS_URL(String value)
	{
		this.isValidated = false;
		this.pds_url = value;
	}
	public boolean getPDS_HOSTIsNotNull()
	{
		return this.pds_host != null;
	}
	public String getPDS_HOST()
	{
		return this.pds_host;
	}
	public static int getPDS_HOSTMaxLength()
	{
		return 100;
	}
	public void setPDS_HOST(String value)
	{
		this.isValidated = false;
		this.pds_host = value;
	}
	public boolean getPDS_STORE_SYNC_MESSAGEIsNotNull()
	{
		return this.pds_store_sync_message != null;
	}
	public Boolean getPDS_STORE_SYNC_MESSAGE()
	{
		return this.pds_store_sync_message;
	}
	public void setPDS_STORE_SYNC_MESSAGE(Boolean value)
	{
		this.isValidated = false;
		this.pds_store_sync_message = value;
	}
	public boolean getPDS_STORE_SYNC_MESSAGE_LOCIsNotNull()
	{
		return this.pds_store_sync_message_loc != null;
	}
	public String getPDS_STORE_SYNC_MESSAGE_LOC()
	{
		return this.pds_store_sync_message_loc;
	}
	public static int getPDS_STORE_SYNC_MESSAGE_LOCMaxLength()
	{
		return 250;
	}
	public void setPDS_STORE_SYNC_MESSAGE_LOC(String value)
	{
		this.isValidated = false;
		this.pds_store_sync_message_loc = value;
	}
	public boolean getConsentChangeMessageIsNotNull()
	{
		return this.consentchangemessage != null;
	}
	public String getConsentChangeMessage()
	{
		return this.consentchangemessage;
	}
	public static int getConsentChangeMessageMaxLength()
	{
		return 400;
	}
	public void setConsentChangeMessage(String value)
	{
		this.isValidated = false;
		this.consentchangemessage = value;
	}
	public boolean getInactivePatientRecordBgColourIsNotNull()
	{
		return this.inactivepatientrecordbgcolour != null;
	}
	public ims.framework.utils.Color getInactivePatientRecordBgColour()
	{
		return this.inactivepatientrecordbgcolour;
	}
	public void setInactivePatientRecordBgColour(ims.framework.utils.Color value)
	{
		this.isValidated = false;
		this.inactivepatientrecordbgcolour = value;
	}
	public boolean getDECOUPLE_ON_DECEASEIsNotNull()
	{
		return this.decouple_on_decease != null;
	}
	public Boolean getDECOUPLE_ON_DECEASE()
	{
		return this.decouple_on_decease;
	}
	public void setDECOUPLE_ON_DECEASE(Boolean value)
	{
		this.isValidated = false;
		this.decouple_on_decease = value;
	}
	public boolean getNOTIFY_ON_DECEASEIsNotNull()
	{
		return this.notify_on_decease != null;
	}
	public Boolean getNOTIFY_ON_DECEASE()
	{
		return this.notify_on_decease;
	}
	public void setNOTIFY_ON_DECEASE(Boolean value)
	{
		this.isValidated = false;
		this.notify_on_decease = value;
	}
	public boolean getDECOUPLE_ON_SYNC_REQUIREDIsNotNull()
	{
		return this.decouple_on_sync_required != null;
	}
	public Boolean getDECOUPLE_ON_SYNC_REQUIRED()
	{
		return this.decouple_on_sync_required;
	}
	public void setDECOUPLE_ON_SYNC_REQUIRED(Boolean value)
	{
		this.isValidated = false;
		this.decouple_on_sync_required = value;
	}
	public boolean getPDS_AUTHENTICATIONIsNotNull()
	{
		return this.pds_authentication != null;
	}
	public Boolean getPDS_AUTHENTICATION()
	{
		return this.pds_authentication;
	}
	public void setPDS_AUTHENTICATION(Boolean value)
	{
		this.isValidated = false;
		this.pds_authentication = value;
	}
	public boolean getRBAC_PdsSearchForPatientIsNotNull()
	{
		return this.rbac_pdssearchforpatient != null;
	}
	public String getRBAC_PdsSearchForPatient()
	{
		return this.rbac_pdssearchforpatient;
	}
	public static int getRBAC_PdsSearchForPatientMaxLength()
	{
		return 10;
	}
	public void setRBAC_PdsSearchForPatient(String value)
	{
		this.isValidated = false;
		this.rbac_pdssearchforpatient = value;
	}
	public boolean getRBAC_PdsSearchPatientAdvancedIsNotNull()
	{
		return this.rbac_pdssearchpatientadvanced != null;
	}
	public String getRBAC_PdsSearchPatientAdvanced()
	{
		return this.rbac_pdssearchpatientadvanced;
	}
	public static int getRBAC_PdsSearchPatientAdvancedMaxLength()
	{
		return 10;
	}
	public void setRBAC_PdsSearchPatientAdvanced(String value)
	{
		this.isValidated = false;
		this.rbac_pdssearchpatientadvanced = value;
	}
	public boolean getRBAC_PdsRetrievalIsNotNull()
	{
		return this.rbac_pdsretrieval != null;
	}
	public String getRBAC_PdsRetrieval()
	{
		return this.rbac_pdsretrieval;
	}
	public static int getRBAC_PdsRetrievalMaxLength()
	{
		return 10;
	}
	public void setRBAC_PdsRetrieval(String value)
	{
		this.isValidated = false;
		this.rbac_pdsretrieval = value;
	}
	public boolean getRBAC_AccessSensitiveDataIsNotNull()
	{
		return this.rbac_accesssensitivedata != null;
	}
	public String getRBAC_AccessSensitiveData()
	{
		return this.rbac_accesssensitivedata;
	}
	public static int getRBAC_AccessSensitiveDataMaxLength()
	{
		return 10;
	}
	public void setRBAC_AccessSensitiveData(String value)
	{
		this.isValidated = false;
		this.rbac_accesssensitivedata = value;
	}
	public boolean getRBAC_AmendPatientIsNotNull()
	{
		return this.rbac_amendpatient != null;
	}
	public String getRBAC_AmendPatient()
	{
		return this.rbac_amendpatient;
	}
	public static int getRBAC_AmendPatientMaxLength()
	{
		return 10;
	}
	public void setRBAC_AmendPatient(String value)
	{
		this.isValidated = false;
		this.rbac_amendpatient = value;
	}
	public boolean getRBAC_ControlConsentIsNotNull()
	{
		return this.rbac_controlconsent != null;
	}
	public String getRBAC_ControlConsent()
	{
		return this.rbac_controlconsent;
	}
	public static int getRBAC_ControlConsentMaxLength()
	{
		return 10;
	}
	public void setRBAC_ControlConsent(String value)
	{
		this.isValidated = false;
		this.rbac_controlconsent = value;
	}
	public boolean getRBAC_AmendPatientDeceaseIsNotNull()
	{
		return this.rbac_amendpatientdecease != null;
	}
	public String getRBAC_AmendPatientDecease()
	{
		return this.rbac_amendpatientdecease;
	}
	public static int getRBAC_AmendPatientDeceaseMaxLength()
	{
		return 10;
	}
	public void setRBAC_AmendPatientDecease(String value)
	{
		this.isValidated = false;
		this.rbac_amendpatientdecease = value;
	}
	public boolean getRBAC_PostcodeSearchIsNotNull()
	{
		return this.rbac_postcodesearch != null;
	}
	public String getRBAC_PostcodeSearch()
	{
		return this.rbac_postcodesearch;
	}
	public static int getRBAC_PostcodeSearchMaxLength()
	{
		return 10;
	}
	public void setRBAC_PostcodeSearch(String value)
	{
		this.isValidated = false;
		this.rbac_postcodesearch = value;
	}
	public boolean getPDS_DISPLAY_CONSENTIsNotNull()
	{
		return this.pds_display_consent != null;
	}
	public Boolean getPDS_DISPLAY_CONSENT()
	{
		return this.pds_display_consent;
	}
	public void setPDS_DISPLAY_CONSENT(Boolean value)
	{
		this.isValidated = false;
		this.pds_display_consent = value;
	}
	public boolean getDOB_DATE_RANGE_TYPEIsNotNull()
	{
		return this.dob_date_range_type != null;
	}
	public ims.core.vo.lookups.TimeUnitsSecondsToYears getDOB_DATE_RANGE_TYPE()
	{
		return this.dob_date_range_type;
	}
	public void setDOB_DATE_RANGE_TYPE(ims.core.vo.lookups.TimeUnitsSecondsToYears value)
	{
		this.isValidated = false;
		this.dob_date_range_type = value;
	}
	public boolean getDOD_DATE_RANGE_TYPEIsNotNull()
	{
		return this.dod_date_range_type != null;
	}
	public ims.core.vo.lookups.TimeUnitsSecondsToYears getDOD_DATE_RANGE_TYPE()
	{
		return this.dod_date_range_type;
	}
	public void setDOD_DATE_RANGE_TYPE(ims.core.vo.lookups.TimeUnitsSecondsToYears value)
	{
		this.isValidated = false;
		this.dod_date_range_type = value;
	}
	public boolean getTP_BookOutpatientApptIsNotNull()
	{
		return this.tp_bookoutpatientappt != null;
	}
	public Boolean getTP_BookOutpatientAppt()
	{
		return this.tp_bookoutpatientappt;
	}
	public void setTP_BookOutpatientAppt(Boolean value)
	{
		this.isValidated = false;
		this.tp_bookoutpatientappt = value;
	}
	public boolean getTP_BookWardAttenderApptIsNotNull()
	{
		return this.tp_bookwardattenderappt != null;
	}
	public Boolean getTP_BookWardAttenderAppt()
	{
		return this.tp_bookwardattenderappt;
	}
	public void setTP_BookWardAttenderAppt(Boolean value)
	{
		this.isValidated = false;
		this.tp_bookwardattenderappt = value;
	}
	public boolean getTP_CreateTCIAndTheatreBookingIsNotNull()
	{
		return this.tp_createtciandtheatrebooking != null;
	}
	public Boolean getTP_CreateTCIAndTheatreBooking()
	{
		return this.tp_createtciandtheatrebooking;
	}
	public void setTP_CreateTCIAndTheatreBooking(Boolean value)
	{
		this.isValidated = false;
		this.tp_createtciandtheatrebooking = value;
	}
	public boolean getTP_AnyAdmissionIsNotNull()
	{
		return this.tp_anyadmission != null;
	}
	public Boolean getTP_AnyAdmission()
	{
		return this.tp_anyadmission;
	}
	public void setTP_AnyAdmission(Boolean value)
	{
		this.isValidated = false;
		this.tp_anyadmission = value;
	}
	public boolean getTP_AnyApptArrivalIsNotNull()
	{
		return this.tp_anyapptarrival != null;
	}
	public Boolean getTP_AnyApptArrival()
	{
		return this.tp_anyapptarrival;
	}
	public void setTP_AnyApptArrival(Boolean value)
	{
		this.isValidated = false;
		this.tp_anyapptarrival = value;
	}
	public boolean isValidated()
	{
		if(this.isBusy)
			return true;
		this.isBusy = true;
	
		if(!this.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.no_fixed_abode_postcode != null)
			if(this.no_fixed_abode_postcode.length() > 10)
				listOfErrors.add("The length of the field [no_fixed_abode_postcode] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.frompdsaccreditedsystemid != null)
			if(this.frompdsaccreditedsystemid.length() > 20)
				listOfErrors.add("The length of the field [frompdsaccreditedsystemid] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 20");
		if(this.topdsaccreditedsystemid != null)
			if(this.topdsaccreditedsystemid.length() > 20)
				listOfErrors.add("The length of the field [topdsaccreditedsystemid] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 20");
		if(this.pds_config_file != null)
			if(this.pds_config_file.length() > 200)
				listOfErrors.add("The length of the field [pds_config_file] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 200");
		if(this.pds_store_message_loc != null)
			if(this.pds_store_message_loc.length() > 250)
				listOfErrors.add("The length of the field [pds_store_message_loc] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 250");
		if(this.pds_msh_repository != null)
			if(this.pds_msh_repository.length() > 250)
				listOfErrors.add("The length of the field [pds_msh_repository] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 250");
		if(this.pds_msh_url != null)
			if(this.pds_msh_url.length() > 250)
				listOfErrors.add("The length of the field [pds_msh_url] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 250");
		if(this.sdshost != null)
			if(this.sdshost.length() > 100)
				listOfErrors.add("The length of the field [sdshost] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 100");
		if(this.sdsport != null)
			if(this.sdsport.length() > 20)
				listOfErrors.add("The length of the field [sdsport] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 20");
		if(this.pds_url != null)
			if(this.pds_url.length() > 200)
				listOfErrors.add("The length of the field [pds_url] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 200");
		if(this.pds_host != null)
			if(this.pds_host.length() > 100)
				listOfErrors.add("The length of the field [pds_host] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 100");
		if(this.pds_store_sync_message_loc != null)
			if(this.pds_store_sync_message_loc.length() > 250)
				listOfErrors.add("The length of the field [pds_store_sync_message_loc] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 250");
		if(this.consentchangemessage != null)
			if(this.consentchangemessage.length() > 400)
				listOfErrors.add("The length of the field [consentchangemessage] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 400");
		if(this.rbac_pdssearchforpatient != null)
			if(this.rbac_pdssearchforpatient.length() > 10)
				listOfErrors.add("The length of the field [rbac_pdssearchforpatient] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.rbac_pdssearchpatientadvanced != null)
			if(this.rbac_pdssearchpatientadvanced.length() > 10)
				listOfErrors.add("The length of the field [rbac_pdssearchpatientadvanced] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.rbac_pdsretrieval != null)
			if(this.rbac_pdsretrieval.length() > 10)
				listOfErrors.add("The length of the field [rbac_pdsretrieval] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.rbac_accesssensitivedata != null)
			if(this.rbac_accesssensitivedata.length() > 10)
				listOfErrors.add("The length of the field [rbac_accesssensitivedata] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.rbac_amendpatient != null)
			if(this.rbac_amendpatient.length() > 10)
				listOfErrors.add("The length of the field [rbac_amendpatient] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.rbac_controlconsent != null)
			if(this.rbac_controlconsent.length() > 10)
				listOfErrors.add("The length of the field [rbac_controlconsent] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.rbac_amendpatientdecease != null)
			if(this.rbac_amendpatientdecease.length() > 10)
				listOfErrors.add("The length of the field [rbac_amendpatientdecease] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		if(this.rbac_postcodesearch != null)
			if(this.rbac_postcodesearch.length() > 10)
				listOfErrors.add("The length of the field [rbac_postcodesearch] in the value object [ims.admin.vo.PDSConfigurationVo] is too big. It should be less or equal to 10");
		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;
	
		PDSConfigurationVo clone = new PDSConfigurationVo(this.id, this.version);
		
		clone.dob_date_range = this.dob_date_range;
		clone.dod_date_range = this.dod_date_range;
		clone.trace_advanced_ignore_history = this.trace_advanced_ignore_history;
		clone.trace_history_data_indicator = this.trace_history_data_indicator;
		clone.use_lpi_crosscheck = this.use_lpi_crosscheck;
		clone.no_fixed_abode_postcode = this.no_fixed_abode_postcode;
		clone.advanced_search_timer_interval = this.advanced_search_timer_interval;
		clone.pds_backoffice_notificati = this.pds_backoffice_notificati;
		clone.numofdaysappointbatchtrace = this.numofdaysappointbatchtrace;
		clone.numofdaystcibatchtrace = this.numofdaystcibatchtrace;
		clone.numofdaysfornextpdscheck = this.numofdaysfornextpdscheck;
		clone.synchronise_with_backoffice = this.synchronise_with_backoffice;
		clone.frompdsaccreditedsystemid = this.frompdsaccreditedsystemid;
		clone.topdsaccreditedsystemid = this.topdsaccreditedsystemid;
		clone.pds_config_file = this.pds_config_file;
		clone.pds_store_message_loc = this.pds_store_message_loc;
		clone.pds_store_message = this.pds_store_message;
		clone.start_pds_gateway = this.start_pds_gateway;
		clone.pds_msh_repository = this.pds_msh_repository;
		clone.pds_msh_url = this.pds_msh_url;
		clone.create_bo_notifications = this.create_bo_notifications;
		clone.sdshost = this.sdshost;
		clone.sdsport = this.sdsport;
		clone.pds_url = this.pds_url;
		clone.pds_host = this.pds_host;
		clone.pds_store_sync_message = this.pds_store_sync_message;
		clone.pds_store_sync_message_loc = this.pds_store_sync_message_loc;
		clone.consentchangemessage = this.consentchangemessage;
		if(this.inactivepatientrecordbgcolour == null)
			clone.inactivepatientrecordbgcolour = null;
		else
			clone.inactivepatientrecordbgcolour = (ims.framework.utils.Color)this.inactivepatientrecordbgcolour.clone();
		clone.decouple_on_decease = this.decouple_on_decease;
		clone.notify_on_decease = this.notify_on_decease;
		clone.decouple_on_sync_required = this.decouple_on_sync_required;
		clone.pds_authentication = this.pds_authentication;
		clone.rbac_pdssearchforpatient = this.rbac_pdssearchforpatient;
		clone.rbac_pdssearchpatientadvanced = this.rbac_pdssearchpatientadvanced;
		clone.rbac_pdsretrieval = this.rbac_pdsretrieval;
		clone.rbac_accesssensitivedata = this.rbac_accesssensitivedata;
		clone.rbac_amendpatient = this.rbac_amendpatient;
		clone.rbac_controlconsent = this.rbac_controlconsent;
		clone.rbac_amendpatientdecease = this.rbac_amendpatientdecease;
		clone.rbac_postcodesearch = this.rbac_postcodesearch;
		clone.pds_display_consent = this.pds_display_consent;
		if(this.dob_date_range_type == null)
			clone.dob_date_range_type = null;
		else
			clone.dob_date_range_type = (ims.core.vo.lookups.TimeUnitsSecondsToYears)this.dob_date_range_type.clone();
		if(this.dod_date_range_type == null)
			clone.dod_date_range_type = null;
		else
			clone.dod_date_range_type = (ims.core.vo.lookups.TimeUnitsSecondsToYears)this.dod_date_range_type.clone();
		clone.tp_bookoutpatientappt = this.tp_bookoutpatientappt;
		clone.tp_bookwardattenderappt = this.tp_bookwardattenderappt;
		clone.tp_createtciandtheatrebooking = this.tp_createtciandtheatrebooking;
		clone.tp_anyadmission = this.tp_anyadmission;
		clone.tp_anyapptarrival = this.tp_anyapptarrival;
		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 (!(PDSConfigurationVo.class.isAssignableFrom(obj.getClass())))
		{
			throw new ClassCastException("A PDSConfigurationVo object cannot be compared an Object of type " + obj.getClass().getName());
		}
		if (this.id == null)
			return 1;
		if (((PDSConfigurationVo)obj).getBoId() == null)
			return -1;
		return this.id.compareTo(((PDSConfigurationVo)obj).getBoId());
	}
	public synchronized static int generateValueObjectUniqueID()
	{
		return ims.vo.ValueObject.generateUniqueID();
	}
	public int countFieldsWithValue()
	{
		int count = 0;
		if(this.dob_date_range != null)
			count++;
		if(this.dod_date_range != null)
			count++;
		if(this.trace_advanced_ignore_history != null)
			count++;
		if(this.trace_history_data_indicator != null)
			count++;
		if(this.use_lpi_crosscheck != null)
			count++;
		if(this.no_fixed_abode_postcode != null)
			count++;
		if(this.advanced_search_timer_interval != null)
			count++;
		if(this.pds_backoffice_notificati != null)
			count++;
		if(this.numofdaysappointbatchtrace != null)
			count++;
		if(this.numofdaystcibatchtrace != null)
			count++;
		if(this.numofdaysfornextpdscheck != null)
			count++;
		if(this.synchronise_with_backoffice != null)
			count++;
		if(this.frompdsaccreditedsystemid != null)
			count++;
		if(this.topdsaccreditedsystemid != null)
			count++;
		if(this.pds_config_file != null)
			count++;
		if(this.pds_store_message_loc != null)
			count++;
		if(this.pds_store_message != null)
			count++;
		if(this.start_pds_gateway != null)
			count++;
		if(this.pds_msh_repository != null)
			count++;
		if(this.pds_msh_url != null)
			count++;
		if(this.create_bo_notifications != null)
			count++;
		if(this.sdshost != null)
			count++;
		if(this.sdsport != null)
			count++;
		if(this.pds_url != null)
			count++;
		if(this.pds_host != null)
			count++;
		if(this.pds_store_sync_message != null)
			count++;
		if(this.pds_store_sync_message_loc != null)
			count++;
		if(this.consentchangemessage != null)
			count++;
		if(this.inactivepatientrecordbgcolour != null)
			count++;
		if(this.decouple_on_decease != null)
			count++;
		if(this.notify_on_decease != null)
			count++;
		if(this.decouple_on_sync_required != null)
			count++;
		if(this.pds_authentication != null)
			count++;
		if(this.rbac_pdssearchforpatient != null)
			count++;
		if(this.rbac_pdssearchpatientadvanced != null)
			count++;
		if(this.rbac_pdsretrieval != null)
			count++;
		if(this.rbac_accesssensitivedata != null)
			count++;
		if(this.rbac_amendpatient != null)
			count++;
		if(this.rbac_controlconsent != null)
			count++;
		if(this.rbac_amendpatientdecease != null)
			count++;
		if(this.rbac_postcodesearch != null)
			count++;
		if(this.pds_display_consent != null)
			count++;
		if(this.dob_date_range_type != null)
			count++;
		if(this.dod_date_range_type != null)
			count++;
		if(this.tp_bookoutpatientappt != null)
			count++;
		if(this.tp_bookwardattenderappt != null)
			count++;
		if(this.tp_createtciandtheatrebooking != null)
			count++;
		if(this.tp_anyadmission != null)
			count++;
		if(this.tp_anyapptarrival != null)
			count++;
		return count;
	}
	public int countValueObjectFields()
	{
		return 49;
	}
	protected Integer dob_date_range;
	protected Integer dod_date_range;
	protected Boolean trace_advanced_ignore_history;
	protected Boolean trace_history_data_indicator;
	protected Boolean use_lpi_crosscheck;
	protected String no_fixed_abode_postcode;
	protected Integer advanced_search_timer_interval;
	protected ims.core.configuration.vo.AppUserRefVo pds_backoffice_notificati;
	protected Integer numofdaysappointbatchtrace;
	protected Integer numofdaystcibatchtrace;
	protected Integer numofdaysfornextpdscheck;
	protected Boolean synchronise_with_backoffice;
	protected String frompdsaccreditedsystemid;
	protected String topdsaccreditedsystemid;
	protected String pds_config_file;
	protected String pds_store_message_loc;
	protected Boolean pds_store_message;
	protected Boolean start_pds_gateway;
	protected String pds_msh_repository;
	protected String pds_msh_url;
	protected Boolean create_bo_notifications;
	protected String sdshost;
	protected String sdsport;
	protected String pds_url;
	protected String pds_host;
	protected Boolean pds_store_sync_message;
	protected String pds_store_sync_message_loc;
	protected String consentchangemessage;
	protected ims.framework.utils.Color inactivepatientrecordbgcolour;
	protected Boolean decouple_on_decease;
	protected Boolean notify_on_decease;
	protected Boolean decouple_on_sync_required;
	protected Boolean pds_authentication;
	protected String rbac_pdssearchforpatient;
	protected String rbac_pdssearchpatientadvanced;
	protected String rbac_pdsretrieval;
	protected String rbac_accesssensitivedata;
	protected String rbac_amendpatient;
	protected String rbac_controlconsent;
	protected String rbac_amendpatientdecease;
	protected String rbac_postcodesearch;
	protected Boolean pds_display_consent;
	protected ims.core.vo.lookups.TimeUnitsSecondsToYears dob_date_range_type;
	protected ims.core.vo.lookups.TimeUnitsSecondsToYears dod_date_range_type;
	protected Boolean tp_bookoutpatientappt;
	protected Boolean tp_bookwardattenderappt;
	protected Boolean tp_createtciandtheatrebooking;
	protected Boolean tp_anyadmission;
	protected Boolean tp_anyapptarrival;
	private boolean isValidated = false;
	private boolean isBusy = false;
}
