a:6:{i:0;s:9287:"				<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="h1"><h1>Job openings for ar caller in greater noida</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.vrtalenthunters.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.vrtalenthunters.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for ar caller in greater noida</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Us Healthcare Process Urgent Hiring On</div>
									<p class="mt7px fw6">Greater Noida</p>
									
				<br>
				<p class="aj mt7px">Us Healthcare Process <br />
key Responsibilities:<br />
adhere to Service Level Agreements / Process Benchmark<br />
to Co-ordinate with the Team Members to Achieve Targets<br />
to Perform Any Additional Duties as and When Required<br />
to Follow the Norms Required Maintaining Quality Standards.<br />
to Attend Daily Team Briefings Responsible for Attending/making Calls as per Project Requirement Responsible for Effective Communication with the End Customer as per Project Requirement<br />
qualification:<br />
educational Qualification:<br />
under Graduate & Graduation Basic Knowledge of Computer and Internet<br />
relevant Understanding of Us Healthcare Process Flow & Terminologies Based Upon Positioned Applied<br />
good Communication Skills in English (written & Verbal)<br />
operating Knowledge in Ms Office 2000,<br />
typing Speed for Billers 30+ Wpm (for all Others 25+ Wpm) Willingness to Learn New Process<br />
# Ar Associate: Minimum of 1-year Experience as An Ar Caller<br />
# Process Associate (eligibility Verification):minimum 1 Year Experience in Us Healthcare Process<br />
# Freshers with Excellent English Communication Spoken & Written are also Eligible with Salary 15 K & Above per Month Depending Upon Skills<br />
salary:<br />
based On Experience & Relevant Position.<br />
ar Associate:maximum 25k & Above per Month<br />
sr Ar Associate: Maximum 30k per Month & Above<br />
process Associate (eligibility Verification):maximum 30k per Month & Above <br />
industry:bpo/call Centre/ites<br />
functional Area:ites,Bpo,Kpo,Lpo,Customer Service,Operations<br />
qualification:<br />
graduation Role Category:voice & Non-voice</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  4  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">ITES / BPO / KPO / LPO / Customer Service / Operations</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Higher Secondary, Vocational Course, Diploma, Professional Degree, Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Ar Calling</span>
												<span class="bdr dib p2px10px mr5px mt2px"> medical billing</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">Mr. Prayag Raj Kaushik</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">24C-Yusuf Sarai , Green Park Metro Gate No.3</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9911985567 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:vrtalenthunters6210@gmail.com"> vrtalenthunters6210@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="752361">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="824098"><input type="hidden" name="subject" value="Applied for Us Healthcare Process Urgent Hiring On">
					</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-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(237)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(127)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(84)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(70)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(21)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-yadgir.htm" title="Jobs in Yadgir">Yadgir</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chittoor.htm" title="Jobs in Chittoor">Chittoor</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</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">(375)</span><a href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(7)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</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: 'T2JxR1hhVGozb3V0d1FHbVErbk9jdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:62:"Job openings for ar caller in greater noida | VR TalentHunters";i:2;s:298:"Us Healthcare Process Urgent Hiring On Jobs,Us Healthcare Process Urgent Hiring On Jobs in Greater Noida,Us Healthcare Process Urgent Hiring On Vacancy in Greater Noida,Us Healthcare Process Urgent Hiring On jobs in India,ITES / BPO / KPO / LPO / Customer Service / Operations jobs in Greater Noida";i:3;s:353:"Apply for Us Healthcare Process Urgent Hiring On Jobs in Greater Noida India - Us Healthcare Process Urgent Hiring On Vacancy  in ITES / BPO / KPO / LPO / Customer Service / Operations field with 1 to 5 years Work Experience, Key Skills are Ar Calling, medical billing, ITES / BPO / KPO / LPO / Customer Service / Operations jobs in Greater Noida  India";i:4;s:2395:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Us Healthcare Process Urgent Hiring On",
		  "baseSalary": " 2  Lac  To  4  Lac  25 Thousand ",
		  "description": "Us Healthcare Process 
key Responsibilities:
adhere to Service Level Agreements / Process Benchmark
to Co-ordinate with the Team Members to Achieve Targets
to Perform Any Additional Duties as and When Required
to Follow the Norms Required Maintaining Quality Standards.
to Attend Daily Team Briefings Responsible for Attending/making Calls as per Project Requirement Responsible for Effective Communication with the End Customer as per Project Requirement
qualification:
educational Qualification:
under Graduate & Graduation Basic Knowledge of Computer and Internet
relevant Understanding of Us Healthcare Process Flow & Terminologies Based Upon Positioned Applied
good Communication Skills in English (written & Verbal)
operating Knowledge in Ms Office 2000,
typing Speed for Billers 30+ Wpm (for all Others 25+ Wpm) Willingness to Learn New Process
# Ar Associate: Minimum of 1-year Experience as An Ar Caller
# Process Associate (eligibility Verification):minimum 1 Year Experience in Us Healthcare Process
# Freshers with Excellent English Communication Spoken & Written are also Eligible with Salary 15 K & Above per Month Depending Upon Skills
salary:
based On Experience & Relevant Position.
ar Associate:maximum 25k & Above per Month
sr Ar Associate: Maximum 30k per Month & Above
process Associate (eligibility Verification):maximum 30k per Month & Above 
industry:bpo/call Centre/ites
functional Area:ites,Bpo,Kpo,Lpo,Customer Service,Operations
qualification:
graduation Role Category:voice & Non-voice",
		  "educationRequirements": "Higher Secondary, Vocational Course, Diploma, Professional Degree, Other Bachelor Degree",
		  "experienceRequirements": "1 - 5 Years",
		  "industry": "ITES / BPO / KPO / LPO / Customer Service / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Greater Noida"
		    }
		  },
		 "qualifications": "Higher Secondary, Vocational Course, Diploma, Professional Degree, Other Bachelor Degree",
		     "skills": "Ar Calling, medical billing"
		  }
		</script>
		";i:5;N;}