vericred_client 0.0.3 → 0.0.4

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -20
  3. data/docs/Applicant.md +2 -2
  4. data/docs/{InlineResponse2001.md → Base.md} +2 -2
  5. data/docs/Carrier.md +1 -1
  6. data/docs/County.md +3 -3
  7. data/docs/CountyBulk.md +10 -0
  8. data/docs/Drug.md +2 -1
  9. data/docs/DrugCoverage.md +4 -4
  10. data/docs/DrugCoverageResponse.md +9 -0
  11. data/docs/DrugPackage.md +9 -0
  12. data/docs/DrugSearchResponse.md +9 -0
  13. data/docs/DrugsApi.md +59 -0
  14. data/docs/Meta.md +8 -0
  15. data/docs/Plan.md +22 -6
  16. data/docs/PlanCounty.md +1 -1
  17. data/docs/PlanCountyBulk.md +10 -0
  18. data/docs/PlanFindResponse.md +9 -0
  19. data/docs/PlanSearchResult.md +26 -8
  20. data/docs/PlansApi.md +11 -11
  21. data/docs/Pricing.md +7 -1
  22. data/docs/Provider.md +9 -6
  23. data/docs/ProviderResponse.md +10 -0
  24. data/docs/ProvidersApi.md +19 -21
  25. data/docs/RatingArea.md +2 -2
  26. data/docs/RequestPlanFind.md +15 -0
  27. data/docs/State.md +4 -4
  28. data/docs/ZipCountiesApi.md +7 -8
  29. data/docs/ZipCountyBulk.md +11 -0
  30. data/docs/ZipCountyResponse.md +10 -0
  31. data/lib/vericred_client.rb +14 -6
  32. data/lib/vericred_client/api/{drug_coverage_api.rb → drugs_api.rb} +25 -19
  33. data/lib/vericred_client/api/plans_api.rb +14 -16
  34. data/lib/vericred_client/api/providers_api.rb +29 -29
  35. data/lib/vericred_client/api/zip_counties_api.rb +12 -12
  36. data/lib/vericred_client/api_client.rb +1 -1
  37. data/lib/vericred_client/api_error.rb +1 -1
  38. data/lib/vericred_client/models/applicant.rb +14 -12
  39. data/lib/vericred_client/models/{inline_response_200_1.rb → base.rb} +10 -9
  40. data/lib/vericred_client/models/carrier.rb +15 -15
  41. data/lib/vericred_client/models/carrier_subsidiary.rb +1 -1
  42. data/lib/vericred_client/models/county.rb +18 -14
  43. data/lib/vericred_client/models/county_bulk.rb +318 -0
  44. data/lib/vericred_client/models/drug.rb +27 -15
  45. data/lib/vericred_client/models/drug_coverage.rb +38 -32
  46. data/lib/vericred_client/models/drug_coverage_response.rb +310 -0
  47. data/lib/vericred_client/models/drug_package.rb +308 -0
  48. data/lib/vericred_client/models/drug_search_response.rb +310 -0
  49. data/lib/vericred_client/models/meta.rb +298 -0
  50. data/lib/vericred_client/models/plan.rb +196 -22
  51. data/lib/vericred_client/models/plan_county.rb +15 -15
  52. data/lib/vericred_client/models/plan_county_bulk.rb +318 -0
  53. data/lib/vericred_client/models/{inline_response_200.rb → plan_find_response.rb} +13 -11
  54. data/lib/vericred_client/models/plan_search_result.rb +236 -42
  55. data/lib/vericred_client/models/pricing.rb +63 -3
  56. data/lib/vericred_client/models/provider.rb +51 -9
  57. data/lib/vericred_client/models/provider_response.rb +322 -0
  58. data/lib/vericred_client/models/rating_area.rb +5 -5
  59. data/lib/vericred_client/models/{query.rb → request_plan_find.rb} +14 -6
  60. data/lib/vericred_client/models/state.rb +29 -25
  61. data/lib/vericred_client/models/zip_code.rb +1 -1
  62. data/lib/vericred_client/models/zip_county.rb +1 -1
  63. data/lib/vericred_client/models/zip_county_bulk.rb +328 -0
  64. data/lib/vericred_client/models/{inline_response_200_2.rb → zip_county_response.rb} +20 -17
  65. data/lib/vericred_client/version.rb +2 -2
  66. data/spec/api/{drug_coverage_api_spec.rb → drugs_api_spec.rb} +14 -17
  67. data/spec/api/plans_api_spec.rb +7 -69
  68. data/spec/api/providers_api_spec.rb +12 -28
  69. data/spec/api/zip_counties_api_spec.rb +6 -13
  70. metadata +31 -15
  71. data/docs/DrugCoverageApi.md +0 -54
  72. data/docs/InlineResponse200.md +0 -9
  73. data/docs/InlineResponse2002.md +0 -10
  74. data/docs/Query.md +0 -15
