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

import cdac.medinfo.sdk.hl7282.baselibs.CWE;
import cdac.medinfo.sdk.hl7282.baselibs.DT;
import cdac.medinfo.sdk.hl7282.baselibs.DTM;
import cdac.medinfo.sdk.hl7282.baselibs.EI;
import cdac.medinfo.sdk.hl7282.baselibs.FN;
import cdac.medinfo.sdk.hl7282.baselibs.HD;
import cdac.medinfo.sdk.hl7282.baselibs.ID;
import cdac.medinfo.sdk.hl7282.baselibs.NM;
import cdac.medinfo.sdk.hl7282.baselibs.PL;
import cdac.medinfo.sdk.hl7282.baselibs.ST;
import cdac.medinfo.sdk.hl7282.baselibs.XCN;
import cdac.medinfo.sdk.hl7282.baselibs.XON;
import cdac.medinfo.sdk.hl7282.commoninterface.IDataType;
import cdac.medinfo.sdk.hl7282.commoninterface.ISingleCollection;
import cdac.medinfo.sdk.hl7282.exceptions.InvalidSegmentException;
import cdac.medinfo.sdk.hl7282.utils.EnumSegments;
import cdac.medinfo.sdk.hl7282.utils.SingleCollection;

/**
 * PV2 - Patient Visit - Additional Information Segment.<p>
 * The PV2 segment is a continuation of information contained on the PV1 segment.
 * <p>Represents an HL7 PV2 message segment. 
 * This segment has the following fields:</p><p>
 * PV2-1: Prior Pending Location (PL)<b>Conditional</b><br> 
 * PV2-2: Accommodation Code (CWE)<b>Optional</b><br> 
 * PV2-3: Admit Reason (CWE)<b>Optional</b><br> 
 * PV2-4: Transfer Reason (CWE)<b>Optional</b><br> 
 * PV2-5: Patient Valuables (ST)<b>Optional</b><br> 
 * PV2-6: Patient Valuables Location (ST)<b>Optional</b><br> 
 * PV2-7: Visit User Code (CWE)<b>Optional</b><br> 
 * PV2-8: Expected Admit Date/Time (DTM)<b>Optional</b><br> 
 * PV2-9: Expected Discharge Date/Time (DTM)<b>Optional</b><br> 
 * PV2-10: Estimated Length of Inpatient Stay (NM)<b>Optional</b><br> 
 * PV2-11: Actual Length of Inpatient Stay (NM)<b>Optional</b><br> 
 * PV2-12: Visit Description (ST)<b>Optional</b><br> 
 * PV2-13: Referral Source Code (XCN)<b>Optional</b><br> 
 * PV2-14: Previous Service Date (DT)<b>Optional</b><br> 
 * PV2-15: Employment Illness Related Indicator (ID)<b>Optional</b><br> 
 * PV2-16: Purge Status Code (CWE)<b>Optional</b><br> 
 * PV2-17: Purge Status Date (DT)<b>Optional</b><br> 
 * PV2-18: Special Program Code (CWE)<b>Optional</b><br> 
 * PV2-19: Retention Indicator (ID)<b>Optional</b><br> 
 * PV2-20: Expected Number of Insurance Plans (NM)<b>Optional</b><br> 
 * PV2-21: Visit Publicity Code (CWE)<b>Optional</b><br> 
 * PV2-22: Visit Protection Indicator (ID)<b>Backward</b><br> 
 * PV2-23: Clinic Organization Name (XON)<b>Optional</b><br> 
 * PV2-24: Patient Status Code (CWE)<b>Optional</b><br> 
 * PV2-25: Visit Priority Code (CWE)<b>Optional</b><br> 
 * PV2-26: Previous Treatment Date (DT)<b>Optional</b><br> 
 * PV2-27: Expected Discharge Disposition (CWE)<b>Optional</b><br> 
 * PV2-28: Signature on File Date (DT)<b>Optional</b><br> 
 * PV2-29: First Similar Illness Date (DT)<b>Optional</b><br> 
 * PV2-30: Patient Charge Adjustment Code (CWE)<b>Optional</b><br> 
 * PV2-31: Recurring Service Code (CWE)<b>Optional</b><br> 
 * PV2-32: Billing Media Code (ID)<b>Optional</b><br> 
 * PV2-33: Expected Surgery Date and Time (DTM)<b>Optional</b><br> 
 * PV2-34: Military Partnership Code (ID)<b>Optional</b><br> 
 * PV2-35: Military Non-Availability Code (ID)<b>Optional</b><br> 
 * PV2-36: Newborn Baby Indicator (ID)<b>Optional</b><br> 
 * PV2-37: Baby Detained Indicator (ID)<b>Optional</b><br> 
 * PV2-38: Mode of Arrival Code (CWE)<b>Optional</b><br> 
 * PV2-39: Recreational Drug Use Code (CWE)<b>Optional</b><br> 
 * PV2-40: Admission Level of Care Code (CWE)<b>Optional</b><br> 
 * PV2-41: Precaution Code (CWE)<b>Optional</b><br> 
 * PV2-42: Patient Condition Code (CWE)<b>Optional</b><br> 
 * PV2-43: Living Will Code (CWE)<b>Optional</b><br> 
 * PV2-44: Organ Donor Code (CWE)<b>Optional</b><br> 
 * PV2-45: Advance Directive Code (CWE)<b>Optional</b><br> 
 * PV2-46: Patient Status Effective Date (DT)<b>Optional</b><br> 
 * PV2-47: Expected LOA Return Date/Time (DTM)<b>Conditional</b><br> 
 * PV2-48: Expected Pre-admission Testing Date/Time (DTM)<b>Optional</b><br> 
 * PV2-49: Notify Clergy Code (CWE)<b>Optional</b><br><p>
 * PV2-50: Advance Directive Last Verified Date (DT)<b>Optional</b><br><p>
 * This class provides mechanism to validate message against HL7 v 2.8.2 standard.
 * The class provides accessors & mutators for the elements mentioned above.
 * The class has validate method which validates Message against HL7 v 2.8.2 standard.
 *
 * <p>User can also create Segment through {@link SegmentFactory}
 */
 public class PV2 extends Segment    
{
	

	/**
	 * Constucts the PV2 segment.
	 */
	public PV2()
	{super(EnumSegments.HL7_SEG_PV2);
	}

