eligible 2.3 → 2.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db1f19b35719b1eeb1e339ae413fc36038d6e322
4
- data.tar.gz: a1a9e247377c3fdb52f54150066ef554616a3dc7
3
+ metadata.gz: b1ed13fe5084703a13e0d531de177e73e1f38a4e
4
+ data.tar.gz: 43b6296949c68d3113f6ec1f1db1d5d6aaaf6d43
5
5
  SHA512:
6
- metadata.gz: 87c4140d9b5940479d5f5cab0d0f95a6ed738046963e93714aabcd3a9078746edf0eceefe3ca7631344cf15e972b4ca9b0ccde2d13174983fac4f6462f15827a
7
- data.tar.gz: 0e2a53d43aa60655f4d15628a065a540a022827ddc4e2bf55d5883d332c8d8a00584b754260582b5c1528fccfc81acec67ad781459e7dda23ca860ffca82d1b9
6
+ metadata.gz: 5769440475201703b7162d82cf4d28156389e9e52c2e0c5ac83b3c560589848c014898bc41831383ce70a830a34fa26a1517e8b0c6fcaf877d83088d6e551a14
7
+ data.tar.gz: da1097a703dc3d255c6fea2871c43e2ccc087f2ee3298252205113f5328981aa156624adf85d4b401bdc6660dafbd0814ebad35076b1c62ddf5c12db4841bbe1
data/CONTRIBUTORS CHANGED
@@ -1 +1,5 @@
1
- Andy Brett <andy@andybrett.com>
1
+ Andy Brett <andy@andybrett.com>
2
+ Ivan Müller <mulleivan@gmail.com>
3
+ Janet Chang <janetlaichang@gmail.com>
4
+ Katelyn Gleason <k@eligibleapi.com>
5
+ Rodrigo Dominguez <rod@eligibleapi.com>
data/README.md CHANGED
@@ -16,22 +16,113 @@ Or install it yourself with:
16
16
 
17
17
  $ gem install eligible
18
18
 
