vericred_client 0.0.8 → 0.0.9

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -6
  3. data/docs/CountyBulk.md +2 -0
  4. data/docs/Plan.md +3 -0
  5. data/docs/PlanSearchResult.md +3 -0
  6. data/docs/PlanShowResponse.md +8 -0
  7. data/docs/PlansApi.md +56 -0
  8. data/docs/ProvidersApi.md +8 -2
  9. data/docs/RequestPlanFind.md +2 -1
  10. data/docs/RequestPlanFindDrugPackage.md +8 -0
  11. data/docs/RequestProvidersSearch.md +1 -0
  12. data/docs/ServiceArea.md +10 -0
  13. data/docs/ServiceAreaZipCounty.md +10 -0
  14. data/lib/vericred_client/api/plans_api.rb +56 -0
  15. data/lib/vericred_client/api/providers_api.rb +6 -0
  16. data/lib/vericred_client/api_client.rb +9 -3
  17. data/lib/vericred_client/configuration.rb +22 -1
  18. data/lib/vericred_client/models/county_bulk.rb +24 -4
  19. data/lib/vericred_client/models/plan.rb +31 -1
  20. data/lib/vericred_client/models/plan_search_result.rb +31 -1
  21. data/lib/vericred_client/models/plan_show_response.rb +307 -0
  22. data/lib/vericred_client/models/request_plan_find.rb +14 -2
  23. data/lib/vericred_client/models/request_plan_find_drug_package.rb +307 -0
  24. data/lib/vericred_client/models/request_providers_search.rb +11 -1
  25. data/lib/vericred_client/models/service_area.rb +327 -0
  26. data/lib/vericred_client/models/{plan_zip_county.rb → service_area_zip_county.rb} +14 -14
  27. data/lib/vericred_client/version.rb +1 -1
  28. data/lib/vericred_client.rb +4 -1
  29. data/spec/api/plans_api_spec.rb +12 -0
  30. data/spec/api/providers_api_spec.rb +2 -0
  31. data/spec/api_client_spec.rb +20 -79
  32. data/spec/configuration_spec.rb +11 -6
  33. data/spec/models/county_bulk_spec.rb +12 -0
  34. data/spec/models/plan_search_result_spec.rb +18 -0
  35. data/spec/models/plan_show_response_spec.rb +160 -0
  36. data/spec/models/plan_spec.rb +18 -0
  37. data/spec/models/request_plan_find_drug_package_spec.rb +160 -0
  38. data/spec/models/request_plan_find_spec.rb +6 -0
  39. data/spec/models/request_providers_search_spec.rb +6 -0
  40. data/spec/models/service_area_spec.rb +172 -0
  41. data/spec/models/{plan_zip_county_spec.rb → service_area_zip_county_spec.rb} +8 -8
  42. metadata +18 -6
  43. data/docs/PlanZipCounty.md +0 -10
@@ -132,13 +132,13 @@ require 'date'
132
132
 
133
133
  module VericredClient
134
134
 
135
- class PlanZipCounty
136
- # Foreign key to plan
137
- attr_accessor :plan_id
138
-
135
+ class ServiceAreaZipCounty
139
136
  # Foreign key to county
140
137
  attr_accessor :county_id
141
138
 
139
+ # Foreign key to service area
140
+ attr_accessor :service_area_id
141
+
142
142
  # Foreign key to zip code
143
143
  attr_accessor :zip_code_id
144
144
 
@@ -146,8 +146,8 @@ module VericredClient
146
146
  # Attribute mapping from ruby-style variable name to JSON key.
147
147
  def self.attribute_map
148
148
  {
149
- :'plan_id' => :'plan_id',
150
149
  :'county_id' => :'county_id',
150
+ :'service_area_id' => :'service_area_id',
151
151
  :'zip_code_id' => :'zip_code_id'
152
152
  }
153
153
  end
@@ -155,9 +155,9 @@ module VericredClient
155
155
  # Attribute type mapping.
156
156
  def self.swagger_types
157
157
  {
158
- :'plan_id' => :'Integer',
159
- :'county_id' => :'Integer',
160
- :'zip_code_id' => :'Integer'
158
+ :'county_id' => :'String',
159
+ :'service_area_id' => :'String',
160
+ :'zip_code_id' => :'String'
161
161
  }
162
162
  end
163
163
 
@@ -169,14 +169,14 @@ module VericredClient
169
169
  # convert string to symbol for hash key
170
170
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
171
171
 
172
- if attributes.has_key?(:'plan_id')
173
- self.plan_id = attributes[:'plan_id']
174
- end
175
-
176
172
  if attributes.has_key?(:'county_id')
