private string BuildUrl(string url, EligibilityRequestEditModel eligbleRequest, InsuranceCompany insuranceCompany, InsuranceServiceType insuranceServiceType) { if (_settings.EligibilityTestMode) { url = AddUrlParameter(url, @"test", "true"); } url = AddUrlParameter(url, @"payer_id", insuranceCompany.Code); url = AddUrlParameter(url, @"provider_last_name", _settings.EligibilityProviderLastName); url = AddUrlParameter(url, @"provider_first_name", _settings.EligibilityProviderFirstName); url = AddUrlParameter(url, @"provider_npi", _settings.EligibilityProviderNpi); url = AddUrlParameter(url, @"service_type", insuranceServiceType.Code); url = AddUrlParameter(url, @"network", (insuranceCompany.InNetwork ? "IN" : "OUT")); url = AddUrlParameter(url, @"member_id", eligbleRequest.MemberId); url = AddUrlParameter(url, @"member_last_name", eligbleRequest.LastName); url = AddUrlParameter(url, @"member_first_name", eligbleRequest.FirstName); if (eligbleRequest.Dob.HasValue) { url = AddUrlParameter(url, @"member_dob", eligbleRequest.Dob.Value.ToString("yyyy-MM-dd")); } return(url); }
public EligibleResponse GetCoverage(EligibilityRequestEditModel eligbleRequest, InsuranceCompany insuranceCompany, InsuranceServiceType insuranceServiceType) { // Init the URL string url = string.Format(RootApi, "coverage", "all.json", _settings.EligibilityApiKey); // Update the URL url = BuildUrl(url, eligbleRequest, insuranceCompany, insuranceServiceType); try { // Grab the response string responseBody = PostRequest(url); // Parse the response object var response = JsonConvert.DeserializeObject <EligibleResponse>(responseBody); // Save the JSON, may want it later response.RawResponse = responseBody; return(response); } catch (Exception) { return(new EligibleResponse { Error = new EligibleError { ResponseDescription = "Unauthorized", RejectionReasonDescription = "Authorization/Access Restrictions", FollowUpActionDescription = "Please Correct and Resubmit" } }); } }