eligible 3.0.0.beta27 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/.gitignore +0 -1
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +12 -97
  6. data/Gemfile +0 -4
  7. data/Gemfile.lock +36 -41
  8. data/README.md +54 -51
  9. data/eligible.gemspec +6 -6
  10. data/lib/eligible/api_resource.rb +6 -27
  11. data/lib/eligible/calculator_deploy_url.rb +2 -2
  12. data/lib/eligible/claim.rb +10 -10
  13. data/lib/eligible/coverage.rb +4 -8
  14. data/lib/eligible/coverage_resource.rb +4 -4
  15. data/lib/eligible/customer.rb +8 -8
  16. data/lib/eligible/enrollment.rb +8 -8
  17. data/lib/eligible/errors/eligible_error.rb +1 -2
  18. data/lib/eligible/icd.rb +6 -6
  19. data/lib/eligible/lockbox.rb +6 -6
  20. data/lib/eligible/ocr.rb +2 -2
  21. data/lib/eligible/original_signature_pdf.rb +10 -12
  22. data/lib/eligible/payer.rb +6 -6
  23. data/lib/eligible/payment.rb +4 -4
  24. data/lib/eligible/preauth_resource.rb +4 -4
  25. data/lib/eligible/precert.rb +2 -2
  26. data/lib/eligible/provider_model.rb +2 -2
  27. data/lib/eligible/public_key.rb +8 -8
  28. data/lib/eligible/received_pdf.rb +4 -6
  29. data/lib/eligible/risk_assessment.rb +6 -6
  30. data/lib/eligible/session_token.rb +4 -4
  31. data/lib/eligible/ticket.rb +12 -12
  32. data/lib/eligible/util.rb +3 -3
  33. data/lib/eligible/version.rb +1 -1
  34. data/lib/eligible/visit_type.rb +4 -4
  35. data/lib/eligible/x12.rb +2 -2
  36. data/lib/eligible.rb +39 -151
  37. metadata +17 -56
  38. data/lib/eligible/oauth_token.rb +0 -9
  39. data/lib/eligible/payer_mapping.rb +0 -37
  40. data/lib/eligible/v1_0/action.rb +0 -9
  41. data/lib/eligible/v1_0/attribute.rb +0 -9
  42. data/lib/eligible/v1_0/balance_capture.rb +0 -21
  43. data/lib/eligible/v1_0/charge.rb +0 -13
  44. data/lib/eligible/v1_0/claim.rb +0 -25
  45. data/lib/eligible/v1_0/claim_service_line.rb +0 -9
  46. data/lib/eligible/v1_0/contract.rb +0 -9
  47. data/lib/eligible/v1_0/device.rb +0 -9
  48. data/lib/eligible/v1_0/discount.rb +0 -9
  49. data/lib/eligible/v1_0/enrollment.rb +0 -17
  50. data/lib/eligible/v1_0/estimate.rb +0 -29
  51. data/lib/eligible/v1_0/estimate_service_line.rb +0 -17
  52. data/lib/eligible/v1_0/fee.rb +0 -21
  53. data/lib/eligible/v1_0/fee_refund.rb +0 -29
  54. data/lib/eligible/v1_0/file.rb +0 -17
  55. data/lib/eligible/v1_0/file_link.rb +0 -13
  56. data/lib/eligible/v1_0/insurance_company.rb +0 -21
  57. data/lib/eligible/v1_0/insurance_company_alias.rb +0 -9
  58. data/lib/eligible/v1_0/insurance_policy.rb +0 -9
  59. data/lib/eligible/v1_0/patient_question.rb +0 -9
  60. data/lib/eligible/v1_0/patient_questionnaire.rb +0 -9
  61. data/lib/eligible/v1_0/patient_record.rb +0 -9
  62. data/lib/eligible/v1_0/patient_statement.rb +0 -59
  63. data/lib/eligible/v1_0/patient_statement_service_line.rb +0 -13
  64. data/lib/eligible/v1_0/payment_report.rb +0 -21
  65. data/lib/eligible/v1_0/product.rb +0 -9
  66. data/lib/eligible/v1_0/provider.rb +0 -9
  67. data/lib/eligible/v1_0/refund.rb +0 -21
  68. data/lib/eligible/v1_0/remark.rb +0 -21
  69. data/lib/eligible/v1_0/rest_api_base.rb +0 -44
  70. data/lib/eligible/v1_0/rule.rb +0 -13
  71. data/lib/eligible/v1_0/session.rb +0 -21
  72. data/lib/eligible/v1_0/transaction.rb +0 -21
  73. data/lib/eligible/v1_0/treatment.rb +0 -9
  74. data/lib/eligible/v1_0/value_list.rb +0 -9
  75. data/lib/eligible/v1_0/value_list_item.rb +0 -9
  76. data/lib/eligible/v1_0/verification.rb +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4f7edb67b8369b88e03a8666f585680cf42ca107496a3d7a621b5267d007f373