19
- ## Usage
19
+ # Important notes
20
+
21
+ ## Payer List for Eligibility
22
+
23
+ the parameter *payer_id*, required for most of the api calls, is provided by EligibleAPI from its website,
24
+ in xml and json format, which you can embed into your applications.
25
+
26
+ [https://eligibleapi.com/resources/information-sources.xml](https://eligibleapi.com/resources/information-sources.xml)
27
+ [https://eligibleapi.com/resources/information-sources.json](https://eligibleapi.com/resources/information-sources.json)
28
+
29
+ ## Payer List for Claims
30
+
31
+ the parameter *payer_id*, required for claims, is provided by EligibleAPI from its website,
32
+ in xml and json format, which you can embed into your applications.
33
+
34
+ [https://eligibleapi.com/resources/claims-payer.xml](https://eligibleapi.com/resources/claims-payer.xml)
35
+ [https://eligibleapi.com/resources/claims-payer.json](https://eligibleapi.com/resources/claims-payer.json)
36
+
37
+ ## Service Type Codes
38
+
39
+ the parameter *service_type*, required on the api calls, is provided by EligibleAPI from its website,
40
+ in xml and json format, which you can embed into your applications.
41
+ [https://eligibleapi.com/resources/service-codes.xml](https://eligibleapi.com/resources/service-codes.xml)
42
+ https://eligibleapi.com/resources/service-codes.json](ttps://eligibleapi.com/resources/service-codes.json)
43
+
44
+ ## Place of Service
45
+
46
+ [https://eligibleapi.com/resources/place_of_service.json](https://eligibleapi.com/resources/place_of_service.json)
47
+
48
+ ## Health Care Provider Taxonomy
49
+
50
+ [https://eligibleapi.com/resources/health-care-provider-taxonomy-code-set.json](https://eligibleapi.com/resources/health-care-provider-taxonomy-code-set.json)
51
+
52
+
53
+ # Usage
20
54
 
21
55
  ### Setup
56
+ ```ruby
22
57
  require 'eligible'
23
58
  Eligible.api_key = 'YOUR_KEY'
59
+ ```
60
+
24
61
  ### Test
25
62
  ```ruby
26
63
  Eligible.test = true
27
- ```
28
- Include `{ :test => "true" }` in the params for sandbox access.
29
- ### Format
64
+ ```
30
65
 
31
- Include `{ :format => "X12" }` in the params hash to get back the raw X12 response.
66
+ ### Parameters overwrite
32
67
 
68
+ On each api call, you can overwrite the api key or the test parameter, i.e.
33
69
 
34
- ### Retrieve Demographic object and query it
70
+ ```ruby
71
+ Eligible::Demographic.get(params.merge({:api_key => 'NEW_KEY', :test => false})
72
+ ```
73
+
74
+ ### Response Format
75
+
76
+ By default, all the responses came in JSON, but you can request raw access to X12 by adding is as a parameter on the api call.
77
+
78
+ ```ruby
79
+ Eligible::Demographic.get(params.merge({:format => "x12"}))
80
+ ```
81
+
82
+ ### Api Call Results
83
+
84
+ On all the results, you can check for errors in *result.error*, you can get get the raw json format in a has by using *result.to_hash*.
85
+
86
+ ```ruby
87
+ demographic = Eligible::Demographic.get(params)
88
+ demographic.error
89
+ demographic.to_hash
90
+ ```
91
+
92
+ ## Coverage
93
+
94
+ ### Reference
95
+
96
+ [https://eligibleapi.com/rest-api-v1-1/coverage-all#apiCoverageInfo](https://eligibleapi.com/rest-api-v1-1/coverage-all#apiCoverageInfo)
97
+
98
+ ### Retrieve eligibility & benefit information
99
+
100
+ ```ruby
101
+ params = {
102
+ :service_type => "33",
103
+ :network => "OUT",
104
+ :payer_id => "000001",
105
+ :provider_last_name => "Last",
106
+ :provider_first_name => "First",
107
+ :provider_npi => "12345678",
108
+ :member_id => "12345678",
109
+ :member_last_name => "Austen",
110
+ :member_first_name => "Jane",
111
+ :member_dob => "1955-12-14"
112
+ }
113
+
114
+ coverage = Eligible::Coverage.get(params)
115
+ coverage.to_hash # returns all coverage info for the request
116
+ coverage.error # return error, if any
117
+ ```
118
+
119
+ ## Demographic
120
+
121
+ ### Reference
122
+
123
+ [https://eligibleapi.com/rest-api-v1-1/demographic-all#apiDemographics](https://eligibleapi.com/rest-api-v1-1/demographic-all#apiDemographics)
124
+
125
+ ### Fetch demographics for a patient
35
126
 
36
127
  ```ruby
37
128
  params = {
@@ -47,18 +138,52 @@ params = {
47
138
  }
48
139
 
49
140
  demographic = Eligible::Demographic.get(params)
50
- demographic.all # returns all fields for the demographic, per demographic/all
141
+ demographic.to_hash # returns all coverage info for the request
142
+ demographic.error # return error, if any
51
143
  ```
52
144
 
145
+ ## Medicare
146
+
147
+ ### Reference
53
148
 
149
+ [https://eligibleapi.com/rest-api-v1-1/medicare#apiMedicare](https://eligibleapi.com/rest-api-v1-1/medicare#apiMedicare)
54
150
 
55
- ##Batch post Demographic
56
- **POST** `https://gds.eligibleapi.com/v1.1/demographic/all/batch.json`
151
+ ### Retrieve eligibility & benefit information from CMS Medicare for a patient.
57
152
 
58
153
  ```ruby
154
+ params = {
155
+ :payer_id => "000001",
156
+ :provider_last_name => "Last",
157
+ :provider_first_name => "First",
158
+ :provider_npi => "12345678",
159
+ :member_id => "12345678",
160
+ :member_last_name => "Austen",
161
+ :member_first_name => "Jane",
162
+ :member_dob => "1955-12-14"
163
+ }
164
+ medicare = Eligible::Medicare.get(params)
165
+ medicare.to_hash # returns all coverage info for the request
166
+ medicare.error # return error, if any
59
167
 
60
- Eligible.test = true
168
+ ```
169
+
170
+ ## Batch API
171
+
172
+ ### Reference
173
+
174
+ [https://github.com/EligibleAPI/tools/wiki/Batch-Api](https://github.com/EligibleAPI/tools/wiki/Batch-Api)
175
+
176
+ Its important to notice that all the batch api calls, will notify the results by a webhook.
177
+
178
+ You can setup a webhook in your [Dashboard](https://www.eligibleapi.com/dashboard/webhooks).
179
+
180
+ All the batch api calls, returns a *reference_id* value and the *number_of_items* submitted.
181
+
182
+ ### Coverage Batch API
183
+
184
+ ```ruby
61
185
  params = {
186
+ "api_key"=>"81ef98e5-4584-19fb-0d8c-6e987b95d695",
62
187
  "parameters"=>[
63
188
  {
64
189
  "id"=>1,
@@ -86,41 +211,16 @@ params = {
86
211
  }
87
212
  ]
88
213
  }
89
- Eligible::Demographic.batch_post params
90
- # return
91
- Eligible::EligibleObject:0x000000058914a8 @api_key="XXX",
92
- @values={:reference_id=>"1ea06414-2132-52e1-1580-aea92f37720b",
93
- :number_of_items=>2},
94
- @unsaved_values=#<Set: {}>,
95
- @transient_values=#<Set: {}>>
96
- ```
97
-
98
- ### Retrieve Coverage object
99
-
100
- ```ruby
101
- params = {
102
- :service_type => "33",
103
- :network => "OUT",
104
- :payer_id => "000001",
105
- :provider_last_name => "Last",
106
- :provider_first_name => "First",
107
- :provider_npi => "12345678",
108
- :member_id => "12345678",
109
- :member_last_name => "Austen",
110
- :member_first_name => "Jane",
111
- :member_dob => "1955-12-14"
112
- }
113
214
 
114
- coverage = Eligible::Coverage.get(params)
115
- coverage.all # returns all coverage info for the request
215
+ result = Eligible::Coverage.batch_post(params)
216
+ result.to_hash # returns the api call results
217
+ result.error # return error, if any
116
218
  ```
117
- ##Batch post Coverage
118
- **POST** `https://gds.eligibleapi.com/v1.1/coverage/all/batch.json`
219
+
220
+ ### Demographic Batch API
119
221
 
120
222
  ```ruby
121
- Eligible.test = true
122
223
  params = {
123
- "api_key"=>"81ef98e5-4584-19fb-0d8c-6e987b95d695",
124
224
  "parameters"=>[
125
225
  {
126
226
  "id"=>1,
@@ -148,21 +248,14 @@ params = {
148
248
  }
149
249
  ]
150
250
  }
151
-
152
- Eligible::Coverage.batch_post params
153
- #Return:
154
- Eligible::EligibleObject:0x000000059a11b8 @api_key="XXX",
155
- @values={:reference_id=>"1ea06414-2132-52e1-1580-aea92f37720b",
156
- :number_of_items=>2},
157
- @unsaved_values=#<Set: {}>,
158
- @transient_values=#<Set: {}>>
159
-
251
+ result = Eligible::Demographic.batch_post(params)
252
+ result.to_hash # returns the api call results
253
+ result.error # return error, if any
160
254
  ```
161
- ##Batch post Medicare
162
- **POST** `https://gds.eligibleapi.com/v1.1/medicare/coverage/batch.json`
255
+
256
+ ### Medicare Batch API
163
257
 
164
258
  ```ruby
165
- Eligible.test = true
166
259
  params = {
167
260
  "parameters"=>[
168
261
  {
@@ -189,19 +282,20 @@ params = {
189
282
  }
190
283
 
191
284
  Eligible::Coverage.batch_medicare_post params
192
- #Return:
193
- Eligible::EligibleObject:0x00000004db0188 @api_key="72cbca2e-1da7-b030-d2e6-a05cbae11c1b",
194
- @values={:reference_id=>"1ea06414-2132-52e1-1580-aea92f37720b",
195
- :number_of_items=>2},
196
- @unsaved_values=#<Set: {}>,
197
- @transient_values=#<Set: {}>>
285
+ result.to_hash # returns the api call results
286
+ result.error # return error, if any
198
287
  ```
199
288
 
289
+ ## Enrollment
200
290
 
291
+ ### Reference
201
292
 
293
+ [https://github.com/EligibleAPI/tools/wiki/Enrollments](https://github.com/EligibleAPI/tools/wiki/Enrollments)
202
294
 
295
+ Its important to notice than an Enrollment Request can have multiple Enrollment NPIs, and that the API has been designed
296
+ in a way that you can repeat the enrollment for a NPI multiple times across different Enrollment request.
203
297
 
204
- ### Post Enrollment object
298
+ ### Create an Enrollment Request
205
299
 
206
300
  ```ruby
207
301
  params = {
@@ -234,21 +328,34 @@ params = {
234
328
  "00282"
235
329
  ]
236
330
  }
331
+ result = Eligible::Enrollment.post(params)
332
+ result.to_hash # returns the api call results
333
+ result.error # return error, if any
237
334
 
238
- Eligible::Enrollment.post(params)
239
335
  ```
240
336
 
241
- ### Retrieve Enrollment object
337
+ ### Retrieve an Enrollment Request
242
338
 
243
339
  ```ruby
244
- params = { "enrollment_request_id" => "123" }
340
+ params = { :enrollment_request_id => 123 }
341
+ enrollment = Eligible::Enrollment.get(params)
342
+ enrollment.to_hash # return the api call results
343
+ enrollment.error # return error, if any
344
+ enrollment.enrollment_npis # quick access to the enrollment npis within the enrollment request object
245
345
 
346
+ params = { :npis => %w(123 456 789).join(',') }
246
347
  enrollment = Eligible::Enrollment.get(params)
247
348
 
248
- enrollment.enrollment_npis # returns a list of enroll the provider(s)
249
349
  ```
250
350
 
251
- ### Post Claim object
351
+
352
+ ## Claims
353
+
354
+ ### Reference
355
+
356
+ [https://github.com/EligibleAPI/tools/wiki/Claims](https://github.com/EligibleAPI/tools/wiki/Claims)
357
+
358
+ ### Create Claim object
252
359
 
253
360
  ```ruby
254
361
  params = {
@@ -318,7 +425,9 @@ params = {
318
425
  }
319
426
  }
320
427
 
321
- Eligible::Claim.post(params)
428
+ result = Eligible::Claim.post(params)
429
+ enrollment.to_hash # return the api call results
430
+ enrollment.error # return error, if any
322
431
  ```
323
432
 
324
433
  ### Retrieve all Claim objects/acknowledgments
@@ -337,6 +446,12 @@ params = {
337
446
  claim = Eligible::Claim.get(params) # returns acknoweldement information on an individual claim identified by its reference_id
338
447
  ```
339
448
 
449
+ ## Payment Status
450
+
451
+ ### Reference
452
+
453
+ [https://eligibleapi.com/rest-api-v1-1/beta/payment-status#apiPaymentStatus](https://eligibleapi.com/rest-api-v1-1/beta/payment-status#apiPaymentStatus)
454
+
340
455
  ### Retrieve Payment status
341
456
 
342
457
  ```ruby
@@ -345,18 +460,84 @@ params = { :reference_id => "89898989" }
345
460
  Eligible::Payment.get(params) # returns status information on an individual payment identified by its reference_id
346
461
  ```
347
462
 
463
+ ## X12
464
+
465
+ ### Reference
348
466
 
467
+ [https://github.com/EligibleAPI/tools/wiki/X12](https://github.com/EligibleAPI/tools/wiki/X12)
349
468
 
350
469
  ### X12 post
351
470
 
352
471
  ```ruby
353
- param = "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~"
472
+ 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~" }
473
+
474
+ result = Eligible::X12.post(params)
475
+ ```
476
+
477
+ ## Tickets
478
+
479
+ ### Reference
480
+
481
+ [https://github.com/EligibleAPI/tools/wiki/Tickets](https://github.com/EligibleAPI/tools/wiki/Tickets)
482
+
483
+ ### Create a ticket
484
+
485
+ ```ruby
486
+ params = {:priority => 'normal',
487
+ :title => 'TITLE',
488
+ :notification_email => 'admin@eligibleapi.com',
489
+ :body => 'Your comment'}
490
+ result = Eligible::Ticket.create params
491
+ result.to_hash # return the api call results
492
+ enrollment.error # return error, if any
493
+ ```
494
+
495
+ ### Get a ticket
496
+
497
+ ```ruby
498
+ ticket = Eligible::Ticket.get(:id => 1)
499
+ ticket.to_hash # return the api call result
500
+ ticket.error # return error, if any
501
+ ```
502
+
503
+ ### Update a ticket
504
+
505
+ ```ruby
506
+ params = { :id => 1,
507
+ :priority => 'normal',
508
+ :title => 'TITLE',
509
+ :notification_email => 'your_email@test.com',
510
+ :body => 'Your comment'}
511
+ result = Eligible::Ticket.update(params)
512
+ result.to_hash # return the api call results
513
+ enrollment.error # return error, if any
514
+ ```
515
+
516
+ ### Get comments for a ticket
517
+
518
+ ```ruby
519
+ comments = Eligible::Ticket.get(:id => 1)
520
+ comments.to_hash # return the api call result
521
+ comments.error # return error, if any
522
+
523
+ ```
524
+
525
+ ### Delete a ticket
526
+ ```ruby
527
+ result = Eligible::Ticket.delete(:id => 1)
528
+ comments.to_hash # return the api call result
529
+ comments.error # return error, if any
530
+ ```
531
+
532
+
533
+ ### Get all tickets
354
534
 
355
- Eligible::X12.post param # <Net::HTTPOK 200 OK readbody=true>
535
+ ```ruby
536
+ Eligible::Ticket.all
356
537
  ```
357
538
 
358
539
 
359
- ## Tests
540
+ # Tests
360
541
 
361
542
  You can run tests with
362
543
 
@@ -376,10 +557,25 @@ If you do send a pull request, please add passing tests for the new feature/fix.
376
557
  6. Create new Pull Request
377
558
 
378
559
  ## Changelog
560
+
561
+ #### 2.4
562
+ - Refactoring Code
563
+ - More test cases
564
+ - Removed legacy endpoint for *plans*, *coverage* should be used instead.
565
+ - Removed legacy endpoint for *services*, *coverage* should be used instead.
566
+ - List of contributors and documentation updated.
567
+ - Gemfile updated, dependencies updated as well.
568
+ - Removed json gem in favor of multi_json
569
+ - Fixed the code to let the users make x12 requests at anytime.
570
+ - New endpoint for Tickets
571
+
572
+ #### 2.3
573
+ - New endpoint for Batch
574
+
379
575
  #### 2.2
380
576
  - New endpoint for x12 POST
381
- #### 2.1
382
577
 
578
+ #### 2.1
383
579
  - New endpoint for payment status
384
580
 
385
581
  #### 2.0