@@ -116,7 +116,7 @@ The response would be
116
116
 
117
117
 
118
118
 
119
- OpenAPI spec version:
119
+ OpenAPI spec version: 1.0.0
120
120
 
121
121
  Generated by: https://github.com/swagger-api/swagger-codegen.git
122
122
 
@@ -127,30 +127,30 @@ require 'date'
127
127
 
128
128
  module VericredClient
129
129
  class PlanCounty
130
+ # Foreign key to county
131
+ attr_accessor :county_id
132
+
130
133
  # Primary key
131
134
  attr_accessor :id
132
135
 
133
136
  # Foreign key to plan
134
137
  attr_accessor :plan_id
135
138
 
136
- # Foreign key to county
137
- attr_accessor :county_id
138
-
139
139
  # Attribute mapping from ruby-style variable name to JSON key.
140
140
  def self.attribute_map
141
141
  {
142
+ :'county_id' => :'county_id',
142
143
  :'id' => :'id',
143
- :'plan_id' => :'plan_id',
144
- :'county_id' => :'county_id'
144
+ :'plan_id' => :'plan_id'
145
145
  }
146
146
  end
147
147
 
148
148
  # Attribute type mapping.
149
149
  def self.swagger_types
150
150
  {
151
+ :'county_id' => :'Integer',
151
152
  :'id' => :'Integer',
152
- :'plan_id' => :'Integer',
153
- :'county_id' => :'Integer'
153
+ :'plan_id' => :'Integer'
154
154
  }
155
155
  end
156
156
 
@@ -162,6 +162,10 @@ module VericredClient
162
162
  # convert string to symbol for hash key
163
163
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
164
164
 
165
+ if attributes.has_key?(:'county_id')
166
+ self.county_id = attributes[:'county_id']
167
+ end
168
+
165
169
  if attributes.has_key?(:'id')
166
170
  self.id = attributes[:'id']
167
171
  end
@@ -170,10 +174,6 @@ module VericredClient
170
174
  self.plan_id = attributes[:'plan_id']
171
175
  end
172
176
 
173
- if attributes.has_key?(:'county_id')
174
- self.county_id = attributes[:'county_id']
175
- end
176
-
177
177
  end
178
178
 
179
179
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -193,9 +193,9 @@ module VericredClient
193
193
  def ==(o)
194
194
  return true if self.equal?(o)
195
195
  self.class == o.class &&
196
+ county_id == o.county_id &&
196
197
  id == o.id &&
197
- plan_id == o.plan_id &&
198
- county_id == o.county_id
198
+ plan_id == o.plan_id
199
199
  end
200
200
 
201
201
  # @see the `==` method
@@ -207,7 +207,7 @@ module VericredClient
207
207
  # Calculates hash code according to all attributes.
208
208
  # @return [Fixnum] Hash code
209
209
  def hash