4
- data.tar.gz: e798a4f6141323bb2241b0245290b02a3bea53087e7351797af61605c7f9c92a
3
+ metadata.gz: 0da7714383e0531eae08e29fddaef4723a40de320e5788af1fe3b4720e82a5d6
4
+ data.tar.gz: c7974c3752355d4812881fb64c13e31f28debc4e04d2b7ec374b8557bf328cab
5
5
  SHA512:
6
- metadata.gz: 185099ca5a2f818977ea1d4c70ab2444171c70ee9feddc30a45d12cf6840e374a7e1f516abceacef494ee98e08eb5155ba426c89413269e11e81dafed9161143
7
- data.tar.gz: 2720eb8d4150ee57eecfb009260493f66e65eedfa935cd402206999389dd7ad0e8c8beb5aca508249b5159453d78d90b4d7f8c4bc5d30009361a2bf910dc5da7
6
+ metadata.gz: d6d06d5316800d32f1cdbe30dbc127bae4c0a60b4bd6da639beceb3958fbe55ef0e6ab2e8ab2dd8747fd32e5e791d743918379d91cf986ac9d84ccae15ad4191
7
+ data.tar.gz: 067ba3f72873f361edcedfa1c4137e2d04fd9fbe2169f40d26d3d1caeffb2fc0e7eec8e7c2d991e1b516908f1224714dba72474840bec86477460ab6b808a37d
data/.circleci/config.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  version: 2
2
2
  default_environment: &default_environment
3
3
  docker:
4
- - image: circleci/ruby:2.4-stretch-browsers
4
+ - image: cimg/ruby:3.1.0
5
5
  environment:
6
6
  BUNDLE_JOBS: 3
7
7
  BUNDLE_RETRY: 3
data/.gitignore CHANGED
@@ -17,4 +17,3 @@ test/tmp
17
17
  test/version_tmp
18
18
  tmp
19
19
  .idea
20
- .DS_Store
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.4.3
1
+ 3.1.0
data/CHANGELOG.md CHANGED
@@ -1,109 +1,24 @@
1
1
  # Changelog
2
+ ## 3.0.0 - 2024-01-17
3
+ - Add support for ruby 3 versions
2
4
 
3
- ## 3.0.0.beta27 - 2021-09-23
4
- - Updated pinned api.eligible.com certificate
5
-
6
- ## 3.0.0.beta26 - 2021-05-12
7
- - Updated pinned GDS SSL certificate for Staging
8
-
9
- ## 3.0.0.beta25 - 2021-04-12
5
+ ## 2.9.15 - 2024-01-11
10
6
  - Updated pinned GDS SSL certificate
11
7
 
12
- ## 3.0.0.beta24 - 2021-04-01
8
+ ## 2.9.14 - 2023-01-16
13
9
  - Updated pinned GDS SSL certificate
14
10
 
15
- ## 3.0.0.beta23 - 2020-11-13
16
- - Bug fixes
17
-
18
- ## 3.0.0.beta22 - 2020-10-21
19
- - Bug fixes
20
-
21
- ## 3.0.0.beta21 - 2020-10-21
22
- - Add post method for CE API to avoid 414 error with large X12 inputs
23
-
24
- ## 3.0.0.beta20 - 2020-08-17
25
- - Bug fixes
26
-
27
- ## 3.0.0.beta19 - 2020-07-28
28
- - Added refunds and balance_captures REST API endpoints
29
-
30
- ## 3.0.0.beta18 - 2020-07-24
31
- - Added claim_submit endpoint API url for PatientStatement endpoint
32
-
33
- ## 3.0.0.beta17 - 2020-07-13
34
- - Bug fixes
35
-
36
- ## 3.0.0.beta16 - 2020-07-10
37
- - Migrated "Patient" endpoint to "PatientRecord"
38
-
39
- ## 3.0.0.beta15 - 2020-06-12
40
- - Added support for patient questionnaire, patient questions API endpoints
41
-
42
- ## 3.0.0.beta14 - 2020-06-08
43
- - Added Fee and FeeRefund new REST API endpoints
11
+ ## 2.9.13 - 2022-02-07
12
+ - Updated pinned GDS SSL certificate
44
13
 
