vericred_client 0.0.11 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (319) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +92 -21
  3. data/docs/ACAPlan.md +96 -0
  4. data/docs/ACAPlan2018.md +97 -0
  5. data/docs/ACAPlan2018SearchResponse.md +10 -0
  6. data/docs/ACAPlan2018SearchResult.md +100 -0
  7. data/docs/ACAPlan2018ShowResponse.md +8 -0
  8. data/docs/ACAPlanPre2018.md +96 -0
  9. data/docs/ACAPlanPre2018SearchResponse.md +10 -0
  10. data/docs/{PlanSearchResult.md → ACAPlanPre2018SearchResult.md} +30 -11
  11. data/docs/ACAPlanPre2018ShowResponse.md +8 -0
  12. data/docs/BasePlanSearchResponse.md +9 -0
  13. data/docs/Carrier.md +0 -1
  14. data/docs/CarrierGroupRequest.md +10 -0
  15. data/docs/CarrierGroupsApi.md +119 -0
  16. data/docs/CarrierRequest.md +11 -0
  17. data/docs/CarrierSubsidiary.md +1 -0
  18. data/docs/CarrierVerificationPlansApi.md +63 -0
  19. data/docs/CarriersApi.md +119 -0
  20. data/docs/DentalPlan.md +20 -0
  21. data/docs/DentalPlanBenefits.md +30 -0
  22. data/docs/DentalPlanSearchApplicant.md +10 -0
  23. data/docs/DentalPlanSearchRequest.md +15 -0
  24. data/docs/DentalPlanSearchResponse.md +9 -0
  25. data/docs/DentalPlanShowResponse.md +8 -0
  26. data/docs/DentalPlanUpdate.md +16 -0
  27. data/docs/DentalPlanUpdateRequest.md +8 -0
  28. data/docs/DentalPlansApi.md +174 -0
  29. data/docs/DrugCoverage.md +1 -0
  30. data/docs/DrugCoverageResponse.md +1 -2
  31. data/docs/EmbargoRequest.md +13 -0
  32. data/docs/EmbargoesApi.md +119 -0
  33. data/docs/FormulariesApi.md +70 -0
  34. data/docs/IssuerRequest.md +19 -0
  35. data/docs/IssuersApi.md +119 -0
  36. data/docs/MedicalPlansApi.md +122 -0
  37. data/docs/{PlanSearchResponseMeta.md → MetaPlanSearchResponse.md} +2 -1
  38. data/docs/NetworkComparison.md +13 -0
  39. data/docs/NetworkComparisonRequest.md +10 -0
  40. data/docs/NetworkComparisonResponse.md +9 -0
  41. data/docs/NetworksApi.md +58 -0
  42. data/docs/NotificationSubscription.md +8 -0
  43. data/docs/NotificationSubscriptionResponse.md +8 -0
  44. data/docs/Plan.md +2 -61
  45. data/docs/PlanDeleted.md +7 -0
  46. data/docs/PlanIdentifier.md +9 -0
  47. data/docs/PlanMedicare.md +19 -0
  48. data/docs/PlanMedicareBulk.md +21 -0
  49. data/docs/PlanPricingMedicare.md +15 -0
  50. data/docs/PlanSearchResponse.md +1 -1
  51. data/docs/PlanShowResponse.md +1 -1
  52. data/docs/PlansApi.md +111 -1
  53. data/docs/Provider.md +1 -1
  54. data/docs/ProviderDetails.md +1 -1
  55. data/docs/ProviderNetworkEventNotification.md +13 -0
  56. data/docs/ProviderNotificationSubscriptionsApi.md +173 -0
  57. data/docs/ProvidersApi.md +68 -18
  58. data/docs/RateRequest.md +148 -0
  59. data/docs/RateSearch.md +143 -0
  60. data/docs/RatesApi.md +119 -0
  61. data/docs/RequestPlanFind.md +2 -0
  62. data/docs/RequestPlanFindCarrierVerification.md +23 -0
  63. data/docs/RequestProviderNotificationSubscription.md +10 -0
  64. data/docs/RequestProvidersSearch.md +1 -0
  65. data/docs/RequestRatesSearch.md +10 -0
  66. data/docs/ResponseRatesSearch.md +8 -0
  67. data/docs/RxCuiIdentifier.md +11 -0
  68. data/docs/RxCuiIdentifierSearchResponse.md +9 -0
  69. data/docs/VisionPlan.md +20 -0
  70. data/docs/VisionPlanBenefits.md +25 -0
  71. data/docs/VisionPlanSearchApplicant.md +10 -0
  72. data/docs/VisionPlanSearchRequest.md +15 -0
  73. data/docs/VisionPlanSearchResponse.md +9 -0
  74. data/docs/VisionPlanShowResponse.md +8 -0
  75. data/docs/VisionPlanUpdate.md +16 -0
  76. data/docs/VisionPlanUpdateRequest.md +8 -0
  77. data/docs/VisionPlansApi.md +174 -0
  78. data/lib/vericred_client/api/carrier_groups_api.rb +346 -0
  79. data/lib/vericred_client/api/carrier_verification_plans_api.rb +287 -0
  80. data/lib/vericred_client/api/carriers_api.rb +346 -0
  81. data/lib/vericred_client/api/dental_plans_api.rb +403 -0
  82. data/lib/vericred_client/api/drug_coverages_api.rb +5 -3
  83. data/lib/vericred_client/api/drug_packages_api.rb +5 -3
  84. data/lib/vericred_client/api/drugs_api.rb +5 -3
  85. data/lib/vericred_client/api/embargoes_api.rb +346 -0
  86. data/lib/vericred_client/api/formularies_api.rb +295 -0
  87. data/lib/vericred_client/api/issuers_api.rb +346 -0
  88. data/lib/vericred_client/api/medical_plans_api.rb +347 -0
  89. data/lib/vericred_client/api/network_sizes_api.rb +5 -3
  90. data/lib/vericred_client/api/networks_api.rb +66 -3
  91. data/lib/vericred_client/api/plans_api.rb +122 -3
  92. data/lib/vericred_client/api/provider_notification_subscriptions_api.rb +395 -0
  93. data/lib/vericred_client/api/providers_api.rb +82 -27
  94. data/lib/vericred_client/api/rates_api.rb +346 -0
  95. data/lib/vericred_client/api/vision_plans_api.rb +403 -0
  96. data/lib/vericred_client/api/zip_counties_api.rb +5 -3
  97. data/lib/vericred_client/api_client.rb +5 -3
  98. data/lib/vericred_client/api_error.rb +5 -3
  99. data/lib/vericred_client/configuration.rb +5 -3
  100. data/lib/vericred_client/models/aca_plan.rb +1284 -0
  101. data/lib/vericred_client/models/aca_plan2018.rb +1294 -0
  102. data/lib/vericred_client/models/aca_plan2018_search_response.rb +420 -0
  103. data/lib/vericred_client/models/aca_plan2018_search_result.rb +1324 -0
  104. data/lib/vericred_client/models/aca_plan2018_show_response.rb +396 -0
  105. data/lib/vericred_client/models/aca_plan_pre2018.rb +1284 -0
  106. data/lib/vericred_client/models/aca_plan_pre2018_search_response.rb +420 -0
  107. data/lib/vericred_client/models/{plan_search_result.rb → aca_plan_pre2018_search_result.rb} +294 -98
  108. data/lib/vericred_client/models/aca_plan_pre2018_show_response.rb +396 -0
  109. data/lib/vericred_client/models/base.rb +5 -3
  110. data/lib/vericred_client/models/base_plan_search_response.rb +408 -0
  111. data/lib/vericred_client/models/carrier.rb +9 -17
  112. data/lib/vericred_client/models/carrier_group_request.rb +416 -0
  113. data/lib/vericred_client/models/carrier_request.rb +426 -0
  114. data/lib/vericred_client/models/carrier_subsidiary.rb +19 -7
  115. data/lib/vericred_client/models/county.rb +5 -3
  116. data/lib/vericred_client/models/county_bulk.rb +5 -3
  117. data/lib/vericred_client/models/dental_plan.rb +518 -0
  118. data/lib/vericred_client/models/dental_plan_benefits.rb +616 -0
  119. data/lib/vericred_client/models/dental_plan_search_applicant.rb +416 -0
  120. data/lib/vericred_client/models/dental_plan_search_request.rb +468 -0
  121. data/lib/vericred_client/models/dental_plan_search_response.rb +408 -0
  122. data/lib/vericred_client/models/dental_plan_show_response.rb +396 -0
  123. data/lib/vericred_client/models/dental_plan_update.rb +478 -0
  124. data/lib/vericred_client/models/dental_plan_update_request.rb +396 -0
  125. data/lib/vericred_client/models/drug.rb +5 -3
  126. data/lib/vericred_client/models/drug_coverage.rb +18 -4
  127. data/lib/vericred_client/models/drug_coverage_response.rb +12 -24
  128. data/lib/vericred_client/models/drug_package.rb +5 -3
  129. data/lib/vericred_client/models/drug_search_response.rb +5 -3
  130. data/lib/vericred_client/models/embargo_request.rb +446 -0
  131. data/lib/vericred_client/models/formulary.rb +5 -3
  132. data/lib/vericred_client/models/formulary_drug_package_response.rb +5 -3
  133. data/lib/vericred_client/models/formulary_response.rb +5 -3
  134. data/lib/vericred_client/models/issuer_request.rb +506 -0
  135. data/lib/vericred_client/models/meta.rb +5 -3
  136. data/lib/vericred_client/models/{plan_search_response_meta.rb → meta_plan_search_response.rb} +20 -8
  137. data/lib/vericred_client/models/network.rb +5 -3
  138. data/lib/vericred_client/models/network_comparison.rb +446 -0
  139. data/lib/vericred_client/models/network_comparison_request.rb +418 -0
  140. data/lib/vericred_client/models/network_comparison_response.rb +410 -0
  141. data/lib/vericred_client/models/network_details.rb +5 -3
  142. data/lib/vericred_client/models/network_details_response.rb +5 -3
  143. data/lib/vericred_client/models/network_search_response.rb +5 -3
  144. data/lib/vericred_client/models/network_size.rb +5 -3
  145. data/lib/vericred_client/models/notification_subscription.rb +396 -0
  146. data/lib/vericred_client/models/notification_subscription_response.rb +396 -0
  147. data/lib/vericred_client/models/plan.rb +28 -616
  148. data/lib/vericred_client/models/plan_county.rb +5 -3
  149. data/lib/vericred_client/models/plan_county_bulk.rb +5 -3
  150. data/lib/vericred_client/models/plan_deleted.rb +386 -0
  151. data/lib/vericred_client/models/plan_identifier.rb +406 -0
  152. data/lib/vericred_client/models/plan_medicare.rb +510 -0
  153. data/lib/vericred_client/models/plan_medicare_bulk.rb +530 -0
  154. data/lib/vericred_client/models/plan_pricing_medicare.rb +466 -0
  155. data/lib/vericred_client/models/plan_search_response.rb +21 -19
  156. data/lib/vericred_client/models/plan_show_response.rb +6 -4
  157. data/lib/vericred_client/models/provider.rb +21 -17
  158. data/lib/vericred_client/models/provider_details.rb +18 -14
  159. data/lib/vericred_client/models/provider_geocode.rb +5 -3
  160. data/lib/vericred_client/models/provider_network_event_notification.rb +450 -0
  161. data/lib/vericred_client/models/provider_show_response.rb +5 -3
  162. data/lib/vericred_client/models/providers_geocode_response.rb +5 -3
  163. data/lib/vericred_client/models/providers_search_response.rb +5 -3
  164. data/lib/vericred_client/models/rate_request.rb +1796 -0
  165. data/lib/vericred_client/models/rate_search.rb +1746 -0
  166. data/lib/vericred_client/models/rating_area.rb +5 -3
  167. data/lib/vericred_client/models/request_plan_find.rb +26 -4
  168. data/lib/vericred_client/models/request_plan_find_applicant.rb +5 -3
  169. data/lib/vericred_client/models/request_plan_find_carrier_verification.rb +556 -0
  170. data/lib/vericred_client/models/request_plan_find_drug_package.rb +5 -3
  171. data/lib/vericred_client/models/request_plan_find_provider.rb +5 -3
  172. data/lib/vericred_client/models/request_provider_notification_subscription.rb +418 -0
  173. data/lib/vericred_client/models/request_providers_search.rb +18 -4
  174. data/lib/vericred_client/models/request_rates_search.rb +416 -0
  175. data/lib/vericred_client/models/response_rates_search.rb +396 -0
  176. data/lib/vericred_client/models/{applicant.rb → rx_cui_identifier.rb} +23 -51
  177. data/lib/vericred_client/models/rx_cui_identifier_search_response.rb +408 -0
  178. data/lib/vericred_client/models/service_area.rb +5 -3
  179. data/lib/vericred_client/models/service_area_zip_county.rb +5 -3
  180. data/lib/vericred_client/models/state.rb +5 -3
  181. data/lib/vericred_client/models/state_network_size_request.rb +5 -3
  182. data/lib/vericred_client/models/state_network_size_response.rb +5 -3
  183. data/lib/vericred_client/models/vision_plan.rb +518 -0
  184. data/lib/vericred_client/models/vision_plan_benefits.rb +566 -0
  185. data/lib/vericred_client/models/vision_plan_search_applicant.rb +416 -0
  186. data/lib/vericred_client/models/vision_plan_search_request.rb +468 -0
  187. data/lib/vericred_client/models/vision_plan_search_response.rb +408 -0
  188. data/lib/vericred_client/models/vision_plan_show_response.rb +396 -0
  189. data/lib/vericred_client/models/vision_plan_update.rb +478 -0
  190. data/lib/vericred_client/models/vision_plan_update_request.rb +396 -0
  191. data/lib/vericred_client/models/zip_code.rb +5 -3
  192. data/lib/vericred_client/models/zip_counties_response.rb +5 -3
  193. data/lib/vericred_client/models/zip_county.rb +5 -3
  194. data/lib/vericred_client/models/zip_county_bulk.rb +5 -3
  195. data/lib/vericred_client/models/zip_county_response.rb +5 -3
  196. data/lib/vericred_client/version.rb +6 -4
  197. data/lib/vericred_client.rb +66 -6
  198. data/spec/api/carrier_groups_api_spec.rb +267 -0
  199. data/spec/api/carrier_verification_plans_api_spec.rb +254 -0
  200. data/spec/api/carriers_api_spec.rb +267 -0
  201. data/spec/api/dental_plans_api_spec.rb +279 -0
  202. data/spec/api/drug_coverages_api_spec.rb +5 -3
  203. data/spec/api/drug_packages_api_spec.rb +5 -3
  204. data/spec/api/drugs_api_spec.rb +5 -3
  205. data/spec/api/embargoes_api_spec.rb +267 -0
  206. data/spec/api/formularies_api_spec.rb +257 -0
  207. data/spec/api/issuers_api_spec.rb +267 -0
  208. data/spec/api/medical_plans_api_spec.rb +267 -0
  209. data/spec/api/network_sizes_api_spec.rb +5 -3
  210. data/spec/api/networks_api_spec.rb +18 -3
  211. data/spec/api/plans_api_spec.rb +30 -3
  212. data/spec/api/provider_notification_subscriptions_api_spec.rb +278 -0
  213. data/spec/api/providers_api_spec.rb +23 -10
  214. data/spec/api/rates_api_spec.rb +267 -0
  215. data/spec/api/vision_plans_api_spec.rb +279 -0
  216. data/spec/api/zip_counties_api_spec.rb +5 -3
  217. data/spec/api_client_spec.rb +5 -3
  218. data/spec/configuration_spec.rb +5 -3
  219. data/spec/models/aca_plan2018_search_response_spec.rb +261 -0
  220. data/spec/models/aca_plan2018_search_result_spec.rb +801 -0
  221. data/spec/models/aca_plan2018_show_response_spec.rb +249 -0
  222. data/spec/models/aca_plan2018_spec.rb +783 -0
  223. data/spec/models/aca_plan_pre2018_search_response_spec.rb +261 -0
  224. data/spec/models/aca_plan_pre2018_search_result_spec.rb +795 -0
  225. data/spec/models/aca_plan_pre2018_show_response_spec.rb +249 -0
  226. data/spec/models/aca_plan_pre2018_spec.rb +777 -0
  227. data/spec/models/{plan_search_result_spec.rb → aca_plan_spec.rb} +149 -51
  228. data/spec/models/base_plan_search_response_spec.rb +255 -0
  229. data/spec/models/base_spec.rb +5 -3
  230. data/spec/models/carrier_group_request_spec.rb +261 -0
  231. data/spec/models/carrier_request_spec.rb +267 -0
  232. data/spec/models/carrier_spec.rb +5 -9
  233. data/spec/models/carrier_subsidiary_spec.rb +11 -3
  234. data/spec/models/county_bulk_spec.rb +5 -3
  235. data/spec/models/county_spec.rb +5 -3
  236. data/spec/models/dental_plan_benefits_spec.rb +381 -0
  237. data/spec/models/dental_plan_search_applicant_spec.rb +261 -0
  238. data/spec/models/dental_plan_search_request_spec.rb +291 -0
  239. data/spec/models/dental_plan_search_response_spec.rb +255 -0
  240. data/spec/models/dental_plan_show_response_spec.rb +249 -0
  241. data/spec/models/dental_plan_spec.rb +321 -0
  242. data/spec/models/dental_plan_update_request_spec.rb +249 -0
  243. data/spec/models/dental_plan_update_spec.rb +297 -0
  244. data/spec/models/drug_coverage_response_spec.rb +6 -10
  245. data/spec/models/drug_coverage_spec.rb +11 -3
  246. data/spec/models/drug_package_spec.rb +5 -3
  247. data/spec/models/drug_search_response_spec.rb +5 -3
  248. data/spec/models/drug_spec.rb +5 -3
  249. data/spec/models/{applicant_spec.rb → embargo_request_spec.rb} +17 -21
  250. data/spec/models/formulary_drug_package_response_spec.rb +5 -3
  251. data/spec/models/formulary_response_spec.rb +5 -3
  252. data/spec/models/formulary_spec.rb +5 -3
  253. data/spec/models/issuer_request_spec.rb +315 -0
  254. data/spec/models/meta_plan_search_response_spec.rb +261 -0
  255. data/spec/models/meta_spec.rb +5 -3
  256. data/spec/models/network_comparison_request_spec.rb +261 -0
  257. data/spec/models/network_comparison_response_spec.rb +255 -0
  258. data/spec/models/network_comparison_spec.rb +279 -0
  259. data/spec/models/network_details_response_spec.rb +5 -3
  260. data/spec/models/network_details_spec.rb +5 -3
  261. data/spec/models/network_search_response_spec.rb +5 -3
  262. data/spec/models/network_size_spec.rb +5 -3
  263. data/spec/models/network_spec.rb +5 -3
  264. data/spec/models/notification_subscription_response_spec.rb +249 -0
  265. data/spec/models/notification_subscription_spec.rb +249 -0
  266. data/spec/models/plan_county_bulk_spec.rb +5 -3
  267. data/spec/models/plan_county_spec.rb +5 -3
  268. data/spec/models/plan_deleted_spec.rb +243 -0
  269. data/spec/models/{plan_search_response_meta_spec.rb → plan_identifier_spec.rb} +13 -11
  270. data/spec/models/plan_medicare_bulk_spec.rb +327 -0
  271. data/spec/models/plan_medicare_spec.rb +315 -0
  272. data/spec/models/plan_pricing_medicare_spec.rb +291 -0
  273. data/spec/models/plan_search_response_spec.rb +7 -5
  274. data/spec/models/plan_show_response_spec.rb +5 -3
  275. data/spec/models/plan_spec.rb +8 -360
  276. data/spec/models/provider_details_spec.rb +11 -9
  277. data/spec/models/provider_geocode_spec.rb +5 -3
  278. data/spec/models/provider_network_event_notification_spec.rb +279 -0
  279. data/spec/models/provider_show_response_spec.rb +5 -3
  280. data/spec/models/provider_spec.rb +11 -9
  281. data/spec/models/providers_geocode_response_spec.rb +5 -3
  282. data/spec/models/providers_search_response_spec.rb +5 -3
  283. data/spec/models/rate_request_spec.rb +1089 -0
  284. data/spec/models/rate_search_spec.rb +1059 -0
  285. data/spec/models/rating_area_spec.rb +5 -3
  286. data/spec/models/request_plan_find_applicant_spec.rb +5 -3
  287. data/spec/models/request_plan_find_carrier_verification_spec.rb +339 -0
  288. data/spec/models/request_plan_find_drug_package_spec.rb +5 -3
  289. data/spec/models/request_plan_find_provider_spec.rb +5 -3
  290. data/spec/models/request_plan_find_spec.rb +17 -3
  291. data/spec/models/request_provider_notification_subscription_spec.rb +261 -0
  292. data/spec/models/request_providers_search_spec.rb +11 -3
  293. data/spec/models/request_rates_search_spec.rb +261 -0
  294. data/spec/models/response_rates_search_spec.rb +249 -0
  295. data/spec/models/rx_cui_identifier_search_response_spec.rb +255 -0
  296. data/spec/models/rx_cui_identifier_spec.rb +267 -0
  297. data/spec/models/service_area_spec.rb +5 -3
  298. data/spec/models/service_area_zip_county_spec.rb +5 -3
  299. data/spec/models/state_network_size_request_spec.rb +5 -3
  300. data/spec/models/state_network_size_response_spec.rb +5 -3
  301. data/spec/models/state_spec.rb +5 -3
  302. data/spec/models/vision_plan_benefits_spec.rb +351 -0
  303. data/spec/models/vision_plan_search_applicant_spec.rb +261 -0
  304. data/spec/models/vision_plan_search_request_spec.rb +291 -0
  305. data/spec/models/vision_plan_search_response_spec.rb +255 -0
  306. data/spec/models/vision_plan_show_response_spec.rb +249 -0
  307. data/spec/models/vision_plan_spec.rb +321 -0
  308. data/spec/models/vision_plan_update_request_spec.rb +249 -0
  309. data/spec/models/vision_plan_update_spec.rb +297 -0
  310. data/spec/models/zip_code_spec.rb +5 -3
  311. data/spec/models/zip_counties_response_spec.rb +5 -3
  312. data/spec/models/zip_county_bulk_spec.rb +5 -3
  313. data/spec/models/zip_county_response_spec.rb +5 -3
  314. data/spec/models/zip_county_spec.rb +5 -3
  315. data/spec/spec_helper.rb +5 -3
  316. data/vericred_client.gemspec +5 -3
  317. metadata +247 -16
  318. data/docs/Applicant.md +0 -14
  319. data/git_push.sh +0 -67
