/*******************************************************************************
 *  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.hl7net.localextension;

import cdac.medinfo.sdk.hl7282.baselibs.AD;
import cdac.medinfo.sdk.hl7282.baselibs.AUI;
import cdac.medinfo.sdk.hl7282.baselibs.CCD;
import cdac.medinfo.sdk.hl7282.baselibs.CCP;
import cdac.medinfo.sdk.hl7282.baselibs.CD;
import cdac.medinfo.sdk.hl7282.baselibs.CF;
import cdac.medinfo.sdk.hl7282.baselibs.CNE;
import cdac.medinfo.sdk.hl7282.baselibs.CNN;
import cdac.medinfo.sdk.hl7282.baselibs.CP;
import cdac.medinfo.sdk.hl7282.baselibs.CQ;
import cdac.medinfo.sdk.hl7282.baselibs.CSU;
import cdac.medinfo.sdk.hl7282.baselibs.CWE;
import cdac.medinfo.sdk.hl7282.baselibs.CX;
import cdac.medinfo.sdk.hl7282.baselibs.DDI;
import cdac.medinfo.sdk.hl7282.baselibs.DIN;
import cdac.medinfo.sdk.hl7282.baselibs.DLD;
import cdac.medinfo.sdk.hl7282.baselibs.DLN;
import cdac.medinfo.sdk.hl7282.baselibs.DLT;
import cdac.medinfo.sdk.hl7282.baselibs.DR;
import cdac.medinfo.sdk.hl7282.baselibs.DT;
import cdac.medinfo.sdk.hl7282.baselibs.DTM;
import cdac.medinfo.sdk.hl7282.baselibs.DTN;
import cdac.medinfo.sdk.hl7282.baselibs.ED;
import cdac.medinfo.sdk.hl7282.baselibs.EI;
import cdac.medinfo.sdk.hl7282.baselibs.EIP;
import cdac.medinfo.sdk.hl7282.baselibs.ERL;
import cdac.medinfo.sdk.hl7282.baselibs.FC;
import cdac.medinfo.sdk.hl7282.baselibs.FN;
import cdac.medinfo.sdk.hl7282.baselibs.FT;
import cdac.medinfo.sdk.hl7282.baselibs.GTS;
import cdac.medinfo.sdk.hl7282.baselibs.HD;
import cdac.medinfo.sdk.hl7282.baselibs.ICD;
import cdac.medinfo.sdk.hl7282.baselibs.ID;
import cdac.medinfo.sdk.hl7282.baselibs.IS;
import cdac.medinfo.sdk.hl7282.baselibs.JCC;
import cdac.medinfo.sdk.hl7282.baselibs.MA;
import cdac.medinfo.sdk.hl7282.baselibs.MO;
import cdac.medinfo.sdk.hl7282.baselibs.MOC;
import cdac.medinfo.sdk.hl7282.baselibs.MOP;
import cdac.medinfo.sdk.hl7282.baselibs.MSG;
import cdac.medinfo.sdk.hl7282.baselibs.NA;
import cdac.medinfo.sdk.hl7282.baselibs.NDL;
import cdac.medinfo.sdk.hl7282.baselibs.NM;
import cdac.medinfo.sdk.hl7282.baselibs.NR;
import cdac.medinfo.sdk.hl7282.baselibs.OCD;
import cdac.medinfo.sdk.hl7282.baselibs.OG;
import cdac.medinfo.sdk.hl7282.baselibs.OSP;
import cdac.medinfo.sdk.hl7282.baselibs.PIP;
import cdac.medinfo.sdk.hl7282.baselibs.PL;
import cdac.medinfo.sdk.hl7282.baselibs.PLN;
import cdac.medinfo.sdk.hl7282.baselibs.PPN;
import cdac.medinfo.sdk.hl7282.baselibs.PRL;
import cdac.medinfo.sdk.hl7282.baselibs.PT;
import cdac.medinfo.sdk.hl7282.baselibs.PTA;
import cdac.medinfo.sdk.hl7282.baselibs.QIP;
import cdac.medinfo.sdk.hl7282.baselibs.QSC;
import cdac.medinfo.sdk.hl7282.baselibs.RCD;
import cdac.medinfo.sdk.hl7282.baselibs.RFR;
import cdac.medinfo.sdk.hl7282.baselibs.RI;
import cdac.medinfo.sdk.hl7282.baselibs.RMC;
import cdac.medinfo.sdk.hl7282.baselibs.RP;
import cdac.medinfo.sdk.hl7282.baselibs.RPT;
import cdac.medinfo.sdk.hl7282.baselibs.SAD;
import cdac.medinfo.sdk.hl7282.baselibs.SCV;
import cdac.medinfo.sdk.hl7282.baselibs.SI;
import cdac.medinfo.sdk.hl7282.baselibs.SN;
import cdac.medinfo.sdk.hl7282.baselibs.SPD;
import cdac.medinfo.sdk.hl7282.baselibs.SRT;
import cdac.medinfo.sdk.hl7282.baselibs.ST;
import cdac.medinfo.sdk.hl7282.baselibs.TM;
import cdac.medinfo.sdk.hl7282.baselibs.TX;
import cdac.medinfo.sdk.hl7282.baselibs.UVC;
import cdac.medinfo.sdk.hl7282.baselibs.VH;
import cdac.medinfo.sdk.hl7282.baselibs.VID;
import cdac.medinfo.sdk.hl7282.baselibs.VR;
import cdac.medinfo.sdk.hl7282.baselibs.WVI;
import cdac.medinfo.sdk.hl7282.baselibs.WVS;
import cdac.medinfo.sdk.hl7282.baselibs.XAD;
import cdac.medinfo.sdk.hl7282.baselibs.XCN;
import cdac.medinfo.sdk.hl7282.baselibs.XON;
import cdac.medinfo.sdk.hl7282.baselibs.XPN;
import cdac.medinfo.sdk.hl7282.baselibs.XTN;
import cdac.medinfo.sdk.hl7282.utils.HL7Constants;

public class PopulateDataType 
{
	public static AD populateAD(int iComponentType)
	{
		
		AD objAD = new AD(0,0,null, iComponentType);
		objAD.setAddressType("H");
		objAD.setCity("Pune");
		objAD.setOtherDesignation("CDAC");
		objAD.setStateOrProvince("Maharastra");
		objAD.setZipOrPostalCode("411007");
		objAD.setStreetAddress("Ganesh Khind");
		
		return objAD;
	}
	
	public static AUI populateAUI(int iComponentType)
	{
		AUI objAUI = new AUI(0,0,null, iComponentType);
		objAUI.setAuthorizationNumber("Authorization Number");
		objAUI.setDate("20010209");
		
		return objAUI;
	}
	
	public static CCD populateCCD(int iComponentType)
	{
		CCD objCCD = new CCD(0,0,null, iComponentType);
		objCCD.setInvocationEvent("D");
		objCCD.setDateTime(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		
		return objCCD;
	}
	
	public static CCP populateCCP(int iComponentType)
	{
		CCP objCCP = new CCP(0,0,null, iComponentType);
		objCCP.setChannelCalibrationSensitivityCorrectionFactor("5");
		objCCP.setChannelCalibrationBaseline("5");
		objCCP.setChannelCalibrationTimeSkew("5");
		
		return objCCP;
	}
	
	public static CD populateCD(int iComponentType)
	{
		CD objCD = new CD(0,0,null, iComponentType);
		objCD.setChannelIdentifier(populateWVI(HL7Constants.HL7_SUBCOMPONENT));
		objCD.setWaveformSource(populateWVS(HL7Constants.HL7_SUBCOMPONENT));
		objCD.setChannelSensitivityUnits(populateCSU(HL7Constants.HL7_SUBCOMPONENT));
		objCD.setChannelCalibrationParameters(populateCCP(HL7Constants.HL7_SUBCOMPONENT));
		objCD.setMinimumMaximumDataValues(populateNR(HL7Constants.HL7_SUBCOMPONENT));
		
		return objCD;
	}
	
	public static CF populateCF(int iComponentType)
	{
		CF objCF = new CF(0,0,null, iComponentType);
		objCF.setIdentifier("I01");
		objCF.setFormattedText("FormattedText");
		objCF.setAlternateIdentifier("AI01");
		objCF.setAlternateFormattedText("AltFormattedText");
		
		return objCF;
	}
	
	public static CNE populateCNE(int iComponentType)
	{
		
		CNE objCNE = new CNE(0,0,null, iComponentType);
		objCNE.setIdentifier("X001");
		objCNE.setCodingSystemVersionID("German Alpha-ID v2006");
		objCNE.setAlternateCodingSystemOID("2.16");
		objCNE.setCodingSystemOID("2.16");
		objCNE.setValueSetVersionID("20170628");
		objCNE.setValueSetOID("2.16");
		objCNE.setSecondAlternateValueSetVersionID("20170628");
		objCNE.setSecondAlternateValueSetOID("OID123");
		objCNE.setSecondAlternateCodingSystemVersionID("ALPHAID2009");
		objCNE.setSecondAlternateCodingSystemOID("2.16");
		return objCNE;
	}
	
	public static CNN populateCNN(int iComponentType)
	{
		CNN objCNN = new CNN(0,0,null, iComponentType);
		objCNN.setIdNumber("2");
		objCNN.setFamilyName("CDAC");
		objCNN.setGivenName("Dhirendra");
		objCNN.setSecondNamesOrInitials("P");
		objCNN.setSourceTable("PN");
		objCNN.setAssigningAuthorityNamespaceId("PN");
		objCNN.setAssigningAuthorityUniversalId("A");
		objCNN.setAssigningAuthorityUniversalIdType("DNS");
		
		return objCNN;
	}
	
	public static CP populateCP(int iComponentType)
	{
		
		CP objCP = new CP(0,0,null, iComponentType);
		objCP.setPrice(populateMO(HL7Constants.HL7_SUBCOMPONENT));
		objCP.setPriceType("IC");
		objCP.setRangeUnits(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objCP.setRangeType("F");
		
		return objCP;
	}
	
	public static CQ populateCQ(int iComponentType)
	{
		CQ objCQ = new CQ(0,0,null, iComponentType);
		objCQ.setUnits(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objCQ.setQuantity("5");
		
		return objCQ;
	}
	
	public static CSU populateCSU(int iComponentType)
	{
		CSU objCSU = new CSU(0,0,null, iComponentType);
		objCSU.setChannelSensitivity("5");
		objCSU.setUnitOfMeasureIdentifier("KG");
		objCSU.setUnitOfMeasureDescription("KMPL");
		
		return objCSU;
	}
	
	public static CWE populateCWE(int iComponentType)
	{
		CWE objCWE = new CWE(0, 0 , null,iComponentType);
		objCWE.setIdentifier("X001");
		objCWE.setNameOfCodingSystem("L");
		objCWE.setNameOfAlternateCodingSystem("L");
		objCWE.setCodingSystemVersionID("German Alpha-ID v2006");
		objCWE.setAlternateCodingSystemOID("123");
		objCWE.setCodingSystemOID("123");
		objCWE.setValueSetVersionID("20170628");
		objCWE.setSecondAlternateValueSetVersionID("20170628");
		objCWE.setSecondAlternateCodingSystemOID("123");
		objCWE.setNameofSecondAlternateCodingSystem("L");
		
		return objCWE;
	}
	
	public static CX populateCX(int iComponentType)
	{
		
		CX objCX = new CX(0,0,null, iComponentType);
		objCX.setIdNumber("1");
		objCX.setCheckDigit("8");
		objCX.setCheckDigitScheme("NPI");
		objCX.setAssigningAuthority(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objCX.setIdentifierTypeCode("AN");
		objCX.setAssigningFacility(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objCX.setEffectiveDate("20040304");
		objCX.setExpirationDate("20040305");
		objCX.setAssigningAgencyOrDepartment(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objCX.setSecurityCheck("1");
		objCX.setSecurityCheckScheme("VID");
		return objCX;
	}
	
	public static DDI populateDDI(int iComponentType)
	{
		DDI objDDI = new DDI(0,0,null, iComponentType);
		objDDI.setDelayDays("5");
		objDDI.setMonetaryAmount(populateMO(HL7Constants.HL7_SUBCOMPONENT));
		objDDI.setNumberOfDays("5");
		
		return objDDI;
	}
	
	public static DIN populateDIN(int iComponentType)
	{
		DIN objDIN = new DIN(0,0,null, iComponentType);
		objDIN.setInstitutionName(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objDIN.setDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		
		return objDIN;
	}
	
	public static DLD populateDLD(int iComponentType)
	{
		DLD objDLD = new DLD(0,0,null, iComponentType);
		objDLD.setDischargeToLocation(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objDLD.setEffectiveDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		
		return objDLD;
	}
	
	public static DLN populateDLN(int iComponentType)
	{
		DLN objDLN = new DLN(0,0,null, iComponentType);
		objDLN.setLicenseNumber("AB");
		objDLN.setIssuingStateProvinceCountry(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objDLN.setExpirationDate("19880704");
		
		return objDLN;
	}
	
	public static DLT populateDLT(int iComponentType)
	{
		DLT objDLT = new DLT(0,0,null, iComponentType);
		objDLT.setNormalRange(populateNR(HL7Constants.HL7_SUBCOMPONENT));
		objDLT.setNumericThreshold("5");
		objDLT.setChangeComputation("%");
		objDLT.setDaysRetained("5");
		
		return objDLT;
	}
	
	public static DR populateDR(int iComponentType)
	{
		
		DR objDR = new DR(0,0,null, iComponentType);
		objDR.setRangeStartDateTime(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objDR.setRangeEndDateTime(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		
		return objDR;
	}
	
	public static DT populateDT(int iComponentType)
	{
		DT objDT = new DT(0,0,null, iComponentType);
		objDT.setValue("19880704");
		
		return objDT;
	}
	
	public static DTM populateDTM(int iComponentType)
	{
		DTM objDTM = new DTM(0,0,null, iComponentType);
		objDTM.setICLength("8=");
		objDTM.setIMaxLength(24);
		objDTM.setIMinLength(8);
		objDTM.setValue("20170505");
		return objDTM;
	}
	
	public static DTN populateDTN(int iComponentType)
	{
		DTN objDTN = new DTN(0,0,null, iComponentType);
		objDTN.setDayType("AP");
		objDTN.setNumberOfDays("5");
		
		return objDTN;
	}
	
	public static ED populateED(int iComponentType)
	{
		
		ED objED = new ED(0,0,null, iComponentType);
		objED.setSourceApplication(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objED.setTypeOfData("text");
		objED.setDataSubtype("x-hl7-cda-level-one");
		objED.setEncoding(populateID(HL7Constants.HL7_SUBCOMPONENT));
		objED.setData("Data");
		
		return objED;
	}
	
	public static EI populateEI(int iComponentType)
	{
		
		EI objEI = new EI(0,0,null, iComponentType);
		objEI.setEntityIdentifier("E001");
		objEI.setNamespaceId("NameSpace");
		objEI.setUniversalId("X12345U");
		objEI.setUniversalIdType("DNS");
		
		return objEI;
	}
	
	public static EIP populateEIP(int iComponentType)
	{
		EIP objEIP = new EIP(0,0,null, iComponentType);
		objEIP.setPlacerAssignedIdentifier(populateEI(HL7Constants.HL7_SUBCOMPONENT));
		objEIP.setFillerAssignedIdentifier(populateEI(HL7Constants.HL7_SUBCOMPONENT));
		
		return objEIP;
	}
	
	
	public static ERL populateERL(int iComponentType)
	{
		ERL objERL = new ERL(0,0,null, iComponentType);
		objERL.setSegmentId("ERR1");
		objERL.setSegmentSequence("5");
		
		return objERL;
	}
	
	public static FC populateFC(int iComponentType)
	{
		
		FC objFC = new FC(0,0,null, iComponentType);
		objFC.setFinancialClassCode(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objFC.setEffectiveDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		
		return objFC;
	}
	
	public static FN populateFN(int iComponentType)
	{
		
		FN objFN = new FN(0,0,null, iComponentType);
		objFN.setSurname("Bob");
		objFN.setOwnSurnamePrefix("Jones");
		
		return objFN;
	}
	
	public static FT populateFT(int iComponentType)
	{
		FT objFT = new FT(0,0,null, iComponentType);
		objFT.setValue("Coded Value for HL7-Defined Tables");
		
		return objFT;
	}
	
	public static GTS populateGTS(int iComponentType)
	{
		GTS objGTS = new GTS(0,0,null, iComponentType);
		objGTS.setValue("General Timing Specification");
		
		return objGTS;
	}
	
	public static HD populateHD(int iComponentType)
	{
		
		HD objHD= new HD(0,0,null, iComponentType);
		objHD.setNamespaceId("REGAD");
		objHD.setUniversalId("478A0114-EBF0-7701-A023-6841FF05731A");
		objHD.setUniversalIdType("DNS");
		
		return objHD;
	}
	
	public static ICD populateICD(int iComponentType)
	{
		ICD objICD = new ICD(0,0,null, iComponentType);
		objICD.setCertificationPatientType("ER");
		objICD.setCertificationRequired("Y");
		objICD.setDateTimeCertificationRequired(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		
		return objICD;
	}
	
	public static ID populateID(int iComponentType)
	{
		ID objID = new ID(1,6,null, iComponentType);
		objID.setValue("A");
		return objID;
	}
	
	public static IS populateIS(int iComponentType)
	{
		IS objIS = new IS(0,0,null, iComponentType);
		objIS.setValue("AB");
		
		return objIS;
	}
	
	public static JCC populateJCC(int iComponentType)
	{
		
		JCC objJCC = new JCC(0,0,null, iComponentType);
		objJCC.setJobCode("342511");
		objJCC.setJobClass("PE");
		objJCC.setJobDescriptionText("project Engineer");
		
		return objJCC;
	}
	
	public static MA populateMA(int iComponentType)
	{
		MA objMA = new MA(0,0,null, iComponentType);
		objMA.setSample1FromChannel1("1");
		objMA.setSample1FromChannel2("2");
		objMA.setSample1FromChannelN("3");
		objMA.setSample2FromChannel1("4");
		objMA.setSample2FromChannelN("5");
		objMA.setSampleNFromChannelN("6");
		
		return objMA;
	}
	
	public static MO populateMO(int iComponentType)
	{
		
		MO objMO = new MO(0,0,null, iComponentType);
		objMO.setQuantity("99");
		objMO.setDenomination("USD");
		
		return objMO;
	}
	
	public static MOC populateMOC(int iComponentType)
	{
		MOC objMOC = new MOC(0,0,null, iComponentType);
		objMOC.setMonetaryAmount(populateMO(HL7Constants.HL7_SUBCOMPONENT));
		objMOC.setChargeCode(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		
		return objMOC;
	}
	
	public static MOP populateMOP(int iComponentType)
	{
		
		MOP objMOP = new MOP(0,0,null,iComponentType);
		objMOP.setMoneyOrPercentageIndicator("AT");
		objMOP.setMoneyOrPercentageQuantity("5");
		objMOP.setCurrencyDenomination("AB");
		
		return objMOP;
	}
	
	public static MSG populateMSG(int iComponentType)
	{
		MSG objMSG = new MSG(0,0,null, iComponentType);
	 
		objMSG.setMessageCode("ACK");
		objMSG.setTriggerEvent("PC1");
		objMSG.setMessageStructure("ACK");
		
		return objMSG;
	}
	
	public static NA populateNA(int iComponentType)
	{
		NA objNA = new NA(0,0,null, iComponentType);
		objNA.setValue1("1");
		objNA.setValue2("2");
		objNA.setValue3("4");
		objNA.setValue4("5");
		
		return objNA;
	}
	
	public static NDL populateNDL(int iComponentType)
	{
		NDL objNDL = new NDL(0,0,null, iComponentType);
		objNDL.setName(populateCNN(HL7Constants.HL7_SUBCOMPONENT));
		objNDL.setStartDateTime(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objNDL.setEndDateTime(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objNDL.setFacility(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objNDL.setPatientLocationType("H");
		objNDL.setBuilding("Main");
		objNDL.setFloor("1");
		
		return objNDL;
	}
	
	public static NM populateNM(int iComponentType)
	{
		NM objNM = new NM(1,16,null, iComponentType);
		
		objNM.setValue("1");
		return objNM;
	}
	
	public static NR populateNR(int iComponentType)
	{
		NR objNR = new NR(0,0,null, iComponentType);
		objNR.setLowValue("5");
		objNR.setHighValue("10");
		
		return objNR;
	}
	
	public static OCD populateOCD(int iComponentType)
	{
		OCD objOCD = new OCD(0,0,null, iComponentType);
		objOCD.setOccurrenceCode(populateCNE(HL7Constants.HL7_SUBCOMPONENT));
		objOCD.setOccurrenceDate("19920108");
		
		return objOCD;
	}
	
	public static OG populateOG(int iComponentType)
	{
		OG objOG = new OG(0,0,null,iComponentType);
		objOG.setGroup("1");
		objOG.setSequence("3");
		objOG.setIdentifier("2");
		return objOG;
	}
	public static OSP populateOSP(int iComponentType)
	{
		OSP objOSP = new OSP(0,0,null, iComponentType);
		objOSP.setOccurrenceSpanCode(populateCNE(HL7Constants.HL7_SUBCOMPONENT));
		objOSP.setOccurrenceSpanStartDate("19880704");
		objOSP.setOccurrenceSpanStopDate("19880704");
		
		return objOSP;
	}
	
	public static PIP populatePIP(int iComponentType)
	{
		PIP objPIP = new PIP(0,0,null, iComponentType);
		objPIP.setPrivilege(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objPIP.setPrivilegeClass(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objPIP.setFacility(populateEI(HL7Constants.HL7_SUBCOMPONENT));
		
		return objPIP;
	}
	
	public static PL populatePL(int iComponentType)
	{
		
		PL objPL = new PL(0,0,null, iComponentType);
		objPL.setPointOfCare(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objPL.setRoom(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objPL.setBed(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objPL.setFacility(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objPL.setPersonLocationType("H");
		objPL.setFloor("1");
		objPL.setLocationDescription("CDAC");
		objPL.setComprehensiveLocationIdentifier(populateEI(HL7Constants.HL7_SUBCOMPONENT));
		objPL.setAssigningAuthorityForLocation(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		
		return objPL;
	}
	
	public static PLN populatePLN(int iComponentType)
	{
		PLN objPLN = new PLN(0,0,null, iComponentType);
		objPLN.setIdNumber("1");
		objPLN.setTypeOfIdNumber(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objPLN.setStateOtherQualifyingInformation("Maharastra");
		objPLN.setExpirationDate("19880704");
		
		return objPLN;
	}
	
	public static PPN populatePPN(int iComponentType)
	{
		PPN objPPN = new PPN(0,0,null, iComponentType);
		
		objPPN.setPersonIdentifier("strPersonIdentifier");
		objPPN.setFamilyName(populateFN(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setAssigningAuthority(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setIdentifierCheckDigit("23");
		objPPN.setCheckDigitScheme("NPI");
		objPPN.setIdentifierTypeCode("AM");
		objPPN.setAssigningFacility(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setDateTimeActionPerformed(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setNameRepresentationCode("A");
		objPPN.setNameContext(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setEffectiveDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setExpirationDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setAssigningJurisdiction(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objPPN.setAssigningAgencyOrDepartment(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		return objPPN;
	}
	
	public static PRL populatePRL(int iComponentType)
	{
		PRL objPRL = new PRL(0,0,null, iComponentType);
		objPRL.setParentObservationIdentifier(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objPRL.setParentObservationValueDescriptor("AB");
		
		return objPRL;
	}
	
	public static PT populatePT(int iComponentType)
	{
		PT objPT = new PT(0,0,null, iComponentType);
		objPT.setProcessingId("D");
		objPT.setProcessingMode("A");
		
		return objPT;
	}
	
	public static PTA populatePTA(int iComponentType)
	{
		
		PTA objPTA = new PTA(0,0,null, iComponentType);
		objPTA.setPolicyType(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objPTA.setAmountClass("AT");
		objPTA.setMoneyOrPercentage(populateMOP(HL7Constants.HL7_SUBCOMPONENT));
		
		return objPTA;
	}
	
	public static QIP populateQIP(int iComponentType)
	{
		QIP objQIP = new QIP(0,0,null, iComponentType);
		objQIP.setSegmentFieldName("First name");
		objQIP.setValues("Dhirendra");
		
		return objQIP;
	}
	
	public static QSC populateQSC(int iComponentType)
	{
		QSC objQSC = new QSC(0,0,null, iComponentType);
		objQSC.setSegmentFieldName("First name");
		objQSC.setRelationalOperator("EQ");
		objQSC.setRelationalConjunction("AND");
		
		return objQSC;
	}
	
	public static RCD populateRCD(int iComponentType)
	{
		RCD objRCD = new RCD(0,0,null, iComponentType);
		objRCD.setSegmentFieldName("PID.5.1");
		objRCD.setHL7DataType("AD");
		objRCD.setMaximumColumnWidth("5");
		
		return objRCD;
	}
	
	public static RFR populateRFR(int iComponentType)
	{
		RFR objRFR = new RFR(0,0,null, iComponentType);
		objRFR.setNumericRange(populateNR(HL7Constants.HL7_SUBCOMPONENT));
		objRFR.setAdministrativeSex("F");
		objRFR.setAgeRange(populateNR(HL7Constants.HL7_SUBCOMPONENT));
		objRFR.setGestationalAgeRange(populateNR(HL7Constants.HL7_SUBCOMPONENT));
		
		return objRFR;
	}
	
	public static RI populateRI(int iComponentType)
	{
		RI objRI = new RI(0,0,null, iComponentType);
		objRI.setRepeatPattern("QID");
		objRI.setExplicitTimeInterval("0230,0830,1430,2030");
		
		return objRI;
	}
	
	public static RMC populateRMC(int iComponentType)
	{
		
		RMC objRMC = new RMC(0,0,null, iComponentType);
		objRMC.setRoomType(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objRMC.setMoneyOrPercentage(populateMOP(HL7Constants.HL7_SUBCOMPONENT));
		
		return objRMC;
	}
	
	public static RP populateRP(int iComponentType)
	{
		RP objRP = new RP(0,0,null, iComponentType);
		objRP.setApplicationId(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objRP.setTypeOfData("application");
		objRP.setSubtype("x-hl7-cda-level-one");
		
		return objRP;
	}
	
	public static RPT populateRPT(int iComponentType)
	{
		RPT objRPT = new RPT(0,0,null, iComponentType);
		objRPT.setRepeatPatternCode(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objRPT.setCalendarAlignment("HD");
		objRPT.setPhaseRangeBeginValue("00");
		objRPT.setPhaseRangeEndValue("11");
		objRPT.setPeriodQuantity("1");
		objRPT.setPeriodUnits(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objRPT.setInstitutionSpecifiedTime("d");
		objRPT.setEvent("Y");
		
		return objRPT;
	}
	
	public static SAD populateSAD(int iComponentType)
	{
		
		SAD objSAD = new SAD(0,0,null, iComponentType);
		objSAD.setStreetOrMailingAddress("ISHPEMING");
		objSAD.setStreetName("HOME STREET");
		objSAD.setDwellingNumber("22");
		
		return objSAD;
	}
	
	public static SCV populateSCV(int iComponentType)
	{
		SCV objSCV = new SCV(0,0,null, iComponentType);
		objSCV.setParameterClass(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		
		return objSCV;
	}
	
	public static SI populateSI(int iComponentType)
	{
		SI objSI = new SI(0,0,null, iComponentType);
		objSI.setValue("55");
		
		return objSI;
	}
	
	public static SN populateSN(int iComponentType)
	{
		SN objSN = new SN(0,0,null, iComponentType);
		objSN.setComparator(">");
		objSN.setNum1("100");
		objSN.setSeparatorSuffix("-");
		objSN.setNum2("200");
		
		return objSN;
	}
	
	public static SPD populateSPD(int iComponentType)
	{
		SPD objSPD = new SPD(0,0,null, iComponentType);
		objSPD.setSpecialtyName("CDAC");
		objSPD.setGoverningBoard("Ministry");
		objSPD.setEligibleOrCertified("C");
		objSPD.setDateOfCertification("19880704");
		
		return objSPD;
	}
	
	
	public static SRT populateSRT(int iComponentType)
	{
		SRT objSRT = new SRT(0,0,null, iComponentType);
		objSRT.setSortbyField("LastName");
		objSRT.setSequencing("A");
		
		return objSRT;
	}
	
	public static ST populateST(int iComponentType)
	{
		ST objST = new ST(0,0,"10=", iComponentType);
		objST.setValue("AB");
		objST.setIMaxLength(26);
		return objST;
	}
	
    public static TM populateTM(int iComponentType)
	{
		TM objTM = new TM(0,0,null, iComponentType);
		objTM.setValue("0800");
		
		return objTM;
	}
	
	public static TX populateTX(int iComponentType)
	{
		TX objTX = new TX(0,0,null, iComponentType);
		objTX.setValue("AB");
		
		return objTX;
	}
	
	public static UVC populateUVC(int iComponentType)
	{
		UVC objUVC = new UVC(0,0,null, iComponentType);
		objUVC.setValueCode(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objUVC.setValueAmount(populateMO(HL7Constants.HL7_SUBCOMPONENT));
		objUVC.setNonMonetaryValueAmountUnits(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		return objUVC;
	}
	
	public static VH populateVH(int iComponentType)
	{
		VH objVH = new VH(0,0,null, iComponentType);
		objVH.setStartDayRange("MON");
		objVH.setEndDayRange("SAT");
		objVH.setStartHourRange("0630");
		objVH.setEndHourRange("1030");
		
		return objVH;
	}
	
	public static VID populateVID(int iComponentType)
	{
		VID objVID = new VID(0,0,null, iComponentType);
		objVID.setVersionId("2.8.2");
		objVID.setInternationalVersionId(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		
		return objVID;
	}
	
	public static VR populateVR(int iComponentType)
	{
		VR objVR = new VR(0,0,null, iComponentType);
		objVR.setFirstDataCodeValue("voilet");
		objVR.setLastDataCodeValue("red");
		
		return objVR;
	}
	
	public static WVI populateWVI(int iComponentType)
	{
		WVI objWVI = new WVI(0,0,null, iComponentType);
		objWVI.setChannelNumber("5");
		objWVI.setChannelName("ChannelName");
		
		return objWVI;
	}
	
	public static WVS populateWVS(int iComponentType)
	{
		WVS objWVS = new WVS(0,0,null, iComponentType);
		objWVS.setSourceOneName("HL7");
		objWVS.setSourceTwoName("HL7SDK");
		
		return objWVS;
	}
	
	public static XAD populateXAD(int iComponentType)
	{
		
		XAD objXAD = new XAD(0,0,null, iComponentType);
		objXAD.setStreetAddress(PopulateDataType.populateSAD(HL7Constants.HL7_SUBCOMPONENT));
		objXAD.setCity("Pune");
		objXAD.setStateOrProvince("Maharastra");
		objXAD.setZipOrPostalCode("411007");
		objXAD.setCountyParishCode("1N");
		objXAD.setAddressRepresentationCode("I");
		objXAD.setEffectiveDate(PopulateDataType.populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objXAD.setExpirationDate(PopulateDataType.populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objXAD.setAddressIdentifier(PopulateDataType.populateEI(HL7Constants.HL7_SUBCOMPONENT));
		objXAD.setAddressUsage("M");
		objXAD.setCountyParishCode("IND");
		objXAD.setExpirationReason(PopulateDataType.populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objXAD.setProtectionCode(PopulateDataType.populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		
		return objXAD;
	}
	
	public static XCN populateXCN(int iComponentType)
	{
		
		XCN objXCN = new XCN(0,0,null, iComponentType);
		objXCN.setIdNumber("1");
		objXCN.setFamilyName(populateFN(HL7Constants.HL7_SUBCOMPONENT));
		objXCN.setGivenName("Anurag");
		objXCN.setSuffix("JR");
		objXCN.setPrefix("DR");
		objXCN.setSourceTable(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objXCN.setAssigningAuthority(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objXCN.setCheckDigitScheme("NPI");
		objXCN.setIdentifierTypeCode("AM");
		objXCN.setNameRepresentationCode("I");
		objXCN.setNameContext(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objXCN.setEffectiveDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objXCN.setExpirationDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objXCN.setAssigningAgencyOrDepartment(populateCWE(HL7Constants.HL7_SUBCOMPONENT));
		objXCN.setSecurityCheckScheme("CCS");
		return objXCN;
	} 
	
	public static XON populateXON(int iComponentType)
	{
		
		XON objXON = new XON(0,0,null, iComponentType);
		objXON.setOrganizationName("Good Health Hospital");
		objXON.setOrganizationNameTypeCode("L");
		objXON.setAssigningAuthority(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objXON.setIdentifierTypeCode("XX");
		objXON.setAssigningFacility(populateHD(HL7Constants.HL7_SUBCOMPONENT));
		objXON.setNameRepresentationCode("A");
		
		return objXON;
	}
	
	public static XPN populateXPN(int iComponentType)
	{
		XPN objXPN = new XPN(0,0,null, iComponentType);
		objXPN.setFamilyName(populateFN(HL7Constants.HL7_SUBCOMPONENT));
		objXPN.setGivenName("Everyman");
		objXPN.setSecondNameOrInitials("Adam");
		objXPN.setNameRepresentationCode("I");
		objXPN.setNameContext(populateCWE(HL7Constants.HL7_SUBCOMPONENT));	
		objXPN.setEffectiveDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objXPN.setExpirationDate(populateDTM(HL7Constants.HL7_SUBCOMPONENT));
		objXPN.setProfessionalSuffix("Dr");
		objXPN.setCalledBy("Name");
		
		return objXPN;
	}
	
	public static XTN populateXTN(int iComponentType)
	{
		
		XTN objXTN = new XTN(0,0,null, iComponentType);
		objXTN.setTelecommunicationUseCode("ORN");
		objXTN.setTelecommunicationEquipmentType("Internet");
		objXTN.setCommuinicationAddress("CDAC_INDIA");
		objXTN.setAnyText("RND");
		objXTN.setSpeedDialCode("123");
		objXTN.setUnformattedTelephonenumber("1-800-Dentist");
		return objXTN;
	}
}