45
- ## 3.0.0.beta13 - 2020-06-05
46
- - Added create, update, delete and validate endpoints support for rules
14
+ ## 2.9.12 - 2021-04-12
15
+ - Fixing the pinned GDS SSL certificate
47
16
 
48
- ## 3.0.0.beta12 - 2020-05-12
17
+ ## 2.9.11 - 2021-04-01
49
18
  - Updated pinned GDS SSL certificate
50
19
 
51
- ## 3.0.0.beta11 - 2020-05-12
52
- - Added summary and escalate actions for Enrollments endpoint
53
- - Added Action endpoint
54
- - Added Attribute endpoint
55
- - Added Claim endpoint
56
- - Added ClaimServiceLine endpoint
57
- - Added Device endpoint
58
- - Added Discount endpoint
59
- - Renamed FileObject to File in order to kept consistency
60
- - Added FileLink endpoint
61
- - Added InsuranceCompanyAlias endpoint
62
- - Added PaymentReport endpoint
63
- - Added Remark endpoint
64
- - Added Rule endpoint
65
- - Added Session endpoint
66
- - Added Transaction endpoint
67
- - Added ValueList endpoint
68
- - Added ValueListItem endpoint
69
- - Added Verification endpoint
70
- - Updated Charge endpoint to raise exception on delete action
71
- - Updated Estimate endpoint, raise exception on update and delete actions, and added missing actions process, reestimate, convert
72
- - Update EstimateServiceLine endpoint to raise exception on update and delete actions
73
- - Updated InsuranceCompany endpoint to raise exception on delete action
74
-
75
- ## 3.0.0.beta10 - 2020-05-06
76
- - Added support for new REST API endpoints "Contract, Enrollment, Provider"
77
- - Added support delete operations on new API.
78
-
79
- ## 3.0.0.beta9 - 2020-05-04
80
- - Added support for new REST API endpoints "Charge, Estimate, EstimateServiceLine, Product, Treatment"
81
-
82
- ## 3.0.0.beta8 - 2020-04-30
83
- - Fixed payment and payment_reports API urls for new PatientStatement endpoint
84
-
85
- ## 3.0.0.beta7 - 2020-04-16
86
- - Removed un-wanted parameters from the API request while making calls to new REST API endpoint
87
-
88
- ## 3.0.0.beta6 - 2020-04-08
89
- - Bug fix for "PatientStatement" endpoint
90
-
91
- ## 3.0.0.beta5 - 2020-03-31
92
- - Added support for new REST API endpoints "Insurance Company, Insurance Policy, Patient"
93
-
94
- ## 3.0.0.beta4 - 2020-03-16
95
- - Fixed query params conversion to support Expand feature for new REST API Endpoints
96
- - Changed new REST API endpoints format to support `ID` field or `params`
97
-
98
- ## 3.0.0.beta3 - 2020-03-09
99
- - Added support for new REST API endpoint "PatientStatement" and "PatientStatementServiceLine"
100
-
101
- ## 3.0.0.beta2 - 2020-03-03
102
- - Added support for V1.0 REST API endpoints and added Files endpoints
103
- - Update pinned api.eligible.com and wildcard.eligible.com certificate
104
-
105
- ## 3.0.0.beta1 - 2019-10-01
106
- - Added support for Eligible-Account Header in the API requests when used Eligible Connect feature
20
+ ## 2.9.10 - 2020-05-13
21
+ - Updated pinned GDS SSL certificate
107
22
 
108
23
  ## 2.9.9 - 2019-08-07
109
24
  - Added Icd code endpoints
@@ -159,7 +74,7 @@
159
74
  - Documentation updates for the endpoints
160
75
 
161
76
  ## 2.6.0 - 2016-02-23
162
- - Added new endpoints customer, original signature pdf, and payer.
77
+ - Added new endpoints customer, original signature pdf and payer.
163
78
  - Added specs
164
79
  - Bumped api version to 1.5
165
80
  - Fixed few bugs
data/Gemfile CHANGED
@@ -1,8 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # cut patch number off the version number and lock it down to the minor version
4
- ruby_version = File.read(File.expand_path('.ruby-version', __dir__)).chomp.split('.')[0..1].join('.')
5
- ruby "~> #{ruby_version}"
6
-
7
3
  # Specify your gem's dependencies in eligible.gemspec
