a:6:{i:0;s:8329:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for ophthalmologist in bhiwani</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 ophthalmologist in bhiwani</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">Urgent Vacancy For Ophthalmologist In Bhiwani</div>
									<p class="mt7px fw6">Bhiwani</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 Consultant Ophthalmologist<br />
<br />
Details of the Vacancies are as Below:<br />
<br />
Location : Bhiwani (Haryana)<br />
<br />
Position: Consultant Ophthalmologist<br />
<br />
Qualification: MS/DNB<br />
<br />
Experience: 0 to 10 yrs<br />
<br />
Package: (Depends upon the experience)<br />
<br />
If you are interested kindly forward your updated CV 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 ----<br />
<br />
Thanks & Regards<br />
<br />
Nishu</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"> 49 Thousand  9  Hundered  90 9 To  2  Lac  P.A.</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">Higher Secondary</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">MS/DNB</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Ophthalmologist</span>
												<span class="bdr dib p2px10px mr5px mt2px"> ophthalmology</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">Address</td>
						<td class="p5px">Aspire One Consulting</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8699579028 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:aspireoneconsulting@gmail.com"> aspireoneconsulting@gmail.com </a></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="921429"><input type="hidden" name="subject" value="Applied for Urgent Vacancy for Ophthalmologist in Bhiwani">
					</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: 'eG9qa1pKSmJCZ0ordDZ0UXk2bmY3QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:63:"Job openings for ophthalmologist in bhiwani | Global Quick Jobs";i:2;s:287:"Urgent Vacancy for Ophthalmologist in Bhiwani Jobs,Urgent Vacancy for Ophthalmologist in Bhiwani Jobs in Bhiwani,Urgent Vacancy for Ophthalmologist in Bhiwani Vacancy in Bhiwani,Urgent Vacancy for Ophthalmologist in Bhiwani jobs in India,Medical / Health Care / Hospitals jobs in Bhiwani";i:3;s:332:"Apply for Urgent Vacancy for Ophthalmologist in Bhiwani Jobs in Bhiwani India - Urgent Vacancy for Ophthalmologist in Bhiwani Vacancy  in Medical / Health Care / Hospitals field with 0 to 6 years Work Experience, Key Skills are MS/DNB, Ophthalmologist, ophthalmology, doctor, Medical / Health Care / Hospitals jobs in Bhiwani  India";i:4;s:1708:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgent Vacancy for Ophthalmologist in Bhiwani",
		  "baseSalary": " 49 Thousand  9  Hundered  90 9 To  2  Lac ",
		  "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 Consultant Ophthalmologist

Details of the Vacancies are as Below:

Location : Bhiwani (Haryana)

Position: Consultant Ophthalmologist

Qualification: MS/DNB

Experience: 0 to 10 yrs

Package: (Depends upon the experience)

If you are interested kindly forward your updated CV 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 ----

Thanks & Regards

Nishu",
		  "educationRequirements": "Higher Secondary",
		  "experienceRequirements": "0 - 6 Years",
		  "industry": "Medical / Health Care / Hospitals",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Bhiwani"
		    }
		  },
		 "qualifications": "Higher Secondary",
		     "skills": "MS/DNB, Ophthalmologist, ophthalmology, doctor"
		  }
		</script>
		";i:5;N;}