Skip to content

muness/eligible-CSharp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eligible.NET

C# bindings for Eligible APIs (https://eligible.com)

Documentation

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.

Requirements

NuGet Packages

Eligible.NET library is available on NuGet.

Install-Package Eligible.NET

Usage

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;

    Sample code

  • Create a RequestOptions object and pass it to every request

     RequestOptions requestOptions = new RequestOptions();
     requestOptions.ApiKey = "Api Key";
     requestOptions.IsTest = true;

    RequestOptionsExample

Sample code

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
    }
}

Request Options Example

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

Retrieve all payers

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();

Retrieve single payer

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();

Retrieve all payers search options

Payers payers = new Payers();

PayersSearchOptionResponse payersSearchOptions = payers.SearchOptions();

Retrieve payers with RequestOptions

var payersSearchOptions = payers.SearchOptions(requestOptionsObj);

Json Response

string jsonResponse = payersSearchOptions.JsonResponse();

Retrieve all payers search options

Payers payers = new Payers();

PayersSearchOptionResponse payersSearchOptions = payers.SearchOptions();

Retrieve payers with RequestOptions

var payersSearchOptions = payers.SearchOptions(requestOptionsObj);

Json Response

string jsonResponse = payersSearchOptions.JsonResponse();

Retrieve single payer search options

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();

Retrieve payers statuses

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()

Retrieve specific statuses

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()

Retrieve payer statuses

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

Submit with hash params

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();

Submit with ClaimParams Class Object

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();

Submit with JSON

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 Acknowledgements

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();

Multiple Acknowledgements

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();

Payment Reports

Retrieve Single Claim Payment Report

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();

Retrieve Specific Claim Payment Report

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();

Retrieve Multiple Claim Payment Report

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 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();

Medicare

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

Create Customer

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();

Update Customer

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();

Retrieve Customer Info

Retrieve Single Customer

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();

Retrieve All Customers

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();

Retrieve All Customers with Page Number

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();

Cost Estimates

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();

Cost Estimates Medicare

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();

Payment Status

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();

Enrollments

Create Enrollment

Create Enrollment with JSON

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();

Create Enrollment with Hashtable

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();

Create Enrollment with EnrollmentParams object

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

Update Enrollment

Update Enrollment with JSON

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();

Update Enrollment With Hastable

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();

Update Enrollment With EnrollmentParams Object

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

Retrieve Enrollment

Retrieve single Enrollment

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

Retrieve All Enrollments

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

Received PDF

Retrieve received pdf

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();

Download received pdf

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); 

Original Signature PDF

Create original signature PDF

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();

Update original signature PDF

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();

Retrieve original signature PDF

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();

Delete original signature PDF

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();

Download original signature PDF

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 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);

Exception Handling

Namespace to Include

	using EligibleService.Exceptions;

Eligible.Net throws following three types of exceptions.

1) AuthenticationException
2) InvalidRequestException
3) EligibleException
Exception example
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;
}

Testing

Add your apikey to Environmental Variable with name 'apikey' or set apikey in TestResource file to run the test cases.

Support Forums

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.

Packages

No packages published

Languages

  • C# 100.0%