a:6:{i:0;s:8543:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Urgent Requirement For Consultant Cardiologist</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> Urgent Requirement For Consultant Cardiologist</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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 2 - 8 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Dehradun</p>
										
					<div>
					<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="821808"><input type="hidden" name="subject" value="Applied for Urgent requirement for Consultant Cardiologist">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Dear Doctors,<br />
<br />
Wishes and Greetings from Aspireone Consulting!!!!!!!!<br />
<br />
We Introduce Ourselves as one of the leading Placement Consultants Based in Jalandhar (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 Cardiologist .<br />
<br />
Details of the Vacancies are as Below:<br />
<br />
Location : Dehradun (uttarakhand)<br />
<br />
Position: Consultant Cardiologist<br />
<br />
Qualification: DM<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 --</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  50 Thousand  To  5  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Medical / Health Care / Hospitals</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">2 - 8 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Post Graduate Diploma</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Cardiology</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">Nishu</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">Aspireone Consulting</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">8699579028 </td>
						</tr>
												<tr>
						<td class="w22 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="821808"><input type="hidden" name="subject" value="Applied for Urgent requirement for Consultant Cardiologist">
					</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-dehradun.htm" title="Jobs in Dehradun">Dehradun</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr 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 headVr mr7px mb7px "><a class="dif" href="jobs-in-bhiwani.htm" title="Jobs in Bhiwani">Bhiwani</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-rohtas.htm" title="Jobs in Rohtas">Rohtas</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-haridwar.htm" title="Jobs in Haridwar">Haridwar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-patna.htm" title="Jobs in Patna">Patna</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr 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 headVr mr7px mb7px "><a class="dif" href="jobs-in-jhajjar.htm" title="Jobs in Jhajjar">Jhajjar</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-medical-health-care-hospitals-fid.htm" title="Medical / Health Care / Hospitals Jobs">Medical / Health Care / Hospitals</a> <b class="alpha50 bn small">(25)</b></span>
									
				</div>
				</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: 'UTJXWFJHUWxRTU40M2hScnlxOERTQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:110:"Urgent requirement for Consultant Cardiologist Jobs in Dehradun - Vacancy in Medical / Health Care / Hospitals";i:2;s:294:"Urgent requirement for Consultant Cardiologist Jobs,Urgent requirement for Consultant Cardiologist Jobs in Dehradun,Urgent requirement for Consultant Cardiologist Vacancy in Dehradun,Urgent requirement for Consultant Cardiologist jobs in India,Medical / Health Care / Hospitals jobs in Dehradun";i:3;s:300:"Apply for Urgent requirement for Consultant Cardiologist Jobs in Dehradun India - Urgent requirement for Consultant Cardiologist Vacancy  in Medical / Health Care / Hospitals field with 2 to 8 years Work Experience, Key Skills are Cardiology, Medical / Health Care / Hospitals jobs in Dehradun  India";i:4;s:1657:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgent requirement for Consultant Cardiologist",
		  "baseSalary": " 3  Lac  50 Thousand  To  5  Lac ",
		  "description": "Dear Doctors,

Wishes and Greetings from Aspireone Consulting!!!!!!!!

We Introduce Ourselves as one of the leading Placement Consultants Based in Jalandhar (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 Cardiologist .

Details of the Vacancies are as Below:

Location : Dehradun (uttarakhand)

Position: Consultant Cardiologist

Qualification: DM

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 --",
		  "educationRequirements": "Post Graduate Diploma",
		  "experienceRequirements": "2 - 8 Years",
		  "industry": "Medical / Health Care / Hospitals",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttarakhand",
		      "addressRegion": "Dehradun"
		    }
		  },
		 "qualifications": "Post Graduate Diploma",
		     "skills": "Cardiology"
		  }
		</script>
		";i:5;N;}