C# bindings for Eligible APIs (https://eligible.com)
Eligible is built for HIPAA compliant connectivity to health insurance companies.
Important: You can request an account at https://eligible.com/request-access
Refer to https://eligible.com/rest for full documentation on Eligible APIs, their request parameters and expected response formats.
Eligible.NET library is available on NuGet.
Install-Package Eligible.NET
- Usage
- Payers
- Claim
- Submit claim
- Retrieve Claim Acknowledgements
- Payment Reports
- Coverage
- Medicare
- Customer
- Cost Estimates
- Cost Estimates Medicare
- Payment Status
- Enrollments
- Precertification
- Exception Handling
- Testing
- Support Forums
Please include the below namespaces to make calls to the Eligible API.
using EligibleService.Core; // For Query
using EligibleService.Model; //For Response
-
Set ApiKey and Test mode using Eligible class - global setting
Eligible eligible = Eligible.Instance; eligible.ApiKey = "Api Key"; eligible.IsTest = true;
-
Create a RequestOptions object and pass it to every request
RequestOptions requestOptions = new RequestOptions(); requestOptions.ApiKey = "Api Key"; requestOptions.IsTest = true;
using EligibleService.Core;
using EligibleService.Model;
using System;
class Program
{
static void Main(string[] args)
{
Eligible eligible = Eligible.Instance;
eligible.ApiKey = "API Key";
eligible.IsTest = false;
Payers payers = new Payers();
PayersResponse payersResponse = payers.All();
foreach (PayerResponse payer in payersResponse.Payers)
{
foreach (string PayerName in payer.Names)
{
Console.WriteLine(PayerName);
}
Console.WriteLine(payer.CreatedAt);
Console.WriteLine(payer.PayerId);
}
Console.WriteLine(payersResponse.JsonResponse()); // will return json response
}
}
using EligibleService.Core;
using System;
class Program
{
static void Main(string[] args)
{
RequestOptions requestOptions = new RequestOptions();
requestOptions.ApiKey = "API Key";
requestOptions.IsTest = true;
Payers payers = new Payers();
var payerResponse = payers.GetById("payer_id", requestOptions);
Console.WriteLine(payerResponse.JsonResponse());
}
}
Payers payers = new Payers();
PayersResponse payersResponse = payers.All();
PayersResponse payersResponse = payers.All("payment reports", "true");
Retrieve payers with RequestOptions
var payersResponse = payers.All("payment reports", "true", requestOptionsObj);
Json Response
string jsonResponse = payersResponse.JsonResponse();
Payers payers = new Payers();
PayerResponse payerResponse = payers.GetById("payer_id");
Retrieve payers with RequestOptions
var payerResponse = payers.GetById("62308", requestOptionsObj);
Json Response
string jsonResponse = payerResponse.JsonResponse();
Payers payers = new Payers();
PayersSearchOptionResponse payersSearchOptions = payers.SearchOptions();
Retrieve payers with RequestOptions
var payersSearchOptions = payers.SearchOptions(requestOptionsObj);
Json Response
string jsonResponse = payersSearchOptions.JsonResponse();
Payers payers = new Payers();
PayersSearchOptionResponse payersSearchOptions = payers.SearchOptions();
Retrieve payers with RequestOptions
var payersSearchOptions = payers.SearchOptions(requestOptionsObj);
Json Response
string jsonResponse = payersSearchOptions.JsonResponse();
Payers payers = new Payers();
PayerSearchOptionResponse payerSearchOptions = payers.SearchOptions("payer_id");
Retrieve payers with RequestOptions
var payerSearchOptions = payers.SearchOptions("payer_id", requestOptionsObj);
Json Response
string jsonResponse = payerSearchOptions.JsonResponse();
Payers payers = new Payers();
StatusResponse payersStatusses = payers.Statusses("276"); // 276 is transaction_type and it is optional param
Retrieve payers with RequestOptions
var payersStatusses = payers.Statusses("276", requestOptionsObj);
Json Response
string jsonResponse = payersStatusses.JsonResponse()
Payers payers = new Payers();
StatusResponse payersStatusses = payers.GetPayersByStatus("available", "276");
Retrieve payers with RequestOptions
var payersStatusses = payers.GetPayersByStatus("available", "276", requestOptionsObj);
Json Response
string jsonResponse = payersStatusses.JsonResponse()
Payers payers = new Payers();
StatusResponse payerStatusses = payers.StatussesByPayer("payer_id", "276");
Retrieve payers with RequestOptions
var payerStatusses = payers.StatussesByPayer("payer_id", "276", requestOptionsObj);
Json Response
string jsonResponse = payerStatusses.JsonResponse()
Claim claim = new Claim();
Hashtable claimHashParams = new Hashtable();
claimHashParams.Add("billing_provider", billingProviderHash);
claimHashParams.Add("payer", payer);
claimHashParams.Add("subscriber", suscriberHash);
claimHashParams.Add("dependent", dependentHash);
claimHashParams.Add("claim", claimmDetailsHash);
ClaimResponse claimResponse = claim.Create(claimHashParams);
Submit claim with RequestOptions
var claimResponse = claim.Create(claimHashParams, requestOptionsObj);
Json Response
string jsonResponse = claimResponse.JsonResponse();
Claim claim = new Claim();
ClaimParams claimParamsObj = new ClaimParams();
claimParamsObj.ScrubEligibility = false;
claimParamsObj.BillingProvider = bp;
claimParamsObj.Payer = new Payer()
{
Id = "60054",
Name = "Aetna",
Address = new Eligible.Model.Address(){}
// checkout our rest doc or ClaimParams model for complete params list
}
ClaimResponse claimResponse = claim.Create(claimParamsObj)
Submit claim with RequestOptions
var claimResponse = claim.Create(claimParamsObj, requestOptionsObj);
Json Response
string jsonResponse = claimResponse.JsonResponse();
Claim claim = new Claim();
ClaimResponse claimResponse = claim.Create("{"scrub_eligibility": "false", "billing_provider": { "tax_id": "123456789", "tax_id_type": "EI", "entity": "false",...})
Submit claim with RequestOptions
var claimResponse = claim.Create(jsonInput, requestOptionsObj);
Json Response
string jsonResponse = claimResponse.JsonResponse();
Claim claim = new Claim();
ClaimAcknowledgementsResponse claimAcknowledgements = claim.GetClaimAcknowledgements("referenceId");
Retrieve Acknowledgements with with RequestOptions
var claimAcknowledgements = claim.GetClaimAcknowledgements("referenceId", requestOptionsObj);
Json Response
string jsonResponse = claimAcknowledgements.JsonResponse();
Claim claim = new Claim();
Hashtable claimAckHashParams = new Hashtable();
claimAckHashParams.Add("internal_id", "12345");
claimAckHashParams.Add("submission_status", "accepted");
claimAckHashParams.Add("claim_submitted_date", "2014-02-15");
MultipleAcknowledgementsResponse multipleClaimAcknowledgements = claim.GetClaimAcknowledgements(claimAckHashParams);
Retrieve Acknowledgements with with RequestOptions
var multipleClaimAcknowledgements = claim.GetClaimAcknowledgements(claimAckHashParams, requestOptionsObj);
Json Response
string jsonResponse = multipleClaimAcknowledgements.JsonResponse();
Claim claim = new Claim();
ClaimPaymentReportResponse claimPaymentReport = claim.GetClaimPaymentReport("referenceId");
Payment Reports with RequestOptions
var claimPaymentReport = claim.GetClaimPaymentReport("referenceId", requestOptionsObj);
Json Response
string jsonResponse = claimPaymentReport.JsonResponse();
Claim claim = new Claim();
ClaimPaymentReportResponse specificClaimPaymentReport = claim.GetClaimPaymentReport("BDA85HY09IJ", "ABX45DGER44");
Payment Reports with RequestOptions
var specificClaimPaymentReport = claim.GetClaimPaymentReport("BDA85HY09IJ", "ABX45DGER44", requestOptionsObj);
Json Response
string jsonResponse = specificClaimPaymentReport.JsonResponse();
Claim claim = new Claim();
ClaimPaymentReportsResponse multipleClaimPaymentReports = claim.GetClaimPaymentReport();
Payment Reports with RequestOptions
var multipleClaimPaymentReports = claim.GetClaimPaymentReport(requestOptionsObj);
Json Response
string jsonResponse = multipleClaimPaymentReports.JsonResponse();
Coverage coverage = new Coverage();
Hashtable coverageHashParams = new Hashtable();
coverageHashParams.Add("payer_id", "00001");
coverageHashParams.Add("provider_last_name", "Doe");
coverageHashParams.Add("provider_first_name", "John");
coverageHashParams.Add("provider_npi", "0123456789");
coverageHashParams.Add("member_id", "cost_estimates_001");
coverageHashParams.Add("member_first_name", "IDA");
coverageHashParams.Add("member_last_name", "FRANKLIN");
coverageHashParams.Add("member_dob", "1701-12-12");
coverageHashParams.Add("service_type", "30");
CoverageResponse coverageResponse = coverage.All(coverageHashParams);
Coverage with RequestOptions
var coverageResponse = coverage.All(coverageHashParams, requestOptionsObj);
Json Response
string jsonResponse = coverageResponse.JsonResponse();
Coverage coverage = new Coverage();
MedicareResponse medicareResponse = coverage.Medicare(medicareHashParams);
Medicare with RequestOptions
var medicareResponse = coverage.Medicare(medicareHashParams, requestOptionsObj);
Json Response
string jsonResponse = medicareResponse.JsonResponse();
Customer customer = new Customer();
CustomerResponse response = customer.Create("ABC", "ABC site"); // params => ABC is company_name, ABc site is company_site
// JSON input
var response = customer.Create("{customer: { 'name': 'XYZ company', 'site_name': 'XYZ site name' } }");
// params as hashtable
var response = customer.Create(customerHashParams);
// CustomerParams object
var response = customer.Create(customerParams);
Customer creation with RequestOptions
var response = customer.Create(customerParams, requestOptionsObj);
Json Response
string jsonResponse = response.JsonResponse();
Customer customer = new Customer();
CustomerResponse response = customer.Update("customerId", "ABC", "ABC site"); // params => ABC is company_name, ABc site is company_site
// JSON input
var response = customer.Update("customerId", "{customer: { 'name': 'XYZ company', 'site_name': 'XYZ site name' } }"); // create customer with JSON
// params as hashtable
var response = customer.Update("customerId", customerHashParams);
// CustomerParams object
var response = customer.Update("customerId", customerParams);
Update Customer with RequestOptions
var response = customer.Update(customerParams, requestOptionsObj);
Json Response
string jsonResponse = response.JsonResponse();
Customer customer = new Customer();
CustomerResponse response = customer.GetByCustomerId("customerId");
Get customer with RequestOptions
CustomerResponse response = customer.GetByCustomerId("customerId", requestOptionsObj);
Json Response
string jsonResponse = response.JsonResponse();
Customer customer = new Customer();
CustomersResponse customers = customer.GetAll();
Get all customers with RequestOptions
var customers = customer.GetAll(string.Empty, requestOptionsObj);
Json Response
string jsonResponse = customers.JsonResponse();
Customer customer = new Customer();
CustomersResponse customers = customer.GetAll("3");
Get all customers with RequestOptions
var customers = customer.GetAll("3", requestOptionsObj)
Json Response
string jsonResponse = customers.JsonResponse();
CostEstimates costEstimates = new CostEstimates();
Hashtable param = new Hashtable();
param.Add("provider_price", "1500.50");
param.Add("network", "IN");
param.Add("payer_id", "00001");
param.Add("provider_last_name", "Doe");
param.Add("provider_first_name", "John");
param.Add("provider_npi", "0123456789");
param.Add("member_id", "cost_estimates_001");
param.Add("member_first_name", "IDA");
param.Add("member_last_name", "FRANKLIN");
param.Add("member_dob", "1701-12-12");
param.Add("service_type", "1");
CostEstimatesResponse costEstimatesResponse = costEstimates.Get(param);
Cost estimates with RequestOptions
var costEstimatesResponse = costEstimates.Get(param, requestOptionsObj);
Json Response
string jsonResponse = costEstimatesResponse.JsonResponse();
CostEstimates costEstimates = new CostEstimates();
Hashtable param = new Hashtable();
param.Add("provider_price", "1500.50");
param.Add("network", "IN");
param.Add("payer_id", "00431");
param.Add("provider_last_name", "Doe");
param.Add("provider_first_name", "John");
param.Add("provider_npi", "0123456789");
param.Add("member_id", "cost_medicare_001");
param.Add("member_first_name", "IDA");
param.Add("member_last_name", "FRANKLIN");
param.Add("member_dob", "1701-12-12");
param.Add("service_type", "67");
CostEstimateMedicareResponse costEstimatesResponse = costEstimates.Medicare(param);
Cost Estimates Medicare with RequestOptions
var costEstimatesResponse = costEstimates.Medicare(param, requestOptionsObj);
Json Response
string jsonResponse = costEstimatesResponse.JsonResponse();
PaymentStatus paymentStatus = new PaymentStatus();
Hashtable param = new Hashtable();
param.Add("provider_npi", "0123456789");
param.Add("provider_tax_id", "111223333");
param.Add("payer_id", "00001");
param.Add("provider_last_name", "Doe");
param.Add("provider_first_name", "John");
param.Add("member_id", "ZZZ445554301");
param.Add("member_first_name", "IDA");
param.Add("member_last_name", "FRANKLIN");
param.Add("member_dob", "1701-12-12");
param.Add("service_type", "1");
param.Add("payer_control_number", "123123123");
param.Add("charge_amount", "125.00");
param.Add("start_date", "2010-06-15");
param.Add("end_date", "2010-06-15");
param.Add("trace_number", "BHUYTOK98IK");
var paymentStatusResponse = paymentStatus.Get(param);
Payment status with RequestOptions
var paymentStatusResponse = paymentStatus.Get(param, requestOptionsObj);
Json Response
string jsonResponse = paymentStatusResponse.JsonResponse();
Enrollment enrollment = new Enrollment();
string enrollmentInput = "{'enrollment_npi': { 'payer_id': '00074', 'endpoint': 'coverage', 'effective_date': '2012-12-24', 'facility_name': 'Quality', 'provider_name': 'Jane Austen', 'tax_id': '12345678', 'address': '125 Snow Shoe Road', 'city': 'Sacramento', 'state': 'CA', 'zip': '94107', 'ptan': '54321', 'medicaid_id': '22222', 'npi': '1234567890', 'authorized_signer': { 'title': 'title', 'first_name': 'Lorem', 'last_name': 'Ipsum', 'contact_number': '1478963250', 'email': 'provider@eligibleapi.com', 'signature': { 'coordinates': [{ 'lx': 47, 'ly': 9, 'mx': 47, 'my': 8 }, { 'lx': 46, 'ly': 8, 'mx': 47, 'my': 9 }] } } } }";
EnrollmentNpisResponse enrollmentResponse = enrollment.Create(enrollmentInput);
Create enrollment with RequestOptions
var enrollmentResponse = enrollment.Create(enrollmentInput, requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Enrollment enrollment = new Enrollment();
var enrollmentResponse = enrollment.Create(enrollmentHashParams); // Check out our test cases for reference.
Create Enrollment with RequestOptions
var enrollmentResponse = enrollment.Create(enrollmentHashParams, requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Enrollment enrollment = new Enrollment(); var enrollmentResponse = enrollment.Create(enrollmentParamsObj); // Check out our test cases for reference.
Create Enrollment with RequestOptions
```cs
var enrollmentResponse = enrollment.Create(enrollmentParamsObj, requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Examples: Check Enrollment tests for more examples
Enrollment enrollment = new Enrollment();
EnrollmentNpisResponse enrollmentResponse = enrollment.Update("enrollment_npi_id", jsonParams); //check create for jsonParams input
Enrollment update with RequestOptions
var enrollmentResponse = enrollment.Update("enrollment_npi_id", jsonParams, requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Enrollment enrollment = new Enrollment();
EnrollmentNpisResponse enrollmentResponse = enrollment.Update("enrollment_npi_id", enrollmentHashParams); //check create for jsonParams input
Enrollment update with RequestOptions
var enrollmentResponse = enrollment.Update("enrollment_npi_id", enrollmentHashParams, requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Enrollment enrollment = new Enrollment();
EnrollmentNpisResponse enrollmentResponse = enrollment.Update("enrollment_npi_id", enrollmentParamsObj); //check create for jsonParams input
Enrollment update with RequestOptions
var enrollmentResponse = enrollment.Update("enrollment_npi_id", enrollmentParamsObj, requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Examples: Check Enrollment tests for more examples
Enrollment enrollment = new Enrollment();
EnrollmentNpisResponse enrollmentResponse = enrollment.GetByEnrollmentNpiId("enrollment_npi_id");
Get enrollment with RequestOptions
var enrollmentResponse = enrollment.GetByEnrollmentNpiId("enrollment_npi_id", requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Examples: Check Enrollment tests for more examples
Enrollment enrollment = new Enrollment();
EnrollmentNpisResponses enrollments = enrollment.GetAll();
Get enrollments with RequestOptions
var enrollmentResponse = enrollment.GetAll(requestOptionsObj);
Json Response
string jsonResponse = enrollmentResponse.JsonResponse();
Examples: Check Enrollment tests for more examples
Enrollment enrollment = new Enrollment();
ReceivedPdfResponse recievedPdf = enrollment.GetReceivedPdf("enrollment_npi_id");
Get received pdf with RequestOptions
var recievedPdf = enrollment.GetReceivedPdf("enrollment_npi_id", requestOptionsObj);
Json Response
string jsonResponse = recievedPdf.JsonResponse();
Enrollment enrollment = new Enrollment();
var response = enrollment.DownloadReceivedPdf("enrollment_npi_id", "location to download the pdf(ex: C:\\pdfs\\");
Download with RequestOptions
var response = enrollment.DownloadReceivedPdf("enrollment_npi_id", "C:\\pdfs\\", requestOptionsObj);
Enrollment enrollment = new Enrollment();
OriginalSignaturePdfResponse response = enrollment.CreateOriginalSignaturePdf("enrollment_npi_id", "signature pdf to upload - C:\\PDF\\received_pdf_123.pdf");
Create original signature PDF with RequestOptions
var response = enrollment.CreateOriginalSignaturePdf("enrollment_npi_id", "C:\\PDF\\received_pdf_123.pdf", requestOptionsObj);
Json Response
string jsonResponse = response.JsonResponse();
Enrollment enrollment = new Enrollment();
OriginalSignaturePdfResponse response = enrollment.UpdateOriginalSignaturePdf("enrollment_npi_id", "signature pdf to upload - C:\\PDF\\received_pdf_123.pdf");
Update original signature PDF with RequestOptions
var response = enrollment.UpdateOriginalSignaturePdf("enrollment_npi_id", "C:\\PDF\\updated_received_pdf_123.pdf", requestOptionsObj);
Json Response
string jsonResponse = response.JsonResponse();
Enrollment enrollment = new Enrollment();
OriginalSignaturePdfResponse response = enrollment.GetOriginalSignaturePdf("123");
Retrieve original signature PDF with RequestOptions
var response = enrollment.GetOriginalSignaturePdf("123", requestOptionsObj);
Json Response
string jsonResponse = response.JsonResponse();
Enrollment enrollment = new Enrollment();
OriginalSignaturePdfResponse response = enrollment.DeleteOriginalSignaturePdf("123");
Delete original signature PDF with RequestOptions
var response = enrollment.DeleteOriginalSignaturePdf("123", requestOptionsObj);
Json Response
string jsonResponse = response.JsonResponse();
Enrollment enrollment = new Enrollment();
var response = enrollment.DownloadOriginalSignaturePdf("enrollment_npi_id", "location to download the pdf(ex: C:\\pdfs\\");
Download original signature PDF with RequestOptions
var response = enrollment.DownloadOriginalSignaturePdf("enrollment_npi_id", "location to download the pdf(ex: C:\\pdfs\\", requestOptionsObj);
Precertification precertification = new Precertification();
Hashtable param = new Hashtable();
param.Add("payer_id", "00001");
param.Add("payer_name", "Aetna");
param.Add("provider_type", "attending");
param.Add("provider_last_name", "Doe");
param.Add("provider_first_name", "John");
param.Add("provider_npi", "0123456789");
param.Add("provider_phone_number", "1234567890");
param.Add("provider_taxonomy_code", "291U00000X");
param.Add("member_id", "AETNAS8398");
param.Add("member_first_name", "IDA");
param.Add("member_last_name", "FRANKLIN");
param.Add("member_dob", "1701-12-12");
PrecertificationInquiryResponse preCertifications = precertification.Inquiry(param);
Precertification inquiry with RequestOptions
PrecertificationInquiryResponse preCertifications = precertification.Inquiry(param, requestOptionsObj);
Namespace to Include
using EligibleService.Exceptions;
Eligible.Net throws following three types of exceptions.
1) AuthenticationException
2) InvalidRequestException
3) EligibleException
try
{
var medicareResonse = Coverage.Medicare(param);
}
catch (EligibleException ex)
{
var eligibleError = ex.EligibleError;
}
catch (AuthenticationException ex)
{
error = ex.Message;
}
catch (InvalidRequestException ex)
{
error = ex.Message;
}
Add your apikey to Environmental Variable with name 'apikey' or set apikey in TestResource file to run the test cases.
If you find an issue with in the client library we would appricate you Send an email to support@eligible.com or add an issue in the Issue tracker for bug reports.