a:6:{i:0;s:8323:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for gynecologist in indore</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 gynecologist in indore</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">Consultant Gynecologist Requirement For Indore (Madhya Pradesh)</div>
									<p class="mt7px fw6">Indore</p>
									
				<br>
				<p class="aj mt7px">Dear Doctors,<br />
<br />
Wishes and Greetings from Aspireone 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 Gynecologists'.<br />
<br />
Details of the Vacancies are as Below:<br />
<br />
Location :Indore (Madhya Pradesh)<br />
<br />
Position: Consultant Gynecologists<br />
<br />
Qualification: MD/DNB MS/DGO<br />
<br />
Experience: 5 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">5 - 11 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">Higher Secondary</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">MD/DNB</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Gynecologist</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Gynecologist consultant</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="921646"><input type="hidden" name="subject" value="Applied for Consultant Gynecologist requirement for Indore (Madhya Pradesh)">
					</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-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-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-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-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-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-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: 'anRnNjlPTHJGekpoRGFlNXpEVnJoUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:59:"Job openings for gynecologist in indore | Global Quick Jobs";i:2;s:356:"Consultant Gynecologist requirement for Indore (Madhya Pradesh) Jobs,Consultant Gynecologist requirement for Indore (Madhya Pradesh) Jobs in Indore,Consultant Gynecologist requirement for Indore (Madhya Pradesh) Vacancy in Indore,Consultant Gynecologist requirement for Indore (Madhya Pradesh) jobs in India,Medical / Health Care / Hospitals jobs in Indore";i:3;s:374:"Apply for Consultant Gynecologist requirement for Indore (Madhya Pradesh) Jobs in Indore India - Consultant Gynecologist requirement for Indore (Madhya Pradesh) Vacancy  in Medical / Health Care / Hospitals field with 5 to 11 years Work Experience, Key Skills are MD/DNB, Gynecologist, Gynecologist consultant, doctor, Medical / Health Care / Hospitals jobs in Indore  India";i:4;s:1705:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Consultant Gynecologist requirement for Indore (Madhya Pradesh)",
		  "baseSalary": "",
		  "description": "Dear Doctors,

Wishes and Greetings from Aspireone 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 Gynecologists'.

Details of the Vacancies are as Below:

Location :Indore (Madhya Pradesh)

Position: Consultant Gynecologists

Qualification: MD/DNB MS/DGO

Experience: 5 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": "5 - 11 Years",
		  "industry": "Medical / Health Care / Hospitals",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Indore"
		    }
		  },
		 "qualifications": "Higher Secondary",
		     "skills": "MD/DNB, Gynecologist, Gynecologist consultant, doctor"
		  }
		</script>
		";i:5;N;}