a:6:{i:0;s:7703:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for mbbs doctor in khatima udham singh nagar</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.aspireoneconsulting.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.aspireoneconsulting.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for mbbs doctor in khatima udham singh nagar</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Opening For MBBS In Uttarakhand</div>
									<p class="mt7px fw6">Udham Singh Nagar, Khatima</p>
									
				<br>
				<p class="aj mt7px">Dear Doctors,<br />
<br />
wishes and Greetings from Aspire One Consulting <br />
<br />
we Introduce Ourselves as One of the Leading Placement Consultants Based in Punjab. We Provide Manpower to the Reputed Hospitals in North India Location. We have Very Good Offers for Consultant Doctors in Reputed Hospitals. We have Some Urgent Requirement for Mbbs .<br />
<br />
details of the Vacancies are as Below:<br />
<br />
location: Khatima (uttrakhand)<br />
<br />
position: Mbbs<br />
<br />
qualification: Mbbs<br />
<br />
experience: 0 to 10 Yrs<br />
<br />
package: (depends Upon the Experience)<br />
<br />
if You are Interested Kindly Forward Your Updated Resume On Given Mail Id with Your Current and Expected Ctc  if Not Interested We Will Really Appreciate if U Forward this Position to Your Collegeaus Whom You Find Suitable for this Position.<br />
<br />
we Do have other Opening also for Specialty and Super Specialty Doctors in Case Any of Your Know One Looking for a Change Please Do Refer Them</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 6 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Medical / Health Care / Hospitals</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">MBBS</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">MBBS Doctor</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Doctor</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Nishu</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8699579028 </td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="463884">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="894939"><input type="hidden" name="subject" value="Applied for Opening for MBBS in Uttarakhand">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-dehradun.htm" title="Jobs in Dehradun">Dehradun</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bhiwani.htm" title="Jobs in Bhiwani">Bhiwani</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-rohtas.htm" title="Jobs in Rohtas">Rohtas</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-sonipat.htm" title="Jobs in Sonipat">Sonipat</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-udham-singh-nagar.htm" title="Jobs in Udham Singh Nagar">Udham Singh Nagar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-rohtak.htm" title="Jobs in Rohtak">Rohtak</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jhajjar.htm" title="Jobs in Jhajjar">Jhajjar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-haridwar.htm" title="Jobs in Haridwar">Haridwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-patna.htm" title="Jobs in Patna">Patna</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(38)</span><a href="jobs-in-medical-health-care-hospitals-fid.htm" title="Medical / Health Care / Hospitals Jobs">Medical / Health Care / Hospit...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'S1BORVd6eWJRbXkxbkQzQ2NUMTErUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:77:"Job openings for mbbs doctor in khatima udham singh nagar | Global Quick Jobs";i:2;s:261:"Opening for MBBS in Uttarakhand Jobs,Opening for MBBS in Uttarakhand Jobs in Udham Singh Nagar,Opening for MBBS in Uttarakhand Vacancy in Udham Singh Nagar,Opening for MBBS in Uttarakhand jobs in India,Medical / Health Care / Hospitals jobs in Udham Singh Nagar";i:3;s:297:"Apply for Opening for MBBS in Uttarakhand Jobs in Udham Singh Nagar India - Opening for MBBS in Uttarakhand Vacancy  in Medical / Health Care / Hospitals field with 0 to 6 years Work Experience, Key Skills are MBBS Doctor, Doctor, Medical / Health Care / Hospitals jobs in Udham Singh Nagar  India";i:4;s:1547:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Opening for MBBS in Uttarakhand",
		  "baseSalary": "",
		  "description": "Dear Doctors,

wishes and Greetings from Aspire One Consulting 

we Introduce Ourselves as One of the Leading Placement Consultants Based in Punjab. We Provide Manpower to the Reputed Hospitals in North India Location. We have Very Good Offers for Consultant Doctors in Reputed Hospitals. We have Some Urgent Requirement for Mbbs .

details of the Vacancies are as Below:

location: Khatima (uttrakhand)

position: Mbbs

qualification: Mbbs

experience: 0 to 10 Yrs

package: (depends Upon the Experience)

if You are Interested Kindly Forward Your Updated Resume On Given Mail Id with Your Current and Expected Ctc  if Not Interested We Will Really Appreciate if U Forward this Position to Your Collegeaus Whom You Find Suitable for this Position.

we Do have other Opening also for Specialty and Super Specialty Doctors in Case Any of Your Know One Looking for a Change Please Do Refer Them",
		  "educationRequirements": "MBBS",
		  "experienceRequirements": "0 - 6 Years",
		  "industry": "Medical / Health Care / Hospitals",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttarakhand",
		      "addressRegion": "Udham Singh Nagar, Khatima"
		    }
		  },
		 "qualifications": "MBBS",
		     "skills": "MBBS Doctor, Doctor"
		  }
		</script>
		";i:5;N;}