a:6:{i:0;s:8524:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for home nurse in united arab emirates</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.digantconsultancy.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.digantconsultancy.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for home nurse in united arab emirates</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">Home Nurse</div>
								
				<br>
				<p class="aj mt7px">1.     ANM. GNM  Diploma or bachelor with experience minimum 1 year<br />
<br />
2. Dataflow and Prometric and momaris plus shall finish it in India<br />
<br />
3. All of them should be Female<br />
<br />
4. The total salary will be 1500 AED<br />
<br />
5. Shall all the candidates be approved to work in all<br />
<br />
6. Shall all the candidates be ready to work in any of our clients<br />
<br />
Benefits for Candidates:-<br />
<br />
a)      Free Accommodation.<br />
<br />
b)     Food & Wi-Fi will be provided.<br />
<br />
c)      Free visa & Ticket will be provided by Company.<br />
<br />
d)     There will be no Service Charge.<br />
<br />
e)     All Basic requirement of the candidate.<br />
<br />
Rules:-<br />
<br />
a)     You have to work according to Gulf Country rules& regulation.<br />
<br />
b)     You have to get up at Morning 5 o\'clock (at the time of Fajr).<br />
<br />
c)      You have to complete your work.<br />
<br />
d)     You cannot refuse to work.<br />
<br />
Qualification- *ANM GNM*Etc<br />
<br />
Salary-35,000 To 50,000 + Accommodation + Food + Wi-Fi + Other Benefits<br />
Location- Dubai<br />
Only Female Can Apply<br />
Age Criteria-20 to 45 year\'s<br />
<br />
Job Descriptions-Take Care of the Patient Only According To the Doctor who will say the injection & medications etc</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 7 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  50 Thousand  To  4  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Health Care / Pharmaceuticals / Medical</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">HOME NURSE</span>
												<span class="bdr dib p2px10px mr5px mt2px">Nursing</span>
												<span class="bdr dib p2px10px mr5px mt2px">Nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">Staff Nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">GNM Nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">ANM Nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">BSC Nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">Ward Nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">Medical Nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">OT nurse</span>
												<span class="bdr dib p2px10px mr5px mt2px">ICU Nurse</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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">DUBAI</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">·        When a company sends any Female candidate to work in Gulf Country, First we send that candidate on Visit Visa because the Candidate will get the Option to choose where she wants to work. She will get a chance to take her own decision in which family she wants to stay with or not and if she feels that she is not comfortable with the current House, then we will send her to another House to work Until the Candidate Confirms where she wants work, and then the only candidate will get Employment Visa. After getting Employment Visa she cannot change House.

•        Employment Visa will be of 2 Years contract, she cannot come back before 2 years.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Niranjan Sukru Sahu</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">A-004, Siddhivinayak Park, Anmol Nagari, MP Road, Dombivli (W)</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9594056165 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:digantconsultancy@gmail.com"> digantconsultancy@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="863050">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="995729"><input type="hidden" name="subject" value="Applied for Home Nurse">
					</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-uae.htm" title="Jobs in United Arab Emirates">United Arab Emirates</a> <b class="alpha50 bn small">(3)</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">(2)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</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: 'Q3ZFQUUyZVgrUWwwb0N3RlM2UHVNUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:72:"Job openings for home nurse in united arab emirates | Digant Consultancy";i:2;s:147:"Home Nurse Jobs,Home Nurse Jobs in ,Home Nurse Vacancy in ,Home Nurse jobs in United Arab Emirates,Health Care / Pharmaceuticals / Medical jobs in ";i:3;s:354:"Apply for Home Nurse Jobs in  United Arab Emirates - Home Nurse Vacancy  in Health Care / Pharmaceuticals / Medical field with 1 to 7 years Work Experience, Key Skills are HOME NURSE,Nursing,Nurse,Staff Nurse,GNM Nurse,ANM Nurse,BSC Nurse,Ward Nurse,Medical Nurse,OT nurse,ICU Nurse, Health Care / Pharmaceuticals / Medical jobs in   United Arab Emirates";i:4;s:2987:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Home Nurse",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "DUBAI",
	        "value":  "995729"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "DUBAI",
	      "description": "·        When a company sends any Female candidate to work in Gulf Country, First we send that candidate on Visit Visa because the Candidate will get the Option to choose where she wants to work. She will get a chance to take her own decision in which family she wants to stay with or not and if she feels that she is not comfortable with the current House, then we will send her to another House to work Until the Candidate Confirms where she wants work, and then the only candidate will get Employment Visa. After getting Employment Visa she cannot change House.

•        Employment Visa will be of 2 Years contract, she cannot come back before 2 years.",
	      "telephone" : "9594056165",
	      "email" : "digantconsultancy@gmail.com"  
	       },
		  "url": "http://www.digantconsultancy.in/job-openings-for-home-nurse-united-arab-emirates-995729.htm",
          "datePosted": "2020-09-12",
          
		  "baseSalary": " 3  Lac  50 Thousand  To  4  Lac  50 Thousand ",
		  "description": "1.     ANM. GNM  Diploma or bachelor with experience minimum 1 year

2. Dataflow and Prometric and momaris plus shall finish it in India

3. All of them should be Female

4. The total salary will be 1500 AED

5. Shall all the candidates be approved to work in all

6. Shall all the candidates be ready to work in any of our clients

Benefits for Candidates:-

a)      Free Accommodation.

b)     Food & Wi-Fi will be provided.

c)      Free visa & Ticket will be provided by Company.

d)     There will be no Service Charge.

e)     All Basic requirement of the candidate.

Rules:-

a)     You have to work according to Gulf Country rules& regulation.

b)     You have to get up at Morning 5 o\'clock (at the time of Fajr).

c)      You have to complete your work.

d)     You cannot refuse to work.

Qualification- *ANM GNM*Etc

Salary-35,000 To 50,000 + Accommodation + Food + Wi-Fi + Other Benefits
Location- Dubai
Only Female Can Apply
Age Criteria-20 to 45 year\'s

Job Descriptions-Take Care of the Patient Only According To the Doctor who will say the injection & medications etc",
		  "educationRequirements": "Diploma",
		  "experienceRequirements": "1 - 7 Years",
		  "industry": "Health Care / Pharmaceuticals / Medical",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Diploma",
		     "skills": "HOME NURSE,Nursing,Nurse,Staff Nurse,GNM Nurse,ANM Nurse,BSC Nurse,Ward Nurse,Medical Nurse,OT nurse,ICU Nurse"
		  }
		</script>
		";i:5;N;}