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
 
@@ -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,12 +127,12 @@ require 'date'
127
127
 
128
128
  module VericredClient
129
129
  class County
130
- # Primary key
131
- attr_accessor :id
132
-
133
130
  # State FIPS code
134
131
  attr_accessor :fips_code
135
132
 
133
+ # Primary key
134
+ attr_accessor :id
135
+
136
136
  # Human-readable name
137
137
  attr_accessor :name
138
138
 
@@ -142,17 +142,17 @@ module VericredClient
142
142
  # state relationship
143
143
  attr_accessor :state_id
144
144
 
145
- # Is the state containing this county active for consumers?
145
+ # Is the state containing this county active for consumers?(deprecated in favor of last_date_for_individual)
146
146
  attr_accessor :state_live
147
147
 
148
- # Is the state containing this county active for business?
148
+ # Is the state containing this county active for business?(deprecated in favor of last_date_for_shop)
149
149
  attr_accessor :state_live_for_business
150
150
 
151
151
  # Attribute mapping from ruby-style variable name to JSON key.
152
152
  def self.attribute_map
153
153
  {
154
- :'id' => :'id',
155
154
  :'fips_code' => :'fips_code',
155
+ :'id' => :'id',
156
156
  :'name' => :'name',
157
157
  :'state_code' => :'state_code',
158
158
  :'state_id' => :'state_id',
@@ -164,8 +164,8 @@ module VericredClient
164
164
  # Attribute type mapping.
165
165
  def self.swagger_types
166
166
  {
167
- :'id' => :'Integer',
168
167
  :'fips_code' => :'String',
168
+ :'id' => :'Integer',
169
169
  :'name' => :'String',
170
170
  :'state_code' => :'String',
171
171
  :'state_id' => :'Integer',
@@ -182,14 +182,14 @@ module VericredClient
182
182
  # convert string to symbol for hash key
183
183
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
184
184
 
185
- if attributes.has_key?(:'id')
186
- self.id = attributes[:'id']
187
- end
188
-
189
185
  if attributes.has_key?(:'fips_code')
190
186
  self.fips_code = attributes[:'fips_code']
191
187
  end
192
188
 
189
+ if attributes.has_key?(:'id')
190
+ self.id = attributes[:'id']
191
+ end
192
+
193
193
  if attributes.has_key?(:'name')
194
194
  self.name = attributes[:'name']
195
195
  end
@@ -204,10 +204,14 @@ module VericredClient
204
204
 
205
205
  if attributes.has_key?(:'state_live')
206
206
  self.state_live = attributes[:'state_live']
207
+ else
208
+ self.state_live = false
207
209
  end
208
210
 
209
211
  if attributes.has_key?(:'state_live_for_business')
210
212
  self.state_live_for_business = attributes[:'state_live_for_business']
213
+ else
214
+ self.state_live_for_business = false
211
215
  end
212
216
 
213
217
  end
@@ -229,8 +233,8 @@ module VericredClient
229
233
  def ==(o)
230
234
  return true if self.equal?(o)
231
235
  self.class == o.class &&
232
- id == o.id &&
233
236
  fips_code == o.fips_code &&
237
+ id == o.id &&
234
238
  name == o.name &&
235
239
  state_code == o.state_code &&
236
240
  state_id == o.state_id &&
@@ -247,7 +251,7 @@ module VericredClient
247
251
  # Calculates hash code according to all attributes.
248
252
  # @return [Fixnum] Hash code
249
253
  def hash
250
- [id, fips_code, name, state_code, state_id, state_live, state_live_for_business].hash
254
+ [fips_code, id, name, state_code, state_id, state_live, state_live_for_business].hash
251
255
  end
252
256
 
253
257
  # 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 CountyBulk
130
+ # FIPs code for the county
131
+ attr_accessor :id
132
+
133
+ # Name of the county
134
+ attr_accessor :name
135
+
136
+ # State code
137
+ attr_accessor :state_id
138
+
139
+ # Attribute mapping from ruby-style variable name to JSON key.
140
+ def self.attribute_map
141
+ {
142
+ :'id' => :'id',
143
+ :'name' => :'name',
144
+ :'state_id' => :'state_id'
145
+ }
146
+ end
147
+
148
+ # Attribute type mapping.
149
+ def self.swagger_types
150
+ {
151
+ :'id' => :'String',
152
+ :'name' => :'String',
153
+ :'state_id' => :'String'
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?(:'id')
166
+ self.id = attributes[:'id']
167
+ end
168
+
169
+ if attributes.has_key?(:'name')
170
+ self.name = attributes[:'name']
171
+ end
172
+
173
+ if attributes.has_key?(:'state_id')
174
+ self.state_id = attributes[:'state_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
+ id == o.id &&
197
+ name == o.name &&
198
+ state_id == o.state_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
+ [id, name, state_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
 
@@ -130,18 +130,22 @@ module VericredClient
130
130
  # National Drug Code ID
131
131
  attr_accessor :ndc
132
132
 
133
- # Proprietary name of drug
134
- attr_accessor :proprietary_name
135
-
136
133
  # Non-proprietary name of drug
137
134
  attr_accessor :non_proprietary_name
138
135
 
136
+ # Available retail/prescription packages for this drug
137
+ attr_accessor :packages
138
+
139
+ # Proprietary name of drug
140
+ attr_accessor :proprietary_name
141
+
139
142
  # Attribute mapping from ruby-style variable name to JSON key.
140
143
  def self.attribute_map
141
144
  {
142
145
  :'ndc' => :'ndc',
143
- :'proprietary_name' => :'proprietary_name',
144
- :'non_proprietary_name' => :'non_proprietary_name'
146
+ :'non_proprietary_name' => :'non_proprietary_name',
147
+ :'packages' => :'packages',
148
+ :'proprietary_name' => :'proprietary_name'
145
149
  }
146
150
  end
147
151
 
@@ -149,8 +153,9 @@ module VericredClient
149
153
  def self.swagger_types
150
154
  {
151
155
  :'ndc' => :'String',
152
- :'proprietary_name' => :'String',
153
- :'non_proprietary_name' => :'String'
156
+ :'non_proprietary_name' => :'String',
157
+ :'packages' => :'Array<DrugPackage>',
158
+ :'proprietary_name' => :'String'
154
159
  }
155
160
  end
156
161
 
@@ -166,14 +171,20 @@ module VericredClient
166
171
  self.ndc = attributes[:'ndc']
167
172
  end
168
173
 
169
- if attributes.has_key?(:'proprietary_name')
170
- self.proprietary_name = attributes[:'proprietary_name']
171
- end
172
-
173
174
  if attributes.has_key?(:'non_proprietary_name')
174
175
  self.non_proprietary_name = attributes[:'non_proprietary_name']
175
176
  end
176
177
 
178
+ if attributes.has_key?(:'packages')
179
+ if (value = attributes[:'packages']).is_a?(Array)
180
+ self.packages = value
181
+ end
182
+ end
183
+
184
+ if attributes.has_key?(:'proprietary_name')
185
+ self.proprietary_name = attributes[:'proprietary_name']
186
+ end
187
+
177
188
  end
178
189
 
179
190
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -194,8 +205,9 @@ module VericredClient
194
205
  return true if self.equal?(o)
195
206
  self.class == o.class &&
196
207
  ndc == o.ndc &&
197
- proprietary_name == o.proprietary_name &&
198
- non_proprietary_name == o.non_proprietary_name
208
+ non_proprietary_name == o.non_proprietary_name &&
209
+ packages == o.packages &&
210
+ proprietary_name == o.proprietary_name
199
211
  end
200
212
 
201
213
  # @see the `==` method
@@ -207,7 +219,7 @@ module VericredClient
207
219
  # Calculates hash code according to all attributes.
208
220
  # @return [Fixnum] Hash code
209
221
  def hash
210
- [ndc, proprietary_name, non_proprietary_name].hash
222
+ [ndc, non_proprietary_name, packages, proprietary_name].hash
211
223
  end
212
224
 
213
225
  # Builds the object from hash