@@ -0,0 +1,1746 @@
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://developers.vericred.com) 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
+ ## SDKs
17
+
18
+ Our API follows standard REST conventions, so you can use any HTTP client
19
+ to integrate with us. You will likely find it easier to use one of our
20
+ [autogenerated SDKs](https://github.com/vericred/?query=vericred-),
21
+ which we make available for several common programming languages.
22
+
23
+ ## Authentication
24
+
25
+ To authenticate, pass the API Key you created in the Developer Portal as
26
+ a `Vericred-Api-Key` header.
27
+
28
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
29
+
30
+ ## Versioning
31
+
32
+ Vericred's API default to the latest version. However, if you need a specific
33
+ version, you can request it with an `Accept-Version` header.
34
+
35
+ The current version is `v3`. Previous versions are `v1` and `v2`.
36
+
37
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' -H 'Accept-Version: v2' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
38
+
39
+ ## Pagination
40
+
41
+ Endpoints that accept `page` and `per_page` parameters are paginated. They expose
42
+ four additional fields that contain data about your position in the response,
43
+ namely `Total`, `Per-Page`, `Link`, and `Page` as described in [RFC-5988](https://tools.ietf.org/html/rfc5988).
44
+
45
+ For example, to display 5 results per page and view the second page of a
46
+ `GET` to `/networks`, your final request would be `GET /networks?....page=2&per_page=5`.
47
+
48
+ ## Sideloading
49
+
50
+ When we return multiple levels of an object graph (e.g. `Provider`s and their `State`s
51
+ we sideload the associated data. In this example, we would provide an Array of
52
+ `State`s and a `state_id` for each provider. This is done primarily to reduce the
53
+ payload size since many of the `Provider`s will share a `State`
54
+
55
+ ```
56
+ {
57
+ providers: [{ id: 1, state_id: 1}, { id: 2, state_id: 1 }],
58
+ states: [{ id: 1, code: 'NY' }]
59
+ }
60
+ ```
61
+
62
+ If you need the second level of the object graph, you can just match the
63
+ corresponding id.
64
+
65
+ ## Selecting specific data
66
+
67
+ All endpoints allow you to specify which fields you would like to return.
68
+ This allows you to limit the response to contain only the data you need.
69
+
70
+ For example, let's take a request that returns the following JSON by default
71
+
72
+ ```
73
+ {
74
+ provider: {
75
+ id: 1,
76
+ name: 'John',
77
+ phone: '1234567890',
78
+ field_we_dont_care_about: 'value_we_dont_care_about'
79
+ },
80
+ states: [{
81
+ id: 1,
82
+ name: 'New York',
83
+ code: 'NY',
84
+ field_we_dont_care_about: 'value_we_dont_care_about'
85
+ }]
86
+ }
87
+ ```
88
+
89
+ To limit our results to only return the fields we care about, we specify the
90
+ `select` query string parameter for the corresponding fields in the JSON
91
+ document.
92
+
93
+ In this case, we want to select `name` and `phone` from the `provider` key,
94
+ so we would add the parameters `select=provider.name,provider.phone`.
95
+ We also want the `name` and `code` from the `states` key, so we would
96
+ add the parameters `select=states.name,states.code`. The id field of
97
+ each document is always returned whether or not it is requested.
98
+
99
+ Our final request would be `GET /providers/12345?select=provider.name,provider.phone,states.name,states.code`
100
+
101
+ The response would be
102
+
103
+ ```
104
+ {
105
+ provider: {
106
+ id: 1,
107
+ name: 'John',
108
+ phone: '1234567890'
109
+ },
110
+ states: [{
111
+ id: 1,
112
+ name: 'New York',
113
+ code: 'NY'
114
+ }]
115
+ }
116
+ ```
117
+
118
+ ## Benefits summary format
119
+ Benefit cost-share strings are formatted to capture:
120
+ * Network tiers
121
+ * Compound or conditional cost-share
122
+ * Limits on the cost-share
123
+ * Benefit-specific maximum out-of-pocket costs
124
+
125
+ **Example #1**
126
+ As an example, we would represent [this Summary of Benefits & Coverage](https://s3.amazonaws.com/vericred-data/SBC/2017/33602TX0780032.pdf) as:
127
+
128
+ * **Hospital stay facility fees**:
129
+ - Network Provider: `$400 copay/admit plus 20% coinsurance`
130
+ - Out-of-Network Provider: `$1,500 copay/admit plus 50% coinsurance`
131
+ - Vericred's format for this benefit: `In-Network: $400 before deductible then 20% after deductible / Out-of-Network: $1,500 before deductible then 50% after deductible`
132
+
133
+ * **Rehabilitation services:**
134
+ - Network Provider: `20% coinsurance`
135
+ - Out-of-Network Provider: `50% coinsurance`
136
+ - Limitations & Exceptions: `35 visit maximum per benefit period combined with Chiropractic care.`
137
+ - Vericred's format for this benefit: `In-Network: 20% after deductible / Out-of-Network: 50% after deductible | limit: 35 visit(s) per Benefit Period`
138
+
139
+ **Example #2**
140
+ In [this other Summary of Benefits & Coverage](https://s3.amazonaws.com/vericred-data/SBC/2017/40733CA0110568.pdf), the **specialty_drugs** cost-share has a maximum out-of-pocket for in-network pharmacies.
141
+ * **Specialty drugs:**
142
+ - Network Provider: `40% coinsurance up to a $500 maximum for up to a 30 day supply`
143
+ - Out-of-Network Provider `Not covered`
144
+ - Vericred's format for this benefit: `In-Network: 40% after deductible, up to $500 per script / Out-of-Network: 100%`
145
+
146
+ **BNF**
147
+
148
+ Here's a description of the benefits summary string, represented as a context-free grammar:
149
+
150
+ ```
151
+ root ::= coverage
152
+
153
+ coverage ::= (simple_coverage | tiered_coverage) (space pipe space coverage_modifier)?
154
+ tiered_coverage ::= tier (space slash space tier)*
155
+ tier ::= tier_name colon space (tier_coverage | not_applicable)
156
+ tier_coverage ::= simple_coverage (space (then | or | and) space simple_coverage)* tier_limitation?
157
+ simple_coverage ::= (pre_coverage_limitation space)? coverage_amount (space post_coverage_limitation)? (comma? space coverage_condition)?
158
+ coverage_modifier ::= limit_condition colon space (((simple_coverage | simple_limitation) (semicolon space see_carrier_documentation)?) | see_carrier_documentation | waived_if_admitted | shared_across_tiers)
159
+ waived_if_admitted ::= ("copay" space)? "waived if admitted"
160
+ simple_limitation ::= pre_coverage_limitation space "copay applies"
161
+ tier_name ::= "In-Network-Tier-2" | "Out-of-Network" | "In-Network"
162
+ limit_condition ::= "limit" | "condition"
163
+ tier_limitation ::= comma space "up to" space (currency | (integer space time_unit plural?)) (space post_coverage_limitation)?
164
+ coverage_amount ::= currency | unlimited | included | unknown | percentage | (digits space (treatment_unit | time_unit) plural?)
165
+ pre_coverage_limitation ::= first space digits space time_unit plural?
166
+ post_coverage_limitation ::= (((then space currency) | "per condition") space)? "per" space (treatment_unit | (integer space time_unit) | time_unit) plural?
167
+ coverage_condition ::= ("before deductible" | "after deductible" | "penalty" | allowance | "in-state" | "out-of-state") (space allowance)?
168
+ allowance ::= upto_allowance | after_allowance
169
+ upto_allowance ::= "up to" space (currency space)? "allowance"
170
+ after_allowance ::= "after" space (currency space)? "allowance"
171
+ see_carrier_documentation ::= "see carrier documentation for more information"
172
+ shared_across_tiers ::= "shared across all tiers"
173
+ unknown ::= "unknown"
174
+ unlimited ::= /[uU]nlimited/
175
+ included ::= /[iI]ncluded in [mM]edical/
176
+ time_unit ::= /[hH]our/ | (((/[cC]alendar/ | /[cC]ontract/) space)? /[yY]ear/) | /[mM]onth/ | /[dD]ay/ | /[wW]eek/ | /[vV]isit/ | /[lL]ifetime/ | ((((/[bB]enefit/ plural?) | /[eE]ligibility/) space)? /[pP]eriod/)
177
+ treatment_unit ::= /[pP]erson/ | /[gG]roup/ | /[cC]ondition/ | /[sS]cript/ | /[vV]isit/ | /[eE]xam/ | /[iI]tem/ | /[sS]tay/ | /[tT]reatment/ | /[aA]dmission/ | /[eE]pisode/
178
+ comma ::= ","
179
+ colon ::= ":"
180
+ semicolon ::= ";"
181
+ pipe ::= "|"
182
+ slash ::= "/"
183
+ plural ::= "(s)" | "s"
184
+ then ::= "then" | ("," space) | space
185
+ or ::= "or"
186
+ and ::= "and"
187
+ not_applicable ::= "Not Applicable" | "N/A" | "NA"
188
+ first ::= "first"
189
+ currency ::= "$" number
190
+ percentage ::= number "%"
191
+ number ::= float | integer
192
+ float ::= digits "." digits
193
+ integer ::= /[0-9]/+ (comma_int | under_int)*
194
+ comma_int ::= ("," /[0-9]/*3) !"_"
195
+ under_int ::= ("_" /[0-9]/*3) !","
196
+ digits ::= /[0-9]/+ ("_" /[0-9]/+)*
197
+ space ::= /[ \t]/+
198
+ ```
199
+
200
+
201
+
202
+ OpenAPI spec version: 1.0.0
203
+
204
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
205
+
206
+ Licensed under the Apache License, Version 2.0 (the "License");
207
+ you may not use this file except in compliance with the License.
208
+ You may obtain a copy of the License at
209
+
210
+ http://www.apache.org/licenses/LICENSE-2.0
211
+
212
+ Unless required by applicable law or agreed to in writing, software
213
+ distributed under the License is distributed on an "AS IS" BASIS,
214
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
215
+ See the License for the specific language governing permissions and
216
+ limitations under the License.
217
+
218
+ =end
219
+
220
+ require 'date'
221
+
222
+ module VericredClient
223
+
224
+ class RateSearch
225
+ # Rate for age 0
226
+ attr_accessor :age_0
227
+
228
+ # Tobacco rate for age 0
229
+ attr_accessor :age_0_tobacco
230
+
231
+ # Rate for age 1
232
+ attr_accessor :age_1
233
+
234
+ # Tobacco rate for age 1
235
+ attr_accessor :age_1_tobacco
236
+
237
+ # Rate for age 2
238
+ attr_accessor :age_2
239
+
240
+ # Tobacco rate for age 2
241
+ attr_accessor :age_2_tobacco
242
+
243
+ # Rate for age 3
244
+ attr_accessor :age_3
245
+
246
+ # Tobacco rate for age 3
247
+ attr_accessor :age_3_tobacco
248
+
249
+ # Rate for age 4
250
+ attr_accessor :age_4
251
+
252
+ # Tobacco rate for age 4
253
+ attr_accessor :age_4_tobacco
254
+
255
+ # Rate for age 5
256
+ attr_accessor :age_5
257
+
258
+ # Tobacco rate for age 5
259
+ attr_accessor :age_5_tobacco
260
+
261
+ # Rate for age 6
262
+ attr_accessor :age_6
263
+
264
+ # Tobacco rate for age 6
265
+ attr_accessor :age_6_tobacco
266
+
267
+ # Rate for age 7
268
+ attr_accessor :age_7
269
+
270
+ # Tobacco rate for age 7
271
+ attr_accessor :age_7_tobacco
272
+
273
+ # Rate for age 8
274
+ attr_accessor :age_8
275
+
276
+ # Tobacco rate for age 8
277
+ attr_accessor :age_8_tobacco
278
+
279
+ # Rate for age 9
280
+ attr_accessor :age_9
281
+
282
+ # Tobacco rate for age 9
283
+ attr_accessor :age_9_tobacco
284
+
285
+ # Rate for age 10
286
+ attr_accessor :age_10
287
+
288
+ # Tobacco rate for age 10
289
+ attr_accessor :age_10_tobacco
290
+
291
+ # Rate for age 11
292
+ attr_accessor :age_11
293
+
294
+ # Tobacco rate for age 11
295
+ attr_accessor :age_11_tobacco
296
+
297
+ # Rate for age 12
298
+ attr_accessor :age_12
299
+
300
+ # Tobacco rate for age 12
301
+ attr_accessor :age_12_tobacco
302
+
303
+ # Rate for age 13
304
+ attr_accessor :age_13
305
+
306
+ # Tobacco rate for age 13
307
+ attr_accessor :age_13_tobacco
308
+
309
+ # Rate for age 14
310
+ attr_accessor :age_14
311
+
312
+ # Tobacco rate for age 14
313
+ attr_accessor :age_14_tobacco
314
+
315
+ # Rate for age 15
316
+ attr_accessor :age_15
317
+
318
+ # Tobacco rate for age 15
319
+ attr_accessor :age_15_tobacco
320
+
321
+ # Rate for age 16
322
+ attr_accessor :age_16
323
+
324
+ # Tobacco rate for age 16
325
+ attr_accessor :age_16_tobacco
326
+
327
+ # Rate for age 17
328
+ attr_accessor :age_17
329
+
330
+ # Tobacco rate for age 17
331
+ attr_accessor :age_17_tobacco
332
+
333
+ # Rate for age 18
334
+ attr_accessor :age_18
335
+
336
+ # Tobacco rate for age 18
337
+ attr_accessor :age_18_tobacco
338
+
339
+ # Rate for age 19
340
+ attr_accessor :age_19
341
+
342
+ # Tobacco rate for age 19
343
+ attr_accessor :age_19_tobacco
344
+
345
+ # Rate for age 20
346
+ attr_accessor :age_20
347
+
348
+ # Tobacco rate for age 20
349
+ attr_accessor :age_20_tobacco
350
+
351
+ # Rate for age 21
352
+ attr_accessor :age_21
353
+
354
+ # Tobacco rate for age 21
355
+ attr_accessor :age_21_tobacco
356
+
357
+ # Rate for age 22
358
+ attr_accessor :age_22
359
+
360
+ # Tobacco rate for age 22
361
+ attr_accessor :age_22_tobacco
362
+
363
+ # Rate for age 23
364
+ attr_accessor :age_23
365
+
366
+ # Tobacco rate for age 23
367
+ attr_accessor :age_23_tobacco
368
+
369
+ # Rate for age 24
370
+ attr_accessor :age_24
371
+
372
+ # Tobacco rate for age 24
373
+ attr_accessor :age_24_tobacco
374
+
375
+ # Rate for age 25
376
+ attr_accessor :age_25
377
+
378
+ # Tobacco rate for age 25
379
+ attr_accessor :age_25_tobacco
380
+
381
+ # Rate for age 26
382
+ attr_accessor :age_26
383
+
384
+ # Tobacco rate for age 26
385
+ attr_accessor :age_26_tobacco
386
+
387
+ # Rate for age 27
388
+ attr_accessor :age_27
389
+
390
+ # Tobacco rate for age 27
391
+ attr_accessor :age_27_tobacco
392
+
393
+ # Rate for age 28
394
+ attr_accessor :age_28
395
+
396
+ # Tobacco rate for age 28
397
+ attr_accessor :age_28_tobacco
398
+
399
+ # Rate for age 29
400
+ attr_accessor :age_29
401
+
402
+ # Tobacco rate for age 29
403
+ attr_accessor :age_29_tobacco
404
+
405
+ # Rate for age 30
406
+ attr_accessor :age_30
407
+
408
+ # Tobacco rate for age 30
409
+ attr_accessor :age_30_tobacco
410
+
411
+ # Rate for age 31
412
+ attr_accessor :age_31
413
+
414
+ # Tobacco rate for age 31
415
+ attr_accessor :age_31_tobacco
416
+
417
+ # Rate for age 32
418
+ attr_accessor :age_32
419
+
420
+ # Tobacco rate for age 32
421
+ attr_accessor :age_32_tobacco
422
+
423
+ # Rate for age 33
424
+ attr_accessor :age_33
425
+
426
+ # Tobacco rate for age 33
427
+ attr_accessor :age_33_tobacco
428
+
429
+ # Rate for age 34
430
+ attr_accessor :age_34
431
+
432
+ # Tobacco rate for age 34
433
+ attr_accessor :age_34_tobacco
434
+
435
+ # Rate for age 35
436
+ attr_accessor :age_35
437
+
438
+ # Tobacco rate for age 35
439
+ attr_accessor :age_35_tobacco
440
+
441
+ # Rate for age 36
442
+ attr_accessor :age_36
443
+
444
+ # Tobacco rate for age 36
445
+ attr_accessor :age_36_tobacco
446
+
447
+ # Rate for age 37
448
+ attr_accessor :age_37
449
+
450
+ # Tobacco rate for age 37
451
+ attr_accessor :age_37_tobacco
452
+
453
+ # Rate for age 38
454
+ attr_accessor :age_38
455
+
456
+ # Tobacco rate for age 38
457
+ attr_accessor :age_38_tobacco
458
+
459
+ # Rate for age 39
460
+ attr_accessor :age_39
461
+
462
+ # Tobacco rate for age 39
463
+ attr_accessor :age_39_tobacco
464
+
465
+ # Rate for age 40
466
+ attr_accessor :age_40
467
+
468
+ # Tobacco rate for age 40
469
+ attr_accessor :age_40_tobacco
470
+
471
+ # Rate for age 41
472
+ attr_accessor :age_41
473
+
474
+ # Tobacco rate for age 41
475
+ attr_accessor :age_41_tobacco
476
+
477
+ # Rate for age 42
478
+ attr_accessor :age_42
479
+
480
+ # Tobacco rate for age 42
481
+ attr_accessor :age_42_tobacco
482
+
483
+ # Rate for age 43
484
+ attr_accessor :age_43
485
+
486
+ # Tobacco rate for age 43
487
+ attr_accessor :age_43_tobacco
488
+
489
+ # Rate for age 44
490
+ attr_accessor :age_44
491
+
492
+ # Tobacco rate for age 44
493
+ attr_accessor :age_44_tobacco
494
+
495
+ # Rate for age 45
496
+ attr_accessor :age_45
497
+
498
+ # Tobacco rate for age 45
499
+ attr_accessor :age_45_tobacco
500
+
501
+ # Rate for age 46
502
+ attr_accessor :age_46
503
+
504
+ # Tobacco rate for age 46
505
+ attr_accessor :age_46_tobacco
506
+
507
+ # Rate for age 47
508
+ attr_accessor :age_47
509
+
510
+ # Tobacco rate for age 47
511
+ attr_accessor :age_47_tobacco
512
+
513
+ # Rate for age 48
514
+ attr_accessor :age_48
515
+
516
+ # Tobacco rate for age 48
517
+ attr_accessor :age_48_tobacco
518
+
519
+ # Rate for age 49
520
+ attr_accessor :age_49
521
+
522
+ # Tobacco rate for age 49
523
+ attr_accessor :age_49_tobacco
524
+
525
+ # Rate for age 50
526
+ attr_accessor :age_50
527
+
528
+ # Tobacco rate for age 50
529
+ attr_accessor :age_50_tobacco
530
+
531
+ # Rate for age 51
532
+ attr_accessor :age_51
533
+
534
+ # Tobacco rate for age 51
535
+ attr_accessor :age_51_tobacco
536
+
537
+ # Rate for age 52
538
+ attr_accessor :age_52
539
+
540
+ # Tobacco rate for age 52
541
+ attr_accessor :age_52_tobacco
542
+
543
+ # Rate for age 53
544
+ attr_accessor :age_53
545
+
546
+ # Tobacco rate for age 53
547
+ attr_accessor :age_53_tobacco
548
+
549
+ # Rate for age 54
550
+ attr_accessor :age_54
551
+
552
+ # Tobacco rate for age 54
553
+ attr_accessor :age_54_tobacco
554
+
555
+ # Rate for age 55
556
+ attr_accessor :age_55
557
+
558
+ # Tobacco rate for age 55
559
+ attr_accessor :age_55_tobacco
560
+
561
+ # Rate for age 56
562
+ attr_accessor :age_56
563
+
564
+ # Tobacco rate for age 56
565
+ attr_accessor :age_56_tobacco
566
+
567
+ # Rate for age 57
568
+ attr_accessor :age_57
569
+
570
+ # Tobacco rate for age 57
571
+ attr_accessor :age_57_tobacco
572
+
573
+ # Rate for age 58
574
+ attr_accessor :age_58
575
+
576
+ # Tobacco rate for age 58
577
+ attr_accessor :age_58_tobacco
578
+
579
+ # Rate for age 59
580
+ attr_accessor :age_59
581
+
582
+ # Tobacco rate for age 59
583
+ attr_accessor :age_59_tobacco
584
+
585
+ # Rate for age 60
586
+ attr_accessor :age_60
587
+
588
+ # Tobacco rate for age 60
589
+ attr_accessor :age_60_tobacco
590
+
591
+ # Rate for age 61
592
+ attr_accessor :age_61
593
+
594
+ # Tobacco rate for age 61
595
+ attr_accessor :age_61_tobacco
596
+
597
+ # Rate for age 62
598
+ attr_accessor :age_62
599
+
600
+ # Tobacco rate for age 62
601
+ attr_accessor :age_62_tobacco
602
+
603
+ # Rate for age 63
604
+ attr_accessor :age_63
605
+
606
+ # Tobacco rate for age 63
607
+ attr_accessor :age_63_tobacco
608
+
609
+ # Rate for age 64
610
+ attr_accessor :age_64
611
+
612
+ # Tobacco rate for age 64
613
+ attr_accessor :age_64_tobacco
614
+
615
+ # Rate for age 65
616
+ attr_accessor :age_65
617
+
618
+ # Tobacco rate for age 65
619
+ attr_accessor :age_65_tobacco
620
+
621
+ # First date on which the rate is effective
622
+ attr_accessor :effective_date
623
+
624
+ # Last date on which the rate is effecitve
625
+ attr_accessor :expiration_date
626
+
627
+ # Foreign key to the plan
628
+ attr_accessor :plan_id
629
+
630
+ # Data source for the rate
631
+ attr_accessor :source
632
+
633
+
634
+ # Attribute mapping from ruby-style variable name to JSON key.
635
+ def self.attribute_map
636
+ {
637
+ :'age_0' => :'age_0',
638
+ :'age_0_tobacco' => :'age_0_tobacco',
639
+ :'age_1' => :'age_1',
640
+ :'age_1_tobacco' => :'age_1_tobacco',
641
+ :'age_2' => :'age_2',
642
+ :'age_2_tobacco' => :'age_2_tobacco',
643
+ :'age_3' => :'age_3',
644
+ :'age_3_tobacco' => :'age_3_tobacco',
645
+ :'age_4' => :'age_4',
646
+ :'age_4_tobacco' => :'age_4_tobacco',
647
+ :'age_5' => :'age_5',
648
+ :'age_5_tobacco' => :'age_5_tobacco',
649
+ :'age_6' => :'age_6',
650
+ :'age_6_tobacco' => :'age_6_tobacco',
651
+ :'age_7' => :'age_7',
652
+ :'age_7_tobacco' => :'age_7_tobacco',
653
+ :'age_8' => :'age_8',
654
+ :'age_8_tobacco' => :'age_8_tobacco',
655
+ :'age_9' => :'age_9',
656
+ :'age_9_tobacco' => :'age_9_tobacco',
657
+ :'age_10' => :'age_10',
658
+ :'age_10_tobacco' => :'age_10_tobacco',
659
+ :'age_11' => :'age_11',
660
+ :'age_11_tobacco' => :'age_11_tobacco',
661
+ :'age_12' => :'age_12',
662
+ :'age_12_tobacco' => :'age_12_tobacco',
663
+ :'age_13' => :'age_13',
664
+ :'age_13_tobacco' => :'age_13_tobacco',
665
+ :'age_14' => :'age_14',
666
+ :'age_14_tobacco' => :'age_14_tobacco',
667
+ :'age_15' => :'age_15',
668
+ :'age_15_tobacco' => :'age_15_tobacco',
669
+ :'age_16' => :'age_16',
670
+ :'age_16_tobacco' => :'age_16_tobacco',
671
+ :'age_17' => :'age_17',
672
+ :'age_17_tobacco' => :'age_17_tobacco',
673
+ :'age_18' => :'age_18',
674
+ :'age_18_tobacco' => :'age_18_tobacco',
675
+ :'age_19' => :'age_19',
676
+ :'age_19_tobacco' => :'age_19_tobacco',
677
+ :'age_20' => :'age_20',
678
+ :'age_20_tobacco' => :'age_20_tobacco',
679
+ :'age_21' => :'age_21',
680
+ :'age_21_tobacco' => :'age_21_tobacco',
681
+ :'age_22' => :'age_22',
682
+ :'age_22_tobacco' => :'age_22_tobacco',
683
+ :'age_23' => :'age_23',
684
+ :'age_23_tobacco' => :'age_23_tobacco',
685
+ :'age_24' => :'age_24',
686
+ :'age_24_tobacco' => :'age_24_tobacco',
687
+ :'age_25' => :'age_25',
688
+ :'age_25_tobacco' => :'age_25_tobacco',
689
+ :'age_26' => :'age_26',
690
+ :'age_26_tobacco' => :'age_26_tobacco',
691
+ :'age_27' => :'age_27',
692
+ :'age_27_tobacco' => :'age_27_tobacco',
693
+ :'age_28' => :'age_28',
694
+ :'age_28_tobacco' => :'age_28_tobacco',
695
+ :'age_29' => :'age_29',
696
+ :'age_29_tobacco' => :'age_29_tobacco',
697
+ :'age_30' => :'age_30',
698
+ :'age_30_tobacco' => :'age_30_tobacco',
699
+ :'age_31' => :'age_31',
700
+ :'age_31_tobacco' => :'age_31_tobacco',
701
+ :'age_32' => :'age_32',
702
+ :'age_32_tobacco' => :'age_32_tobacco',
703
+ :'age_33' => :'age_33',
704
+ :'age_33_tobacco' => :'age_33_tobacco',
705
+ :'age_34' => :'age_34',
706
+ :'age_34_tobacco' => :'age_34_tobacco',
707
+ :'age_35' => :'age_35',
708
+ :'age_35_tobacco' => :'age_35_tobacco',
709
+ :'age_36' => :'age_36',
710
+ :'age_36_tobacco' => :'age_36_tobacco',
711
+ :'age_37' => :'age_37',
712
+ :'age_37_tobacco' => :'age_37_tobacco',
713
+ :'age_38' => :'age_38',
714
+ :'age_38_tobacco' => :'age_38_tobacco',
715
+ :'age_39' => :'age_39',
716
+ :'age_39_tobacco' => :'age_39_tobacco',
717
+ :'age_40' => :'age_40',
718
+ :'age_40_tobacco' => :'age_40_tobacco',
719
+ :'age_41' => :'age_41',
720
+ :'age_41_tobacco' => :'age_41_tobacco',
721
+ :'age_42' => :'age_42',
722
+ :'age_42_tobacco' => :'age_42_tobacco',
723
+ :'age_43' => :'age_43',
724
+ :'age_43_tobacco' => :'age_43_tobacco',
725
+ :'age_44' => :'age_44',
726
+ :'age_44_tobacco' => :'age_44_tobacco',
727
+ :'age_45' => :'age_45',
728
+ :'age_45_tobacco' => :'age_45_tobacco',
729
+ :'age_46' => :'age_46',
730
+ :'age_46_tobacco' => :'age_46_tobacco',
731
+ :'age_47' => :'age_47',
732
+ :'age_47_tobacco' => :'age_47_tobacco',
733
+ :'age_48' => :'age_48',
734
+ :'age_48_tobacco' => :'age_48_tobacco',
735
+ :'age_49' => :'age_49',
736
+ :'age_49_tobacco' => :'age_49_tobacco',
737
+ :'age_50' => :'age_50',
738
+ :'age_50_tobacco' => :'age_50_tobacco',
739
+ :'age_51' => :'age_51',
740
+ :'age_51_tobacco' => :'age_51_tobacco',
741
+ :'age_52' => :'age_52',
742
+ :'age_52_tobacco' => :'age_52_tobacco',
743
+ :'age_53' => :'age_53',
744
+ :'age_53_tobacco' => :'age_53_tobacco',
745
+ :'age_54' => :'age_54',
746
+ :'age_54_tobacco' => :'age_54_tobacco',
747
+ :'age_55' => :'age_55',
748
+ :'age_55_tobacco' => :'age_55_tobacco',
749
+ :'age_56' => :'age_56',
750
+ :'age_56_tobacco' => :'age_56_tobacco',
751
+ :'age_57' => :'age_57',
752
+ :'age_57_tobacco' => :'age_57_tobacco',
753
+ :'age_58' => :'age_58',
754
+ :'age_58_tobacco' => :'age_58_tobacco',
755
+ :'age_59' => :'age_59',
756
+ :'age_59_tobacco' => :'age_59_tobacco',
757
+ :'age_60' => :'age_60',
758
+ :'age_60_tobacco' => :'age_60_tobacco',
759
+ :'age_61' => :'age_61',
760
+ :'age_61_tobacco' => :'age_61_tobacco',
761
+ :'age_62' => :'age_62',
762
+ :'age_62_tobacco' => :'age_62_tobacco',
763
+ :'age_63' => :'age_63',
764
+ :'age_63_tobacco' => :'age_63_tobacco',
765
+ :'age_64' => :'age_64',
766
+ :'age_64_tobacco' => :'age_64_tobacco',
767
+ :'age_65' => :'age_65',
768
+ :'age_65_tobacco' => :'age_65_tobacco',
769
+ :'effective_date' => :'effective_date',
770
+ :'expiration_date' => :'expiration_date',
771
+ :'plan_id' => :'plan_id',
772
+ :'source' => :'source'
773
+ }
774
+ end
775
+
776
+ # Attribute type mapping.
777
+ def self.swagger_types
778
+ {
779
+ :'age_0' => :'Float',
780
+ :'age_0_tobacco' => :'Float',
781
+ :'age_1' => :'Float',
782
+ :'age_1_tobacco' => :'Float',
783
+ :'age_2' => :'Float',
784
+ :'age_2_tobacco' => :'Float',
785
+ :'age_3' => :'Float',
786
+ :'age_3_tobacco' => :'Float',
787
+ :'age_4' => :'Float',
788
+ :'age_4_tobacco' => :'Float',
789
+ :'age_5' => :'Float',
790
+ :'age_5_tobacco' => :'Float',
791
+ :'age_6' => :'Float',
792
+ :'age_6_tobacco' => :'Float',
793
+ :'age_7' => :'Float',
794
+ :'age_7_tobacco' => :'Float',
795
+ :'age_8' => :'Float',
796
+ :'age_8_tobacco' => :'Float',
797
+ :'age_9' => :'Float',
798
+ :'age_9_tobacco' => :'Float',
799
+ :'age_10' => :'Float',
800
+ :'age_10_tobacco' => :'Float',
801
+ :'age_11' => :'Float',
802
+ :'age_11_tobacco' => :'Float',
803
+ :'age_12' => :'Float',
804
+ :'age_12_tobacco' => :'Float',
805
+ :'age_13' => :'Float',
806
+ :'age_13_tobacco' => :'Float',
807
+ :'age_14' => :'Float',
808
+ :'age_14_tobacco' => :'Float',
809
+ :'age_15' => :'Float',
810
+ :'age_15_tobacco' => :'Float',
811
+ :'age_16' => :'Float',
812
+ :'age_16_tobacco' => :'Float',
813
+ :'age_17' => :'Float',
814
+ :'age_17_tobacco' => :'Float',
815
+ :'age_18' => :'Float',
816
+ :'age_18_tobacco' => :'Float',
817
+ :'age_19' => :'Float',
818
+ :'age_19_tobacco' => :'Float',
819
+ :'age_20' => :'Float',
820
+ :'age_20_tobacco' => :'Float',
821
+ :'age_21' => :'Float',
822
+ :'age_21_tobacco' => :'Float',
823
+ :'age_22' => :'Float',
824
+ :'age_22_tobacco' => :'Float',
825
+ :'age_23' => :'Float',
826
+ :'age_23_tobacco' => :'Float',
827
+ :'age_24' => :'Float',
828
+ :'age_24_tobacco' => :'Float',
829
+ :'age_25' => :'Float',
830
+ :'age_25_tobacco' => :'Float',
831
+ :'age_26' => :'Float',
832
+ :'age_26_tobacco' => :'Float',
833
+ :'age_27' => :'Float',
834
+ :'age_27_tobacco' => :'Float',
835
+ :'age_28' => :'Float',
836
+ :'age_28_tobacco' => :'Float',
837
+ :'age_29' => :'Float',
838
+ :'age_29_tobacco' => :'Float',
839
+ :'age_30' => :'Float',
840
+ :'age_30_tobacco' => :'Float',
841
+ :'age_31' => :'Float',
842
+ :'age_31_tobacco' => :'Float',
843
+ :'age_32' => :'Float',
844
+ :'age_32_tobacco' => :'Float',
845
+ :'age_33' => :'Float',
846
+ :'age_33_tobacco' => :'Float',
847
+ :'age_34' => :'Float',
848
+ :'age_34_tobacco' => :'Float',
849
+ :'age_35' => :'Float',
850
+ :'age_35_tobacco' => :'Float',
851
+ :'age_36' => :'Float',
852
+ :'age_36_tobacco' => :'Float',
853
+ :'age_37' => :'Float',
854
+ :'age_37_tobacco' => :'Float',
855
+ :'age_38' => :'Float',
856
+ :'age_38_tobacco' => :'Float',
857
+ :'age_39' => :'Float',
858
+ :'age_39_tobacco' => :'Float',
859
+ :'age_40' => :'Float',
860
+ :'age_40_tobacco' => :'Float',
861
+ :'age_41' => :'Float',
862
+ :'age_41_tobacco' => :'Float',
863
+ :'age_42' => :'Float',
864
+ :'age_42_tobacco' => :'Float',
865
+ :'age_43' => :'Float',
866
+ :'age_43_tobacco' => :'Float',
867
+ :'age_44' => :'Float',
868
+ :'age_44_tobacco' => :'Float',
869
+ :'age_45' => :'Float',
870
+ :'age_45_tobacco' => :'Float',
871
+ :'age_46' => :'Float',
872
+ :'age_46_tobacco' => :'Float',
873
+ :'age_47' => :'Float',
874
+ :'age_47_tobacco' => :'Float',
875
+ :'age_48' => :'Float',
876
+ :'age_48_tobacco' => :'Float',
877
+ :'age_49' => :'Float',
878
+ :'age_49_tobacco' => :'Float',
879
+ :'age_50' => :'Float',
880
+ :'age_50_tobacco' => :'Float',
881
+ :'age_51' => :'Float',
882
+ :'age_51_tobacco' => :'Float',
883
+ :'age_52' => :'Float',
884
+ :'age_52_tobacco' => :'Float',
885
+ :'age_53' => :'Float',
886
+ :'age_53_tobacco' => :'Float',
887
+ :'age_54' => :'Float',
888
+ :'age_54_tobacco' => :'Float',
889
+ :'age_55' => :'Float',
890
+ :'age_55_tobacco' => :'Float',
891
+ :'age_56' => :'Float',
892
+ :'age_56_tobacco' => :'Float',
893
+ :'age_57' => :'Float',
894
+ :'age_57_tobacco' => :'Float',
895
+ :'age_58' => :'Float',
896
+ :'age_58_tobacco' => :'Float',
897
+ :'age_59' => :'Float',
898
+ :'age_59_tobacco' => :'Float',
899
+ :'age_60' => :'Float',
900
+ :'age_60_tobacco' => :'Float',
901
+ :'age_61' => :'Float',
902
+ :'age_61_tobacco' => :'Float',
903
+ :'age_62' => :'Float',
904
+ :'age_62_tobacco' => :'Float',
905
+ :'age_63' => :'Float',
906
+ :'age_63_tobacco' => :'Float',
907
+ :'age_64' => :'Float',
908
+ :'age_64_tobacco' => :'Float',
909
+ :'age_65' => :'Float',
910
+ :'age_65_tobacco' => :'Float',
911
+ :'effective_date' => :'Date',
912
+ :'expiration_date' => :'Date',
913
+ :'plan_id' => :'String',
914
+ :'source' => :'String'
915
+ }
916
+ end
917
+
918
+ # Initializes the object
919
+ # @param [Hash] attributes Model attributes in the form of hash
920
+ def initialize(attributes = {})
921
+ return unless attributes.is_a?(Hash)
922
+
923
+ # convert string to symbol for hash key
924
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
925
+
926
+ if attributes.has_key?(:'age_0')
927
+ self.age_0 = attributes[:'age_0']
928
+ end
929
+
930
+ if attributes.has_key?(:'age_0_tobacco')
931
+ self.age_0_tobacco = attributes[:'age_0_tobacco']
932
+ end
933
+
934
+ if attributes.has_key?(:'age_1')
935
+ self.age_1 = attributes[:'age_1']
936
+ end
937
+
938
+ if attributes.has_key?(:'age_1_tobacco')
939
+ self.age_1_tobacco = attributes[:'age_1_tobacco']
940
+ end
941
+
942
+ if attributes.has_key?(:'age_2')
943
+ self.age_2 = attributes[:'age_2']
944
+ end
945
+
946
+ if attributes.has_key?(:'age_2_tobacco')
947
+ self.age_2_tobacco = attributes[:'age_2_tobacco']
948
+ end
949
+
950
+ if attributes.has_key?(:'age_3')
951
+ self.age_3 = attributes[:'age_3']
952
+ end
953
+
954
+ if attributes.has_key?(:'age_3_tobacco')
955
+ self.age_3_tobacco = attributes[:'age_3_tobacco']
956
+ end
957
+
958
+ if attributes.has_key?(:'age_4')
959
+ self.age_4 = attributes[:'age_4']
960
+ end
961
+
962
+ if attributes.has_key?(:'age_4_tobacco')
963
+ self.age_4_tobacco = attributes[:'age_4_tobacco']
964
+ end
965
+
966
+ if attributes.has_key?(:'age_5')
967
+ self.age_5 = attributes[:'age_5']
968
+ end
969
+
970
+ if attributes.has_key?(:'age_5_tobacco')
971
+ self.age_5_tobacco = attributes[:'age_5_tobacco']
972
+ end
973
+
974
+ if attributes.has_key?(:'age_6')
975
+ self.age_6 = attributes[:'age_6']
976
+ end
977
+
978
+ if attributes.has_key?(:'age_6_tobacco')
979
+ self.age_6_tobacco = attributes[:'age_6_tobacco']
980
+ end
981
+
982
+ if attributes.has_key?(:'age_7')
983
+ self.age_7 = attributes[:'age_7']
984
+ end
985
+
986
+ if attributes.has_key?(:'age_7_tobacco')
987
+ self.age_7_tobacco = attributes[:'age_7_tobacco']
988
+ end
989
+
990
+ if attributes.has_key?(:'age_8')
991
+ self.age_8 = attributes[:'age_8']
992
+ end
993
+
994
+ if attributes.has_key?(:'age_8_tobacco')
995
+ self.age_8_tobacco = attributes[:'age_8_tobacco']
996
+ end
997
+
998
+ if attributes.has_key?(:'age_9')
999
+ self.age_9 = attributes[:'age_9']
1000
+ end
1001
+
1002
+ if attributes.has_key?(:'age_9_tobacco')
1003
+ self.age_9_tobacco = attributes[:'age_9_tobacco']
1004
+ end
1005
+
1006
+ if attributes.has_key?(:'age_10')
1007
+ self.age_10 = attributes[:'age_10']
1008
+ end
1009
+
1010
+ if attributes.has_key?(:'age_10_tobacco')
1011
+ self.age_10_tobacco = attributes[:'age_10_tobacco']
1012
+ end
1013
+
1014
+ if attributes.has_key?(:'age_11')
1015
+ self.age_11 = attributes[:'age_11']
1016
+ end
1017
+
1018
+ if attributes.has_key?(:'age_11_tobacco')
1019
+ self.age_11_tobacco = attributes[:'age_11_tobacco']
1020
+ end
1021
+
1022
+ if attributes.has_key?(:'age_12')
1023
+ self.age_12 = attributes[:'age_12']
1024
+ end
1025
+
1026
+ if attributes.has_key?(:'age_12_tobacco')
1027
+ self.age_12_tobacco = attributes[:'age_12_tobacco']
1028
+ end
1029
+
1030
+ if attributes.has_key?(:'age_13')
1031
+ self.age_13 = attributes[:'age_13']
1032
+ end
1033
+
1034
+ if attributes.has_key?(:'age_13_tobacco')
1035
+ self.age_13_tobacco = attributes[:'age_13_tobacco']
1036
+ end
1037
+
1038
+ if attributes.has_key?(:'age_14')
1039
+ self.age_14 = attributes[:'age_14']
1040
+ end
1041
+
1042
+ if attributes.has_key?(:'age_14_tobacco')
1043
+ self.age_14_tobacco = attributes[:'age_14_tobacco']
1044
+ end
1045
+
1046
+ if attributes.has_key?(:'age_15')
1047
+ self.age_15 = attributes[:'age_15']
1048
+ end
1049
+
1050
+ if attributes.has_key?(:'age_15_tobacco')
1051
+ self.age_15_tobacco = attributes[:'age_15_tobacco']
1052
+ end
1053
+
1054
+ if attributes.has_key?(:'age_16')
1055
+ self.age_16 = attributes[:'age_16']
1056
+ end
1057
+
1058
+ if attributes.has_key?(:'age_16_tobacco')
1059
+ self.age_16_tobacco = attributes[:'age_16_tobacco']
1060
+ end
1061
+
1062
+ if attributes.has_key?(:'age_17')
1063
+ self.age_17 = attributes[:'age_17']
1064
+ end
1065
+
1066
+ if attributes.has_key?(:'age_17_tobacco')
1067
+ self.age_17_tobacco = attributes[:'age_17_tobacco']
1068
+ end
1069
+
1070
+ if attributes.has_key?(:'age_18')
1071
+ self.age_18 = attributes[:'age_18']
1072
+ end
1073
+
1074
+ if attributes.has_key?(:'age_18_tobacco')
1075
+ self.age_18_tobacco = attributes[:'age_18_tobacco']
1076
+ end
1077
+
1078
+ if attributes.has_key?(:'age_19')
1079
+ self.age_19 = attributes[:'age_19']
1080
+ end
1081
+
1082
+ if attributes.has_key?(:'age_19_tobacco')
1083
+ self.age_19_tobacco = attributes[:'age_19_tobacco']
1084
+ end
1085
+
1086
+ if attributes.has_key?(:'age_20')
1087
+ self.age_20 = attributes[:'age_20']
1088
+ end
1089
+
1090
+ if attributes.has_key?(:'age_20_tobacco')
1091
+ self.age_20_tobacco = attributes[:'age_20_tobacco']
1092
+ end
1093
+
1094
+ if attributes.has_key?(:'age_21')
1095
+ self.age_21 = attributes[:'age_21']
1096
+ end
1097
+
1098
+ if attributes.has_key?(:'age_21_tobacco')
1099
+ self.age_21_tobacco = attributes[:'age_21_tobacco']
1100
+ end
1101
+
1102
+ if attributes.has_key?(:'age_22')
1103
+ self.age_22 = attributes[:'age_22']
1104
+ end
1105
+
1106
+ if attributes.has_key?(:'age_22_tobacco')
1107
+ self.age_22_tobacco = attributes[:'age_22_tobacco']
1108
+ end
1109
+
1110
+ if attributes.has_key?(:'age_23')
1111
+ self.age_23 = attributes[:'age_23']
1112
+ end
1113
+
1114
+ if attributes.has_key?(:'age_23_tobacco')
1115
+ self.age_23_tobacco = attributes[:'age_23_tobacco']
1116
+ end
1117
+
1118
+ if attributes.has_key?(:'age_24')
1119
+ self.age_24 = attributes[:'age_24']
1120
+ end
1121
+
1122
+ if attributes.has_key?(:'age_24_tobacco')
1123
+ self.age_24_tobacco = attributes[:'age_24_tobacco']
1124
+ end
1125
+
1126
+ if attributes.has_key?(:'age_25')
1127
+ self.age_25 = attributes[:'age_25']
1128
+ end
1129
+
1130
+ if attributes.has_key?(:'age_25_tobacco')
1131
+ self.age_25_tobacco = attributes[:'age_25_tobacco']
1132
+ end
1133
+
1134
+ if attributes.has_key?(:'age_26')
1135
+ self.age_26 = attributes[:'age_26']
1136
+ end
1137
+
1138
+ if attributes.has_key?(:'age_26_tobacco')
1139
+ self.age_26_tobacco = attributes[:'age_26_tobacco']
1140
+ end
1141
+
1142
+ if attributes.has_key?(:'age_27')
1143
+ self.age_27 = attributes[:'age_27']
1144
+ end
1145
+
1146
+ if attributes.has_key?(:'age_27_tobacco')
1147
+ self.age_27_tobacco = attributes[:'age_27_tobacco']
1148
+ end
1149
+
1150
+ if attributes.has_key?(:'age_28')
1151
+ self.age_28 = attributes[:'age_28']
1152
+ end
1153
+
1154
+ if attributes.has_key?(:'age_28_tobacco')
1155
+ self.age_28_tobacco = attributes[:'age_28_tobacco']
1156
+ end
1157
+
1158
+ if attributes.has_key?(:'age_29')
1159
+ self.age_29 = attributes[:'age_29']
1160
+ end
1161
+
1162
+ if attributes.has_key?(:'age_29_tobacco')
1163
+ self.age_29_tobacco = attributes[:'age_29_tobacco']
1164
+ end
1165
+
1166
+ if attributes.has_key?(:'age_30')
1167
+ self.age_30 = attributes[:'age_30']
1168
+ end
1169
+
1170
+ if attributes.has_key?(:'age_30_tobacco')
1171
+ self.age_30_tobacco = attributes[:'age_30_tobacco']
1172
+ end
1173
+
1174
+ if attributes.has_key?(:'age_31')
1175
+ self.age_31 = attributes[:'age_31']
1176
+ end
1177
+
1178
+ if attributes.has_key?(:'age_31_tobacco')
1179
+ self.age_31_tobacco = attributes[:'age_31_tobacco']
1180
+ end
1181
+
1182
+ if attributes.has_key?(:'age_32')
1183
+ self.age_32 = attributes[:'age_32']
1184
+ end
1185
+
1186
+ if attributes.has_key?(:'age_32_tobacco')
1187
+ self.age_32_tobacco = attributes[:'age_32_tobacco']
1188
+ end
1189
+
1190
+ if attributes.has_key?(:'age_33')
1191
+ self.age_33 = attributes[:'age_33']
1192
+ end
1193
+
1194
+ if attributes.has_key?(:'age_33_tobacco')
1195
+ self.age_33_tobacco = attributes[:'age_33_tobacco']
1196
+ end
1197
+
1198
+ if attributes.has_key?(:'age_34')
1199
+ self.age_34 = attributes[:'age_34']
1200
+ end
1201
+
1202
+ if attributes.has_key?(:'age_34_tobacco')
1203
+ self.age_34_tobacco = attributes[:'age_34_tobacco']
1204
+ end
1205
+
1206
+ if attributes.has_key?(:'age_35')
1207
+ self.age_35 = attributes[:'age_35']
1208
+ end
1209
+
1210
+ if attributes.has_key?(:'age_35_tobacco')
1211
+ self.age_35_tobacco = attributes[:'age_35_tobacco']
1212
+ end
1213
+
1214
+ if attributes.has_key?(:'age_36')
1215
+ self.age_36 = attributes[:'age_36']
1216
+ end
1217
+
1218
+ if attributes.has_key?(:'age_36_tobacco')
1219
+ self.age_36_tobacco = attributes[:'age_36_tobacco']
1220
+ end
1221
+
1222
+ if attributes.has_key?(:'age_37')
1223
+ self.age_37 = attributes[:'age_37']
1224
+ end
1225
+
1226
+ if attributes.has_key?(:'age_37_tobacco')
1227
+ self.age_37_tobacco = attributes[:'age_37_tobacco']
1228
+ end
1229
+
1230
+ if attributes.has_key?(:'age_38')
1231
+ self.age_38 = attributes[:'age_38']
1232
+ end
1233
+
1234
+ if attributes.has_key?(:'age_38_tobacco')
1235
+ self.age_38_tobacco = attributes[:'age_38_tobacco']
1236
+ end
1237
+
1238
+ if attributes.has_key?(:'age_39')
1239
+ self.age_39 = attributes[:'age_39']
1240
+ end
1241
+
1242
+ if attributes.has_key?(:'age_39_tobacco')
1243
+ self.age_39_tobacco = attributes[:'age_39_tobacco']
1244
+ end
1245
+
1246
+ if attributes.has_key?(:'age_40')
1247
+ self.age_40 = attributes[:'age_40']
1248
+ end
1249
+
1250
+ if attributes.has_key?(:'age_40_tobacco')
1251
+ self.age_40_tobacco = attributes[:'age_40_tobacco']
1252
+ end
1253
+
1254
+ if attributes.has_key?(:'age_41')
1255
+ self.age_41 = attributes[:'age_41']
1256
+ end
1257
+
1258
+ if attributes.has_key?(:'age_41_tobacco')
1259
+ self.age_41_tobacco = attributes[:'age_41_tobacco']
1260
+ end
1261
+
1262
+ if attributes.has_key?(:'age_42')
1263
+ self.age_42 = attributes[:'age_42']
1264
+ end
1265
+
1266
+ if attributes.has_key?(:'age_42_tobacco')
1267
+ self.age_42_tobacco = attributes[:'age_42_tobacco']
1268
+ end
1269
+
1270
+ if attributes.has_key?(:'age_43')
1271
+ self.age_43 = attributes[:'age_43']
1272
+ end
1273
+
1274
+ if attributes.has_key?(:'age_43_tobacco')
1275
+ self.age_43_tobacco = attributes[:'age_43_tobacco']
1276
+ end
1277
+
1278
+ if attributes.has_key?(:'age_44')
1279
+ self.age_44 = attributes[:'age_44']
1280
+ end
1281
+
1282
+ if attributes.has_key?(:'age_44_tobacco')
1283
+ self.age_44_tobacco = attributes[:'age_44_tobacco']
1284
+ end
1285
+
1286
+ if attributes.has_key?(:'age_45')
1287
+ self.age_45 = attributes[:'age_45']
1288
+ end
1289
+
1290
+ if attributes.has_key?(:'age_45_tobacco')
1291
+ self.age_45_tobacco = attributes[:'age_45_tobacco']
1292
+ end
1293
+
1294
+ if attributes.has_key?(:'age_46')
1295
+ self.age_46 = attributes[:'age_46']
1296
+ end
1297
+
1298
+ if attributes.has_key?(:'age_46_tobacco')
1299
+ self.age_46_tobacco = attributes[:'age_46_tobacco']
1300
+ end
1301
+
1302
+ if attributes.has_key?(:'age_47')
1303
+ self.age_47 = attributes[:'age_47']
1304
+ end
1305
+
1306
+ if attributes.has_key?(:'age_47_tobacco')
1307
+ self.age_47_tobacco = attributes[:'age_47_tobacco']
1308
+ end
1309
+
1310
+ if attributes.has_key?(:'age_48')
1311
+ self.age_48 = attributes[:'age_48']
1312
+ end
1313
+
1314
+ if attributes.has_key?(:'age_48_tobacco')
1315
+ self.age_48_tobacco = attributes[:'age_48_tobacco']
1316
+ end
1317
+
1318
+ if attributes.has_key?(:'age_49')
1319
+ self.age_49 = attributes[:'age_49']
1320
+ end
1321
+
1322
+ if attributes.has_key?(:'age_49_tobacco')
1323
+ self.age_49_tobacco = attributes[:'age_49_tobacco']
1324
+ end
1325
+
1326
+ if attributes.has_key?(:'age_50')
1327
+ self.age_50 = attributes[:'age_50']
1328
+ end
1329
+
1330
+ if attributes.has_key?(:'age_50_tobacco')
1331
+ self.age_50_tobacco = attributes[:'age_50_tobacco']
1332
+ end
1333
+
1334
+ if attributes.has_key?(:'age_51')
1335
+ self.age_51 = attributes[:'age_51']
1336
+ end
1337
+
1338
+ if attributes.has_key?(:'age_51_tobacco')
1339
+ self.age_51_tobacco = attributes[:'age_51_tobacco']
1340
+ end
1341
+
1342
+ if attributes.has_key?(:'age_52')
1343
+ self.age_52 = attributes[:'age_52']
1344
+ end
1345
+
1346
+ if attributes.has_key?(:'age_52_tobacco')
1347
+ self.age_52_tobacco = attributes[:'age_52_tobacco']
1348
+ end
1349
+
1350
+ if attributes.has_key?(:'age_53')
1351
+ self.age_53 = attributes[:'age_53']
1352
+ end
1353
+
1354
+ if attributes.has_key?(:'age_53_tobacco')
1355
+ self.age_53_tobacco = attributes[:'age_53_tobacco']
1356
+ end
1357
+
1358
+ if attributes.has_key?(:'age_54')
1359
+ self.age_54 = attributes[:'age_54']
1360
+ end
1361
+
1362
+ if attributes.has_key?(:'age_54_tobacco')
1363
+ self.age_54_tobacco = attributes[:'age_54_tobacco']
1364
+ end
1365
+
1366
+ if attributes.has_key?(:'age_55')
1367
+ self.age_55 = attributes[:'age_55']
1368
+ end
1369
+
1370
+ if attributes.has_key?(:'age_55_tobacco')
1371
+ self.age_55_tobacco = attributes[:'age_55_tobacco']
1372
+ end
1373
+
1374
+ if attributes.has_key?(:'age_56')
1375
+ self.age_56 = attributes[:'age_56']
1376
+ end
1377
+
1378
+ if attributes.has_key?(:'age_56_tobacco')
1379
+ self.age_56_tobacco = attributes[:'age_56_tobacco']
1380
+ end
1381
+
1382
+ if attributes.has_key?(:'age_57')
1383
+ self.age_57 = attributes[:'age_57']
1384
+ end
1385
+
1386
+ if attributes.has_key?(:'age_57_tobacco')
1387
+ self.age_57_tobacco = attributes[:'age_57_tobacco']
1388
+ end
1389
+
1390
+ if attributes.has_key?(:'age_58')
1391
+ self.age_58 = attributes[:'age_58']
1392
+ end
1393
+
1394
+ if attributes.has_key?(:'age_58_tobacco')
1395
+ self.age_58_tobacco = attributes[:'age_58_tobacco']
1396
+ end
1397
+
1398
+ if attributes.has_key?(:'age_59')
1399
+ self.age_59 = attributes[:'age_59']
1400
+ end
1401
+
1402
+ if attributes.has_key?(:'age_59_tobacco')
1403
+ self.age_59_tobacco = attributes[:'age_59_tobacco']
1404
+ end
1405
+
1406
+ if attributes.has_key?(:'age_60')
1407
+ self.age_60 = attributes[:'age_60']
1408
+ end
1409
+
1410
+ if attributes.has_key?(:'age_60_tobacco')
1411
+ self.age_60_tobacco = attributes[:'age_60_tobacco']
1412
+ end
1413
+
1414
+ if attributes.has_key?(:'age_61')
1415
+ self.age_61 = attributes[:'age_61']
1416
+ end
1417
+
1418
+ if attributes.has_key?(:'age_61_tobacco')
1419
+ self.age_61_tobacco = attributes[:'age_61_tobacco']
1420
+ end
1421
+
1422
+ if attributes.has_key?(:'age_62')
1423
+ self.age_62 = attributes[:'age_62']
1424
+ end
1425
+
1426
+ if attributes.has_key?(:'age_62_tobacco')
1427
+ self.age_62_tobacco = attributes[:'age_62_tobacco']
1428
+ end
1429
+
1430
+ if attributes.has_key?(:'age_63')
1431
+ self.age_63 = attributes[:'age_63']
1432
+ end
1433
+
1434
+ if attributes.has_key?(:'age_63_tobacco')
1435
+ self.age_63_tobacco = attributes[:'age_63_tobacco']
1436
+ end
1437
+
1438
+ if attributes.has_key?(:'age_64')
1439
+ self.age_64 = attributes[:'age_64']
1440
+ end
1441
+
1442
+ if attributes.has_key?(:'age_64_tobacco')
1443
+ self.age_64_tobacco = attributes[:'age_64_tobacco']
1444
+ end
1445
+
1446
+ if attributes.has_key?(:'age_65')
1447
+ self.age_65 = attributes[:'age_65']
1448
+ end
1449
+
1450
+ if attributes.has_key?(:'age_65_tobacco')
1451
+ self.age_65_tobacco = attributes[:'age_65_tobacco']
1452
+ end
1453
+
1454
+ if attributes.has_key?(:'effective_date')
1455
+ self.effective_date = attributes[:'effective_date']
1456
+ end
1457
+
1458
+ if attributes.has_key?(:'expiration_date')
1459
+ self.expiration_date = attributes[:'expiration_date']
1460
+ end
1461
+
1462
+ if attributes.has_key?(:'plan_id')
1463
+ self.plan_id = attributes[:'plan_id']
1464
+ end
1465
+
1466
+ if attributes.has_key?(:'source')
1467
+ self.source = attributes[:'source']
1468
+ end
1469
+
1470
+ end
1471
+
1472
+ # Show invalid properties with the reasons. Usually used together with valid?
1473
+ # @return Array for valid properies with the reasons
1474
+ def list_invalid_properties
1475
+ invalid_properties = Array.new
1476
+ return invalid_properties
1477
+ end
1478
+
1479
+ # Check to see if the all the properties in the model are valid
1480
+ # @return true if the model is valid
1481
+ def valid?
1482
+ return true
1483
+ end
1484
+
1485
+ # Checks equality by comparing each attribute.
1486
+ # @param [Object] Object to be compared
1487
+ def ==(o)
1488
+ return true if self.equal?(o)
1489
+ self.class == o.class &&
1490
+ age_0 == o.age_0 &&
1491
+ age_0_tobacco == o.age_0_tobacco &&
1492
+ age_1 == o.age_1 &&
1493
+ age_1_tobacco == o.age_1_tobacco &&
1494
+ age_2 == o.age_2 &&
1495
+ age_2_tobacco == o.age_2_tobacco &&
1496
+ age_3 == o.age_3 &&
1497
+ age_3_tobacco == o.age_3_tobacco &&
1498
+ age_4 == o.age_4 &&
1499
+ age_4_tobacco == o.age_4_tobacco &&
1500
+ age_5 == o.age_5 &&
1501
+ age_5_tobacco == o.age_5_tobacco &&
1502
+ age_6 == o.age_6 &&
1503
+ age_6_tobacco == o.age_6_tobacco &&
1504
+ age_7 == o.age_7 &&
1505
+ age_7_tobacco == o.age_7_tobacco &&
1506
+ age_8 == o.age_8 &&
1507
+ age_8_tobacco == o.age_8_tobacco &&
1508
+ age_9 == o.age_9 &&
1509
+ age_9_tobacco == o.age_9_tobacco &&
1510
+ age_10 == o.age_10 &&
1511
+ age_10_tobacco == o.age_10_tobacco &&
1512
+ age_11 == o.age_11 &&
1513
+ age_11_tobacco == o.age_11_tobacco &&
1514
+ age_12 == o.age_12 &&
1515
+ age_12_tobacco == o.age_12_tobacco &&
1516
+ age_13 == o.age_13 &&
1517
+ age_13_tobacco == o.age_13_tobacco &&
1518
+ age_14 == o.age_14 &&
1519
+ age_14_tobacco == o.age_14_tobacco &&
1520
+ age_15 == o.age_15 &&
1521
+ age_15_tobacco == o.age_15_tobacco &&
1522
+ age_16 == o.age_16 &&
1523
+ age_16_tobacco == o.age_16_tobacco &&
1524
+ age_17 == o.age_17 &&
1525
+ age_17_tobacco == o.age_17_tobacco &&
1526
+ age_18 == o.age_18 &&
1527
+ age_18_tobacco == o.age_18_tobacco &&
1528
+ age_19 == o.age_19 &&
1529
+ age_19_tobacco == o.age_19_tobacco &&
1530
+ age_20 == o.age_20 &&
1531
+ age_20_tobacco == o.age_20_tobacco &&
1532
+ age_21 == o.age_21 &&
1533
+ age_21_tobacco == o.age_21_tobacco &&
1534
+ age_22 == o.age_22 &&
1535
+ age_22_tobacco == o.age_22_tobacco &&
1536
+ age_23 == o.age_23 &&
1537
+ age_23_tobacco == o.age_23_tobacco &&
1538
+ age_24 == o.age_24 &&
1539
+ age_24_tobacco == o.age_24_tobacco &&
1540
+ age_25 == o.age_25 &&
1541
+ age_25_tobacco == o.age_25_tobacco &&
1542
+ age_26 == o.age_26 &&
1543
+ age_26_tobacco == o.age_26_tobacco &&
1544
+ age_27 == o.age_27 &&
1545
+ age_27_tobacco == o.age_27_tobacco &&
1546
+ age_28 == o.age_28 &&
1547
+ age_28_tobacco == o.age_28_tobacco &&
1548
+ age_29 == o.age_29 &&
1549
+ age_29_tobacco == o.age_29_tobacco &&
1550
+ age_30 == o.age_30 &&
1551
+ age_30_tobacco == o.age_30_tobacco &&
1552
+ age_31 == o.age_31 &&
1553
+ age_31_tobacco == o.age_31_tobacco &&
1554
+ age_32 == o.age_32 &&
1555
+ age_32_tobacco == o.age_32_tobacco &&
1556
+ age_33 == o.age_33 &&
1557
+ age_33_tobacco == o.age_33_tobacco &&
1558
+ age_34 == o.age_34 &&
1559
+ age_34_tobacco == o.age_34_tobacco &&
1560
+ age_35 == o.age_35 &&
1561
+ age_35_tobacco == o.age_35_tobacco &&
1562
+ age_36 == o.age_36 &&
1563
+ age_36_tobacco == o.age_36_tobacco &&
1564
+ age_37 == o.age_37 &&
1565
+ age_37_tobacco == o.age_37_tobacco &&
1566
+ age_38 == o.age_38 &&
1567
+ age_38_tobacco == o.age_38_tobacco &&
1568
+ age_39 == o.age_39 &&
1569
+ age_39_tobacco == o.age_39_tobacco &&
1570
+ age_40 == o.age_40 &&
1571
+ age_40_tobacco == o.age_40_tobacco &&
1572
+ age_41 == o.age_41 &&
1573
+ age_41_tobacco == o.age_41_tobacco &&
1574
+ age_42 == o.age_42 &&
1575
+ age_42_tobacco == o.age_42_tobacco &&
1576
+ age_43 == o.age_43 &&
1577
+ age_43_tobacco == o.age_43_tobacco &&
1578
+ age_44 == o.age_44 &&
1579
+ age_44_tobacco == o.age_44_tobacco &&
1580
+ age_45 == o.age_45 &&
1581
+ age_45_tobacco == o.age_45_tobacco &&
1582
+ age_46 == o.age_46 &&
1583
+ age_46_tobacco == o.age_46_tobacco &&
1584
+ age_47 == o.age_47 &&
1585
+ age_47_tobacco == o.age_47_tobacco &&
1586
+ age_48 == o.age_48 &&
1587
+ age_48_tobacco == o.age_48_tobacco &&
1588
+ age_49 == o.age_49 &&
1589
+ age_49_tobacco == o.age_49_tobacco &&
1590
+ age_50 == o.age_50 &&
1591
+ age_50_tobacco == o.age_50_tobacco &&
1592
+ age_51 == o.age_51 &&
1593
+ age_51_tobacco == o.age_51_tobacco &&
1594
+ age_52 == o.age_52 &&
1595
+ age_52_tobacco == o.age_52_tobacco &&
1596
+ age_53 == o.age_53 &&
1597
+ age_53_tobacco == o.age_53_tobacco &&
1598
+ age_54 == o.age_54 &&
1599
+ age_54_tobacco == o.age_54_tobacco &&
1600
+ age_55 == o.age_55 &&
1601
+ age_55_tobacco == o.age_55_tobacco &&
1602
+ age_56 == o.age_56 &&
1603
+ age_56_tobacco == o.age_56_tobacco &&
1604
+ age_57 == o.age_57 &&
1605
+ age_57_tobacco == o.age_57_tobacco &&
1606
+ age_58 == o.age_58 &&
1607
+ age_58_tobacco == o.age_58_tobacco &&
1608
+ age_59 == o.age_59 &&
1609
+ age_59_tobacco == o.age_59_tobacco &&
1610
+ age_60 == o.age_60 &&
1611
+ age_60_tobacco == o.age_60_tobacco &&
1612
+ age_61 == o.age_61 &&
1613
+ age_61_tobacco == o.age_61_tobacco &&
1614
+ age_62 == o.age_62 &&
1615
+ age_62_tobacco == o.age_62_tobacco &&
1616
+ age_63 == o.age_63 &&
1617
+ age_63_tobacco == o.age_63_tobacco &&
1618
+ age_64 == o.age_64 &&
1619
+ age_64_tobacco == o.age_64_tobacco &&
1620
+ age_65 == o.age_65 &&
1621
+ age_65_tobacco == o.age_65_tobacco &&
1622
+ effective_date == o.effective_date &&
1623
+ expiration_date == o.expiration_date &&
1624
+ plan_id == o.plan_id &&
1625
+ source == o.source
1626
+ end
1627
+
1628
+ # @see the `==` method
1629
+ # @param [Object] Object to be compared
1630
+ def eql?(o)
1631
+ self == o
1632
+ end
1633
+
1634
+ # Calculates hash code according to all attributes.
1635
+ # @return [Fixnum] Hash code
1636
+ def hash
1637
+ [age_0, age_0_tobacco, age_1, age_1_tobacco, age_2, age_2_tobacco, age_3, age_3_tobacco, age_4, age_4_tobacco, age_5, age_5_tobacco, age_6, age_6_tobacco, age_7, age_7_tobacco, age_8, age_8_tobacco, age_9, age_9_tobacco, age_10, age_10_tobacco, age_11, age_11_tobacco, age_12, age_12_tobacco, age_13, age_13_tobacco, age_14, age_14_tobacco, age_15, age_15_tobacco, age_16, age_16_tobacco, age_17, age_17_tobacco, age_18, age_18_tobacco, age_19, age_19_tobacco, age_20, age_20_tobacco, age_21, age_21_tobacco, age_22, age_22_tobacco, age_23, age_23_tobacco, age_24, age_24_tobacco, age_25, age_25_tobacco, age_26, age_26_tobacco, age_27, age_27_tobacco, age_28, age_28_tobacco, age_29, age_29_tobacco, age_30, age_30_tobacco, age_31, age_31_tobacco, age_32, age_32_tobacco, age_33, age_33_tobacco, age_34, age_34_tobacco, age_35, age_35_tobacco, age_36, age_36_tobacco, age_37, age_37_tobacco, age_38, age_38_tobacco, age_39, age_39_tobacco, age_40, age_40_tobacco, age_41, age_41_tobacco, age_42, age_42_tobacco, age_43, age_43_tobacco, age_44, age_44_tobacco, age_45, age_45_tobacco, age_46, age_46_tobacco, age_47, age_47_tobacco, age_48, age_48_tobacco, age_49, age_49_tobacco, age_50, age_50_tobacco, age_51, age_51_tobacco, age_52, age_52_tobacco, age_53, age_53_tobacco, age_54, age_54_tobacco, age_55, age_55_tobacco, age_56, age_56_tobacco, age_57, age_57_tobacco, age_58, age_58_tobacco, age_59, age_59_tobacco, age_60, age_60_tobacco, age_61, age_61_tobacco, age_62, age_62_tobacco, age_63, age_63_tobacco, age_64, age_64_tobacco, age_65, age_65_tobacco, effective_date, expiration_date, plan_id, source].hash
1638
+ end
1639
+
1640
+ # Builds the object from hash
1641
+ # @param [Hash] attributes Model attributes in the form of hash
1642
+ # @return [Object] Returns the model itself
1643
+ def build_from_hash(attributes)
1644
+ return nil unless attributes.is_a?(Hash)
1645
+ self.class.swagger_types.each_pair do |key, type|
1646
+ if type =~ /\AArray<(.*)>/i
1647
+ # check to ensure the input is an array given that the the attribute
1648
+ # is documented as an array but the input is not
1649
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1650
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
1651
+ end
1652
+ elsif !attributes[self.class.attribute_map[key]].nil?
1653
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1654
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
1655
+ end
1656
+
1657
+ self
1658
+ end
1659
+
1660
+ # Deserializes the data based on type
1661
+ # @param string type Data type
1662
+ # @param string value Value to be deserialized
1663
+ # @return [Object] Deserialized data
1664
+ def _deserialize(type, value)
1665
+ case type.to_sym
1666
+ when :DateTime
1667
+ DateTime.parse(value)
1668
+ when :Date
1669
+ Date.parse(value)
1670
+ when :String
1671
+ value.to_s
1672
+ when :Integer
1673
+ value.to_i
1674
+ when :Float
1675
+ value.to_f
1676
+ when :BOOLEAN
1677
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1678
+ true
1679
+ else
1680
+ false
1681
+ end
1682
+ when :Object
1683
+ # generic object (usually a Hash), return directly
1684
+ value
1685
+ when /\AArray<(?<inner_type>.+)>\z/
1686
+ inner_type = Regexp.last_match[:inner_type]
1687
+ value.map { |v| _deserialize(inner_type, v) }
1688
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
1689
+ k_type = Regexp.last_match[:k_type]
1690
+ v_type = Regexp.last_match[:v_type]
1691
+ {}.tap do |hash|
1692
+ value.each do |k, v|
1693
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1694
+ end
1695
+ end
1696
+ else # model
1697
+ temp_model = VericredClient.const_get(type).new
1698
+ temp_model.build_from_hash(value)
1699
+ end
1700
+ end
1701
+
1702
+ # Returns the string representation of the object
1703
+ # @return [String] String presentation of the object
1704
+ def to_s
1705
+ to_hash.to_s
1706
+ end
1707
+
1708
+ # to_body is an alias to to_hash (backward compatibility)
1709
+ # @return [Hash] Returns the object in the form of hash
1710
+ def to_body
1711
+ to_hash
1712
+ end
1713
+
1714
+ # Returns the object in the form of hash
1715
+ # @return [Hash] Returns the object in the form of hash
1716
+ def to_hash
1717
+ hash = {}
1718
+ self.class.attribute_map.each_pair do |attr, param|
1719
+ value = self.send(attr)
1720
+ next if value.nil?
1721
+ hash[param] = _to_hash(value)
1722
+ end
1723
+ hash
1724
+ end
1725
+
1726
+ # Outputs non-array value in the form of hash
1727
+ # For object, use to_hash. Otherwise, just return the value
1728
+ # @param [Object] value Any valid value
1729
+ # @return [Hash] Returns the value in the form of hash
1730
+ def _to_hash(value)
1731
+ if value.is_a?(Array)
1732
+ value.compact.map{ |v| _to_hash(v) }
1733
+ elsif value.is_a?(Hash)
1734
+ {}.tap do |hash|
1735
+ value.each { |k, v| hash[k] = _to_hash(v) }
1736
+ end
1737
+ elsif value.respond_to? :to_hash
1738
+ value.to_hash
1739
+ else
1740
+ value
1741
+ end
1742
+ end
1743
+
1744
+ end
1745
+
1746
+ end