eligible 3.0.0 → 3.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +1 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +101 -11
- data/Gemfile +4 -0
- data/Gemfile.lock +13 -6
- data/README.md +51 -54
- data/eligible.gemspec +2 -1
- data/lib/eligible/api_resource.rb +27 -6
- data/lib/eligible/calculator_deploy_url.rb +2 -2
- data/lib/eligible/claim.rb +10 -10
- data/lib/eligible/coverage.rb +8 -4
- data/lib/eligible/coverage_resource.rb +4 -4
- data/lib/eligible/customer.rb +8 -8
- data/lib/eligible/encryptor.rb +1 -1
- data/lib/eligible/enrollment.rb +8 -8
- data/lib/eligible/errors/eligible_error.rb +2 -1
- data/lib/eligible/icd.rb +6 -6
- data/lib/eligible/lockbox.rb +6 -6
- data/lib/eligible/oauth_token.rb +9 -0
- data/lib/eligible/ocr.rb +2 -2
- data/lib/eligible/original_signature_pdf.rb +12 -10
- data/lib/eligible/payer.rb +6 -6
- data/lib/eligible/payer_mapping.rb +37 -0
- data/lib/eligible/payment.rb +4 -4
- data/lib/eligible/preauth_resource.rb +4 -4
- data/lib/eligible/precert.rb +2 -2
- data/lib/eligible/provider_model.rb +2 -2
- data/lib/eligible/public_key.rb +8 -8
- data/lib/eligible/received_pdf.rb +6 -4
- data/lib/eligible/risk_assessment.rb +6 -6
- data/lib/eligible/session_token.rb +4 -4
- data/lib/eligible/ticket.rb +12 -12
- data/lib/eligible/util.rb +2 -2
- data/lib/eligible/v1_0/action.rb +9 -0
- data/lib/eligible/v1_0/attribute.rb +9 -0
- data/lib/eligible/v1_0/balance_capture.rb +21 -0
- data/lib/eligible/v1_0/charge.rb +13 -0
- data/lib/eligible/v1_0/claim.rb +25 -0
- data/lib/eligible/v1_0/claim_service_line.rb +9 -0
- data/lib/eligible/v1_0/contract.rb +9 -0
- data/lib/eligible/v1_0/device.rb +9 -0
- data/lib/eligible/v1_0/discount.rb +9 -0
- data/lib/eligible/v1_0/enrollment.rb +17 -0
- data/lib/eligible/v1_0/estimate.rb +29 -0
- data/lib/eligible/v1_0/estimate_service_line.rb +17 -0
- data/lib/eligible/v1_0/fee.rb +21 -0
- data/lib/eligible/v1_0/fee_refund.rb +29 -0
- data/lib/eligible/v1_0/file.rb +17 -0
- data/lib/eligible/v1_0/file_link.rb +13 -0
- data/lib/eligible/v1_0/insurance_company.rb +21 -0
- data/lib/eligible/v1_0/insurance_company_alias.rb +9 -0
- data/lib/eligible/v1_0/insurance_policy.rb +9 -0
- data/lib/eligible/v1_0/patient_question.rb +9 -0
- data/lib/eligible/v1_0/patient_questionnaire.rb +9 -0
- data/lib/eligible/v1_0/patient_record.rb +9 -0
- data/lib/eligible/v1_0/patient_statement.rb +59 -0
- data/lib/eligible/v1_0/patient_statement_service_line.rb +13 -0
- data/lib/eligible/v1_0/payment_report.rb +21 -0
- data/lib/eligible/v1_0/product.rb +9 -0
- data/lib/eligible/v1_0/provider.rb +9 -0
- data/lib/eligible/v1_0/refund.rb +21 -0
- data/lib/eligible/v1_0/remark.rb +21 -0
- data/lib/eligible/v1_0/rest_api_base.rb +44 -0
- data/lib/eligible/v1_0/rule.rb +13 -0
- data/lib/eligible/v1_0/session.rb +21 -0
- data/lib/eligible/v1_0/transaction.rb +21 -0
- data/lib/eligible/v1_0/treatment.rb +9 -0
- data/lib/eligible/v1_0/value_list.rb +9 -0
- data/lib/eligible/v1_0/value_list_item.rb +9 -0
- data/lib/eligible/v1_0/verification.rb +17 -0
- data/lib/eligible/version.rb +1 -1
- data/lib/eligible/visit_type.rb +4 -4
- data/lib/eligible/x12.rb +2 -2
- data/lib/eligible.rb +150 -38
- metadata +47 -8
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class Fee < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'fees'.freeze
|
7
|
+
|
8
|
+
def self.create(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.update(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.delete(_params, _opts = {})
|
17
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class FeeRefund < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'fee_refunds'.freeze
|
7
|
+
|
8
|
+
def self.retrieve(params, opts = {})
|
9
|
+
send_request :get, "#{fee_url(params)}/fee_refunds/#{fee_refund_id(params)}", rest_api_params(params), **opts.merge(required_params: [:id, :fee])
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.create(params, opts = {})
|
13
|
+
send_request :post, "#{fee_url(params)}/fee_refunds", rest_api_params(params), **opts.merge(required_params: [:fee])
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.update(params, opts = {})
|
17
|
+
send_request :put, "#{fee_url(params)}/fee_refunds/#{fee_refund_id(params)}", rest_api_params(params), **opts.merge(required_params: [:id, :fee])
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.list(params, opts = {})
|
21
|
+
send_request :get, "#{fee_url(params)}/fee_refunds", rest_api_params(params), **opts.merge(required_params: [:fee])
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.delete(_params, _opts = {})
|
25
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class File < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'files'.freeze
|
7
|
+
|
8
|
+
def self.update(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.delete(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class FileLink < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'file_links'.freeze
|
7
|
+
|
8
|
+
def self.delete(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class InsuranceCompany < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'insurance_companies'.freeze
|
7
|
+
|
8
|
+
def self.create(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.update(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.delete(_params, _opts = {})
|
17
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class PatientStatement < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'patient_statements'.freeze
|
7
|
+
|
8
|
+
# Finalize the patient statement
|
9
|
+
def self.finalize(id, opts = {})
|
10
|
+
send_request :post, "/#{endpoint_name}/#{object_id(id)}/finalize", rest_api_params(id), **opts.merge(required_params: [:id])
|
11
|
+
end
|
12
|
+
|
13
|
+
# Post a payment
|
14
|
+
def self.pay(params, opts = {})
|
15
|
+
send_request :post, "/#{endpoint_name}/#{object_id(params)}/payment_reports", rest_api_params(params), **opts.merge(required_params: [:id])
|
16
|
+
end
|
17
|
+
|
18
|
+
# List all payments
|
19
|
+
def self.payments(params, opts = {})
|
20
|
+
send_request :get, "/#{endpoint_name}/#{object_id(params)}/payment_reports", rest_api_params(params), **opts.merge(required_params: [:id])
|
21
|
+
end
|
22
|
+
|
23
|
+
# Capture a Patient Statement
|
24
|
+
def self.capture(params, opts = {})
|
25
|
+
send_request :post, "/#{endpoint_name}/#{object_id(params)}/capture", rest_api_params(params), **opts.merge(required_params: [:id])
|
26
|
+
end
|
27
|
+
|
28
|
+
# Process a Patient Statement
|
29
|
+
def self.process(params, opts = {})
|
30
|
+
send_request :post, "/#{endpoint_name}/#{object_id(params)}/process", rest_api_params(params), **opts.merge(required_params: [:id])
|
31
|
+
end
|
32
|
+
|
33
|
+
# Send a Patient Statement
|
34
|
+
def self.send(id, opts = {})
|
35
|
+
send_request :post, "/#{endpoint_name}/#{object_id(id)}/send", rest_api_params(id), **opts.merge(required_params: [:id])
|
36
|
+
end
|
37
|
+
|
38
|
+
# Void a Patient Statement
|
39
|
+
def self.void(id, opts = {})
|
40
|
+
send_request :post, "/#{endpoint_name}/#{object_id(id)}/void", rest_api_params(id), **opts.merge(required_params: [:id])
|
41
|
+
end
|
42
|
+
|
43
|
+
# Mark UnCollectible
|
44
|
+
def self.mark_uncollectible(id, opts = {})
|
45
|
+
send_request :post, "/#{endpoint_name}/#{object_id(id)}/mark_uncollectible", rest_api_params(id), **opts.merge(required_params: [:id])
|
46
|
+
end
|
47
|
+
|
48
|
+
# Reestimate a Patient Statement
|
49
|
+
def self.reestimate(params, opts = {})
|
50
|
+
send_request :post, "/#{endpoint_name}/#{object_id(params)}/reestimate", rest_api_params(params), **opts.merge(required_params: [:id])
|
51
|
+
end
|
52
|
+
|
53
|
+
# Submit a claim for a patient statement
|
54
|
+
def self.submit_claim(params, opts = {})
|
55
|
+
send_request :post, "/#{endpoint_name}/#{object_id(params)}/submit_claim", rest_api_params(params), **opts.merge(required_params: [:id])
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class PatientStatementServiceLine < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'patient_statement_service_lines'.freeze
|
7
|
+
|
8
|
+
def self.update(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class PaymentReport < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'payment_reports'.freeze
|
7
|
+
|
8
|
+
def self.create(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.update(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.delete(_params, _opts = {})
|
17
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class Refund < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'refunds'.freeze
|
7
|
+
|
8
|
+
def self.create(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.update(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.delete(_params, _opts = {})
|
17
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class Remark < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'remarks'.freeze
|
7
|
+
|
8
|
+
def self.create(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.update(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.delete(_params, _opts = {})
|
17
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class RestAPIBase < APIResource
|
6
|
+
REST_API_VERSION = '1.0'.freeze
|
7
|
+
|
8
|
+
def self.retrieve(id, opts = {})
|
9
|
+
send_request :get, api_url(endpoint_name, rest_api_params(id), :id), rest_api_params(id), **opts.merge(required_params: [:id])
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.create(params, opts = {})
|
13
|
+
send_request :post, api_url(endpoint_name), rest_api_params(params), **opts
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.update(params, opts = {})
|
17
|
+
send_request :put, api_url(endpoint_name, rest_api_params(params), :id), rest_api_params(params), **opts.merge(required_params: [:id])
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.list(params, opts = {})
|
21
|
+
send_request :get, api_url(endpoint_name), rest_api_params(params), **opts
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.delete(id, opts = {})
|
25
|
+
send_request :delete, api_url(endpoint_name, rest_api_params(id), :id), rest_api_params(id), **opts.merge(required_params: [:id])
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def self.object_id(id_or_params)
|
31
|
+
id_or_params.is_a?(Hash) ? Util.value(id_or_params, :id) : id_or_params
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.fee_refund_id(params)
|
35
|
+
Util.value(rest_api_params(params), :id)
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.fee_url(params)
|
39
|
+
fee_id = Util.value(rest_api_params(params), :fee)
|
40
|
+
"/fees/#{fee_id}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class Rule < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'rules'.freeze
|
7
|
+
|
8
|
+
def self.validate(params, opts = {})
|
9
|
+
send_request :post, "/#{endpoint_name}/validate", rest_api_params(params), **opts
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class Session < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'sessions'.freeze
|
7
|
+
|
8
|
+
def self.update(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.delete(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.list(_params, _opts = {})
|
17
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class Transaction < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'transactions'.freeze
|
7
|
+
|
8
|
+
def self.create(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.update(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.delete(_params, _opts = {})
|
17
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eligible
|
4
|
+
module V1_0
|
5
|
+
class Verification < RestAPIBase
|
6
|
+
ENDPOINT_NAME = 'verifications'.freeze
|
7
|
+
|
8
|
+
def self.update(_params, _opts = {})
|
9
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.delete(_params, _opts = {})
|
13
|
+
fail NotImplementedError, "Not an allowed operation for this endpoint"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/eligible/version.rb
CHANGED
data/lib/eligible/visit_type.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module Eligible
|
2
2
|
class VisitType < APIResource
|
3
|
-
def self.list(params,
|
4
|
-
send_request
|
3
|
+
def self.list(params, opts = {})
|
4
|
+
send_request :get, '/visit_types.json', params, **opts
|
5
5
|
end
|
6
6
|
|
7
|
-
def self.insurance_company_ids(params,
|
8
|
-
send_request
|
7
|
+
def self.insurance_company_ids(params, opts = {})
|
8
|
+
send_request :get, '/visit_types/insurance_company_ids.json', params, **opts
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/lib/eligible/x12.rb
CHANGED