vericred_client 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
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