	/**
	 * Retrieves the Accomodation Code.
	 * This field is require for cancel pending transfer messages.  
	 * @return CWE - accomodationCode
	 */
	public CWE getAccomodationCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(182);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Actual Length Of InPatient Stay.
	 * @return String - actualLengthOfInPatientStay
	 */
	public NM getActualLengthOfInPatientStay() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(712);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (NM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Admission Level Of Care Code.
	 * This field indicate the acuity level assigned to the patient at the time of admission.  
	 * @return CWE - admissionLevelOfCareCode
	 */
	public CWE getAdmissionLevelOfCareCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1545);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Admit Reason.
	 * This field contains the reason for patient admission.
	 * @return CWE - admitReason
	 */
	public CWE getAdmitReason() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(183);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Advance Directive Code.
	 * This field indicates the patient's instructions to the healthcare facility.  
	 * @return ISingleCollection<CWE> - advanceDirectiveCode
	 */
	public ISingleCollection<CWE> getAdvanceDirectiveCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1548);
		ISingleCollection<CWE> objDataList = new SingleCollection<CWE>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				CWE objCE = (CWE)objDataType;
				objDataList.add(objCE);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Baby Detained Indicator.
	 * This field indicates if the baby is detained after the mother's discharge.
	 * @return String - babyDetainedIndicator
	 */
	public ID getBabyDetainedIndicator() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(738);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Billing media Code.
	 * This field indicates if the account is to be rejected from tape billing.  
	 * @return String - billingmediaCode
	 */
	public ID getBillingmediaCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(733);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Clinic Organization Name.
	 * This field contains the organization name or sub-unit and identifier that is associated with the episode of care.  
	 * @return ISingleCollection<XON> - clinicOrganizationName
	 */
	public ISingleCollection<XON> getClinicOrganizationName() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(724);
		ISingleCollection<XON> objDataList = new SingleCollection<XON>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				XON objXON = (XON)objDataType;
				objDataList.add(objXON);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Employment Illness Related Indicator.
	 * This field specify whether a patient's illness is job-related or not.  
	 * @return String - employmentIllnessRelatedIndicator
	 */
	public ID getEmploymentIllnessRelatedIndicator() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(716);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Estimated Length Of InPatient Stay.
	 * @return String - estimatedLengthOfInPatientStay
	 */
	public NM getEstimatedLengthOfInPatientStay() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(711);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (NM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Expected Admit Date Or Time.  
	 * @return DTM - expectedAdmitDateOrTime
	 */
	public DTM getExpectedAdmitDateOrTime() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(188);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DTM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Expected Discharge Date Or Time.
	 * @return DTM - expectedDischargeDateOrTime
	 */
	public DTM getExpectedDischargeDateOrTime() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(189);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DTM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Expected Discharge Disposition.  
	 * @return String - expectedDischargeDisposition
	 */
	public CWE getExpectedDischargeDisposition() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(728);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Expected LOA Return DAte Or Time.  
	 * @return DTM - expectedLOAReturnDAteOrTime
	 */
	public DTM getExpectedLOAReturnDAteOrTime() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1550);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DTM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Expected Number Of Insurance Plans.
	 * This field contains the number of insurance plans that provide coverage for this visit.
	 * @return String - expectedNumberOfInsurancePlans
	 */
	public NM getExpectedNumberOfInsurancePlans() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(721);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (NM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Expected Pre Admission Testing Date Or Time.
	 * @return DTM - expectedPreAdmissionTestingDateOrTime
	 */
	public DTM getExpectedPreAdmissionTestingDateOrTime() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1841);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DTM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Expected Surgery Date And Time.
	 * @return DTM - expectedSurgeryDateAndTime
	 */
	public DTM getExpectedSurgeryDateAndTime() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(734);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DTM)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the First Similar Illness Date.
	 * @return String - firstSimilarIllnessDate
	 */
	public DT getFirstSimilarIllnessDate() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(730);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DT)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Living Will Code.
	 * This field indicates whether the patient has a living will or not and if so,
	 * whether a copy of the living will is on file at the healthcare facility or not. 
	 * @return String - livingWillCode
	 */
	public CWE getLivingWillCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(759);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Military Non Availability Code.
	 * This field indicate whether a patient has permission to use a non-military 
	 * healthcare facility for treatment or not. 
	 * @return String - militaryNonAvailabilityCode
	 */
	public ID getMilitaryNonAvailabilityCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(736);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Military Partnership Code.
	 * This field indicates that a military healthcare facility has contract with 
	 * a non-military healthcare facility for the use of its services.
	 * @return String - militaryPartnershipCode
	 */
	public ID getMilitaryPartnershipCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(735);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Mode Of Arrival Code.
	 * This field specify how the patient is bring to the healthcare facility. 
	 * @return CWE - modeOfArrivalCode
	 */
	public CWE getModeOfArrivalCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1543);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the New Born Baby Indictor. 
	 * @return String - newBornBabyIndictor
	 */
	public ID getNewBornBabyIndictor() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(737);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Notify Clergy Code.
	 * This field allows the user to indicate whether the clergy should be notified or not.  
	 * @return ISingleCollection<CWE> - notifyClergyCode
	 */
	public ISingleCollection<CWE> getNotifyClergyCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1842);
		ISingleCollection<CWE> objDataList = new SingleCollection<CWE>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				CWE objIS = (CWE)objDataType;
				objDataList.add(objIS);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Organ Donor Code.
	 * This field indicate whether the patient want to donate his/her organs or not and 
	 * whether an organ donor card or similar documentation is on file with the healthcare organization or not.  
	 * @return String - organDonorCode
	 */
	public CWE getOrganDonorCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(760);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Patient Charge Adjustment Code.
	 * @return CWE - patientChargeAdjustmentCode
	 */
	public CWE getPatientChargeAdjustmentCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(731);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Patient Condition Code.
	 * This field indicates the patient's current medical condition for the
	 * purpose of communicating to non-medical outside parties, e.g. family, employer,
	 * religious minister, media, etc.
	 * @return CWE - patientConditionCode
	 */
	public CWE getPatientConditionCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1547);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Patient Status Code.
	 * @return String - patientStatusCode
	 */
	public CWE getPatientStatusCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(725);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Patient Status Effective Date.
	 * @return String - patientStatusEffectiveDate
	 */
	public DT getPatientStatusEffectiveDate() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1549);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DT)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Patient Valuables.
	 * This field contains the short description of patient valuables checked during admission.
	 * @return ISingleCollection<ST> - patientValuables
	 */
	public ISingleCollection<ST> getPatientValuables() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(185);
		ISingleCollection<ST> objDataList = new SingleCollection<ST>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				ST objST = (ST)objDataType;
				objDataList.add(objST);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Patient Valusbles Location.
	 * @return String - patientValusblesLocation
	 */
	public ST getPatientValusblesLocation() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(186);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ST)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Precaution Code.
	 * This field indicates non-clinical precautions that need to be taken with the patient.  
	 * @return ISingleCollection<CWE> - precautionCode
	 */
	public ISingleCollection<CWE> getPrecautionCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1546);
		ISingleCollection<CWE> objDataList = new SingleCollection<CWE>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				CWE objCE = (CWE)objDataType;
				objDataList.add(objCE);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Previous Service Date.
	 * This field contains the date of previous service for the same recurring condition.
	 * @return String - previousServiceDate
	 */
	public DT getPreviousServiceDate() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(715);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DT)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Previous Treatment Date.
	 * This field contains the patient's last date of treatment for any condition prior to this visit. 
	 * @return String - previousTreatmentDate
	 */
	public DT getPreviousTreatmentDate() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(727);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DT)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Purge Status Code.  
	 * @return String - purgeStatusCode
	 */
	public CWE getPurgeStatusCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(717);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Purge Status Date.
	 * This field contains the date on which the data is purge from the system.
	 * @return String - purgeStatusDate
	 */
	public DT getPurgeStatusDate() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(718);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DT)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Recreational Drug Use Code.  
	 * @return ISingleCollection<CWE> - recreationalDrugUseCode
	 */
	public ISingleCollection<CWE> getRecreationalDrugUseCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(1544);
		ISingleCollection<CWE> objDataList = new SingleCollection<CWE>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				CWE objCE = (CWE)objDataType;
				objDataList.add(objCE);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Recurring Service Code.
	 * This field indicate whether the treatment is continuous or not.  
	 * @return String - recurringServiceCode
	 */
	public CWE getRecurringServiceCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(732);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Referral Source Code.
	 * This field contains the name and the identification numbers of the person 
	 * or organization that made the referral. 
	 * @return ISingleCollection<XCN> - referralSourceCode
	 */
	public ISingleCollection<XCN> getReferralSourceCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(714);
		ISingleCollection<XCN> objDataList = new SingleCollection<XCN>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				XCN objXCN = (XCN)objDataType;
				objDataList.add(objXCN);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Retention Indicator.
	 * This field allows the user to control the financial and demographic purge 
	 * processes at the time of visit.  
	 * @return String - retentionIndicator
	 */
	public ID getRetentionIndicator() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(720);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Signature On File Date.
	 * This field contain the date on which a signature is obtained for insurance billing purposes.
	 * @return String - signatureOnFileDate
	 */
	public DT getSignatureOnFileDate() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(729);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DT)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Special Program Code.
	 * This field designates the specific health insurance program reimbursement for a visitor in healthcare.  
	 * @return String - specialProgramCode
	 */
	public CWE getSpecialProgramCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(719);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Transfer Reason.
	 * @return CWE - transferReason
	 */
	public CWE getTransferReason() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(184);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Visit Description.
	 * This field contains a brief user-defined description of the visit.
	 * @return String - visitDescription
	 */
	public ST getVisitDescription() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(713);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ST)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Visit Priority Code. 
	 * @return String - visitPriorityCode
	 */
	public CWE getVisitPriorityCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(726);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Visit Protection Indicator. 
	 * @return String - visitProtectionIndicator
	 */
	public ID getVisitProtectionIndicator() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(723);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (ID)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Visit Publicity Code.
	 * This field contains a user-defined code, indicating what level of publicity is allow for a specific visit.
	 * @return String - visitPublicityCode
	 */
	public CWE getVisitPublicityCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(722);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (CWE)objDataCollection.elementAt(0);
		else
			return null;
	}

	/**
	 * Retrieves the Visit User Code.
	 * This field further categorizes a patient's visit with respect to an individual institution's needs.
	 * @return ISingleCollection<CWE> - visitUserCode
	 */
	public ISingleCollection<CWE> getVisitUserCode() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(187);
		ISingleCollection<CWE> objDataList = new SingleCollection<CWE>(); 
		if(objDataCollection != null && objDataCollection.size() != 0)
		{
			for(IDataType objDataType : objDataCollection)
			{
				CWE objIS = (CWE)objDataType;
				objDataList.add(objIS);
			}
		}
		return objDataList;
	}

	/**
	 * Retrieves the Advance Directive Last Verified Date 
	 * @return DT Advance Directive Last Verified Date
	 */
	public DT getAdvanceDirectiveLastVerifiedDate()
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(2141);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (DT)objDataCollection.elementAt(0);
		else
			return null;
	}
	
	/**
	 * Set the Accomodation Code.
	 * This field is require for cancel pending transfer messages.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setAccomodationCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(182);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setAccomodationCode(cwe);
	} 

	/** Set the Accomodation Code.
	 * This field is require for cancel pending transfer messages.
	 * @param objaccomodationCode object of Accomodation Code.
	 */ 
	public void setAccomodationCode(CWE objaccomodationCode)
	{
		setDataType(182,objaccomodationCode);
	}
	/**
	 * Set the Actual Length Of InPatient Stay.
	 * @param strActualLengthOfInPatientStay Use as ActualLengthOfInPatientStay.
	 */ 
	public void setActualLengthOfInPatientStay (String strActualLengthOfInPatientStay) 
	{
		NM actualLengthOfInPatientStay  = (NM)getDataElement(712);
		actualLengthOfInPatientStay.setValue(strActualLengthOfInPatientStay); 
		setActualLengthOfInPatientStay (actualLengthOfInPatientStay);
	} 

	/** Set the Actual Length Of InPatient Stay.
	 * @param objactualLengthOfInPatientStay object of Actual Length Of InPatient Stay
	 */ 
	public void setActualLengthOfInPatientStay(NM objactualLengthOfInPatientStay)
	{
		setDataType(712,objactualLengthOfInPatientStay);
	}
	/**
	 * Set the Admission Level Of Care Code.
	 * This field indicate the acuity level assigned to the patient at the time of admission. 
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */
	public void setAdmissionLevelOfCareCode  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(1545);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setAdmissionLevelOfCareCode (cwe);
	} 

	/** Set the Admission Level Of Care Code.
	 * This field indicate the acuity level assigned to the patient at the time of admission. 
	 * @param objadmissionLevelOfCareCode object of Admission Level Of CareCode.
	 */ 
	public void setAdmissionLevelOfCareCode(CWE objadmissionLevelOfCareCode)
	{
		setDataType(1545,objadmissionLevelOfCareCode);
	}
	/**
	 * Set the Admit Reason.
	 * This field contains the reason for patient admission.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */
	public void setAdmitReason  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(183);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setAdmitReason (cwe);
	} 

	/** Set the Admit Reason.
	 * This field contains the reason for patient admission.
	 * @param objadmitReason object of AdmitReason
	 */ 
	public void setAdmitReason(CWE objadmitReason)
	{
		setDataType(183,objadmitReason);
	}
	/**
	 * Set the Advance Directive Code.
	 * This field indicates the patient's instructions to the healthcare facility.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */
	public void addAdvanceDirectiveCode  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(1548);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		addAdvanceDirectiveCode (cwe);
	} 

	/** Set the Advance Directive Code.
	 * This field indicates the patient's instructions to the healthcare facility.
	 * @param objtempAdvanceDirectiveCode object of Advance Directive Code.
	 */ 
	public void addAdvanceDirectiveCode(CWE objtempAdvanceDirectiveCode)
	{
		addDataType(1548,objtempAdvanceDirectiveCode);
	}	
	/**
	 * Set the Advance Directive Code list.
	 * @param objAdvanceDirectiveCodeList List of Advance Directive Code.
	 */	
	@SuppressWarnings("unchecked")
	public void setAdvanceDirectiveCode(ISingleCollection<CWE> objAdvanceDirectiveCodeList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objAdvanceDirectiveCodeList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(1548,objCollection);
	}

	/**
	 * Set the Baby Detained Indicator.
	 * This field indicates if the baby is detained after the mother's discharge.
	 * @param strBabyDetainedIndicator Use as BabyDetainedIndicator.
	 */ 
	public void setBabyDetainedIndicator (String strBabyDetainedIndicator) 
	{
		ID babyDetainedIndicator  = (ID)getDataElement(738);
		babyDetainedIndicator.setValue(strBabyDetainedIndicator); 
		setBabyDetainedIndicator (babyDetainedIndicator);
	} 

	/** Set the Baby Detained Indicator.
	 * This field indicates if the baby is detained after the mother's discharge.
	 * @param objbabyDetainedIndicator object of Baby Detained Indicator.
	 */ 
	public void setBabyDetainedIndicator(ID objbabyDetainedIndicator)
	{
		setDataType(738,objbabyDetainedIndicator);
	}
	/**
	 * Set the Billing media Code.
	 * This field indicates if the account is to be rejected from tape billing.
	 * @param strBillingmediaCode Use as BillingmediaCode. 
	 */ 
	public void setBillingmediaCode (String strBillingmediaCode) 
	{
		ID billingmediaCode  = (ID)getDataElement(733);
		billingmediaCode.setValue(strBillingmediaCode); 
		setBillingmediaCode (billingmediaCode);
	} 

	/** Set the Billing media Code.
	 * This field indicates if the account is to be rejected from tape billing.
	 * @param objbillingmediaCode object of BillingmediaCode. 
	 */ 
	public void setBillingmediaCode(ID objbillingmediaCode)
	{
		setDataType(733,objbillingmediaCode);
	}
	/**
	 * Set the Clinic Organization Name.
	 * This field contains the organization name or sub-unit and identifier that is associated with the episode of care.
	 * @param strOrganizationName Specifies name of the specified organization.
	 * @param strOrganizationNameTypeCode Specifies a code that represents the type of name i.e., legal name, display name.
	 * 										Suggested Values A,L,D,SL.[Refer to table No.0204]  
	 * @param objAssigningAuthority Specifies The assigning authority is a unique identifier of the system 
	 * 									(or organization or agency or department) that creates the data. 
	 * @param strIdentifierTypeCode Specifies a code corresponding to the type of identifier. 
	 * @param objAssigningFacility Specifies The place or location identifier where the identifier was first assigned to the person. 
	 * @param strNameRepresentationCode Specifies representations of the same name/address Suggested values are I,A,P [Refer table 0465] 
	 * @param strOrganizationIdentifier This component contains the sequence of characters (the code) that uniquely 
	 * 									  identifies the item being referenced by XON.1 Organization Name. 
	 * 									  This component replaces XON.3 ID Number as of v 2.5.
	 */ 
	public void addClinicOrganizationName  (String strOrganizationName, CWE objOrganizationNameTypeCode,
			 HD objAssigningAuthority,
			String strIdentifierTypeCode, HD objAssigningFacility, String strNameRepresentationCode,
			String strOrganizationIdentifier)
	{	
		XON xon  = (XON)getDataElement(724);
		xon.setOrganizationName(strOrganizationName);
		xon.setOrganizationNameTypeCode(objOrganizationNameTypeCode);
		//tempPlaceOfWorship.setOrganizationNameTypeCode(strOrganizationNameTypeCode);
//		tempPlaceOfWorship.setIdNumber(strIdNumber);
//		tempPlaceOfWorship.setCheckDigit(strCheckDigit);
//		tempPlaceOfWorship.setCheckDigitScheme(strCheckDigitScheme);
		xon.setAssigningAuthority(objAssigningAuthority);
		xon.setIdentifierTypeCode(strIdentifierTypeCode);
		xon.setAssigningFacility(objAssigningFacility);
		xon.setNameRepresentationCode(strNameRepresentationCode);
		xon.setOrganizationIdentifier(strOrganizationIdentifier);
		addClinicOrganizationName (xon);
	} 

	/**Sets the Clinic Organization Name.
	 * @param objClinicOrganizationName object of Clinic Organization Name.
	 */ 
	public void addClinicOrganizationName(XON objtempClinicOrganizationName)
	{
		addDataType(724,objtempClinicOrganizationName);
	}	
	/**
	 * Set Clinic Organization Name.
	 * @param objClinicOrganizationNameList List of Clinic Organization Name.
	 */	
	@SuppressWarnings("unchecked")
	public void setClinicOrganizationName(ISingleCollection<XON> objClinicOrganizationNameList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objClinicOrganizationNameList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(724,objCollection);
	}
	/**
	 * Set the Employment Illness Related Indicator.
	 * This field specify whether a patient's illness is job-related or not.
	 * @param strEmploymentIllnessRelatedIndicator Use as EmploymentIllnessRelatedIndicator.
	 */ 
	public void setEmploymentIllnessRelatedIndicator (String strEmploymentIllnessRelatedIndicator) 
	{	
		ID employmentIllnessRelatedIndicator  = (ID)getDataElement(716);
		employmentIllnessRelatedIndicator.setValue(strEmploymentIllnessRelatedIndicator); 
		setEmploymentIllnessRelatedIndicator (employmentIllnessRelatedIndicator);
	} 

	/** Set the Employment Illness Related Indicator.
	 * This field specify whether a patient's illness is job-related or not.
	 * @param objemploymentIllnessRelatedIndicator object of Employment Illness Related Indicator.
	 */ 
	public void setEmploymentIllnessRelatedIndicator(ID objemploymentIllnessRelatedIndicator)
	{
		setDataType(716,objemploymentIllnessRelatedIndicator);
	}
	/**
	 * Set the Estimated Length Of InPatient Stay.
	 * @param strEstimatedLengthOfInPatientStay Use as EstimatedLengthOfInPatientStay.
	 */ 
	public void setEstimatedLengthOfInPatientStay (String strEstimatedLengthOfInPatientStay) 
	{
		NM estimatedLengthOfInPatientStay  = (NM)getDataElement(711);
		estimatedLengthOfInPatientStay.setValue(strEstimatedLengthOfInPatientStay); 
		setEstimatedLengthOfInPatientStay (estimatedLengthOfInPatientStay);
	} 

	/** Set the Estimated Length Of InPatient Stay.
	 * @param objestimatedLengthOfInPatientStay object of Estimated Length Of InPatientStay
	 */ 
	public void setEstimatedLengthOfInPatientStay(NM objestimatedLengthOfInPatientStay)
	{
		setDataType(711,objestimatedLengthOfInPatientStay);
	}
	
	/**
	 * Set the Expected Admit Date Or Time.  
	 * @param strTime Use as Time.
	 */ 
	public void setExpectedAdmitDateOrTime (String strTime) 
	{
		DTM expectedAdmitDateOrTime  = (DTM)getDataElement(188);
		expectedAdmitDateOrTime.setValue(strTime);
		setExpectedAdmitDateOrTime (expectedAdmitDateOrTime);
	} 

	/** Set the Expected Admit Date Or Time.  
	 * @param objexpectedAdmitDateOrTime object of Expected Admit Date Or Time.
	 */ 
	public void setExpectedAdmitDateOrTime(DTM objexpectedAdmitDateOrTime)
	{
		setDataType(188,objexpectedAdmitDateOrTime);
	}
	/**
	 * Set the Expected Discharge Date Or Time.
	 * @param strTime Use as Time.
	 */ 
	public void setExpectedDischargeDateOrTime (String strTime) 
	{
		DTM expectedDischargeDateOrTime  = (DTM)getDataElement(189);
		expectedDischargeDateOrTime.setValue(strTime);
		setExpectedDischargeDateOrTime (expectedDischargeDateOrTime);
	} 

	/** Set the Expected Discharge Date Or Time.
	 * @param objexpectedDischargeDateOrTime object of Expected Discharge Date Or Time.
	 */ 
	public void setExpectedDischargeDateOrTime(DTM objexpectedDischargeDateOrTime)
	{
		setDataType(189,objexpectedDischargeDateOrTime);
	}	/**
	 * Set the Expected Discharge Disposition.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setExpectedDischargeDisposition (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID) 
	{
		CWE cwe  = (CWE)getDataElement(728);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setExpectedDischargeDisposition (cwe);
	} 

	/** Set the Expected Discharge Disposition.
	 * @param objexpectedDischargeDisposition object of Expected Discharge Disposition.
	 */ 
	public void setExpectedDischargeDisposition(CWE objexpectedDischargeDisposition)
	{
		setDataType(728,objexpectedDischargeDisposition);
	}
	/**
	 * Set the Expected LOA Return DAte Or Time.
	 * @param strTime Use as Time.
	 */ 
	public void setExpectedLOAReturnDAteOrTime (String strTime) 
	{
		DTM expectedLOAReturnDAteOrTime  = (DTM)getDataElement(1550);
		expectedLOAReturnDAteOrTime.setValue(strTime);
		setExpectedLOAReturnDAteOrTime (expectedLOAReturnDAteOrTime);
	} 

	/** Set the Expected LOA Return DAte Or Time.
	 * @param objexpectedLOAReturnDAteOrTime object of Expected LOA Return DAte Or Time.
	 */ 
	public void setExpectedLOAReturnDAteOrTime(DTM objexpectedLOAReturnDAteOrTime)
	{
		setDataType(1550,objexpectedLOAReturnDAteOrTime);
	}	/**
	 * Set the Expected Number Of Insurance Plans.
	 * This field contains the number of insurance plans that provide coverage for this visit.
	 * @param strExpectedNumberOfInsurancePlans Use as ExpectedNumberOfInsurancePlans.
	 */ 
	public void setExpectedNumberOfInsurancePlans (String strExpectedNumberOfInsurancePlans) 
	{
		NM expectedNumberOfInsurancePlans  = (NM)getDataElement(721);
		expectedNumberOfInsurancePlans.setValue(strExpectedNumberOfInsurancePlans); 
		setExpectedNumberOfInsurancePlans (expectedNumberOfInsurancePlans);
	} 

	/** Set the Expected Number Of Insurance Plans.
	 * This field contains the number of insurance plans that provide coverage for this visit.
	 * @param objexpectedNumberOfInsurancePlans object of ExpectedNumberOfInsurancePlans.
	 */ 
	public void setExpectedNumberOfInsurancePlans(NM objexpectedNumberOfInsurancePlans)
	{
		setDataType(721,objexpectedNumberOfInsurancePlans);
	}	/**
	 * Set the Expected Pre Admission Testing Date Or Time.
	 * @param strTime Use as Time.
	 */ 
	public void setExpectedPreAdmissionTestingDateOrTime (String strTime) 
	{
		DTM expectedPreAdmissionTestingDateOrTime  = (DTM)getDataElement(1841);
		expectedPreAdmissionTestingDateOrTime.setValue(strTime);
		setExpectedPreAdmissionTestingDateOrTime (expectedPreAdmissionTestingDateOrTime);
	} 

	/** Set the Expected Pre Admission Testing Date Or Time.
	 * @param objexpectedPreAdmissionTestingDateOrTime object of Expected Pre Admission Testing Date Or Time.
	 */ 
	public void setExpectedPreAdmissionTestingDateOrTime(DTM objexpectedPreAdmissionTestingDateOrTime)
	{
		setDataType(1841,objexpectedPreAdmissionTestingDateOrTime);
	}	/**
	 * Set the Expected Surgery Date And Time.
	 * @param strTime Use as Time.
	 */ 
	public void setExpectedSurgeryDateAndTime (String strTime) 
	{
		DTM expectedSurgeryDateAndTime  = (DTM)getDataElement(734);
		expectedSurgeryDateAndTime.setValue(strTime);
		setExpectedSurgeryDateAndTime (expectedSurgeryDateAndTime);
	} 

	/** Set the Expected Surgery Date And Time.
	 * @param objexpectedSurgeryDateAndTime object of Expected Surgery Date And Time.
	 */ 
	public void setExpectedSurgeryDateAndTime(DTM objexpectedSurgeryDateAndTime)
	{
		setDataType(734,objexpectedSurgeryDateAndTime);
	}
	/**
	 * Set the First Similar Illness Date.
	 * @param strFirstSimilarIllnessDate Use as FirstSimilarIllnessDate.
	 */ 
	public void setFirstSimilarIllnessDate (String strFirstSimilarIllnessDate) 
	{
		DT firstSimilarIllnessDate  = (DT)getDataElement(730);
		firstSimilarIllnessDate.setValue(strFirstSimilarIllnessDate); 
		setFirstSimilarIllnessDate (firstSimilarIllnessDate);
	} 

	/** Set the First Similar Illness Date.
	 * @param objfirstSimilarIllnessDate object of FirstSimilarIllnessDate.
	 */ 
	public void setFirstSimilarIllnessDate(DT objfirstSimilarIllnessDate)
	{
		setDataType(730,objfirstSimilarIllnessDate);
	}
	/**
	 * Set the Living Will Code.
	 * This field indicates whether the patient has a living will or not and if so,
	 * whether a copy of the living will is on file at the healthcare facility or not.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setLivingWillCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID) 
	{
		CWE cwe  = (CWE)getDataElement(759);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		setLivingWillCode (cwe);
	} 

	/** Set the Living Will Code.
	 * This field indicates whether the patient has a living will or not and if so,
	 * whether a copy of the living will is on file at the healthcare facility or not.
	 * @param objlivingWillCode object of LivingWillCode.
	 */ 
	public void setLivingWillCode(CWE objlivingWillCode)
	{
		setDataType(759,objlivingWillCode);
	}
	/**
	 * Set the Military Non Availability Code.
	 * This field indicate whether a patient has permission to use a non-military 
	 * healthcare facility for treatment or not.
	 * @param strMilitaryNonAvailabilityCode Use as MilitaryNonAvailabilityCode.
	 */ 
	public void setMilitaryNonAvailabilityCode (String strMilitaryNonAvailabilityCode)  
	{
		ID militaryNonAvailabilityCode  = (ID)getDataElement(736);
		militaryNonAvailabilityCode.setValue(strMilitaryNonAvailabilityCode); 
		setMilitaryNonAvailabilityCode (militaryNonAvailabilityCode);
	} 

	/** Set the Military Non Availability Code.
	 * This field indicate whether a patient has permission to use a non-military 
	 * healthcare facility for treatment or not.
	 * @param objmilitaryNonAvailabilityCode object of MilitaryNonAvailabilityCode.
	 */ 
	public void setMilitaryNonAvailabilityCode(ID objmilitaryNonAvailabilityCode)
	{
		setDataType(736,objmilitaryNonAvailabilityCode);
	}
	/**
	 * Set the Military Partnership Code.
	 * This field indicates that a military healthcare facility has contract with 
	 * a non-military healthcare facility for the use of its services.
	 * @param strMilitaryPartnershipCode Use as MilitaryPartnershipCode.
	 */ 
	public void setMilitaryPartnershipCode (String strMilitaryPartnershipCode) 
	{
		ID militaryPartnershipCode  = (ID)getDataElement(735);
		militaryPartnershipCode.setValue(strMilitaryPartnershipCode); 
		setMilitaryPartnershipCode (militaryPartnershipCode);
	} 

	/** Set the Military Partnership Code.
	 * This field indicates that a military healthcare facility has contract with 
	 * a non-military healthcare facility for the use of its services.
	 * @param objmilitaryPartnershipCode object of MilitaryPartnershipCode.
	 */ 
	public void setMilitaryPartnershipCode(ID objmilitaryPartnershipCode)
	{
		setDataType(735,objmilitaryPartnershipCode);
	}
	/**
	 * Set the Mode Of Arrival Code.
	 * This field specify how the patient is bring to the healthcare facility. 
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setModeOfArrivalCode  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(1543);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setModeOfArrivalCode (cwe);
	} 

	/** Set the Mode Of Arrival Code.
	 * This field specify how the patient is bring to the healthcare facility. 
	 * @param objmodeOfArrivalCode object of Mode Of Arrival Code.
	 */ 
	public void setModeOfArrivalCode(CWE objmodeOfArrivalCode)
	{
		setDataType(1543,objmodeOfArrivalCode);
	}
	/**
	 * Set the New Born Baby Indictor.  
	 * @param strNewBornBabyIndictor Use as NewBornBabyIndictor.
	 */ 
	public void setNewBornBabyIndictor (String strNewBornBabyIndictor) 
	{
		ID newBornBabyIndictor  = (ID)getDataElement(737);
		newBornBabyIndictor.setValue(strNewBornBabyIndictor); 
		setNewBornBabyIndictor (newBornBabyIndictor);
	} 

	/** Set the New Born Baby Indictor.  
	 * @param objnewBornBabyIndictor object of NewBornBabyIndictor.
	 */ 
	public void setNewBornBabyIndictor(ID objnewBornBabyIndictor)
	{
		setDataType(737,objnewBornBabyIndictor);
	}
	/**
	 * Set the Notify Clergy Code.
	 * This field allows the user to indicate whether the clergy should be notified or not.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void addNotifyClergyCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID) 
	{
		CWE cwe = (CWE)getDataElement(1842);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		addNotifyClergyCode (cwe);
	} 

	/** Set the Notify Clergy Code.
	 * This field allows the user to indicate whether the clergy should be notified or not.
	 * @param objtempNotifyClergyCode object of NotifyClergyCode.
	 */ 
	public void addNotifyClergyCode(CWE objtempNotifyClergyCode)
	{
		addDataType(1842,objtempNotifyClergyCode);
	}	
	/**
	 * Set the Notify Clergy Code List.
	 * @param objNotifyClergyCodeList List of Notify Clergy Code.
	 */	
	@SuppressWarnings("unchecked")
	public void setNotifyClergyCode(ISingleCollection<CWE> objNotifyClergyCodeList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objNotifyClergyCodeList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(1842,objCollection);
	}

	/**
	 * Set the Organ Donor Code.
	 * This field indicate whether the patient want to donate his/her organs or not and 
	 * whether an organ donor card or similar documentation is on file with the healthcare organization or not.  
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */
	public void setOrganDonorCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID) 
	{
		CWE cwe  = (CWE)getDataElement(760);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setOrganDonorCode(cwe);
	}

	/** Set the Organ Donor Code.  
	 * @param objorganDonorCode object of Organ Donor Code.
	 */ 
	public void setOrganDonorCode(CWE objorganDonorCode)
	{
		setDataType(760,objorganDonorCode);
	}

	/**
	 * Set the Patient Charge Adjustment Code.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setPatientChargeAdjustmentCode  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(731);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		setPatientChargeAdjustmentCode (cwe);
	} 

	/** Set the Patient Charge Adjustment Code.
	 * @param objpatientChargeAdjustmentCode object of Patient Charge Adjustment Code.
	 */ 
	public void setPatientChargeAdjustmentCode(CWE objpatientChargeAdjustmentCode)
	{
		setDataType(731,objpatientChargeAdjustmentCode);
	}
	/**
	 * Set the Patient Condition Code.
	 * This field indicates the patient's current medical condition for the
	 * purpose of communicating to non-medical outside parties, e.g. family, employer,
	 * religious minister, media, etc.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setPatientConditionCode  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(1547);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setPatientConditionCode (cwe);
	} 

	/** Set the Patient Condition Code.
	 * This field indicates the patient's current medical condition for the
	 * purpose of communicating to non-medical outside parties, e.g. family, employer,
	 * religious minister, media, etc.
	 * @param objpatientConditionCode object of Patient Condition Code.
	 */ 
	public void setPatientConditionCode(CWE objpatientConditionCode)
	{
		setDataType(1547,objpatientConditionCode);
	}
	/**
	 * Set the Patient Status Code.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setPatientStatusCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID) 
	{
		CWE cwe  = (CWE)getDataElement(725);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		setPatientStatusCode (cwe);
	} 

	/** Set the Patient Status Code.
	 * @param objpatientStatusCode object of Patient Status Code.
	 */ 
	public void setPatientStatusCode(CWE objpatientStatusCode)
	{
		setDataType(725,objpatientStatusCode);
	}
	/**
	 * Set the Patient Status Effective Date.
	 * @param strPatientStatusEffectiveDate Use as PatientStatusEffectiveDate.
	 */ 
	public void setPatientStatusEffectiveDate (String strPatientStatusEffectiveDate) 
	{
		DT patientStatusEffectiveDate  = (DT)getDataElement(1549);
		patientStatusEffectiveDate.setValue(strPatientStatusEffectiveDate); 
		setPatientStatusEffectiveDate (patientStatusEffectiveDate);
	} 

	/** Set the Patient Status Effective Date.
	 * @param objpatientStatusEffectiveDate object of PatientStatusEffectiveDate.
	 */ 
	public void setPatientStatusEffectiveDate(DT objpatientStatusEffectiveDate)
	{
		setDataType(1549,objpatientStatusEffectiveDate);
	}
	/**
	 * Set the Patient Valuables.
	 * This field contains the short description of patient valuables checked during admission.
	 * @param strPatientValuables Use as PatientValuables.
	 */ 
	public void addPatientValuables (String strPatientValuables) 
	{
		ST tempPatientValuables = (ST)getDataElement(185);
		tempPatientValuables.setValue(strPatientValuables); 
		addPatientValuables (tempPatientValuables);
	} 

	/** Set the Patient Valuables.
	 * This field contains the short description of patient valuables checked during admission.
	 * @param objtempPatientValuables object of PatientValuables.
	 */ 
	public void addPatientValuables(ST objtempPatientValuables)
	{
		addDataType(185,objtempPatientValuables);
	}	/**
	 * Set the Patient Valuables.
	 * @param objPatientValuablesList List of Patient Valuables.
	 */	
	@SuppressWarnings("unchecked")
	public void setPatientValuables(ISingleCollection<ST> objPatientValuablesList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objPatientValuablesList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(185,objCollection);
	}
	/**
	 * Set the Patient Valusbles Location.
	 * @param strPatientValuablesLocation Use as PatientValuablesLocation.
	 */ 
	public void setPatientValusblesLocation (String strPatientValuablesLocation) 
	{
		ST patientValusblesLocation  = (ST)getDataElement(186);
		patientValusblesLocation.setValue(strPatientValuablesLocation); 
		setPatientValusblesLocation (patientValusblesLocation);
	} 

	/** Set the Patient Valusbles Location.
	 * @param objpatientValusblesLocation object of PatientValuablesLocation.
	 */ 
	public void setPatientValusblesLocation(ST objpatientValusblesLocation)
	{
		setDataType(186,objpatientValusblesLocation);
	}
	/**
	 * Set the Precaution Code.
	 * This field indicates non-clinical precautions that need to be taken with the patient.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */
	public void addPrecautionCode  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(1546);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		addPrecautionCode (cwe);
	} 

	/** Set the Precaution Code.
	 * This field indicates non-clinical precautions that need to be taken with the patient.
	 * @param objtempPrecautionCode object of PrecautionCode.
	 */ 
	public void addPrecautionCode(CWE objtempPrecautionCode)
	{
		addDataType(1546,objtempPrecautionCode);
	}	
	/**
	 * Set the Precaution Code list.
	 * @param objPrecautionCodeList List of Precaution Code.
	 */	
	@SuppressWarnings("unchecked")
	public void setPrecautionCode(ISingleCollection<CWE> objPrecautionCodeList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objPrecautionCodeList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(1546,objCollection);
	}

	/**
	 * Set the Previous Service Date.
	 * This field contains the date of previous service for the same recurring condition.
	 * @param strPreviousServiceDate Use as PreviousServiceDate.
	 */ 
	public void setPreviousServiceDate (String strPreviousServiceDate)  
	{
		DT previousServiceDate  = (DT)getDataElement(715);
		previousServiceDate.setValue(strPreviousServiceDate); 
		setPreviousServiceDate (previousServiceDate);
	} 

	/** Set the Previous Service Date.
	 * This field contains the date of previous service for the same recurring condition.
	 * @param objpreviousServiceDate object of PreviousServiceDate.
	 */ 
	public void setPreviousServiceDate(DT objpreviousServiceDate)
	{
		setDataType(715,objpreviousServiceDate);
	}
	/**
	 * Set the Previous Treatment Date.
	 * This field contains the patient's last date of treatment for any condition prior to this visit.
	 * @param strPreviousTreatmentDate Use as PreviousTreatmentDate.
	 */ 
	public void setPreviousTreatmentDate (String strPreviousTreatmentDate)  
	{
		DT previousTreatmentDate  = (DT)getDataElement(727);
		previousTreatmentDate.setValue(strPreviousTreatmentDate); 
		setPreviousTreatmentDate (previousTreatmentDate);
	} 

	/** Set the Previous Treatment Date.
	 * This field contains the patient's last date of treatment for any condition prior to this visit.
	 * @param objpreviousTreatmentDate object of PreviousTreatmentDate.
	 */ 
	public void setPreviousTreatmentDate(DT objpreviousTreatmentDate)
	{
		setDataType(727,objpreviousTreatmentDate);
	}
	/**
	 * Set the Prior Pending Location.
	 * @param strPointOfCare Use as PointOfCare.
	 * @param strRoom Use as Room.
	 * @param strBed Use as Bed.
	 * @param objFacility Use as Facility.
	 * @param strLocationStatus Use as LocationStatus.
	 * @param strPersonLocationType Use as PersonLocationType.
	 * @param strBuilding Use as Building.
	 * @param strFloor Use as Floor.
	 * @param strLocationDescription Use as LocationDescription.
	 * @param objComprehensiveLocationIdentifier Use as ComprehensiveLocationIdentifier.
	 * @param objAssigningAuthorityForLocation Use as AssigningAuthorityForLocation.
	 */
	public void setPriorPendingLocation  (HD objPointOfCare, HD objRoom, HD objBed, HD objFacility,
			String strLocationStatus, String strPersonLocationType, HD objBuilding, HD objFloor, 
			String strLocationDescription, EI objComprehensiveLocationIdentifier, HD objAssigningAuthorityForLocation)
	{
		PL pl  = (PL)getDataElement(181);
		pl.setPointOfCare(objPointOfCare);
		pl.setRoom(objRoom);
		pl.setBed(objBed);
		pl.setFacility(objFacility);
		pl.setLocationStatus(strLocationStatus);
		pl.setPersonLocationType(strPersonLocationType);
		pl.setBuilding(objBuilding);
		pl.setFloor(objFloor);
		pl.setLocationDescription(strLocationDescription);
		pl.setComprehensiveLocationIdentifier(objComprehensiveLocationIdentifier);
		pl.setAssigningAuthorityForLocation(objAssigningAuthorityForLocation);
		setPriorPendingLocation (pl);
	} 

	/** Set the Prior Pending Location.
	 * @param objpriorPendingLocation object of AssigningAuthorityForLocation.
	 */ 
	public void setPriorPendingLocation(PL objpriorPendingLocation)
	{
		setDataType(181,objpriorPendingLocation);
	}
	
	/**
	 * Set the Purge Status Code.
	 * Marked for purge.  User is no longer able to update the visit.The visit is marked for deletion and the user cannot enter new data against it.
	 * The visit is marked inactive and the user cannot enter new data against it.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */
	public void setPurgeStatusCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(1739);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID);
		setPurgeStatusCode(cwe);

	} 

	/** Set the Purge Status Code.
	 * @param objpurgeStatusCode object of Purge Status Code.
	 */ 
	public void setPurgeStatusCode(CWE objpurgeStatusCode)
	{
		setDataType(717,objpurgeStatusCode);
	}
	/**
	 * Set the Purge Status Date.
	 * This field contains the date on which the data is purge from the system.
	 * @param strPurgeStatusDate Use as PurgeStatusDate.
	 */ 
	public void setPurgeStatusDate (String strPurgeStatusDate) 
	{
		DT purgeStatusDate  = (DT)getDataElement(718);
		purgeStatusDate.setValue(strPurgeStatusDate); 
		setPurgeStatusDate (purgeStatusDate);
	} 

	/** Set the Purge Status Date.
	 * This field contains the date on which the data is purge from the system.
	 * @param objpurgeStatusDate object of PurgeStatusDate.
	 */ 
	public void setPurgeStatusDate(DT objpurgeStatusDate)
	{
		setDataType(718,objpurgeStatusDate);
	}
	/**
	 * Set the Recreational Drug Use Code.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */	
	public void addRecreationalDrugUseCode  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(1544);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		addRecreationalDrugUseCode (cwe);
	} 

	/** Set the Recreational Drug Use Code.
	 * @param objtempRecreationalDrugUseCode object of Recreational Drug Use Code.
	 */ 
	public void addRecreationalDrugUseCode(CWE objtempRecreationalDrugUseCode)
	{
		addDataType(1544,objtempRecreationalDrugUseCode);
	}	
	/**
	 * Set the Recreational Drug UseCode List.
	 * @param objDiagnosingClinicianList List of Recreational Drug UseCode.
	 */	
	@SuppressWarnings("unchecked")
	public void setRecreationalDrugUseCode(ISingleCollection<CWE> objRecreationalDrugUseCodeList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objRecreationalDrugUseCodeList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(1544,objCollection);
	}

	/**
	 * Set the Recurring Service Code.
	 * This field indicate whether the treatment is continuous or not.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */	 
	public void setRecurringServiceCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)  
	{
		CWE cwe  = (CWE)getDataElement(732);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		setRecurringServiceCode (cwe);
	} 

	/** Set the Recurring Service Code.
	 * This field indicate whether the treatment is continuous or not.
	 * @param objrecurringServiceCode object of RecurringServiceCode
	 */ 
	public void setRecurringServiceCode(CWE objrecurringServiceCode)
	{
		setDataType(732,objrecurringServiceCode);
	}
	/**
	 * Set the Referral Source Code.
	 * This field contains the name and the identification numbers of the person 
	 * or organization that made the referral.
	 * @param strIDNumber Refers to the coded ID according to a user-defined table
	 * @param objFamilyName Specifies the surname of a person.
	 * @param strGivenName Specifies First name.
	 * @param strSecondAndFurtherGivenNamesOrInitialsThereof Specifies multiple middle names that may be included by 
	 * 														   separating them with spaces.
	 * @param strSuffix Used to specify a name suffix (e.g., Jr. or III).
	 * @param strPrefix Used to specify a name prefix (e.g., Dr.).
	 * @param strSourceTable Used as the HL7 identifier for the user-defined table of values for this component. [Refer User-defined Table 0297 - CN ID.]
	 * @param objAssigningAuthority Specifies a unique identifier of the system (or organization or agency of department)
	 * 								  that creates the data. [Refer User-defined Table 0363 - Assigning authority]
	 * @param strNameTypeCode Specifies a code that represents the type of name. 
	 * @param strIdentifierCheckDigit Specifies part of the identifying number used in the sending application. 
	 * @param strCheckDigitScheme Specifies the code identifying the check digit scheme employed.[Refer HL7 Table 0061 - Check digit scheme].
	 * @param strIdentifierTypeCode Specifies A code corresponding to the type of identifier.[Refer HL7 Table 0203 - Identifier type].
	 * @param objAssigningFacility Specifies the place or location identifier where the identifier was first assigned to the person
	 * @param strNameRepresentationCode Provides an indication of the representation provided by the data item.  
	 * @param objNameContext Designates the context in which a name is used. [Refer User-defined Table 0448 ]
	 * @param strNameAssemblyOrder Specifies a code that represents the preferred display order of the components of this person name. Suggested values are G,F[Refer table 0444.]
	 * @param strEffectiveDate Specifies the first date, if known, on which the address is valid and active.
	 * @param strExpirationDate Specifies the last date, if known, on which the address is valid and active.
	 * @param strProfessionalSuffix Used to specify an abbreviation, or a string of abbreviations, denoting qualifications that support the person's profession, (e.g., licenses).
	 * @param objAssigningJurisdiction Specifies the geo-political body that assigned the identifier.
	 * @param objAssigningAgencyOrDepratment Specifies the agency or department that assigned the identifier
	 * @param strSecurityCheck Specifies the version code that may be assigned to the person identifier
	 * @param strSecurityCheckScheme Specifies the check digit scheme.
	 */ 
	public void addReferralSourceCode  (String strIDNumber,FN objFamilyName,String strGivenName,String strSecondAndFurtherGivenNamesOrInitialsThereof,
			String 	strSuffix,String strPrefix,CWE objSourceTable,HD objAssigningAuthority,
			String strNameTypeCode,String strIdentifierCheckDigit,String strCheckDigitScheme,String strIdentifierTypeCode,
			HD objAssigningFacility,String strNameRepresentationCode,CWE objNameContext,
			String strNameAssemblyOrder, String strEffectiveDate,String strExpirationDate,String strProfessionalSuffix,
			CWE objAssigningJurisdiction,CWE objAssigningAgencyOrDepratment, String strSecurityCheck, String strSecurityCheckScheme)
	{
		XCN xcn  = (XCN)getDataElement(714);
		xcn.setIdNumber(strIDNumber);
		xcn.setFamilyName(objFamilyName);
		xcn.setGivenName(strGivenName);
		xcn.setSecondNameOrInitials(strSecondAndFurtherGivenNamesOrInitialsThereof);
		xcn.setSuffix(strSuffix);
		xcn.setPrefix(strPrefix);
 
		xcn.setSourceTable(objSourceTable);
		xcn.setAssigningAuthority(objAssigningAuthority);
		xcn.setNameTypeCode(strNameTypeCode);
		xcn.setIdentifierCheckDigit(strIdentifierCheckDigit);
		xcn.setCheckDigitScheme(strCheckDigitScheme);
		xcn.setIdentifierTypeCode(strIdentifierTypeCode);
		xcn.setAssigningFacility(objAssigningFacility);
		xcn.setNameRepresentationCode(strNameRepresentationCode);
		xcn.setNameContext(objNameContext);
 
		xcn.setNameAssemblyOrder(strNameAssemblyOrder);
		xcn.setEffectiveDate(strEffectiveDate);
		xcn.setExpirationDate(strExpirationDate);
		xcn.setProfessionalSuffix(strProfessionalSuffix);
		xcn.setAssigningJurisdiction(objAssigningJurisdiction);
		xcn.setAssigningAgencyOrDepartment(objAssigningAgencyOrDepratment); 
		xcn.setSecurityCheck(strSecurityCheck);
		xcn.setSecurityCheckScheme(strSecurityCheckScheme); 
		addReferralSourceCode (xcn);
	} 

	/**Sets the Referral Source Code.
	 * @param objtempReferralSourceCode object of ReferralSourceCode
	 */ 
	public void addReferralSourceCode(XCN objtempReferralSourceCode)
	{
		addDataType(714,objtempReferralSourceCode);
	}	
	/**
	 * Set Referral SourceCode.
	 * @param objReferralSourceCodeList List of Referral SourceCode.
	 */	
	@SuppressWarnings("unchecked")
	public void setReferralSourceCode(ISingleCollection<XCN> objReferralSourceCodeList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objReferralSourceCodeList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(714,objCollection);
	}
	/**
	 * Set the Retention Indicator.
	 * This field allows the user to control the financial and demographic purge 
	 * processes at the time of visit.
	 * processes at the visit. It is used to preserve demographic and financial data on specific, high priority visits
	 * @param strRetentionIndicator Use as RetentionIndicator.
	 */ 
	public void setRetentionIndicator (String  strRetentionIndicator)  
	{
		ID retentionIndicator  = (ID)getDataElement(720);
		retentionIndicator.setValue(strRetentionIndicator); 
		setRetentionIndicator (retentionIndicator);
	} 

	/** Set the Retention Indicator.
	 * This field allows the user to control the financial and demographic purge 
	 * processes at the time of visit.
	 * processes at the visit. It is used to preserve demographic and financial data on specific, high priority visits
	 * @param objretentionIndicator object of RetentionIndicator.
	 */ 
	public void setRetentionIndicator(ID objretentionIndicator)
	{
		setDataType(720,objretentionIndicator);
	}	/**
	 * Set the Signature On File Date.
	 * This field contain the date on which a signature is obtained for insurance billing purposes.
	 * @param strSignatureOnFileDate Use as SignatureOnFileDate.
	 * @return Int - function status [success/failure].
	 */ 
	public void setSignatureOnFileDate (String strSignatureOnFileDate) 
	{
		DT signatureOnFileDate  = (DT)getDataElement(729);
		signatureOnFileDate.setValue(strSignatureOnFileDate); 
		setSignatureOnFileDate (signatureOnFileDate);
	} 

	/**Sets the Signature On File Date.
	 * @param objsignatureOnFileDate object of Signature On File Date.
	 */ 
	public void setSignatureOnFileDate(DT objsignatureOnFileDate)
	{
		setDataType(729,objsignatureOnFileDate);
	}
	/**
	 * Set the Special Program Code.
	 * This field designates the specific health insurance program reimbursement for a visitor in healthcare.    
	 * @param strSpecialProgramCode Use as
	 * 	CH	Child Health Assistance
		ES	Elective Surgery Program
		FP	Family Planning
		O	Other
		U	Unknown
	 */ 
	public void setSpecialProgramCode (String strSpecialProgramCode) 
	{
		CWE specialProgramCode  = (CWE)getDataElement(719);
		specialProgramCode.setValue(strSpecialProgramCode); 
		setSpecialProgramCode (specialProgramCode);
	} 

	/** Set the Special Program Code.
	 * This field designates the specific health insurance program reimbursement for a visitor in healthcare.    
	 * @param objspecialProgramCode object of Special Program Code.
	 */ 
	public void setSpecialProgramCode(CWE objspecialProgramCode)
	{
		setDataType(719,objspecialProgramCode);
	}
	/**
	 * Set the Transfer Reason.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */
	public void setTransferReason  (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(184);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		setTransferReason (cwe);
	} 

	/** Set the Transfer Reason.
	 * @param objtransferReason object of Transfer Reason.
	 */ 
	public void setTransferReason(CWE objtransferReason)
	{
		setDataType(184,objtransferReason);
	}
	/**
	 * Set the Visit Description.
	 * This field contains a brief user-defined description of the visit.
	 * @param strVisitDescription Use as VisitDescription.
	 */ 
	public void setVisitDescription (String strVisitDescription) 
	{
		ST visitDescription  = (ST)getDataElement(713);
		visitDescription.setValue(strVisitDescription); 
		setVisitDescription (visitDescription);
	} 

	/** Set the Visit Description.
	 * This field contains a brief user-defined description of the visit.
	 * @param objvisitDescription object of VisitDescription.
	 */ 
	public void setVisitDescription(ST objvisitDescription)
	{
		setDataType(713,objvisitDescription);
	}
	/**
	 * Set the Visit Priority Code.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */ 
	public void setVisitPriorityCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID) 
	{
		CWE cwe  = (CWE)getDataElement(726);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		setVisitPriorityCode (cwe);
	} 

	/** Set the Visit Priority Code.
	 * @param objvisitPriorityCode object of Visit Priority Code.
	 */ 
	public void setVisitPriorityCode(CWE objvisitPriorityCode)
	{
		setDataType(726,objvisitPriorityCode);
	}
	/**
	 * Set the Visit Protection Indicator.
	 * @param strVisitProtectionIndicator Use as VisitProtectionIndicator.
	 */ 
	public void setVisitProtectionIndicator (String strVisitProtectionIndicator)  
	{
		ID visitProtectionIndicator  = (ID)getDataElement(723);
		visitProtectionIndicator.setValue(strVisitProtectionIndicator); 
		setVisitProtectionIndicator (visitProtectionIndicator);
	} 

	/** Set the Visit Protection Indicator.
	 * @param objvisitProtectionIndicator object of VisitProtectionIndicator.
	 */ 
	public void setVisitProtectionIndicator(ID objvisitProtectionIndicator)
	{
		setDataType(723,objvisitProtectionIndicator);
	}
	/**
	 * Set the Visit Publicity Code.
	 * This field contains a user-defined code, indicating what level of publicity is allow for a specific visit.  
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */	
	public void setVisitPublicityCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)
	{
		CWE cwe  = (CWE)getDataElement(722);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		setVisitPublicityCode (cwe);
	} 

	/** Set the Visit Publicity Code.
	 * This field contains a user-defined code, indicating what level of publicity is allow for a specific visit.  
	 * @param objvisitPublicityCode object of Visit Publicity Code.
	 */ 
	public void setVisitPublicityCode(CWE objvisitPublicityCode)
	{
		setDataType(722,objvisitPublicityCode);
	}
	/**
	 * Set the Visit User Code.
	 * This field further categorizes a patient's visit with respect to an individual institution's needs.
	 * @param strIdentifier Specifies of characters (the code) that uniquely identifies the item being referenced. 
	 * @param strText Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction. 
	 * @param strNameOfCodingSystem Identifies the coding scheme being used in the identifier component.
	 * @param strAlternateIdentifier Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
	 * @param strAlternateText Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
	 * @param strNameOfAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component. 
	 * @param strCodingSystemVersionID A sequence of characters that uniquely identifies a second alternate code.
	 * @param strAlternateCodingSystemVersionId This component carries the version for the coding system identified by components 4-6.
	 * @param strOriginalText The text as seen and/or selected by the user who entered the data.
	 * @param strSecondAlternateIdentifier A sequence of characters that uniquely identifies a second alternate code.
	 * @param strSecondAlternateText The descriptive or textual name of the alternate identifier.
	 * @param strNameofSecondAlternateCodingSystem Identifies the coding scheme being used in the alternate identifier component.
	 * @param strSecondAlternateCodingSystemVersionID This component carries the version for the coding system identified by components 10-12.
	 * @param strCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
	 * @param strValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
	 * @param strValueSetVersionID This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
	 * @param strAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
	 * @param strAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
	 * @param strAlternateValueSetVersionID This component carries the version for the value set identified by CWE.18. The version is a date.
	 * @param strSecondAlternateCodingSystemOID This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
	 * @param strSecondAlternateValueSetOID This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
	 * @param strSecondAlternateValueSetVersionID This component carries the version for the value set identified by CWE.21. The version is a date.
	 */	 
	public void addVisitUserCode (String strIdentifier,String strText,String strNameOfCodingSystem,
			String strAlternateIdentifier,String strAlternateText,String strNameOfAlternateCodingSystem, String strCodingSystemVersionID, String 				strAlternateCodingSystemVersionId,
			String strOriginalText, String  strSecondAlternateIdentifier, String strSecondAlternateText, 
			String strNameofSecondAlternateCodingSystem, String strSecondAlternateCodingSystemVersionID, String strCodingSystemOID, String strValueSetOID,
			String strValueSetVersionID, String strAlternateCodingSystemOID, String strAlternateValueSetOID, String strAlternateValueSetVersionID,
			String  strSecondAlternateCodingSystemOID, String strSecondAlternateValueSetOID, String strSecondAlternateValueSetVersionID)  
	{
		CWE cwe = (CWE)getDataElement(187);
		cwe.setIdentifier(strIdentifier);
		cwe.setText(strText);
		cwe.setNameOfCodingSystem(strNameOfCodingSystem);
		cwe.setAlternateIdentifier(strAlternateIdentifier);
		cwe.setAlternateText(strAlternateText);
		cwe.setNameOfAlternateCodingSystem(strNameOfAlternateCodingSystem); 
		cwe.setCodingSystemVersionID(strCodingSystemVersionID);
		cwe.setAlternateCodingSystemVersionId(strAlternateCodingSystemVersionId);
		cwe.setOriginalText(strOriginalText);
		cwe.setSecondAlternateIdentifier(strSecondAlternateIdentifier);
		cwe.setSecondAlternateText(strSecondAlternateText);
		cwe.setNameofSecondAlternateCodingSystem(strNameofSecondAlternateCodingSystem);
		cwe.setSecondAlternateCodingSystemVersionID(strSecondAlternateCodingSystemVersionID);
		cwe.setCodingSystemOID(strCodingSystemOID);
		cwe.setValueSetOID(strValueSetOID);
		cwe.setValueSetVersionID(strValueSetVersionID);
		cwe.setAlternateCodingSystemOID(strAlternateCodingSystemOID);
		cwe.setAlternateValueSetOID(strAlternateValueSetOID);
		cwe.setAlternateValueSetVersionID(strAlternateValueSetVersionID);
		cwe.setSecondAlternateCodingSystemOID(strSecondAlternateCodingSystemOID);
		cwe.setSecondAlternateValueSetOID(strSecondAlternateValueSetOID);
		cwe.setSecondAlternateValueSetVersionID(strSecondAlternateValueSetVersionID); 
		addVisitUserCode (cwe);
	} 

	/** Set the Visit User Code.
	 * This field further categorizes a patient's visit with respect to an individual institution's needs.
	 * @param objtempVisitUserCode object of VisitUserCode.
	 */ 
	public void addVisitUserCode(CWE objtempVisitUserCode)
	{
		addDataType(187,objtempVisitUserCode);
	}	
	/**
	 * Set the Visit User Code.
	 * @param objVisitUserCodeList List of Visit User Code.
	 */	
	@SuppressWarnings("unchecked")
	public void setVisitUserCode(ISingleCollection<CWE> objVisitUserCodeList)
	{
		ISingleCollection<IDataType> objCollection = null;
		ISingleCollection<?> objUnknownCollection = (ISingleCollection<?>)objVisitUserCodeList;
		objCollection = (ISingleCollection<IDataType>)objUnknownCollection;
		setDataType(187,objCollection);
	}
	
	/**
	 * Set the Advance Directive Last Verified Date.
	 * @param strAdvanceDirectiveLastVerifiedDate Use as PatientStatusEffectiveDate.
	 */
	public void setAdvanceDirectiveLastVerifiedDate(String strAdvanceDirectiveLastVerifiedDate) 
	{
		DT patientStatusEffectiveDate  = (DT)getDataElement(2141);
		patientStatusEffectiveDate.setValue(strAdvanceDirectiveLastVerifiedDate); 
		setPatientStatusEffectiveDate (patientStatusEffectiveDate);
	} 

	/** Set the Advance Directive Last Verified Date.
	 * @param objAdvanceDirectiveLastVerifiedDate object of AdvanceDirectiveLastVerifiedDate.
	 */ 
	public void setAdvanceDirectiveLastVerifiedDate(DT objAdvanceDirectiveLastVerifiedDate)
	{
		setDataType(2141,objAdvanceDirectiveLastVerifiedDate);
	}

	/**
	 * Validates HL7 Message objects .
	 * Validate method checks for validation each and every segments in side the Message object against specified message Structure. 
	 * Validation chcecks include optionality of segment or group.
	 * It also verifies the number of times segment or group is repeated in message.
	 * e.g 
	 * {PSH} while parsing PSH segment validate method will check for its mandatory presence.
	 * [PSH] in this case validate will throw exception if one tries to enter more than one PSH segment.
	 * @return boolean - true or false.
	 * @throws InvalidSegmentException Throws when Segment Validation fails.
	 */
	public boolean validate() throws InvalidSegmentException
	{
		/*
		 * The "priorPendingLocation" field is required for cancel pending transfer (A26) messages.  
		 * In all other events it is optional.PV2-2   Accommodation Code   (CWE)   00182
		 */
		/*
		 * The field "expectedLOAReturnDAteOrTime" is conditionally required for A21 - Patient goes on LOA.  
		 * It may be populated in A22 - Patient returns from LOA as well as in the 
		 * A53 - Cancel LOA for a patient and 
		 * the A54 - Cancel patient returns from LOA triggers. 
		 *  This field contains the date/time that the patient is expected to return from LOA.
		 */
		//		This Segment Supports Feature Modes For Updating via Repeating Segment.
		//		Validation Mode for this segments validation doesn't affect.
		super.validate();
		return true;
	}

	/**
	 * Retrieve the Prior Pending Location.
	 * @return PL priorPendingLocation
	 */	
	public PL getPriorPendingLocation() 
	{
		ISingleCollection<IDataType> objDataCollection =getDataType(181);
		if(objDataCollection != null && objDataCollection.size() != 0) 
			return (PL)objDataCollection.elementAt(0);
		else
			return null;
	}
}