210
- [id, plan_id, county_id].hash
210
+ [county_id, id, plan_id].hash
211
211
  end
212
212
 
213
213
  # Builds the object from hash
@@ -0,0 +1,318 @@
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/access_code?access_code=vericred&cms_token=3545ca52af07bde85b7c0c3aa9d1985e) 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
+ Most endpoints are not paginated. It will be noted in the documentation if/when
35
+ an endpoint is paginated.
36
+
37
+ When pagination is present, a `meta` stanza will be present in the response
38
+ with the total number of records
39
+
40
+ ```
41
+ {
42
+ things: [{ id: 1 }, { id: 2 }],
43
+ meta: { total: 500 }
44
+ }
45
+ ```
46
+
47
+ ## Sideloading
48
+
49
+ When we return multiple levels of an object graph (e.g. `Provider`s and their `State`s
50
+ we sideload the associated data. In this example, we would provide an Array of
51
+ `State`s and a `state_id` for each provider. This is done primarily to reduce the
52
+ payload size since many of the `Provider`s will share a `State`
53
+
54
+ ```
55
+ {
56
+ providers: [{ id: 1, state_id: 1}, { id: 2, state_id: 1 }],
57
+ states: [{ id: 1, code: 'NY' }]
58
+ }
59
+ ```
60
+
61
+ If you need the second level of the object graph, you can just match the
62
+ corresponding id.
63
+
64
+ ## Selecting specific data
65
+
66
+ All endpoints allow you to specify which fields you would like to return.
67
+ This allows you to limit the response to contain only the data you need.
68
+
69
+ For example, let's take a request that returns the following JSON by default
70
+
71
+ ```
72
+ {
73
+ provider: {
74
+ id: 1,
75
+ name: 'John',
76
+ phone: '1234567890',
77
+ field_we_dont_care_about: 'value_we_dont_care_about'
78
+ },
79
+ states: [{
80
+ id: 1,
81
+ name: 'New York',
82
+ code: 'NY',
83
+ field_we_dont_care_about: 'value_we_dont_care_about'
84
+ }]
85
+ }
86
+ ```
87
+
88
+ To limit our results to only return the fields we care about, we specify the
89
+ `select` query string parameter for the corresponding fields in the JSON
90
+ document.
91
+
92
+ In this case, we want to select `name` and `phone` from the `provider` key,
93
+ so we would add the parameters `select=provider.name,provider.phone`.
94
+ We also want the `name` and `code` from the `states` key, so we would
95
+ add the parameters `select=states.name,staes.code`. The id field of
96
+ each document is always returned whether or not it is requested.
97
+
98
+ Our final request would be `GET /providers/12345?select=provider.name,provider.phone,states.name,states.code`
99
+
100
+ The response would be
101
+
102
+ ```
103
+ {
104
+ provider: {
105
+ id: 1,
106
+ name: 'John',
107
+ phone: '1234567890'
108
+ },
109
+ states: [{
110
+ id: 1,
111
+ name: 'New York',
112
+ code: 'NY'
113
+ }]
114
+ }
115
+ ```
116
+
117
+
118
+
119
+ OpenAPI spec version: 1.0.0
120
+
121
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
122
+
123
+
124
+ =end
125
+
126
+ require 'date'
127
+
128
+ module VericredClient
129
+ class PlanCountyBulk
130
+ # Foreign key to county
131
+ attr_accessor :county_id
132
+
133
+ # Primary key
134
+ attr_accessor :id
135
+
136
+ # Foreign key to plan
137
+ attr_accessor :plan_id
138
+
139
+ # Attribute mapping from ruby-style variable name to JSON key.
140
+ def self.attribute_map
141
+ {
142
+ :'county_id' => :'county_id',
143
+ :'id' => :'id',
144
+ :'plan_id' => :'plan_id'
145
+ }
146
+ end
147
+
148
+ # Attribute type mapping.
149
+ def self.swagger_types
150
+ {
151
+ :'county_id' => :'Integer',
152
+ :'id' => :'Integer',
153
+ :'plan_id' => :'Integer'
154
+ }
155
+ end
156
+
157
+ # Initializes the object
158
+ # @param [Hash] attributes Model attributes in the form of hash
159
+ def initialize(attributes = {})
160
+ return unless attributes.is_a?(Hash)
161
+
162
+ # convert string to symbol for hash key
163
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
164
+
165
+ if attributes.has_key?(:'county_id')
166
+ self.county_id = attributes[:'county_id']
167
+ end
168
+
169
+ if attributes.has_key?(:'id')
170
+ self.id = attributes[:'id']
171
+ end
172
+
173
+ if attributes.has_key?(:'plan_id')
174
+ self.plan_id = attributes[:'plan_id']
175
+ end
176
+
177
+ end
178
+
179
+ # Show invalid properties with the reasons. Usually used together with valid?
180
+ # @return Array for valid properies with the reasons
181
+ def list_invalid_properties
182
+ invalid_properties = Array.new
183
+ return invalid_properties
184
+ end
185
+
186
+ # Check to see if the all the properties in the model are valid
187
+ # @return true if the model is valid
188
+ def valid?
189
+ end
190
+
191
+ # Checks equality by comparing each attribute.
192
+ # @param [Object] Object to be compared
193
+ def ==(o)
194
+ return true if self.equal?(o)
195
+ self.class == o.class &&
196
+ county_id == o.county_id &&
197
+ id == o.id &&
198
+ plan_id == o.plan_id
199
+ end
200
+
201
+ # @see the `==` method
202
+ # @param [Object] Object to be compared
203
+ def eql?(o)
204
+ self == o
205
+ end
206
+
207
+ # Calculates hash code according to all attributes.
208
+ # @return [Fixnum] Hash code
209
+ def hash
210
+ [county_id, id, plan_id].hash
211
+ end
212
+
213
+ # Builds the object from hash
214
+ # @param [Hash] attributes Model attributes in the form of hash
215
+ # @return [Object] Returns the model itself
216
+ def build_from_hash(attributes)
217
+ return nil unless attributes.is_a?(Hash)
218
+ self.class.swagger_types.each_pair do |key, type|
219
+ if type =~ /^Array<(.*)>/i
220
+ # check to ensure the input is an array given that the the attribute
221
+ # is documented as an array but the input is not
222
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
223
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
224
+ end
225
+ elsif !attributes[self.class.attribute_map[key]].nil?
226
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
227
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
228
+ end
229
+
230
+ self
231
+ end
232
+
233
+ # Deserializes the data based on type
234
+ # @param string type Data type
235
+ # @param string value Value to be deserialized
236
+ # @return [Object] Deserialized data
237
+ def _deserialize(type, value)
238
+ case type.to_sym
239
+ when :DateTime
240
+ DateTime.parse(value)
241
+ when :Date
242
+ Date.parse(value)
243
+ when :String
244
+ value.to_s
245
+ when :Integer
246
+ value.to_i
247
+ when :Float
248
+ value.to_f
249
+ when :BOOLEAN
250
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
251
+ true
252
+ else
253
+ false
254
+ end
255
+ when :Object
256
+ # generic object (usually a Hash), return directly
257
+ value
258
+ when /\AArray<(?<inner_type>.+)>\z/
259
+ inner_type = Regexp.last_match[:inner_type]
260
+ value.map { |v| _deserialize(inner_type, v) }
261
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
262
+ k_type = Regexp.last_match[:k_type]
263
+ v_type = Regexp.last_match[:v_type]
264
+ {}.tap do |hash|
265
+ value.each do |k, v|
266
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
267
+ end
268
+ end
269
+ else # model
270
+ temp_model = VericredClient.const_get(type).new
271
+ temp_model.build_from_hash(value)
272
+ end
273
+ end
274
+
275
+ # Returns the string representation of the object
276
+ # @return [String] String presentation of the object
277
+ def to_s
278
+ to_hash.to_s
279
+ end
280
+
281
+ # to_body is an alias to to_hash (backward compatibility)
282
+ # @return [Hash] Returns the object in the form of hash
283
+ def to_body
284
+ to_hash
285
+ end
286
+
287
+ # Returns the object in the form of hash
288
+ # @return [Hash] Returns the object in the form of hash
289
+ def to_hash
290
+ hash = {}
291
+ self.class.attribute_map.each_pair do |attr, param|
292
+ value = self.send(attr)
293
+ next if value.nil?
294
+ hash[param] = _to_hash(value)
295
+ end
296
+ hash
297
+ end
298
+
299
+ # Outputs non-array value in the form of hash
300
+ # For object, use to_hash. Otherwise, just return the value
301
+ # @param [Object] value Any valid value
302
+ # @return [Hash] Returns the value in the form of hash
303
+ def _to_hash(value)
304
+ if value.is_a?(Array)
305
+ value.compact.map{ |v| _to_hash(v) }
306
+ elsif value.is_a?(Hash)
307
+ {}.tap do |hash|
308
+ value.each { |k, v| hash[k] = _to_hash(v) }
309
+ end
310
+ elsif value.respond_to? :to_hash
311
+ value.to_hash
312
+ else
313
+ value
314
+ end
315
+ end
316
+
317
+ end
318
+ end
@@ -116,7 +116,7 @@ The response would be
116
116
 
117
117
 
118
118
 
119
- OpenAPI spec version:
119
+ OpenAPI spec version: 1.0.0
120
120
 
121
121
  Generated by: https://github.com/swagger-api/swagger-codegen.git
122
122
 
@@ -126,24 +126,26 @@ Generated by: https://github.com/swagger-api/swagger-codegen.git
126
126
  require 'date'
127
127
 
128
128
  module VericredClient
129
- class InlineResponse200
129
+ class PlanFindResponse
130
+ # Metadata for query
130
131
  attr_accessor :meta
131
132
 
132
- attr_accessor :providers
133
+ # Plan search results
134
+ attr_accessor :plans
133
135
 
134
136
  # Attribute mapping from ruby-style variable name to JSON key.
135
137
  def self.attribute_map
136
138
  {
137
139
  :'meta' => :'meta',
138
- :'providers' => :'providers'
140
+ :'plans' => :'plans'
139
141
  }
140
142
  end
141
143
 
142
144
  # Attribute type mapping.
143
145
  def self.swagger_types
144
146
  {
145
- :'meta' => :'Object',
146
- :'providers' => :'Array<Provider>'
147
+ :'meta' => :'Meta',
148
+ :'plans' => :'Array<Plan>'
147
149
  }
148
150
  end
149
151
 
@@ -159,9 +161,9 @@ module VericredClient
159
161
  self.meta = attributes[:'meta']
160
162
  end
161
163
 
162
- if attributes.has_key?(:'providers')
163
- if (value = attributes[:'providers']).is_a?(Array)
164
- self.providers = value
164
+ if attributes.has_key?(:'plans')
165
+ if (value = attributes[:'plans']).is_a?(Array)
166
+ self.plans = value
165
167
  end
166
168
  end
167
169
 
@@ -185,7 +187,7 @@ module VericredClient
185
187
  return true if self.equal?(o)
186
188
  self.class == o.class &&
187
189
  meta == o.meta &&
188
- providers == o.providers
190
+ plans == o.plans
189
191
  end
190
192
 
191
193
  # @see the `==` method
@@ -197,7 +199,7 @@ module VericredClient
197
199
  # Calculates hash code according to all attributes.
198
200
  # @return [Fixnum] Hash code
199
201
  def hash
200
- [meta, providers].hash
202
+ [meta, plans].hash
201
203
  end
202
204
 
203
205
  # Builds the object from hash