177
173
  self.county_id = attributes[:'county_id']
178
174
  end
179
175
 
176
+ if attributes.has_key?(:'service_area_id')
177
+ self.service_area_id = attributes[:'service_area_id']
178
+ end
179
+
180
180
  if attributes.has_key?(:'zip_code_id')
181
181
  self.zip_code_id = attributes[:'zip_code_id']
182
182
  end
@@ -201,8 +201,8 @@ module VericredClient
201
201
  def ==(o)
202
202
  return true if self.equal?(o)
203
203
  self.class == o.class &&
204
- plan_id == o.plan_id &&
205
204
  county_id == o.county_id &&
205
+ service_area_id == o.service_area_id &&
206
206
  zip_code_id == o.zip_code_id
207
207
  end
208
208
 
@@ -215,7 +215,7 @@ module VericredClient
215
215
  # Calculates hash code according to all attributes.
216
216
  # @return [Fixnum] Hash code
217
217
  def hash
218
- [plan_id, county_id, zip_code_id].hash
218
+ [county_id, service_area_id, zip_code_id].hash
219
219
  end
220
220
 
221
221
  # Builds the object from hash
@@ -129,5 +129,5 @@ limitations under the License.
129
129
  =end
130
130
 
131
131
  module VericredClient
132
- VERSION = "0.0.8"
132
+ VERSION = "0.0.9"
133
133
  end
@@ -154,7 +154,7 @@ require 'vericred_client/models/plan_county'
154
154
  require 'vericred_client/models/plan_county_bulk'
155
155
  require 'vericred_client/models/plan_search_response'
156
156
  require 'vericred_client/models/plan_search_result'
157
- require 'vericred_client/models/plan_zip_county'
157
+ require 'vericred_client/models/plan_show_response'
158
158
  require 'vericred_client/models/pricing'
159
159
  require 'vericred_client/models/provider'
160
160
  require 'vericred_client/models/provider_show_response'
@@ -162,8 +162,11 @@ require 'vericred_client/models/providers_search_response'
162
162
  require 'vericred_client/models/rating_area'
163
163
  require 'vericred_client/models/request_plan_find'
164
164
  require 'vericred_client/models/request_plan_find_applicant'
165
+ require 'vericred_client/models/request_plan_find_drug_package'
165
166
  require 'vericred_client/models/request_plan_find_provider'
166
167
  require 'vericred_client/models/request_providers_search'
168
+ require 'vericred_client/models/service_area'
169
+ require 'vericred_client/models/service_area_zip_county'
167
170
  require 'vericred_client/models/state'
168
171
  require 'vericred_client/models/zip_code'
169
172
  require 'vericred_client/models/zip_counties_response'
@@ -162,4 +162,16 @@ describe 'PlansApi' do
162
162
  end
163
163
  end
164
164
 
165
+ # unit tests for show_plan
166
+ # Show Plan
167
+ # Show the details of an individual Plan. This includes deductibles, maximums out of pocket, and co-pay/coinsurance for benefits
168
+ # @param [Hash] opts the optional parameters
169
+ # @option opts [Integer] :year Plan year (defaults to current year)
170
+ # @return [PlanShowResponse]
171
+ describe 'show_plan test' do
172
+ it "should work" do
173
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
174
+ end
175
+ end
176
+
165
177
  end
@@ -155,6 +155,8 @@ describe 'ProvidersApi' do
155
155
  # To retrieve a specific provider, just perform a GET using his NPI number
156
156
  # @param npi NPI number
157
157
  # @param [Hash] opts the optional parameters
158
+ # @option opts [String] :year Only show plan ids for the given year
159
+ # @option opts [String] :state Only show plan ids for the given state
158
160
  # @return [ProviderShowResponse]
159
161
  describe 'get_provider test' do
160
162
  it "should work" do
@@ -169,50 +169,22 @@ describe VericredClient::ApiClient do
169
169
  end
170
170
  end
171
171
 
172
- describe "#update_params_for_auth!" do
173
- it "sets header api-key parameter with prefix" do
174
- VericredClient.configure do |c|
175
- c.api_key_prefix['api_key'] = 'PREFIX'
176
- c.api_key['api_key'] = 'special-key'
177
- end
178
-
179
- api_client = VericredClient::ApiClient.new
180
-
181
- config2 = VericredClient::Configuration.new do |c|
182
- c.api_key_prefix['api_key'] = 'PREFIX2'
183
- c.api_key['api_key'] = 'special-key2'
184
- end
185
- api_client2 = VericredClient::ApiClient.new(config2)
186
-
187
- auth_names = ['api_key', 'unknown']
172
+ describe "params_encoding in #build_request" do
173
+ let(:config) { VericredClient::Configuration.new }
174
+ let(:api_client) { VericredClient::ApiClient.new(config) }
188
175
 
