gt: 		this.globalContext = new GlobalContext(context);
context: //#############################################################################
  //#                                                                           #
  //#  Copyright (C) <2014>  <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/>.    #
  //#                                                                           #
  //#############################################################################
  //#EOH
  // This code was generated by Barbara Worwood using IMS Development Environment (version 1.80 build 5007.25751)
  // Copyright (C) 1995-2014 IMS MAXIMS. All rights reserved.
  // WARNING: DO NOT MODIFY the content of this file
  
  package ims.ocrr.forms.radiologyorders;
  
  import ims.framework.*;
  import ims.framework.controls.*;
  import ims.framework.enumerations.*;
  import ims.framework.utils.RuntimeAnchoring;
  
  public class GenForm extends FormBridge
  {
  	private static final long serialVersionUID = 1L;
  
  	public boolean canProvideData(IReportSeed[] reportSeeds)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields()).canProvideData();
  	}
  	public boolean hasData(IReportSeed[] reportSeeds)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields()).hasData();
  	}
  	public IReportField[] getData(IReportSeed[] reportSeeds)
  	{
  		return getData(reportSeeds, false);
  	}
  	public IReportField[] getData(IReportSeed[] reportSeeds, boolean excludeNulls)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields(), excludeNulls).getData();
  	}
  	public static class cmbServiceComboBox extends ComboBoxBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		public void newRow(ims.core.vo.ServiceLiteVo value, String text)
  		{
  			super.control.newRow(value, text);
  		}
  		public void newRow(ims.core.vo.ServiceLiteVo value, String text, ims.framework.utils.Image image)
  		{
  			super.control.newRow(value, text, image);
  		}
  		public void newRow(ims.core.vo.ServiceLiteVo value, String text, ims.framework.utils.Color textColor)
  		{
  			super.control.newRow(value, text, textColor);
  		}
  		public void newRow(ims.core.vo.ServiceLiteVo value, String text, ims.framework.utils.Image image, ims.framework.utils.Color textColor)
  		{
  			super.control.newRow(value, text, image, textColor);
  		}
  		public boolean removeRow(ims.core.vo.ServiceLiteVo value)
  		{
  			return super.control.removeRow(value);
  		}
  		public ims.core.vo.ServiceLiteVo getValue()
  		{
  			return (ims.core.vo.ServiceLiteVo)super.control.getValue();
  		}
  		public void setValue(ims.core.vo.ServiceLiteVo value)
  		{
  			super.control.setValue(value);
  		}
  	}
  	public static class cmbDepartmentComboBox extends ComboBoxBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		public void newRow(ims.core.vo.LocationLiteVo value, String text)
  		{
  			super.control.newRow(value, text);
  		}
  		public void newRow(ims.core.vo.LocationLiteVo value, String text, ims.framework.utils.Image image)
  		{
  			super.control.newRow(value, text, image);
  		}
  		public void newRow(ims.core.vo.LocationLiteVo value, String text, ims.framework.utils.Color textColor)
  		{
  			super.control.newRow(value, text, textColor);
  		}
  		public void newRow(ims.core.vo.LocationLiteVo value, String text, ims.framework.utils.Image image, ims.framework.utils.Color textColor)
  		{
  			super.control.newRow(value, text, image, textColor);
  		}
  		public boolean removeRow(ims.core.vo.LocationLiteVo value)
  		{
  			return super.control.removeRow(value);
  		}
  		public ims.core.vo.LocationLiteVo getValue()
  		{
  			return (ims.core.vo.LocationLiteVo)super.control.getValue();
  		}
  		public void setValue(ims.core.vo.LocationLiteVo value)
  		{
  			super.control.setValue(value);
  		}
  	}
  	public static class grdResultsRow extends GridRowBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		protected grdResultsRow(GridRow row)
  		{
  			super(row);
  		}
  		public void showOpened(int column)
  		{
  			super.row.showOpened(column);
  		}
  		public void setColDateTimeReadOnly(boolean value)
  		{
  			super.row.setReadOnly(0, value);
  		}
  		public boolean isColDateTimeReadOnly()
  		{
  			return super.row.isReadOnly(0);
  		}
  		public void showColDateTimeOpened()
  		{
  			super.row.showOpened(0);
  		}
  		public void setTooltipForColDateTime(String value)
  		{
  			super.row.setTooltip(0, value);
  		}
  		public String getColDateTime()
  		{
  			return (String)super.row.get(0);
  		}
  		public void setColDateTime(String value)
  		{
  			super.row.set(0, value);
  		}
  		public void setCellColDateTimeTooltip(String value)
  		{
  			super.row.setTooltip(0, value);
  		}
  		public void setColHospNumReadOnly(boolean value)
  		{
  			super.row.setReadOnly(1, value);
  		}
  		public boolean isColHospNumReadOnly()
  		{
  			return super.row.isReadOnly(1);
  		}
  		public void showColHospNumOpened()
  		{
  			super.row.showOpened(1);
  		}
  		public void setTooltipForColHospNum(String value)
  		{
  			super.row.setTooltip(1, value);
  		}
  		public String getColHospNum()
  		{
  			return (String)super.row.get(1);
  		}
  		public void setColHospNum(String value)
  		{
  			super.row.set(1, value);
  		}
  		public void setCellColHospNumTooltip(String value)
  		{
  			super.row.setTooltip(1, value);
  		}
  		public void setColNameReadOnly(boolean value)
  		{
  			super.row.setReadOnly(2, value);
  		}
  		public boolean isColNameReadOnly()
  		{
  			return super.row.isReadOnly(2);
  		}
  		public void showColNameOpened()
  		{
  			super.row.showOpened(2);
  		}
  		public void setTooltipForColName(String value)
  		{
  			super.row.setTooltip(2, value);
  		}
  		public String getColName()
  		{
  			return (String)super.row.get(2);
  		}
  		public void setColName(String value)
  		{
  			super.row.set(2, value);
  		}
  		public void setCellColNameTooltip(String value)
  		{
  			super.row.setTooltip(2, value);
  		}
  		public void setColSexReadOnly(boolean value)
  		{
  			super.row.setReadOnly(3, value);
  		}
  		public boolean isColSexReadOnly()
  		{
  			return super.row.isReadOnly(3);
  		}
  		public void showColSexOpened()
  		{
  			super.row.showOpened(3);
  		}
  		public void setTooltipForColSex(String value)
  		{
  			super.row.setTooltip(3, value);
  		}
  		public String getColSex()
  		{
  			return (String)super.row.get(3);
  		}
  		public void setColSex(String value)
  		{
  			super.row.set(3, value);
  		}
  		public void setCellColSexTooltip(String value)
  		{
  			super.row.setTooltip(3, value);
  		}
  		public void setColExamNameReadOnly(boolean value)
  		{
  			super.row.setReadOnly(4, value);
  		}
  		public boolean isColExamNameReadOnly()
  		{
  			return super.row.isReadOnly(4);
  		}
  		public void showColExamNameOpened()
  		{
  			super.row.showOpened(4);
  		}
  		public void setTooltipForColExamName(String value)
  		{
  			super.row.setTooltip(4, value);
  		}
  		public String getColExamName()
  		{
  			return (String)super.row.get(4);
  		}
  		public void setColExamName(String value)
  		{
  			super.row.set(4, value);
  		}
  		public void setCellColExamNameTooltip(String value)
  		{
  			super.row.setTooltip(4, value);
  		}
  		public void setColDepartmentReadOnly(boolean value)
  		{
  			super.row.setReadOnly(5, value);
  		}
  		public boolean isColDepartmentReadOnly()
  		{
  			return super.row.isReadOnly(5);
  		}
  		public void showColDepartmentOpened()
  		{
  			super.row.showOpened(5);
  		}
  		public void setTooltipForColDepartment(String value)
  		{
  			super.row.setTooltip(5, value);
  		}
  		public String getColDepartment()
  		{
  			return (String)super.row.get(5);
  		}
  		public void setColDepartment(String value)
  		{
  			super.row.set(5, value);
  		}
  		public void setCellColDepartmentTooltip(String value)
  		{
  			super.row.setTooltip(5, value);
  		}
  		public void setColOrderingLocationReadOnly(boolean value)
  		{
  			super.row.setReadOnly(6, value);
  		}
  		public boolean isColOrderingLocationReadOnly()
  		{
  			return super.row.isReadOnly(6);
  		}
  		public void showColOrderingLocationOpened()
  		{
  			super.row.showOpened(6);
  		}
  		public void setTooltipForColOrderingLocation(String value)
  		{
  			super.row.setTooltip(6, value);
  		}
  		public String getColOrderingLocation()
  		{
  			return (String)super.row.get(6);
  		}
  		public void setColOrderingLocation(String value)
  		{
  			super.row.set(6, value);
  		}
  		public void setCellColOrderingLocationTooltip(String value)
  		{
  			super.row.setTooltip(6, value);
  		}
  		public void setColClinicianReadOnly(boolean value)
  		{
  			super.row.setReadOnly(7, value);
  		}
  		public boolean isColClinicianReadOnly()
  		{
  			return super.row.isReadOnly(7);
  		}
  		public void showColClinicianOpened()
  		{
  			super.row.showOpened(7);
  		}
  		public void setTooltipForColClinician(String value)
  		{
  			super.row.setTooltip(7, value);
  		}
  		public String getColClinician()
  		{
  			return (String)super.row.get(7);
  		}
  		public void setColClinician(String value)
  		{
  			super.row.set(7, value);
  		}
  		public void setCellColClinicianTooltip(String value)
  		{
  			super.row.setTooltip(7, value);
  		}
  		public ims.ocrr.vo.RadiologyOrderVo getValue()
  		{
  			return (ims.ocrr.vo.RadiologyOrderVo)super.row.getValue();
  		}
  		public void setValue(ims.ocrr.vo.RadiologyOrderVo value)
  		{
  			super.row.setValue(value);
  		}
  	}
  	public static class grdResultsRowCollection extends GridRowCollectionBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private grdResultsRowCollection(GridRowCollection collection)
  		{
  			super(collection);
  		}
  		public grdResultsRow get(int index)
  		{
  			return new grdResultsRow(super.collection.get(index));
  		}
  		public grdResultsRow newRow()
  		{
  			return new grdResultsRow(super.collection.newRow());
  		}
  		public grdResultsRow newRow(boolean autoSelect)
  		{
  			return new grdResultsRow(super.collection.newRow(autoSelect));
  		}
  		public grdResultsRow newRowAt(int index)
  		{
  			return new grdResultsRow(super.collection.newRowAt(index));
  		}
  		public grdResultsRow newRowAt(int index, boolean autoSelect)
  		{
  			return new grdResultsRow(super.collection.newRowAt(index, autoSelect));
  		}
  	}
  	public static class grdResultsGrid extends GridBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private void addStringColumn(String caption, int captionAlignment, int alignment, int width, boolean readOnly, boolean bold, int sortOrder, int maxLength, boolean canGrow, ims.framework.enumerations.CharacterCasing casing)
  		{
  			super.grid.addStringColumn(caption, captionAlignment, alignment, width, readOnly, bold, sortOrder, maxLength, canGrow, casing);
  		}
  		public void setColHospNumCaption(String value)
  		{
  			this.grid.setColumnCaption(1, value);
  		}
  		public ims.ocrr.vo.RadiologyOrderVoCollection getValues()
  		{
  			ims.ocrr.vo.RadiologyOrderVoCollection listOfValues = new ims.ocrr.vo.RadiologyOrderVoCollection();
  			for(int x = 0; x < this.getRows().size(); x++)
  			{
  				listOfValues.add(this.getRows().get(x).getValue());
  			}
  			return listOfValues;
  		}
  		public ims.ocrr.vo.RadiologyOrderVo getValue()
  		{
  			return (ims.ocrr.vo.RadiologyOrderVo)super.grid.getValue();
  		}
  		public void setValue(ims.ocrr.vo.RadiologyOrderVo value)
  		{
  			super.grid.setValue(value);
  		}
  		public grdResultsRow getSelectedRow()
  		{
  			return super.grid.getSelectedRow() == null ? null : new grdResultsRow(super.grid.getSelectedRow());
  		}
  		public int getSelectedRowIndex()
  		{
  			return super.grid.getSelectedRowIndex();
  		}
  		public grdResultsRowCollection getRows()
  		{
  			return new grdResultsRowCollection(super.grid.getRows());
  		}
  		public grdResultsRow getRowByValue(ims.ocrr.vo.RadiologyOrderVo value)
  		{
  			GridRow row = super.grid.getRowByValue(value);
  			return row == null?null:new grdResultsRow(row);
  		}
  		public void setColDateTimeHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(0, value);
  		}
  		public String getColDateTimeHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(0);
  		}
  		public void setColHospNumHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(1, value);
  		}
  		public String getColHospNumHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(1);
  		}
  		public void setColNameHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(2, value);
  		}
  		public String getColNameHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(2);
  		}
  		public void setColSexHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(3, value);
  		}
  		public String getColSexHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(3);
  		}
  		public void setColExamNameHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(4, value);
  		}
  		public String getColExamNameHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(4);
  		}
  		public void setColDepartmentHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(5, value);
  		}
  		public String getColDepartmentHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(5);
  		}
  		public void setColOrderingLocationHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(6, value);
  		}
  		public String getColOrderingLocationHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(6);
  		}
  		public void setColClinicianHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(7, value);
  		}
  		public String getColClinicianHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(7);
  		}
  	}
  	private void validateContext(ims.framework.Context context)
  	{
  		if(context == null)
  			return;
  		if(!context.isValidContextType(ims.core.vo.PatientShort.class))
  			throw new ims.framework.exceptions.CodingRuntimeException("The type 'ims.core.vo.PatientShort' of the global context variable 'Core.PatientShort' is not supported.");
  		if(!context.isValidContextType(ims.core.vo.lookups.ReferralManagementContractType.class))
  			throw new ims.framework.exceptions.CodingRuntimeException("The type 'ims.core.vo.lookups.ReferralManagementContractType' of the global context variable 'RefMan.ReferralContractTypeForPatient' is not supported.");
  		if(!context.isValidContextType(ims.ocrr.vo.RoleDisciplineSecurityLevelLiteGCVo.class))
  			throw new ims.framework.exceptions.CodingRuntimeException("The type 'ims.ocrr.vo.RoleDisciplineSecurityLevelLiteGCVo' of the global context variable 'OCRR.RoleDisciplineSecurityLevels' is not supported.");
  		if(!context.isValidContextType(ims.RefMan.vo.CatsReferralRefVo.class))
  			throw new ims.framework.exceptions.CodingRuntimeException("The type 'ims.RefMan.vo.CatsReferralRefVo' of the global context variable 'RefMan.CatsReferral' is not supported.");
  	}
  	public boolean supportsRecordedInError()
  	{
  		return false;
  	}
  	public ims.vo.ValueObject getRecordedInErrorVo()
  	{
  		return null;
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, Context context) throws Exception
  	{
  		setContext(loader, form, appForm, factory, context, Boolean.FALSE, new Integer(0), null, null, new Integer(0));
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, Context context, Boolean skipContextValidation) throws Exception
  	{
  		setContext(loader, form, appForm, factory, context, skipContextValidation, new Integer(0), null, null, new Integer(0));
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, ims.framework.Context context, Boolean skipContextValidation, Integer startControlID, ims.framework.utils.SizeInfo runtimeSize, ims.framework.Control control, Integer startTabIndex) throws Exception
  	{
  		if(loader == null); // this is to avoid eclipse warning only.
  		if(factory == null); // this is to avoid eclipse warning only.
  		if(runtimeSize == null); // this is to avoid eclipse warning only.
  		if(appForm == null)
  			throw new RuntimeException("Invalid application form");
  		if(startControlID == null)
  			throw new RuntimeException("Invalid startControlID");
  		if(control == null); // this is to avoid eclipse warning only.
  		if(startTabIndex == null)
  			throw new RuntimeException("Invalid startTabIndex");
  		this.context = context;
  		this.componentIdentifier = startControlID.toString();
  		this.formInfo = form.getFormInfo();
  