vericred_client 0.0.1
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.
- checksums.yaml +7 -0
- data/README.md +225 -0
- data/docs/Applicant.md +14 -0
- data/docs/Carrier.md +10 -0
- data/docs/CarrierSubsidiary.md +9 -0
- data/docs/County.md +16 -0
- data/docs/Drug.md +10 -0
- data/docs/DrugCoverage.md +13 -0
- data/docs/DrugCoverageApi.md +60 -0
- data/docs/InlineResponse200.md +9 -0
- data/docs/InlineResponse2001.md +8 -0
- data/docs/InlineResponse2002.md +10 -0
- data/docs/Plan.md +53 -0
- data/docs/PlanCounty.md +10 -0
- data/docs/PlanSearchResult.md +54 -0
- data/docs/PlansApi.md +118 -0
- data/docs/Pricing.md +12 -0
- data/docs/Provider.md +31 -0
- data/docs/ProvidersApi.md +135 -0
- data/docs/Query.md +15 -0
- data/docs/RatingArea.md +9 -0
- data/docs/State.md +15 -0
- data/docs/ZipCode.md +9 -0
- data/docs/ZipCountiesApi.md +63 -0
- data/docs/ZipCounty.md +10 -0
- data/lib/vericred_client/api/drug_coverage_api.rb +201 -0
- data/lib/vericred_client/api/plans_api.rb +317 -0
- data/lib/vericred_client/api/providers_api.rb +303 -0
- data/lib/vericred_client/api/zip_counties_api.rb +208 -0
- data/lib/vericred_client/api_client.rb +474 -0
- data/lib/vericred_client/api_error.rb +149 -0
- data/lib/vericred_client/configuration.rb +163 -0
- data/lib/vericred_client/models/applicant.rb +358 -0
- data/lib/vericred_client/models/carrier.rb +318 -0
- data/lib/vericred_client/models/carrier_subsidiary.rb +308 -0
- data/lib/vericred_client/models/county.rb +360 -0
- data/lib/vericred_client/models/drug.rb +318 -0
- data/lib/vericred_client/models/drug_coverage.rb +348 -0
- data/lib/vericred_client/models/inline_response_200.rb +308 -0
- data/lib/vericred_client/models/inline_response_200_1.rb +297 -0
- data/lib/vericred_client/models/inline_response_200_2.rb +321 -0
- data/lib/vericred_client/models/plan.rb +748 -0
- data/lib/vericred_client/models/plan_county.rb +318 -0
- data/lib/vericred_client/models/plan_search_result.rb +758 -0
- data/lib/vericred_client/models/pricing.rb +338 -0
- data/lib/vericred_client/models/provider.rb +528 -0
- data/lib/vericred_client/models/query.rb +364 -0
- data/lib/vericred_client/models/rating_area.rb +308 -0
- data/lib/vericred_client/models/state.rb +368 -0
- data/lib/vericred_client/models/zip_code.rb +308 -0
- data/lib/vericred_client/models/zip_county.rb +318 -0
- data/lib/vericred_client/version.rb +128 -0
- data/lib/vericred_client.rb +175 -0
- data/spec/api/drug_coverage_api_spec.rb +168 -0
- data/spec/api/plans_api_spec.rb +226 -0
- data/spec/api/providers_api_spec.rb +202 -0
- data/spec/api/zip_counties_api_spec.rb +171 -0
- data/vericred_client.gemspec +31 -0
- metadata +285 -0
@@ -0,0 +1,748 @@
|
|
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:
|
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 Plan
|
130
|
+
# Does the plan provide dental coverage for adults?
|
131
|
+
attr_accessor :adult_dental
|
132
|
+
|
133
|
+
# Benefits string for ambulance coverage
|
134
|
+
attr_accessor :ambulance
|
135
|
+
|
136
|
+
# Link to the summary of benefits and coverage (SBC) document.
|
137
|
+
attr_accessor :benefits_summary_url
|
138
|
+
|
139
|
+
# Link to a location to purchase the plan.
|
140
|
+
attr_accessor :buy_link
|
141
|
+
|
142
|
+
# Name of the insurance carrier
|
143
|
+
attr_accessor :carrier_name
|
144
|
+
|
145
|
+
# Does the plan provide dental coverage for children?
|
146
|
+
attr_accessor :child_dental
|
147
|
+
|
148
|
+
# Child eyewear benefits summary
|
149
|
+
attr_accessor :child_eyewear
|
150
|
+
|
151
|
+
# Phone number to contact the insurance carrier
|
152
|
+
attr_accessor :customer_service_phone_number
|
153
|
+
|
154
|
+
# Benefits summary for durable medical equipment
|
155
|
+
attr_accessor :durable_medical_equipment
|
156
|
+
|
157
|
+
# Diagnostic tests benefit summary
|
158
|
+
attr_accessor :diagnostic_test
|
159
|
+
|
160
|
+
# Link to the summary of drug benefits for the plan
|
161
|
+
attr_accessor :drug_formulary_url
|
162
|
+
|
163
|
+
# Description of costs when visiting the ER
|
164
|
+
attr_accessor :emergency_room
|
165
|
+
|
166
|
+
# Deductible for drugs when a family is on the plan.
|
167
|
+
attr_accessor :family_drug_deductible
|
168
|
+
|
169
|
+
# Maximum out-of-pocket for drugs when a family is on the plan
|
170
|
+
attr_accessor :family_drug_moop
|
171
|
+
|
172
|
+
# Deductible when a family is on the plan
|
173
|
+
attr_accessor :family_medical_deductible
|
174
|
+
|
175
|
+
# Maximum out-of-pocket when a family is on the plan
|
176
|
+
attr_accessor :family_medical_moop
|
177
|
+
|
178
|
+
# Cost for generic drugs
|
179
|
+
attr_accessor :generic_drugs
|
180
|
+
|
181
|
+
#
|
182
|
+
attr_accessor :hios_issuer_id
|
183
|
+
|
184
|
+
# Government-issued HIOS plan ID
|
185
|
+
attr_accessor :id
|
186
|
+
|
187
|
+
# Benefits summary for imaging coverage
|
188
|
+
attr_accessor :imaging
|
189
|
+
|
190
|
+
# Deductible for drugs when an individual is on the plan
|
191
|
+
attr_accessor :individual_drug_deductible
|
192
|
+
|
193
|
+
# Maximum out-of-pocket for drugs when an individual is on the plan
|
194
|
+
attr_accessor :individual_drug_moop
|
195
|
+
|
196
|
+
# Deductible when an individual is on the plan
|
197
|
+
attr_accessor :individual_medical_deductible
|
198
|
+
|
199
|
+
# Maximum out-of-pocket when an individual is on the plan
|
200
|
+
attr_accessor :individual_medical_moop
|
201
|
+
|
202
|
+
# Cost under the plan for an inpatient facility
|
203
|
+
attr_accessor :inpatient_facility
|
204
|
+
|
205
|
+
# Cost under the plan for an inpatient physician
|
206
|
+
attr_accessor :inpatient_physician
|
207
|
+
|
208
|
+
# Plan metal grouping (e.g. platinum, gold, silver, etc)
|
209
|
+
attr_accessor :level
|
210
|
+
|
211
|
+
# Link to a copy of the insurance carrier's logo
|
212
|
+
attr_accessor :logo_url
|
213
|
+
|
214
|
+
# Marketing name of the plan
|
215
|
+
attr_accessor :name
|
216
|
+
|
217
|
+
# Total number of Providers in network
|
218
|
+
attr_accessor :network_size
|
219
|
+
|
220
|
+
# Cost under the plan for non-preferred brand drugs
|
221
|
+
attr_accessor :non_preferred_brand_drugs
|
222
|
+
|
223
|
+
# Is the plan on-market?
|
224
|
+
attr_accessor :on_market
|
225
|
+
|
226
|
+
# Is the plan off-market?
|
227
|
+
attr_accessor :off_market
|
228
|
+
|
229
|
+
# Does this plan provide any out of network coverage?
|
230
|
+
attr_accessor :out_of_network_coverage
|
231
|
+
|
232
|
+
# Benefits summary for outpatient facility coverage
|
233
|
+
attr_accessor :outpatient_facility
|
234
|
+
|
235
|
+
# Benefits summary for outpatient mental health coverage
|
236
|
+
attr_accessor :outpatient_mental_health
|
237
|
+
|
238
|
+
# Benefits summary for outpatient physician coverage
|
239
|
+
attr_accessor :outpatient_physician
|
240
|
+
|
241
|
+
# Market in which the plan is offered (on_marketplace, shop, etc)
|
242
|
+
attr_accessor :plan_market
|
243
|
+
|
244
|
+
# Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity)
|
245
|
+
attr_accessor :plan_type
|
246
|
+
|
247
|
+
# Cost under the plan for perferred brand drugs
|
248
|
+
attr_accessor :preferred_brand_drugs
|
249
|
+
|
250
|
+
# Benefits summary for preventative care
|
251
|
+
attr_accessor :preventative_care
|
252
|
+
|
253
|
+
# Cost under the plan to visit a Primary Care Physician
|
254
|
+
attr_accessor :primary_care_physician
|
255
|
+
|
256
|
+
# Benefits summary for rehabilitation services
|
257
|
+
attr_accessor :rehabilitation_services
|
258
|
+
|
259
|
+
# Cost under the plan to visit a specialist
|
260
|
+
attr_accessor :specialist
|
261
|
+
|
262
|
+
# Cost under the plan for specialty drugs
|
263
|
+
attr_accessor :specialty_drugs
|
264
|
+
|
265
|
+
# Benefits summary for urgent care
|
266
|
+
attr_accessor :urgent_care
|
267
|
+
|
268
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
269
|
+
def self.attribute_map
|
270
|
+
{
|
271
|
+
:'adult_dental' => :'adult_dental',
|
272
|
+
:'ambulance' => :'ambulance',
|
273
|
+
:'benefits_summary_url' => :'benefits_summary_url',
|
274
|
+
:'buy_link' => :'buy_link',
|
275
|
+
:'carrier_name' => :'carrier_name',
|
276
|
+
:'child_dental' => :'child_dental',
|
277
|
+
:'child_eyewear' => :'child_eyewear',
|
278
|
+
:'customer_service_phone_number' => :'customer_service_phone_number',
|
279
|
+
:'durable_medical_equipment' => :'durable_medical_equipment',
|
280
|
+
:'diagnostic_test' => :'diagnostic_test',
|
281
|
+
:'drug_formulary_url' => :'drug_formulary_url',
|
282
|
+
:'emergency_room' => :'emergency_room',
|
283
|
+
:'family_drug_deductible' => :'family_drug_deductible',
|
284
|
+
:'family_drug_moop' => :'family_drug_moop',
|
285
|
+
:'family_medical_deductible' => :'family_medical_deductible',
|
286
|
+
:'family_medical_moop' => :'family_medical_moop',
|
287
|
+
:'generic_drugs' => :'generic_drugs',
|
288
|
+
:'hios_issuer_id' => :'hios_issuer_id',
|
289
|
+
:'id' => :'id',
|
290
|
+
:'imaging' => :'imaging',
|
291
|
+
:'individual_drug_deductible' => :'individual_drug_deductible',
|
292
|
+
:'individual_drug_moop' => :'individual_drug_moop',
|
293
|
+
:'individual_medical_deductible' => :'individual_medical_deductible',
|
294
|
+
:'individual_medical_moop' => :'individual_medical_moop',
|
295
|
+
:'inpatient_facility' => :'inpatient_facility',
|
296
|
+
:'inpatient_physician' => :'inpatient_physician',
|
297
|
+
:'level' => :'level',
|
298
|
+
:'logo_url' => :'logo_url',
|
299
|
+
:'name' => :'name',
|
300
|
+
:'network_size' => :'network_size',
|
301
|
+
:'non_preferred_brand_drugs' => :'non_preferred_brand_drugs',
|
302
|
+
:'on_market' => :'on_market',
|
303
|
+
:'off_market' => :'off_market',
|
304
|
+
:'out_of_network_coverage' => :'out_of_network_coverage',
|
305
|
+
:'outpatient_facility' => :'outpatient_facility',
|
306
|
+
:'outpatient_mental_health' => :'outpatient_mental_health',
|
307
|
+
:'outpatient_physician' => :'outpatient_physician',
|
308
|
+
:'plan_market' => :'plan_market',
|
309
|
+
:'plan_type' => :'plan_type',
|
310
|
+
:'preferred_brand_drugs' => :'preferred_brand_drugs',
|
311
|
+
:'preventative_care' => :'preventative_care',
|
312
|
+
:'primary_care_physician' => :'primary_care_physician',
|
313
|
+
:'rehabilitation_services' => :'rehabilitation_services',
|
314
|
+
:'specialist' => :'specialist',
|
315
|
+
:'specialty_drugs' => :'specialty_drugs',
|
316
|
+
:'urgent_care' => :'urgent_care'
|
317
|
+
}
|
318
|
+
end
|
319
|
+
|
320
|
+
# Attribute type mapping.
|
321
|
+
def self.swagger_types
|
322
|
+
{
|
323
|
+
:'adult_dental' => :'BOOLEAN',
|
324
|
+
:'ambulance' => :'String',
|
325
|
+
:'benefits_summary_url' => :'String',
|
326
|
+
:'buy_link' => :'String',
|
327
|
+
:'carrier_name' => :'String',
|
328
|
+
:'child_dental' => :'BOOLEAN',
|
329
|
+
:'child_eyewear' => :'String',
|
330
|
+
:'customer_service_phone_number' => :'String',
|
331
|
+
:'durable_medical_equipment' => :'String',
|
332
|
+
:'diagnostic_test' => :'String',
|
333
|
+
:'drug_formulary_url' => :'String',
|
334
|
+
:'emergency_room' => :'String',
|
335
|
+
:'family_drug_deductible' => :'String',
|
336
|
+
:'family_drug_moop' => :'String',
|
337
|
+
:'family_medical_deductible' => :'String',
|
338
|
+
:'family_medical_moop' => :'String',
|
339
|
+
:'generic_drugs' => :'String',
|
340
|
+
:'hios_issuer_id' => :'String',
|
341
|
+
:'id' => :'String',
|
342
|
+
:'imaging' => :'String',
|
343
|
+
:'individual_drug_deductible' => :'String',
|
344
|
+
:'individual_drug_moop' => :'String',
|
345
|
+
:'individual_medical_deductible' => :'String',
|
346
|
+
:'individual_medical_moop' => :'String',
|
347
|
+
:'inpatient_facility' => :'String',
|
348
|
+
:'inpatient_physician' => :'String',
|
349
|
+
:'level' => :'String',
|
350
|
+
:'logo_url' => :'String',
|
351
|
+
:'name' => :'String',
|
352
|
+
:'network_size' => :'Integer',
|
353
|
+
:'non_preferred_brand_drugs' => :'String',
|
354
|
+
:'on_market' => :'BOOLEAN',
|
355
|
+
:'off_market' => :'BOOLEAN',
|
356
|
+
:'out_of_network_coverage' => :'BOOLEAN',
|
357
|
+
:'outpatient_facility' => :'String',
|
358
|
+
:'outpatient_mental_health' => :'String',
|
359
|
+
:'outpatient_physician' => :'String',
|
360
|
+
:'plan_market' => :'String',
|
361
|
+
:'plan_type' => :'String',
|
362
|
+
:'preferred_brand_drugs' => :'String',
|
363
|
+
:'preventative_care' => :'String',
|
364
|
+
:'primary_care_physician' => :'String',
|
365
|
+
:'rehabilitation_services' => :'String',
|
366
|
+
:'specialist' => :'String',
|
367
|
+
:'specialty_drugs' => :'String',
|
368
|
+
:'urgent_care' => :'String'
|
369
|
+
}
|
370
|
+
end
|
371
|
+
|
372
|
+
# Initializes the object
|
373
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
374
|
+
def initialize(attributes = {})
|
375
|
+
return unless attributes.is_a?(Hash)
|
376
|
+
|
377
|
+
# convert string to symbol for hash key
|
378
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
379
|
+
|
380
|
+
if attributes.has_key?(:'adult_dental')
|
381
|
+
self.adult_dental = attributes[:'adult_dental']
|
382
|
+
end
|
383
|
+
|
384
|
+
if attributes.has_key?(:'ambulance')
|
385
|
+
self.ambulance = attributes[:'ambulance']
|
386
|
+
end
|
387
|
+
|
388
|
+
if attributes.has_key?(:'benefits_summary_url')
|
389
|
+
self.benefits_summary_url = attributes[:'benefits_summary_url']
|
390
|
+
end
|
391
|
+
|
392
|
+
if attributes.has_key?(:'buy_link')
|
393
|
+
self.buy_link = attributes[:'buy_link']
|
394
|
+
end
|
395
|
+
|
396
|
+
if attributes.has_key?(:'carrier_name')
|
397
|
+
self.carrier_name = attributes[:'carrier_name']
|
398
|
+
end
|
399
|
+
|
400
|
+
if attributes.has_key?(:'child_dental')
|
401
|
+
self.child_dental = attributes[:'child_dental']
|
402
|
+
end
|
403
|
+
|
404
|
+
if attributes.has_key?(:'child_eyewear')
|
405
|
+
self.child_eyewear = attributes[:'child_eyewear']
|
406
|
+
end
|
407
|
+
|
408
|
+
if attributes.has_key?(:'customer_service_phone_number')
|
409
|
+
self.customer_service_phone_number = attributes[:'customer_service_phone_number']
|
410
|
+
end
|
411
|
+
|
412
|
+
if attributes.has_key?(:'durable_medical_equipment')
|
413
|
+
self.durable_medical_equipment = attributes[:'durable_medical_equipment']
|
414
|
+
end
|
415
|
+
|
416
|
+
if attributes.has_key?(:'diagnostic_test')
|
417
|
+
self.diagnostic_test = attributes[:'diagnostic_test']
|
418
|
+
end
|
419
|
+
|
420
|
+
if attributes.has_key?(:'drug_formulary_url')
|
421
|
+
self.drug_formulary_url = attributes[:'drug_formulary_url']
|
422
|
+
end
|
423
|
+
|
424
|
+
if attributes.has_key?(:'emergency_room')
|
425
|
+
self.emergency_room = attributes[:'emergency_room']
|
426
|
+
end
|
427
|
+
|
428
|
+
if attributes.has_key?(:'family_drug_deductible')
|
429
|
+
self.family_drug_deductible = attributes[:'family_drug_deductible']
|
430
|
+
end
|
431
|
+
|
432
|
+
if attributes.has_key?(:'family_drug_moop')
|
433
|
+
self.family_drug_moop = attributes[:'family_drug_moop']
|
434
|
+
end
|
435
|
+
|
436
|
+
if attributes.has_key?(:'family_medical_deductible')
|
437
|
+
self.family_medical_deductible = attributes[:'family_medical_deductible']
|
438
|
+
end
|
439
|
+
|
440
|
+
if attributes.has_key?(:'family_medical_moop')
|
441
|
+
self.family_medical_moop = attributes[:'family_medical_moop']
|
442
|
+
end
|
443
|
+
|
444
|
+
if attributes.has_key?(:'generic_drugs')
|
445
|
+
self.generic_drugs = attributes[:'generic_drugs']
|
446
|
+
end
|
447
|
+
|
448
|
+
if attributes.has_key?(:'hios_issuer_id')
|
449
|
+
self.hios_issuer_id = attributes[:'hios_issuer_id']
|
450
|
+
end
|
451
|
+
|
452
|
+
if attributes.has_key?(:'id')
|
453
|
+
self.id = attributes[:'id']
|
454
|
+
end
|
455
|
+
|
456
|
+
if attributes.has_key?(:'imaging')
|
457
|
+
self.imaging = attributes[:'imaging']
|
458
|
+
end
|
459
|
+
|
460
|
+
if attributes.has_key?(:'individual_drug_deductible')
|
461
|
+
self.individual_drug_deductible = attributes[:'individual_drug_deductible']
|
462
|
+
end
|
463
|
+
|
464
|
+
if attributes.has_key?(:'individual_drug_moop')
|
465
|
+
self.individual_drug_moop = attributes[:'individual_drug_moop']
|
466
|
+
end
|
467
|
+
|
468
|
+
if attributes.has_key?(:'individual_medical_deductible')
|
469
|
+
self.individual_medical_deductible = attributes[:'individual_medical_deductible']
|
470
|
+
end
|
471
|
+
|
472
|
+
if attributes.has_key?(:'individual_medical_moop')
|
473
|
+
self.individual_medical_moop = attributes[:'individual_medical_moop']
|
474
|
+
end
|
475
|
+
|
476
|
+
if attributes.has_key?(:'inpatient_facility')
|
477
|
+
self.inpatient_facility = attributes[:'inpatient_facility']
|
478
|
+
end
|
479
|
+
|
480
|
+
if attributes.has_key?(:'inpatient_physician')
|
481
|
+
self.inpatient_physician = attributes[:'inpatient_physician']
|
482
|
+
end
|
483
|
+
|
484
|
+
if attributes.has_key?(:'level')
|
485
|
+
self.level = attributes[:'level']
|
486
|
+
end
|
487
|
+
|
488
|
+
if attributes.has_key?(:'logo_url')
|
489
|
+
self.logo_url = attributes[:'logo_url']
|
490
|
+
end
|
491
|
+
|
492
|
+
if attributes.has_key?(:'name')
|
493
|
+
self.name = attributes[:'name']
|
494
|
+
end
|
495
|
+
|
496
|
+
if attributes.has_key?(:'network_size')
|
497
|
+
self.network_size = attributes[:'network_size']
|
498
|
+
end
|
499
|
+
|
500
|
+
if attributes.has_key?(:'non_preferred_brand_drugs')
|
501
|
+
self.non_preferred_brand_drugs = attributes[:'non_preferred_brand_drugs']
|
502
|
+
end
|
503
|
+
|
504
|
+
if attributes.has_key?(:'on_market')
|
505
|
+
self.on_market = attributes[:'on_market']
|
506
|
+
end
|
507
|
+
|
508
|
+
if attributes.has_key?(:'off_market')
|
509
|
+
self.off_market = attributes[:'off_market']
|
510
|
+
end
|
511
|
+
|
512
|
+
if attributes.has_key?(:'out_of_network_coverage')
|
513
|
+
self.out_of_network_coverage = attributes[:'out_of_network_coverage']
|
514
|
+
end
|
515
|
+
|
516
|
+
if attributes.has_key?(:'outpatient_facility')
|
517
|
+
self.outpatient_facility = attributes[:'outpatient_facility']
|
518
|
+
end
|
519
|
+
|
520
|
+
if attributes.has_key?(:'outpatient_mental_health')
|
521
|
+
self.outpatient_mental_health = attributes[:'outpatient_mental_health']
|
522
|
+
end
|
523
|
+
|
524
|
+
if attributes.has_key?(:'outpatient_physician')
|
525
|
+
self.outpatient_physician = attributes[:'outpatient_physician']
|
526
|
+
end
|
527
|
+
|
528
|
+
if attributes.has_key?(:'plan_market')
|
529
|
+
self.plan_market = attributes[:'plan_market']
|
530
|
+
end
|
531
|
+
|
532
|
+
if attributes.has_key?(:'plan_type')
|
533
|
+
self.plan_type = attributes[:'plan_type']
|
534
|
+
end
|
535
|
+
|
536
|
+
if attributes.has_key?(:'preferred_brand_drugs')
|
537
|
+
self.preferred_brand_drugs = attributes[:'preferred_brand_drugs']
|
538
|
+
end
|
539
|
+
|
540
|
+
if attributes.has_key?(:'preventative_care')
|
541
|
+
self.preventative_care = attributes[:'preventative_care']
|
542
|
+
end
|
543
|
+
|
544
|
+
if attributes.has_key?(:'primary_care_physician')
|
545
|
+
self.primary_care_physician = attributes[:'primary_care_physician']
|
546
|
+
end
|
547
|
+
|
548
|
+
if attributes.has_key?(:'rehabilitation_services')
|
549
|
+
self.rehabilitation_services = attributes[:'rehabilitation_services']
|
550
|
+
end
|
551
|
+
|
552
|
+
if attributes.has_key?(:'specialist')
|
553
|
+
self.specialist = attributes[:'specialist']
|
554
|
+
end
|
555
|
+
|
556
|
+
if attributes.has_key?(:'specialty_drugs')
|
557
|
+
self.specialty_drugs = attributes[:'specialty_drugs']
|
558
|
+
end
|
559
|
+
|
560
|
+
if attributes.has_key?(:'urgent_care')
|
561
|
+
self.urgent_care = attributes[:'urgent_care']
|
562
|
+
end
|
563
|
+
|
564
|
+
end
|
565
|
+
|
566
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
567
|
+
# @return Array for valid properies with the reasons
|
568
|
+
def list_invalid_properties
|
569
|
+
invalid_properties = Array.new
|
570
|
+
return invalid_properties
|
571
|
+
end
|
572
|
+
|
573
|
+
# Check to see if the all the properties in the model are valid
|
574
|
+
# @return true if the model is valid
|
575
|
+
def valid?
|
576
|
+
end
|
577
|
+
|
578
|
+
# Checks equality by comparing each attribute.
|
579
|
+
# @param [Object] Object to be compared
|
580
|
+
def ==(o)
|
581
|
+
return true if self.equal?(o)
|
582
|
+
self.class == o.class &&
|
583
|
+
adult_dental == o.adult_dental &&
|
584
|
+
ambulance == o.ambulance &&
|
585
|
+
benefits_summary_url == o.benefits_summary_url &&
|
586
|
+
buy_link == o.buy_link &&
|
587
|
+
carrier_name == o.carrier_name &&
|
588
|
+
child_dental == o.child_dental &&
|
589
|
+
child_eyewear == o.child_eyewear &&
|
590
|
+
customer_service_phone_number == o.customer_service_phone_number &&
|
591
|
+
durable_medical_equipment == o.durable_medical_equipment &&
|
592
|
+
diagnostic_test == o.diagnostic_test &&
|
593
|
+
drug_formulary_url == o.drug_formulary_url &&
|
594
|
+
emergency_room == o.emergency_room &&
|
595
|
+
family_drug_deductible == o.family_drug_deductible &&
|
596
|
+
family_drug_moop == o.family_drug_moop &&
|
597
|
+
family_medical_deductible == o.family_medical_deductible &&
|
598
|
+
family_medical_moop == o.family_medical_moop &&
|
599
|
+
generic_drugs == o.generic_drugs &&
|
600
|
+
hios_issuer_id == o.hios_issuer_id &&
|
601
|
+
id == o.id &&
|
602
|
+
imaging == o.imaging &&
|
603
|
+
individual_drug_deductible == o.individual_drug_deductible &&
|
604
|
+
individual_drug_moop == o.individual_drug_moop &&
|
605
|
+
individual_medical_deductible == o.individual_medical_deductible &&
|
606
|
+
individual_medical_moop == o.individual_medical_moop &&
|
607
|
+
inpatient_facility == o.inpatient_facility &&
|
608
|
+
inpatient_physician == o.inpatient_physician &&
|
609
|
+
level == o.level &&
|
610
|
+
logo_url == o.logo_url &&
|
611
|
+
name == o.name &&
|
612
|
+
network_size == o.network_size &&
|
613
|
+
non_preferred_brand_drugs == o.non_preferred_brand_drugs &&
|
614
|
+
on_market == o.on_market &&
|
615
|
+
off_market == o.off_market &&
|
616
|
+
out_of_network_coverage == o.out_of_network_coverage &&
|
617
|
+
outpatient_facility == o.outpatient_facility &&
|
618
|
+
outpatient_mental_health == o.outpatient_mental_health &&
|
619
|
+
outpatient_physician == o.outpatient_physician &&
|
620
|
+
plan_market == o.plan_market &&
|
621
|
+
plan_type == o.plan_type &&
|
622
|
+
preferred_brand_drugs == o.preferred_brand_drugs &&
|
623
|
+
preventative_care == o.preventative_care &&
|
624
|
+
primary_care_physician == o.primary_care_physician &&
|
625
|
+
rehabilitation_services == o.rehabilitation_services &&
|
626
|
+
specialist == o.specialist &&
|
627
|
+
specialty_drugs == o.specialty_drugs &&
|
628
|
+
urgent_care == o.urgent_care
|
629
|
+
end
|
630
|
+
|
631
|
+
# @see the `==` method
|
632
|
+
# @param [Object] Object to be compared
|
633
|
+
def eql?(o)
|
634
|
+
self == o
|
635
|
+
end
|
636
|
+
|
637
|
+
# Calculates hash code according to all attributes.
|
638
|
+
# @return [Fixnum] Hash code
|
639
|
+
def hash
|
640
|
+
[adult_dental, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eyewear, customer_service_phone_number, durable_medical_equipment, diagnostic_test, drug_formulary_url, emergency_room, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, generic_drugs, hios_issuer_id, id, imaging, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, inpatient_facility, inpatient_physician, level, logo_url, name, network_size, non_preferred_brand_drugs, on_market, off_market, out_of_network_coverage, outpatient_facility, outpatient_mental_health, outpatient_physician, plan_market, plan_type, preferred_brand_drugs, preventative_care, primary_care_physician, rehabilitation_services, specialist, specialty_drugs, urgent_care].hash
|
641
|
+
end
|
642
|
+
|
643
|
+
# Builds the object from hash
|
644
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
645
|
+
# @return [Object] Returns the model itself
|
646
|
+
def build_from_hash(attributes)
|
647
|
+
return nil unless attributes.is_a?(Hash)
|
648
|
+
self.class.swagger_types.each_pair do |key, type|
|
649
|
+
if type =~ /^Array<(.*)>/i
|
650
|
+
# check to ensure the input is an array given that the the attribute
|
651
|
+
# is documented as an array but the input is not
|
652
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
653
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
654
|
+
end
|
655
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
656
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
657
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
658
|
+
end
|
659
|
+
|
660
|
+
self
|
661
|
+
end
|
662
|
+
|
663
|
+
# Deserializes the data based on type
|
664
|
+
# @param string type Data type
|
665
|
+
# @param string value Value to be deserialized
|
666
|
+
# @return [Object] Deserialized data
|
667
|
+
def _deserialize(type, value)
|
668
|
+
case type.to_sym
|
669
|
+
when :DateTime
|
670
|
+
DateTime.parse(value)
|
671
|
+
when :Date
|
672
|
+
Date.parse(value)
|
673
|
+
when :String
|
674
|
+
value.to_s
|
675
|
+
when :Integer
|
676
|
+
value.to_i
|
677
|
+
when :Float
|
678
|
+
value.to_f
|
679
|
+
when :BOOLEAN
|
680
|
+
if value.to_s =~ /^(true|t|yes|y|1)$/i
|
681
|
+
true
|
682
|
+
else
|
683
|
+
false
|
684
|
+
end
|
685
|
+
when :Object
|
686
|
+
# generic object (usually a Hash), return directly
|
687
|
+
value
|
688
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
689
|
+
inner_type = Regexp.last_match[:inner_type]
|
690
|
+
value.map { |v| _deserialize(inner_type, v) }
|
691
|
+
when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
|
692
|
+
k_type = Regexp.last_match[:k_type]
|
693
|
+
v_type = Regexp.last_match[:v_type]
|
694
|
+
{}.tap do |hash|
|
695
|
+
value.each do |k, v|
|
696
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
697
|
+
end
|
698
|
+
end
|
699
|
+
else # model
|
700
|
+
temp_model = VericredClient.const_get(type).new
|
701
|
+
temp_model.build_from_hash(value)
|
702
|
+
end
|
703
|
+
end
|
704
|
+
|
705
|
+
# Returns the string representation of the object
|
706
|
+
# @return [String] String presentation of the object
|
707
|
+
def to_s
|
708
|
+
to_hash.to_s
|
709
|
+
end
|
710
|
+
|
711
|
+
# to_body is an alias to to_hash (backward compatibility)
|
712
|
+
# @return [Hash] Returns the object in the form of hash
|
713
|
+
def to_body
|
714
|
+
to_hash
|
715
|
+
end
|
716
|
+
|
717
|
+
# Returns the object in the form of hash
|
718
|
+
# @return [Hash] Returns the object in the form of hash
|
719
|
+
def to_hash
|
720
|
+
hash = {}
|
721
|
+
self.class.attribute_map.each_pair do |attr, param|
|
722
|
+
value = self.send(attr)
|
723
|
+
next if value.nil?
|
724
|
+
hash[param] = _to_hash(value)
|
725
|
+
end
|
726
|
+
hash
|
727
|
+
end
|
728
|
+
|
729
|
+
# Outputs non-array value in the form of hash
|
730
|
+
# For object, use to_hash. Otherwise, just return the value
|
731
|
+
# @param [Object] value Any valid value
|
732
|
+
# @return [Hash] Returns the value in the form of hash
|
733
|
+
def _to_hash(value)
|
734
|
+
if value.is_a?(Array)
|
735
|
+
value.compact.map{ |v| _to_hash(v) }
|
736
|
+
elsif value.is_a?(Hash)
|
737
|
+
{}.tap do |hash|
|
738
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
739
|
+
end
|
740
|
+
elsif value.respond_to? :to_hash
|
741
|
+
value.to_hash
|
742
|
+
else
|
743
|
+
value
|
744
|
+
end
|
745
|
+
end
|
746
|
+
|
747
|
+
end
|
748
|
+
end
|