189
- header_params = {}
190
- query_params = {}
191
- api_client.update_params_for_auth! header_params, query_params, auth_names
192
- expect(header_params).to eq({'api_key' => 'PREFIX special-key'})
193
- expect(query_params).to eq({})
176
+ it "defaults to nil" do
177
+ expect(VericredClient::Configuration.default.params_encoding).to eq(nil)
178
+ expect(config.params_encoding).to eq(nil)
194
179
 
195
- header_params = {}
196
- query_params = {}
197
- api_client2.update_params_for_auth! header_params, query_params, auth_names
198
- expect(header_params).to eq({'api_key' => 'PREFIX2 special-key2'})
199
- expect(query_params).to eq({})
180
+ request = api_client.build_request(:get, '/test')
181
+ expect(request.options[:params_encoding]).to eq(nil)
200
182
  end
201
183
 
202
- it "sets header api-key parameter without prefix" do
203
- VericredClient.configure do |c|
204
- c.api_key_prefix['api_key'] = nil
205
- c.api_key['api_key'] = 'special-key'
206
- end
207
-
208
- api_client = VericredClient::ApiClient.new
209
-
210
- header_params = {}
211
- query_params = {}
212
- auth_names = ['api_key', 'unknown']
213
- api_client.update_params_for_auth! header_params, query_params, auth_names
214
- expect(header_params).to eq({'api_key' => 'special-key'})
215
- expect(query_params).to eq({})
184
+ it "can be customized" do
185
+ config.params_encoding = :multi
186
+ request = api_client.build_request(:get, '/test')
187
+ expect(request.options[:params_encoding]).to eq(:multi)
216
188
  end
217
189
  end
218
190
 
@@ -262,49 +234,18 @@ describe VericredClient::ApiClient do
262
234
  expect(data).to be_instance_of(Hash)
263
235
  expect(data).to eq({:message => 'Hello'})
264
236
  end
265
-
266
- it "handles Hash<String, Pet>" do
267
- api_client = VericredClient::ApiClient.new
268
- headers = {'Content-Type' => 'application/json'}
269
- response = double('response', headers: headers, body: '{"pet": {"id": 1}}')
270
- data = api_client.deserialize(response, 'Hash<String, Pet>')
271
- expect(data).to be_instance_of(Hash)
272
- expect(data.keys).to eq([:pet])
273
-
274
- pet = data[:pet]
275
- expect(pet).to be_instance_of(VericredClient::Pet)
276
- expect(pet.id).to eq(1)
277
- end
278
-
279
- it "handles Hash<String, Hash<String, Pet>>" do
280
- api_client = VericredClient::ApiClient.new
281
- headers = {'Content-Type' => 'application/json'}
282
- response = double('response', headers: headers, body: '{"data": {"pet": {"id": 1}}}')
283
- result = api_client.deserialize(response, 'Hash<String, Hash<String, Pet>>')
284
- expect(result).to be_instance_of(Hash)
285
- expect(result.keys).to match_array([:data])
286
-
287
- data = result[:data]
288
- expect(data).to be_instance_of(Hash)
289
- expect(data.keys).to match_array([:pet])
290
-
291
- pet = data[:pet]
292
- expect(pet).to be_instance_of(VericredClient::Pet)
293
- expect(pet.id).to eq(1)
294
- end
295
237
  end
296
238
 
297
239
  describe "#object_to_hash" do
298
240
  it "ignores nils and includes empty arrays" do
299
- api_client = VericredClient::ApiClient.new
300
- pet = VericredClient::Pet.new
301
- pet.id = 1
302
- pet.name = ''
303
- pet.status = nil
304
- pet.photo_urls = nil
305
- pet.tags = []
306
- expected = {id: 1, name: '', tags: []}
307
- expect(api_client.object_to_hash(pet)).to eq(expected)
241
+ # uncomment below to test object_to_hash for model
242
+ #api_client = VericredClient::ApiClient.new
243
+ #_model = VericredClient::ModelName.new
244
+ # update the model attribute below
245
+ #_model.id = 1
246
+ # update the expected value (hash) below
247
+ #expected = {id: 1, name: '', tags: []}
248
+ #expect(api_client.object_to_hash(_model)).to eq(expected)
308
249
  end
309
250
  end
310
251
 