8
4
  gemspec
data/Gemfile.lock CHANGED
@@ -1,66 +1,61 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eligible (3.0.0.beta27)
5
- multi_json (~> 1.7)
6
- rest-client (~> 2.0.0)
4
+ eligible (3.0.0)
5
+ multi_json (~> 1.15.0)
6
+ rest-client (~> 2.1.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- diff-lcs (1.3)
12
- docile (1.1.5)
13
- domain_name (0.5.20190701)
14
- unf (>= 0.0.5, < 1.0.0)
15
- http-cookie (1.0.4)
11
+ diff-lcs (1.5.0)
12
+ docile (1.4.0)
13
+ domain_name (0.6.20240107)
14
+ http-accept (1.7.0)
15
+ http-cookie (1.0.5)
16
16
  domain_name (~> 0.5)
17
- json (2.1.0)
18
- mime-types (3.3.1)
17
+ mime-types (3.5.2)
19
18
  mime-types-data (~> 3.2015)
20
- mime-types-data (3.2021.0901)
19
+ mime-types-data (3.2023.1205)
21
20
  multi_json (1.15.0)
22
21
  netrc (0.11.0)
23
- rake (12.3.0)
24
- rest-client (2.0.2)
22
+ rake (13.0.6)
23
+ rest-client (2.1.0)
24
+ http-accept (>= 1.7.0, < 2.0)
25
25
  http-cookie (>= 1.0.2, < 2.0)
26
26
  mime-types (>= 1.16, < 4.0)
27
27
  netrc (~> 0.8)
28
- rspec (3.7.0)
29
- rspec-core (~> 3.7.0)
30
- rspec-expectations (~> 3.7.0)
31
- rspec-mocks (~> 3.7.0)
32
- rspec-core (3.7.1)
33
- rspec-support (~> 3.7.0)
34
- rspec-expectations (3.7.0)
28
+ rspec (3.11.0)
29
+ rspec-core (~> 3.11.0)
30
+ rspec-expectations (~> 3.11.0)
31
+ rspec-mocks (~> 3.11.0)
32
+ rspec-core (3.11.0)
33
+ rspec-support (~> 3.11.0)
34
+ rspec-expectations (3.11.1)
35
35
  diff-lcs (>= 1.2.0, < 2.0)
36
- rspec-support (~> 3.7.0)
37
- rspec-mocks (3.7.0)
36
+ rspec-support (~> 3.11.0)
37
+ rspec-mocks (3.11.1)
38
38
  diff-lcs (>= 1.2.0, < 2.0)
39
- rspec-support (~> 3.7.0)
40
- rspec-support (3.7.1)
41
- rspec_junit_formatter (0.3.0)
39
+ rspec-support (~> 3.11.0)
40
+ rspec-support (3.11.1)
41
+ rspec_junit_formatter (0.5.1)
42
42
  rspec-core (>= 2, < 4, != 2.12.0)
43
- simplecov (0.15.1)
44
- docile (~> 1.1.0)
45
- json (>= 1.8, < 3)
46
- simplecov-html (~> 0.10.0)
47
- simplecov-html (0.10.2)
48
- unf (0.1.4)
49
- unf_ext
50
- unf_ext (0.0.8)
43
+ simplecov (0.21.2)
44
+ docile (~> 1.1)
45
+ simplecov-html (~> 0.11)
46
+ simplecov_json_formatter (~> 0.1)
47
+ simplecov-html (0.12.3)
48
+ simplecov_json_formatter (0.1.4)
51
49
 
52
50
  PLATFORMS
53
51
  ruby
54
52
 
55
53
  DEPENDENCIES
56
54
  eligible!
57
- rake (~> 12.0)
58
- rspec (~> 3.4)
59
- rspec_junit_formatter (~> 0.3.0)
60
- simplecov (~> 0.11)
61
-
62
- RUBY VERSION
63
- ruby 2.4.3p205
55
+ rake (~> 13.0.6)
56
+ rspec (~> 3.11.0)
57
+ rspec_junit_formatter (~> 0.5.1x)
58
+ simplecov (~> 0.21.2)
64
59
 
65
60
  BUNDLED WITH
66
- 1.17.3
61
+ 2.1.4
data/README.md CHANGED
@@ -38,7 +38,7 @@ Eligible.test = true
38
38
  On each api call, you can overwrite the api key or the test parameter:
39
39
 
40
40
  ```ruby
41
- Eligible::Coverage.get({:api_key => 'NEW_KEY', :test => false})
41
+ Eligible::Coverage.get({api_key: 'NEW_KEY', test: false})
42
42
  ```
43
43
 
44
44
  ### Response Format
@@ -47,7 +47,7 @@ By default, all responses are in JSON, but you can request raw
47
47
  access to X12 by adding is as a parameter on the api call:
48
48
 
49
49
  ```ruby
50
- Eligible::Coverage.get({:format => "x12"})
50
+ Eligible::Coverage.get({format: "x12"})
51
51
  ```
52
52
 
53
53
  # Important notes
@@ -123,17 +123,18 @@ coverage.to_hash
123
123
  ### Retrieve eligibility and benefit information
124
124
 
125
125
  ```ruby
126
+
126
127
  params = {
127
- :service_type => "33",
128
- :network => "OUT",
129
- :payer_id => "000001",
130
- :provider_last_name => "Last",
131
- :provider_first_name => "First",
132
- :provider_npi => "12345678",
133
- :member_id => "12345678",
134
- :member_last_name => "Austen",
135
- :member_first_name => "Jane",
136
- :member_dob => "1955-12-14"
128
+ service_type: "30",
129
+ payer_id: "ELIG_SNDBX",
130
+ provider_last_name: "Last",
131
+ provider_first_name: "First",
132
+ provider_npi: "1234567893",
133
+ member_id: "AETNA00OAMC",
134
+ member_last_name: "Austen",
135
+ member_first_name: "Jane",
136
+ member_dob: "1955-12-14",
137
+ test: true
137
138
  }
138
139
 
139
140
  coverage = Eligible::Coverage.get(params)
@@ -154,10 +155,11 @@ params = {
154
155
  network: 'IN',
155
156
  payer_id: '00001',
156
157
  provider_npi: '1234567893',
157
- member_id: 'COST_ESTIMATE_001',
158
+ member_id: 'COST_ESTIMATES_001',
158
159
  member_dob: '1886-01-01',
159
160
  provider_price: '200',
160
- level: 'individual'
161
+ level: 'individual',
162
+ test: true
161
163
  }
162
164
 
163
165
  cost_estimate = Eligible::Coverage.cost_estimate(params)
@@ -174,14 +176,15 @@ cost_estimate.to_hash # returns all coverage info along with cost estimate
174
176
 
175
177
  ```ruby
176
178
  params = {
177
- :payer_id => "000001",
178
- :provider_last_name => "Last",
179
- :provider_first_name => "First",
180
- :provider_npi => "12345678",
181
- :member_id => "12345678",
182
- :member_last_name => "Austen",
183
- :member_first_name => "Jane",
184
- :member_dob => "1955-12-14"
179
+ payer_id: "ELIG_SNDBX",
180
+ provider_last_name: "Last",
181
+ provider_first_name: "First",
182
+ provider_npi: "1234567893",
183
+ member_id: "333333333A",
184
+ member_last_name: "Austen",
185
+ member_first_name: "Jane",
186
+ member_dob: "1955-12-14",
187
+ test: true
185
188
  }
186
189
  medicare = Eligible::Medicare.get(params)
187
190
  medicare.to_hash # returns all coverage info for the request
@@ -238,13 +241,13 @@ result.error # return error, if any
238
241
  ### Retrieve an Enrollment Request
239
242
 
240
243
  ```ruby
241
- params = { :enrollment_request_id => 123 }
244
+ params = { enrollment_request_id: 123 }
242
245
  enrollment = Eligible::Enrollment.get(params)
243
246
  enrollment.to_hash # return the api call results
244
247
  enrollment.error # return error, if any
245
248
  enrollment.enrollment_npis # quick access to the enrollment npis within the enrollment request object
246
249
 
247
- params = { :npis => %w(123 456 789).join(',') }
250
+ params = { npis: %w(123 456 789).join(',') }
248
251
  enrollment = Eligible::Enrollment.get(params)
249
252
  ```
250
253
 
@@ -339,7 +342,7 @@ claims = Eligible::Claim.all # returns acknowledgment information for all claims
339
342
 
340
343
  ```ruby
341
344
  params = {
342
- :reference_id => "12345"
345
+ reference_id: "12345"
343
346
  }
344
347
 
345
348
  claim = Eligible::Claim.get(params) # returns acknowledgment information on an individual claim identified by its reference_id
@@ -354,18 +357,18 @@ claim = Eligible::Claim.get(params) # returns acknowledgment information on an i
354
357
  ### Retrieve Payment status
355
358
 
356
359
  ```ruby
357
- params = { :payer_id => '00001',
358
- :provider_tax_id => '4373208923',
359
- :provider_npi => '1234567890',
360
- :provider_first_name => 'Thomas',
361
- :provider_first_name => 'Thomas',
362
- :member_id => '123',
363
- :member_first_name => 'Benjamin',
364
- :member_last_name => 'Franklin',
365
- :member_dob => '01-01-1980',
366
- :charge_amount => '100.00',
367
- :start_date => '2013-03-25',
368
- :end_date => '2013-03-25' }
360
+ params = { payer_id: '00001',
361
+ provider_tax_id: '4373208923',
362
+ provider_npi: '1234567890',
363
+ provider_first_name: 'Thomas',
364
+ provider_first_name: 'Thomas',
365
+ member_id: '123',
366
+ member_first_name: 'Benjamin',
367
+ member_last_name: 'Franklin',
368
+ member_dob: '01-01-1980',
369
+ charge_amount: '100.00',
370
+ start_date: '2013-03-25',
371
+ end_date: '2013-03-25' }
369
372
 
370
373
  result = Eligible::Payment.get(params)
371
374
  result.to_hash # return the api call results
@@ -377,7 +380,7 @@ result.error # return error, if any
377
380
  ### X12 post
378
381
 
379
382
  ```ruby
380
- params = { :x12 => "ISA*00* *00* *ZZ*SENDERID *ZZ*ELIGIB *130610*0409*^*00501*100000001*0*T*:~GS*HS*SENDERID*ELIGIB*20130610*0409*1*X*005010X279A1~ST*270*0001*005010X279A1~BHT*0022*13*137083739083716126837*20130610*0409~HL*1**20*1~NM1*PR*2*UnitedHealthCare*****PI*112~HL*2*1*21*1~NM1*1P*1*AUSTEN*JANE****XX*1222494919~HL*3*2*22*0~TRN*1*1*1453915417~NM1*IL*1*FRANKLIN*BENJAMIN****MI*23412342~DMG*D8*17371207~DTP*291*D8*20130610~EQ*30~SE*13*0001~GE*1*1~IEA*1*100000001~" }
383
+ params = { x12: "ISA*00* *00* *ZZ*SENDERID *ZZ*ELIGIB *130610*0409*^*00501*100000001*0*T*:~GS*HS*SENDERID*ELIGIB*20130610*0409*1*X*005010X279A1~ST*270*0001*005010X279A1~BHT*0022*13*137083739083716126837*20130610*0409~HL*1**20*1~NM1*PR*2*UnitedHealthCare*****PI*112~HL*2*1*21*1~NM1*1P*1*AUSTEN*JANE****XX*1222494919~HL*3*2*22*0~TRN*1*1*1453915417~NM1*IL*1*FRANKLIN*BENJAMIN****MI*23412342~DMG*D8*17371207~DTP*291*D8*20130610~EQ*30~SE*13*0001~GE*1*1~IEA*1*100000001~" }
381
384
 
382
385
  result = Eligible::X12.post(params)
383
386
  ```
@@ -391,10 +394,10 @@ result = Eligible::X12.post(params)
391
394
  ### Create a ticket
392
395
 
393
396
  ```ruby
394
- params = {:priority => 'normal',
395
- :title => 'TITLE',
396
- :notification_email => 'admin@eligible.com',
397
- :body => 'Your comment'}
397
+ params = {priority: 'normal',
398
+ title: 'TITLE',
399
+ notification_email: 'admin@eligible.com',
400
+ body: 'Your comment'}
398
401
  result = Eligible::Ticket.create params
399
402
  result.to_hash # return the api call results
400
403
  enrollment.error # return error, if any
@@ -403,7 +406,7 @@ enrollment.error # return error, if any
403
406
  ### Get a ticket
404
407
 
405
408
  ```ruby
406
- ticket = Eligible::Ticket.get(:id => 1)
409
+ ticket = Eligible::Ticket.get(id: 1)
407
410
  ticket.to_hash # return the api call result
408
411
  ticket.error # return error, if any
409
412
  ```
@@ -411,11 +414,11 @@ ticket.error # return error, if any
411
414
  ### Update a ticket
412
415
 
413
416
  ```ruby
414
- params = { :id => 1,
415
- :priority => 'normal',
416
- :title => 'TITLE',
417
- :notification_email => 'your_email@test.com',
418
- :body => 'Your comment'}
417
+ params = { id: 1,
418
+ priority: 'normal',
419
+ title: 'TITLE',
420
+ notification_email: 'your_email@test.com',
421
+ body: 'Your comment'}
419
422
  result = Eligible::Ticket.update(params)
420
423
  result.to_hash # return the api call results
421
424
  enrollment.error # return error, if any
@@ -424,7 +427,7 @@ enrollment.error # return error, if any
424
427
  ### Get comments for a ticket
425
428
 
426
429
  ```ruby
427
- comments = Eligible::Ticket.get(:id => 1)
430
+ comments = Eligible::Ticket.get(id: 1)
428
431
  comments.to_hash # return the api call result
429
432
  comments.error # return error, if any
430
433
 
@@ -432,7 +435,7 @@ comments.error # return error, if any
432
435
 
433
436
  ### Delete a ticket
434
437
  ```ruby
435
- result = Eligible::Ticket.delete(:id => 1)
438
+ result = Eligible::Ticket.delete(id: 1)
436
439
  comments.to_hash # return the api call result
437
440
  comments.error # return error, if any
438
441
  ```
@@ -679,7 +682,7 @@ result.error # returns error, if any
679
682
  ### Use session token without api_key
680
683
 
681
684
  ```ruby
682
- Eligible::Coverage.get({:session_token => 'SESSION_TOKEN', :test => false})
685
+ Eligible::Coverage.get({session_token: 'SESSION_TOKEN', test: false})
683
686
  ```
684
687
 
685
688
 
data/eligible.gemspec CHANGED
@@ -16,11 +16,11 @@ Gem::Specification.new do |gem|
16
16
  gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  gem.require_paths = ['lib']
18
18
 
19
- gem.add_dependency('rest-client', '~> 2.0.0')
20
- gem.add_dependency('multi_json', '~> 1.7')
19
+ gem.add_dependency('rest-client', '~> 2.1.0')
20
+ gem.add_dependency('multi_json', '~> 1.15.0')
21
21
 
22
- gem.add_development_dependency('rake', '~> 12.0')
23
- gem.add_development_dependency('rspec', '~> 3.4')
24
- gem.add_development_dependency('rspec_junit_formatter', '~> 0.3.0')
25
- gem.add_development_dependency('simplecov', '~> 0.11')
22
+ gem.add_development_dependency('rake', '~> 13.0.6')
23
+ gem.add_development_dependency('rspec', '~> 3.11.0')
24
+ gem.add_development_dependency('rspec_junit_formatter', '~> 0.5.1x')
25
+ gem.add_development_dependency('simplecov', '~> 0.21.2')
26
26
  end
@@ -6,10 +6,10 @@ module Eligible
6
6
 
7
7
  def self.api_url(base, params = nil, param_id = nil)
8
8
  if params.nil?
9
- "/#{base}"
9
+ "/#{base}.json"
10
10
  else
11
11
  id = Util.value(params, param_id)
12
- "/#{base}/#{id}"
12
+ "/#{base}/#{id}.json"
13
13
  end
14
14
  end
15
15
 
@@ -20,39 +20,18 @@ module Eligible
20
20
  "/#{CGI.escape(class_name.downcase)}/"
21
21
  end
22
22
 
23
- def self.endpoint_name
24
- self.const_get('ENDPOINT_NAME')
25
- end
26
-
27
23
  def self.require_param(value, name)
28
24
  fail ArgumentError, "#{name} of the #{class_name} is required" if value.nil? || (value.is_a?(String) && value.empty?)
29
25
  end
30
26
 
31
- def self.required_param_validation(params:, required_params:)
32
- return if required_params.nil? || !required_params.is_a?(Array)
33
-
34
- required_params.each do |required_param_name|
27
+ def self.send_request(method, url, api_key, params, required_param_name = nil)
28
+ unless required_param_name.nil?
35
29
  required_param = Util.value(params, required_param_name)
36
30
  require_param(required_param, required_param_name)
37
31
  end
38
- end
39
-
40
- def self.rest_api_params(id_or_params)
41
- id_or_params.is_a?(Hash) ? id_or_params : { id: id_or_params }
42
- end
43
-
44
- def self.send_request(method, url, params, opts)
45
- headers = opts.clone
46
- client_secret = headers.delete(:client_secret)
47
- api_key = headers.delete(:api_key)
48
- api_key = client_secret unless client_secret.nil?
49
-
50
- required_param_validation(params: params, required_params: headers.delete(:required_params))
51
-
52
- # Here rest_api_version is related to New REST API Endpoints
53
- params = self.const_defined?(:REST_API_VERSION) ? params.merge(rest_api_version: self::REST_API_VERSION) : params
54
- response, api_key = Eligible.request(method, url, api_key, params, headers)
32
+ response, api_key = Eligible.request(method, url, api_key, **params)
55
33
  Util.convert_to_eligible_object(response, api_key)
56
34
  end
35
+
57
36
  end
58
37
  end
@@ -1,7 +1,7 @@
1
1
  module Eligible
2
2
  class CalculatorDeployUrl < APIResource
3
- def self.fetch_or_create(params, opts = {})
4
- send_request :get, '/calculator_deploy_urls.json', params, opts
3
+ def self.fetch_or_create(params, api_key = nil)
4
+ send_request(:get, '/calculator_deploy_urls.json', api_key, **params)
5
5
  end
6
6
  end
7
7
  end
@@ -1,28 +1,28 @@
1
1
  module Eligible
2
2
  class Claim < APIResource
3
- def self.ack(params, opts = {})
3
+ def self.ack(params, api_key = nil)
4
4
  reference_id = Util.value(params, :reference_id)
5
- send_request :get, "/claims/#{reference_id}/acknowledgements.json", params, opts.merge(required_params: [:reference_id])
5
+ send_request(:get, "/claims/#{reference_id}/acknowledgements.json", api_key, params, :reference_id)
6
6
  end
7
7
 
8
- def self.post(params, opts = {})
9
- send_request :post, '/claims.json', params, opts
8
+ def self.post(params, api_key = nil)
9
+ send_request(:post, '/claims.json', api_key, **params)
10
10
  end
11
11
 
12
- def self.acks(params, opts = {})
13
- send_request :get, '/claims/acknowledgements.json', params, opts
12
+ def self.acks(params, api_key = nil)
13
+ send_request(:get, '/claims/acknowledgements.json', api_key, **params)
14
14
  end
15
15
 
16
- def self.payment_report(params, opts = {})
16
+ def self.payment_report(params, api_key = nil)
17
17
  reference_id = Util.value(params, :reference_id)
18
18
  require_param(reference_id, 'Reference id')
19
19
  id = Util.value(params, :id)
20
20
  url = id.nil? ? "/claims/#{reference_id}/payment_reports" : "/claims/#{reference_id}/payment_reports/#{id}"
21
- send_request :get, url, params, opts
21
+ send_request(:get, url, api_key, **params)
22
22
  end
23
23
 
24
- def self.payment_reports(params, opts = {})
25
- send_request :get, '/claims/payment_reports.json', params, opts
24
+ def self.payment_reports(params, api_key = nil)
25
+ send_request(:get, '/claims/payment_reports.json', api_key, **params)
26
26
  end
27
27
  end
28
28
  end
@@ -8,16 +8,12 @@ module Eligible
8
8
  return '/coverage/all/batch.json'
9
9
  end
10
10
 
11
- def self.cost_estimate(params, opts = {})
12
- send_request :get, '/coverage/cost_estimates.json', params, opts
11
+ def self.cost_estimate(params, api_key = nil)
12
+ send_request(:get, '/coverage/cost_estimates.json', api_key, **params)
13
13
  end
14
14
 
15
- def self.cost_estimate_post(params, opts = {})
16
- send_request :post, '/coverage/cost_estimates.json', params, opts
17
- end
18
-
19
- def self.batch_medicare_post(params, opts = {})
20
- send_request :post, '/medicare/coverage/batch.json', params, opts
15
+ def self.batch_medicare_post(params, api_key = nil)
16
+ send_request(:post, '/medicare/coverage/batch.json', api_key, **params)
21
17
  end
22
18
  end
23
19
  end
@@ -1,11 +1,11 @@
1
1
  module Eligible
2
2
  class CoverageResource < APIResource
3
- def self.get(params, opts = {})
4
- send_request :get, get_uri, params, opts
3
+ def self.get(params, api_key = nil)
4
+ send_request(:get, get_uri, api_key, params)
5
5
  end
6
6
 
7
- def self.post(params, opts = {})
8
- send_request :post, post_uri, params, opts
7
+ def self.post(params, api_key = nil)
8
+ send_request(:post, post_uri, api_key, params)
9
9
  end
10
10
 
11
11
  def self.get_uri