a:6:{i:0;s:7961:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for cardiologist in rohtak</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 cardiologist in rohtak</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 Cardiologist Required In Rohtak</div>
									<p class="mt7px fw6">Rohtak</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 Cardiologist<br />
<br />
details of the Vacancies are as Below<br />
<br />
Location : Rohtak (Haryana)<br />
<br />
Position : Consultant Cardiologist<br />
<br />
Qualification : DM/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</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">Higher Secondary</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Cardiologist </span>
												<span class="bdr dib p2px10px mr5px mt2px"> cardiology</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="918563"><input type="hidden" name="subject" value="Applied for Consultant Cardiologist required in Rohtak">
					</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: 'Z2hJWGFURGROajdPazRlYktsak9DQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:59:"Job openings for cardiologist in rohtak | Global Quick Jobs";i:2;s:272:"Consultant Cardiologist required in Rohtak Jobs,Consultant Cardiologist required in Rohtak Jobs in Rohtak,Consultant Cardiologist required in Rohtak Vacancy in Rohtak,Consultant Cardiologist required in Rohtak jobs in India,Medical / Health Care / Hospitals jobs in Rohtak";i:3;s:311:"Apply for Consultant Cardiologist required in Rohtak Jobs in Rohtak India - Consultant Cardiologist required in Rohtak Vacancy  in Medical / Health Care / Hospitals field with 0 to 6 years Work Experience, Key Skills are Cardiologist , cardiology, doctor, Medical / Health Care / Hospitals jobs in Rohtak  India";i:4;s:1456:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Consultant Cardiologist required in Rohtak",
		  "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 Consultant Cardiologist

details of the Vacancies are as Below

Location : Rohtak (Haryana)

Position : Consultant Cardiologist

Qualification : DM/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",
		  "educationRequirements": "Higher Secondary",
		  "experienceRequirements": "0 - 6 Years",
		  "industry": "Medical / Health Care / Hospitals",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Rohtak"
		    }
		  },
		 "qualifications": "Higher Secondary",
		     "skills": "Cardiologist , cardiology, doctor"
		  }
		</script>
		";i:5;N;}