@@ -134,21 +134,26 @@ describe VericredClient::Configuration do
134
134
  let(:config) { VericredClient::Configuration.default }
135
135
 
136
136
  before(:each) do
137
- VericredClient.configure do |c|
138
- c.host = 'petstore.swagger.io'
139
- c.base_path = 'v2'
140
- end
137
+ # uncomment below to setup host and base_path
138
+ #require 'URI'
139
+ #uri = URI.parse("https://api.vericred.com/")
140
+ #VericredClient.configure do |c|
141
+ # c.host = uri.host
142
+ # c.base_path = uri.path
143
+ #end
141
144
  end
142
145
 
143
146
  describe '#base_url' do
144
147
  it 'should have the default value' do
145
- expect(config.base_url).to eq('http://petstore.swagger.io/v2')
148
+ # uncomment below to test default value of the base path
149
+ #expect(config.base_url).to eq("https://api.vericred.com/")
146
150
  end
147
151
 
148
152
  it 'should remove trailing slashes' do
149
153
  [nil, '', '/', '//'].each do |base_path|
150
154
  config.base_path = base_path
151
- expect(config.base_url).to eq('http://petstore.swagger.io')
155
+ # uncomment below to test trailing slashes
156
+ #expect(config.base_url).to eq("https://api.vericred.com/")
152
157
  end
153
158
  end
154
159
  end
@@ -168,5 +168,17 @@ describe 'CountyBulk' do
168
168
  end
169
169
  end
170
170
 
171
+ describe 'test attribute "rating_area_count"' do
172
+ it 'should work' do
173
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
174
+ end
175
+ end
176
+
177
+ describe 'test attribute "service_area_count"' do
178
+ it 'should work' do
179
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
180
+ end
181
+ end
182
+
171
183
  end
172
184
 
@@ -222,6 +222,12 @@ describe 'PlanSearchResult' do
222
222
  end
223
223
  end
224
224
 
225
+ describe 'test attribute "display_name"' do
226
+ it 'should work' do
227
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
228
+ end
229
+ end
230
+
225
231
  describe 'test attribute "dp_rider"' do
226
232
  it 'should work' do
227
233
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -312,6 +318,12 @@ describe 'PlanSearchResult' do
312
318
  end
313
319
  end
314
320
 
321
+ describe 'test attribute "hsa_eligible"' do
322
+ it 'should work' do
323
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
324
+ end
325
+ end
326
+
315
327
  describe 'test attribute "id"' do
316
328
  it 'should work' do
317
329
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -510,6 +522,12 @@ describe 'PlanSearchResult' do
510
522
  end
511
523
  end
512
524
 
525
+ describe 'test attribute "service_area_id"' do
526
+ it 'should work' do
527
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
528
+ end
529
+ end
530
+
513
531
  describe 'test attribute "skilled_nursing"' do
514
532
  it 'should work' do
515
533
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -0,0 +1,160 @@
1
+ =begin
2
+ #Vericred API
3
+
4
+ #Vericred's API allows you to search for Health Plans that a specific doctor
5
+ accepts.
6
+
7
+ ## Getting Started
8
+
9
+ Visit our [Developer Portal](https://vericred.3scale.net) to
10
+ create an account.
11
+
12
+ Once you have created an account, you can create one Application for
13
+ Production and another for our Sandbox (select the appropriate Plan when
14
+ you create the Application).
15
+
16
+ ## Authentication
17
+
18
+ To authenticate, pass the API Key you created in the Developer Portal as
19
+ a `Vericred-Api-Key` header.
20
+
21
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
22
+
23
+ ## Versioning
24
+
25
+ Vericred's API default to the latest version. However, if you need a specific
26
+ version, you can request it with an `Accept-Version` header.
27
+
28
+ The current version is `v3`. Previous versions are `v1` and `v2`.
29
+
30
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' -H 'Accept-Version: v2' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
31
+
32
+ ## Pagination
33
+
34
+ Endpoints that accept `page` and `per_page` parameters are paginated. They expose
35
+ four additional fields that contain data about your position in the response,
36
+ namely `Total`, `Per-Page`, `Link`, and `Page` as described in [RFC-5988](https://tools.ietf.org/html/rfc5988).
37
+
38
+ For example, to display 5 results per page and view the second page of a
39
+ `GET` to `/networks`, your final request would be `GET /networks?....page=2&per_page=5`.
40
+
41
+ ## Sideloading
42
+
43
+ When we return multiple levels of an object graph (e.g. `Provider`s and their `State`s
44
+ we sideload the associated data. In this example, we would provide an Array of
45
+ `State`s and a `state_id` for each provider. This is done primarily to reduce the
46
+ payload size since many of the `Provider`s will share a `State`
47
+
48
+ ```
49
+ {
50
+ providers: [{ id: 1, state_id: 1}, { id: 2, state_id: 1 }],
51
+ states: [{ id: 1, code: 'NY' }]
52
+ }
53
+ ```
54
+
55
+ If you need the second level of the object graph, you can just match the
56
+ corresponding id.
57
+
58
+ ## Selecting specific data
59
+
60
+ All endpoints allow you to specify which fields you would like to return.
61
+ This allows you to limit the response to contain only the data you need.
62
+
63
+ For example, let's take a request that returns the following JSON by default
64
+
65
+ ```
66
+ {
67
+ provider: {
68
+ id: 1,
69
+ name: 'John',
70
+ phone: '1234567890',
71
+ field_we_dont_care_about: 'value_we_dont_care_about'
72
+ },
73
+ states: [{
74
+ id: 1,
75
+ name: 'New York',
76
+ code: 'NY',
77
+ field_we_dont_care_about: 'value_we_dont_care_about'
78
+ }]
79
+ }
80
+ ```
81
+
82
+ To limit our results to only return the fields we care about, we specify the
83
+ `select` query string parameter for the corresponding fields in the JSON
84
+ document.
85
+
86
+ In this case, we want to select `name` and `phone` from the `provider` key,
87
+ so we would add the parameters `select=provider.name,provider.phone`.
88
+ We also want the `name` and `code` from the `states` key, so we would
89
+ add the parameters `select=states.name,staes.code`. The id field of
90
+ each document is always returned whether or not it is requested.
91
+
92
+ Our final request would be `GET /providers/12345?select=provider.name,provider.phone,states.name,states.code`
93
+
94
+ The response would be
95
+
96
+ ```
97
+ {
98
+ provider: {
99
+ id: 1,
100
+ name: 'John',
101
+ phone: '1234567890'
102
+ },
103
+ states: [{
104
+ id: 1,
105
+ name: 'New York',
106
+ code: 'NY'
107
+ }]
108
+ }
109
+ ```
110
+
111
+
112
+
113
+ OpenAPI spec version: 1.0.0
114
+
115
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
116
+
117
+ Licensed under the Apache License, Version 2.0 (the "License");
118
+ you may not use this file except in compliance with the License.
119
+ You may obtain a copy of the License at
120
+
121
+ http://www.apache.org/licenses/LICENSE-2.0
122
+
123
+ Unless required by applicable law or agreed to in writing, software
124
+ distributed under the License is distributed on an "AS IS" BASIS,
125
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
126
+ See the License for the specific language governing permissions and
127
+ limitations under the License.
128
+
129
+ =end
130
+
131
+ require 'spec_helper'
132
+ require 'json'
133
+ require 'date'
134
+
135
+ # Unit tests for VericredClient::PlanShowResponse
136
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
137
+ # Please update as you see appropriate
138
+ describe 'PlanShowResponse' do
139
+ before do
140
+ # run before each test
141
+ @instance = VericredClient::PlanShowResponse.new
142
+ end
143
+
144
+ after do
145
+ # run after each test
146
+ end
147
+
148
+ describe 'test an instance of PlanShowResponse' do
149
+ it 'should create an instact of PlanShowResponse' do
150
+ expect(@instance).to be_instance_of(VericredClient::PlanShowResponse)
151
+ end
152
+ end
153
+ describe 'test attribute "plan"' do
154
+ it 'should work' do
155
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
156
+ end
157
+ end
158
+
159
+ end
160
+
@@ -222,6 +222,12 @@ describe 'Plan' do
222
222
  end
223
223
  end
224
224
 
225
+ describe 'test attribute "display_name"' do
226
+ it 'should work' do
227
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
228
+ end
229
+ end
230
+
225
231
  describe 'test attribute "dp_rider"' do
226
232
  it 'should work' do
227
233
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -312,6 +318,12 @@ describe 'Plan' do
312
318
  end
313
319
  end
314
320
 
321
+ describe 'test attribute "hsa_eligible"' do
322
+ it 'should work' do
323
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
324
+ end
325
+ end
326
+
315
327
  describe 'test attribute "id"' do
316
328
  it 'should work' do
317
329
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -516,6 +528,12 @@ describe 'Plan' do
516
528
  end
517
529
  end
518
530
 
531
+ describe 'test attribute "service_area_id"' do
532
+ it 'should work' do
533
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
534
+ end
535
+ end
536
+
519
537
  describe 'test attribute "skilled_nursing"' do
520
538
  it 'should work' do
521
539
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers