vericred_client 0.0.23 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (476) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +826 -28
  3. data/docs/ACAPlan.md +35 -35
  4. data/docs/ACAPlan2018.md +36 -36
  5. data/docs/ACAPlan2018SearchResponse.md +1 -1
  6. data/docs/ACAPlan2018SearchResult.md +39 -39
  7. data/docs/ACAPlanPre2018.md +35 -35
  8. data/docs/ACAPlanPre2018SearchResponse.md +1 -1
  9. data/docs/ACAPlanPre2018SearchResult.md +38 -38
  10. data/docs/Address.md +14 -0
  11. data/docs/AncillaryPlanIdentifier.md +9 -0
  12. data/docs/BasePlanSearchResponse.md +1 -1
  13. data/docs/CarrierGroupRequest.md +1 -1
  14. data/docs/CarrierRequest.md +2 -2
  15. data/docs/CarrierSubsidiary.md +2 -2
  16. data/docs/CarrierVerificationDentalPlansApi.md +63 -0
  17. data/docs/CarrierVerificationMedicalPlansApi.md +63 -0
  18. data/docs/CarrierVerificationVisionPlansApi.md +63 -0
  19. data/docs/County.md +1 -1
  20. data/docs/CountyBulk.md +1 -1
  21. data/docs/DentalPlan.md +7 -7
  22. data/docs/DentalPlanBenefits.md +22 -22
  23. data/docs/DentalPlanSearchRequest.md +1 -2
  24. data/docs/DentalPlanUpdate.md +5 -5
  25. data/docs/DentalPlansApi.md +118 -4
  26. data/docs/DependentCreate.md +12 -0
  27. data/docs/DependentCreateRequest.md +12 -0
  28. data/docs/DependentShow.md +12 -0
  29. data/docs/Drug.md +3 -3
  30. data/docs/DrugCoverage.md +3 -3
  31. data/docs/DrugCoverageResponse.md +2 -2
  32. data/docs/DrugPackage.md +1 -1
  33. data/docs/DrugSearchResponse.md +2 -2
  34. data/docs/EmbargoRequest.md +3 -2
  35. data/docs/FormularyResponse.md +1 -1
  36. data/docs/GroupCreate.md +14 -0
  37. data/docs/GroupCreateRequest.md +9 -0
  38. data/docs/GroupCreateResponse.md +9 -0
  39. data/docs/GroupShow.md +15 -0
  40. data/docs/GroupShowResponse.md +9 -0
  41. data/docs/GroupUpdate.md +14 -0
  42. data/docs/GroupUpdateRequest.md +9 -0
  43. data/docs/IssuerRequest.md +7 -7
  44. data/docs/LocationCreate.md +13 -0
  45. data/docs/LocationShow.md +14 -0
  46. data/docs/LocationUpdate.md +14 -0
  47. data/docs/MajorMedicalPlansApi.md +122 -0
  48. data/docs/MedicalPlanBenefits.md +35 -35
  49. data/docs/MedicalPlanUpdate.md +21 -20
  50. data/docs/MedicalPlansApi.md +0 -114
  51. data/docs/MedicareAdvantagePlan.md +25 -0
  52. data/docs/MedicareAdvantagePlanBenefits.md +148 -0
  53. data/docs/MedicareAdvantagePlanSearchRequest.md +12 -0
  54. data/docs/MedicareAdvantagePlanSearchResponse.md +9 -0
  55. data/docs/MedicareAdvantagePlanShowResponse.md +8 -0
  56. data/docs/MemberCreate.md +17 -0
  57. data/docs/MemberRateShow.md +13 -0
  58. data/docs/MemberRateShowRequest.md +10 -0
  59. data/docs/MemberRatesShowResponse.md +9 -0
  60. data/docs/MemberShow.md +18 -0
  61. data/docs/MembersCreateRequest.md +9 -0
  62. data/docs/MembersCreateResponse.md +8 -0
  63. data/docs/MembersShowResponse.md +8 -0
  64. data/docs/MetaPlanSearchResponse.md +1 -1
  65. data/docs/NetworkComparisonResponse.md +1 -1
  66. data/docs/NetworkDetails.md +1 -1
  67. data/docs/NetworkSize.md +1 -1
  68. data/docs/NetworksApi.md +17 -12
  69. data/docs/PlanCounty.md +1 -1
  70. data/docs/PlanCountyBulk.md +1 -1
  71. data/docs/PlanMedicare.md +1 -1
  72. data/docs/PlanMedicareBulk.md +2 -2
  73. data/docs/PlanPricingMedicare.md +3 -3
  74. data/docs/PlanSearchResponse.md +1 -1
  75. data/docs/PlansApi.md +0 -169
  76. data/docs/PlansBulkACA2018.md +8 -0
  77. data/docs/PlansBulkACAPre2018.md +8 -0
  78. data/docs/PlansBulkBase.md +7 -0
  79. data/docs/PlansBulkDental.md +7 -0
  80. data/docs/PlansBulkVision.md +7 -0
  81. data/docs/Provider.md +2 -2
  82. data/docs/ProviderDetails.md +5 -3
  83. data/docs/ProviderNetworkEventNotification.md +3 -3
  84. data/docs/ProviderNetworks.md +11 -0
  85. data/docs/ProviderShowResponse.md +1 -1
  86. data/docs/ProvidersApi.md +1 -56
  87. data/docs/QuoteCreate.md +15 -0
  88. data/docs/QuoteCreateRequest.md +8 -0
  89. data/docs/QuoteCreateResponse.md +8 -0
  90. data/docs/QuoteShow.md +17 -0
  91. data/docs/QuoteShowResponse.md +8 -0
  92. data/docs/QuotingApi.md +344 -0
  93. data/docs/RateRequest.md +24 -24
  94. data/docs/RateSearch.md +23 -18
  95. data/docs/RateShow.md +12 -0
  96. data/docs/RateShowRequest.md +10 -0
  97. data/docs/RatesShowResponse.md +9 -0
  98. data/docs/RequestPlanFind.md +2 -2
  99. data/docs/RequestPlanFindCarrierVerification.md +3 -3
  100. data/docs/RequestProviderNotificationSubscription.md +1 -1
  101. data/docs/RequestProvidersSearch.md +1 -1
  102. data/docs/RequestRatesSearch.md +1 -1
  103. data/docs/RxCuiIdentifier.md +1 -1
  104. data/docs/RxCuiIdentifierSearchResponse.md +1 -1
  105. data/docs/State.md +2 -2
  106. data/docs/SupplementalOptions.md +13 -0
  107. data/docs/V7Network.md +10 -0
  108. data/docs/V7NetworkComparisonResponse.md +9 -0
  109. data/docs/V7NetworkDetails.md +11 -0
  110. data/docs/V7NetworkDetailsResponse.md +8 -0
  111. data/docs/V7NetworkSearchResponse.md +9 -0
  112. data/docs/V7ProviderDetails.md +33 -0
  113. data/docs/V7ProviderNetworks.md +12 -0
  114. data/docs/VisionPlan.md +7 -7
  115. data/docs/VisionPlanBenefits.md +22 -15
  116. data/docs/VisionPlanSearchRequest.md +1 -2
  117. data/docs/VisionPlanUpdate.md +5 -5
  118. data/docs/VisionPlansApi.md +114 -0
  119. data/docs/ZipCountiesResponse.md +1 -1
  120. data/docs/ZipCountyBulk.md +1 -1
  121. data/lib/vericred_client/api/carrier_groups_api.rb +754 -15
  122. data/lib/vericred_client/api/carrier_verification_dental_plans_api.rb +1026 -0
  123. data/lib/vericred_client/api/carrier_verification_medical_plans_api.rb +1026 -0
  124. data/lib/vericred_client/api/carrier_verification_plans_api.rb +754 -15
  125. data/lib/vericred_client/api/carrier_verification_vision_plans_api.rb +1026 -0
  126. data/lib/vericred_client/api/carriers_api.rb +754 -15
  127. data/lib/vericred_client/api/dental_plans_api.rb +874 -18
  128. data/lib/vericred_client/api/drug_coverages_api.rb +754 -15
  129. data/lib/vericred_client/api/drug_packages_api.rb +754 -15
  130. data/lib/vericred_client/api/drugs_api.rb +754 -15
  131. data/lib/vericred_client/api/embargoes_api.rb +754 -15
  132. data/lib/vericred_client/api/formularies_api.rb +754 -15
  133. data/lib/vericred_client/api/issuers_api.rb +754 -15
  134. data/lib/vericred_client/api/major_medical_plans_api.rb +1086 -0
  135. data/lib/vericred_client/api/medical_plans_api.rb +754 -132
  136. data/lib/vericred_client/api/network_sizes_api.rb +754 -15
  137. data/lib/vericred_client/api/networks_api.rb +773 -27
  138. data/lib/vericred_client/api/plans_api.rb +754 -189
  139. data/lib/vericred_client/api/provider_notification_subscriptions_api.rb +754 -15
  140. data/lib/vericred_client/api/providers_api.rb +756 -74
  141. data/lib/vericred_client/api/quoting_api.rb +1316 -0
  142. data/lib/vericred_client/api/rates_api.rb +754 -15
  143. data/lib/vericred_client/api/vision_plans_api.rb +871 -15
  144. data/lib/vericred_client/api/zip_counties_api.rb +754 -15
  145. data/lib/vericred_client/api_client.rb +754 -15
  146. data/lib/vericred_client/api_error.rb +754 -15
  147. data/lib/vericred_client/configuration.rb +754 -15
  148. data/lib/vericred_client/models/aca_plan.rb +1165 -426
  149. data/lib/vericred_client/models/aca_plan2018.rb +1174 -435
  150. data/lib/vericred_client/models/aca_plan2018_search_response.rb +765 -26
  151. data/lib/vericred_client/models/aca_plan2018_search_result.rb +1203 -464
  152. data/lib/vericred_client/models/aca_plan2018_show_response.rb +754 -15
  153. data/lib/vericred_client/models/aca_plan_pre2018.rb +1165 -426
  154. data/lib/vericred_client/models/aca_plan_pre2018_search_response.rb +765 -26
  155. data/lib/vericred_client/models/aca_plan_pre2018_search_result.rb +1202 -463
  156. data/lib/vericred_client/models/aca_plan_pre2018_show_response.rb +754 -15
  157. data/lib/vericred_client/models/address.rb +1195 -0
  158. data/lib/vericred_client/models/ancillary_plan_identifier.rb +1145 -0
  159. data/lib/vericred_client/models/base.rb +754 -15
  160. data/lib/vericred_client/models/base_plan_search_response.rb +768 -29
  161. data/lib/vericred_client/models/carrier.rb +754 -15
  162. data/lib/vericred_client/models/carrier_group_request.rb +765 -26
  163. data/lib/vericred_client/models/carrier_request.rb +769 -30
  164. data/lib/vericred_client/models/carrier_subsidiary.rb +778 -39
  165. data/lib/vericred_client/models/county.rb +765 -26
  166. data/lib/vericred_client/models/county_bulk.rb +768 -29
  167. data/lib/vericred_client/models/dental_plan.rb +825 -86
  168. data/lib/vericred_client/models/dental_plan_benefits.rb +927 -188
  169. data/lib/vericred_client/models/dental_plan_search_applicant.rb +754 -15
  170. data/lib/vericred_client/models/dental_plan_search_request.rb +768 -39
  171. data/lib/vericred_client/models/dental_plan_search_response.rb +754 -15
  172. data/lib/vericred_client/models/dental_plan_show_response.rb +754 -15
  173. data/lib/vericred_client/models/dental_plan_update.rb +804 -65
  174. data/lib/vericred_client/models/dental_plan_update_request.rb +754 -15
  175. data/lib/vericred_client/models/dependent_create.rb +1175 -0
  176. data/lib/vericred_client/models/dependent_create_request.rb +1175 -0
  177. data/lib/vericred_client/models/dependent_show.rb +1175 -0
  178. data/lib/vericred_client/models/drug.rb +781 -42
  179. data/lib/vericred_client/models/drug_coverage.rb +781 -42
  180. data/lib/vericred_client/models/drug_coverage_response.rb +769 -30
  181. data/lib/vericred_client/models/drug_package.rb +765 -26
  182. data/lib/vericred_client/models/drug_search_response.rb +771 -32
  183. data/lib/vericred_client/models/embargo_request.rb +790 -39
  184. data/lib/vericred_client/models/formulary.rb +754 -15
  185. data/lib/vericred_client/models/formulary_drug_package_response.rb +754 -15
  186. data/lib/vericred_client/models/formulary_response.rb +768 -29
  187. data/lib/vericred_client/models/group_create.rb +1195 -0
  188. data/lib/vericred_client/models/group_create_request.rb +1147 -0
  189. data/lib/vericred_client/models/group_create_response.rb +1147 -0
  190. data/lib/vericred_client/models/group_show.rb +1205 -0
  191. data/lib/vericred_client/models/group_show_response.rb +1147 -0
  192. data/lib/vericred_client/models/group_update.rb +1195 -0
  193. data/lib/vericred_client/models/group_update_request.rb +1147 -0
  194. data/lib/vericred_client/models/issuer_request.rb +819 -80
  195. data/lib/vericred_client/models/location_create.rb +1185 -0
  196. data/lib/vericred_client/models/location_show.rb +1195 -0
  197. data/lib/vericred_client/models/location_update.rb +1195 -0
  198. data/lib/vericred_client/models/medical_plan_benefits.rb +1084 -345
  199. data/lib/vericred_client/models/medical_plan_update.rb +930 -181
  200. data/lib/vericred_client/models/medical_plan_update_request.rb +754 -15
  201. data/lib/vericred_client/models/medicare_advantage_plan.rb +1309 -0
  202. data/lib/vericred_client/models/medicare_advantage_plan_benefits.rb +2535 -0
  203. data/lib/vericred_client/models/medicare_advantage_plan_search_request.rb +1175 -0
  204. data/lib/vericred_client/models/medicare_advantage_plan_search_response.rb +1147 -0
  205. data/lib/vericred_client/models/medicare_advantage_plan_show_response.rb +1135 -0
  206. data/lib/vericred_client/models/member_create.rb +1227 -0
  207. data/lib/vericred_client/models/member_rate_show.rb +1185 -0
  208. data/lib/vericred_client/models/member_rate_show_request.rb +1155 -0
  209. data/lib/vericred_client/models/member_rates_show_response.rb +1147 -0
  210. data/lib/vericred_client/models/member_show.rb +1237 -0
  211. data/lib/vericred_client/models/members_create_request.rb +1147 -0
  212. data/lib/vericred_client/models/members_create_response.rb +1137 -0
  213. data/lib/vericred_client/models/members_show_response.rb +1137 -0
  214. data/lib/vericred_client/models/meta.rb +754 -15
  215. data/lib/vericred_client/models/meta_plan_search_response.rb +768 -29
  216. data/lib/vericred_client/models/network.rb +754 -15
  217. data/lib/vericred_client/models/network_comparison.rb +754 -15
  218. data/lib/vericred_client/models/network_comparison_request.rb +754 -15
  219. data/lib/vericred_client/models/network_comparison_response.rb +770 -31
  220. data/lib/vericred_client/models/network_details.rb +770 -31
  221. data/lib/vericred_client/models/network_details_response.rb +754 -15
  222. data/lib/vericred_client/models/network_search_response.rb +754 -15
  223. data/lib/vericred_client/models/network_size.rb +765 -26
  224. data/lib/vericred_client/models/notification_subscription.rb +754 -15
  225. data/lib/vericred_client/models/notification_subscription_response.rb +754 -15
  226. data/lib/vericred_client/models/plan.rb +754 -15
  227. data/lib/vericred_client/models/plan_county.rb +768 -29
  228. data/lib/vericred_client/models/plan_county_bulk.rb +768 -29
  229. data/lib/vericred_client/models/plan_deleted.rb +754 -15
  230. data/lib/vericred_client/models/plan_identifier.rb +754 -15
  231. data/lib/vericred_client/models/plan_medicare.rb +768 -29
  232. data/lib/vericred_client/models/plan_medicare_bulk.rb +775 -36
  233. data/lib/vericred_client/models/plan_pricing_medicare.rb +782 -43
  234. data/lib/vericred_client/models/plan_search_response.rb +765 -26
  235. data/lib/vericred_client/models/plan_show_response.rb +754 -15
  236. data/lib/vericred_client/models/plans_bulk_aca2018.rb +1135 -0
  237. data/lib/vericred_client/models/plans_bulk_aca_pre2018.rb +1135 -0
  238. data/lib/vericred_client/models/plans_bulk_base.rb +1125 -0
  239. data/lib/vericred_client/models/plans_bulk_dental.rb +1125 -0
  240. data/lib/vericred_client/models/plans_bulk_vision.rb +1125 -0
  241. data/lib/vericred_client/models/provider.rb +780 -41
  242. data/lib/vericred_client/models/provider_details.rb +813 -50
  243. data/lib/vericred_client/models/provider_geocode.rb +754 -15
  244. data/lib/vericred_client/models/provider_network_event_notification.rb +790 -51
  245. data/lib/vericred_client/models/provider_networks.rb +1165 -0
  246. data/lib/vericred_client/models/provider_show_response.rb +755 -16
  247. data/lib/vericred_client/models/providers_geocode_response.rb +754 -15
  248. data/lib/vericred_client/models/providers_search_response.rb +754 -15
  249. data/lib/vericred_client/models/quote_create.rb +1207 -0
  250. data/lib/vericred_client/models/quote_create_request.rb +1135 -0
  251. data/lib/vericred_client/models/quote_create_response.rb +1135 -0
  252. data/lib/vericred_client/models/quote_show.rb +1227 -0
  253. data/lib/vericred_client/models/quote_show_response.rb +1135 -0
  254. data/lib/vericred_client/models/rate_request.rb +990 -251
  255. data/lib/vericred_client/models/rate_search.rb +978 -189
  256. data/lib/vericred_client/models/rate_show.rb +1175 -0
  257. data/lib/vericred_client/models/rate_show_request.rb +1155 -0
  258. data/lib/vericred_client/models/rates_show_response.rb +1147 -0
  259. data/lib/vericred_client/models/rating_area.rb +754 -15
  260. data/lib/vericred_client/models/request_plan_find.rb +777 -38
  261. data/lib/vericred_client/models/request_plan_find_applicant.rb +754 -15
  262. data/lib/vericred_client/models/request_plan_find_carrier_verification.rb +792 -53
  263. data/lib/vericred_client/models/request_plan_find_drug_package.rb +754 -15
  264. data/lib/vericred_client/models/request_plan_find_provider.rb +754 -15
  265. data/lib/vericred_client/models/request_provider_notification_subscription.rb +768 -29
  266. data/lib/vericred_client/models/request_providers_search.rb +767 -26
  267. data/lib/vericred_client/models/request_rates_search.rb +768 -29
  268. data/lib/vericred_client/models/response_rates_search.rb +754 -15
  269. data/lib/vericred_client/models/rx_cui_identifier.rb +765 -26
  270. data/lib/vericred_client/models/rx_cui_identifier_search_response.rb +768 -29
  271. data/lib/vericred_client/models/service_area.rb +754 -15
  272. data/lib/vericred_client/models/service_area_zip_county.rb +754 -15
  273. data/lib/vericred_client/models/state.rb +778 -39
  274. data/lib/vericred_client/models/state_network_size_request.rb +754 -15
  275. data/lib/vericred_client/models/state_network_size_response.rb +754 -15
  276. data/lib/vericred_client/models/supplemental_options.rb +1187 -0
  277. data/lib/vericred_client/models/v7_network.rb +1155 -0
  278. data/lib/vericred_client/models/v7_network_comparison_response.rb +1149 -0
  279. data/lib/vericred_client/models/v7_network_details.rb +1167 -0
  280. data/lib/vericred_client/models/v7_network_details_response.rb +1135 -0
  281. data/lib/vericred_client/models/v7_network_search_response.rb +1147 -0
  282. data/lib/vericred_client/models/v7_provider_details.rb +1395 -0
  283. data/lib/vericred_client/models/v7_provider_networks.rb +1175 -0
  284. data/lib/vericred_client/models/vision_plan.rb +825 -86
  285. data/lib/vericred_client/models/vision_plan_benefits.rb +937 -128
  286. data/lib/vericred_client/models/vision_plan_search_applicant.rb +754 -15
  287. data/lib/vericred_client/models/vision_plan_search_request.rb +768 -39
  288. data/lib/vericred_client/models/vision_plan_search_response.rb +754 -15
  289. data/lib/vericred_client/models/vision_plan_show_response.rb +754 -15
  290. data/lib/vericred_client/models/vision_plan_update.rb +804 -65
  291. data/lib/vericred_client/models/vision_plan_update_request.rb +754 -15
  292. data/lib/vericred_client/models/zip_code.rb +754 -15
  293. data/lib/vericred_client/models/zip_counties_response.rb +770 -31
  294. data/lib/vericred_client/models/zip_county.rb +754 -15
  295. data/lib/vericred_client/models/zip_county_bulk.rb +765 -26
  296. data/lib/vericred_client/models/zip_county_response.rb +754 -15
  297. data/lib/vericred_client/version.rb +755 -16
  298. data/lib/vericred_client.rb +809 -15
  299. data/spec/api/carrier_groups_api_spec.rb +754 -15
  300. data/spec/api/carrier_verification_dental_plans_api_spec.rb +993 -0
  301. data/spec/api/carrier_verification_medical_plans_api_spec.rb +993 -0
  302. data/spec/api/carrier_verification_plans_api_spec.rb +754 -15
  303. data/spec/api/carrier_verification_vision_plans_api_spec.rb +993 -0
  304. data/spec/api/carriers_api_spec.rb +754 -15
  305. data/spec/api/dental_plans_api_spec.rb +780 -16
  306. data/spec/api/drug_coverages_api_spec.rb +754 -15
  307. data/spec/api/drug_packages_api_spec.rb +754 -15
  308. data/spec/api/drugs_api_spec.rb +754 -15
  309. data/spec/api/embargoes_api_spec.rb +754 -15
  310. data/spec/api/formularies_api_spec.rb +754 -15
  311. data/spec/api/issuers_api_spec.rb +754 -15
  312. data/spec/api/major_medical_plans_api_spec.rb +1006 -0
  313. data/spec/api/medical_plans_api_spec.rb +754 -40
  314. data/spec/api/network_sizes_api_spec.rb +754 -15
  315. data/spec/api/networks_api_spec.rb +760 -18
  316. data/spec/api/plans_api_spec.rb +754 -52
  317. data/spec/api/provider_notification_subscriptions_api_spec.rb +754 -15
  318. data/spec/api/providers_api_spec.rb +755 -28
  319. data/spec/api/quoting_api_spec.rb +1055 -0
  320. data/spec/api/rates_api_spec.rb +754 -15
  321. data/spec/api/vision_plans_api_spec.rb +779 -15
  322. data/spec/api/zip_counties_api_spec.rb +754 -15
  323. data/spec/api_client_spec.rb +754 -15
  324. data/spec/configuration_spec.rb +754 -15
  325. data/spec/models/aca_plan2018_search_response_spec.rb +756 -17
  326. data/spec/models/aca_plan2018_search_result_spec.rb +839 -100
  327. data/spec/models/aca_plan2018_show_response_spec.rb +754 -15
  328. data/spec/models/aca_plan2018_spec.rb +843 -104
  329. data/spec/models/aca_plan_pre2018_search_response_spec.rb +756 -17
  330. data/spec/models/aca_plan_pre2018_search_result_spec.rb +839 -100
  331. data/spec/models/aca_plan_pre2018_show_response_spec.rb +754 -15
  332. data/spec/models/aca_plan_pre2018_spec.rb +837 -98
  333. data/spec/models/aca_plan_spec.rb +837 -98
  334. data/spec/models/address_spec.rb +1024 -0
  335. data/spec/models/ancillary_plan_identifier_spec.rb +994 -0
  336. data/spec/models/base_plan_search_response_spec.rb +756 -17
  337. data/spec/models/base_spec.rb +754 -15
  338. data/spec/models/carrier_group_request_spec.rb +756 -17
  339. data/spec/models/carrier_request_spec.rb +756 -17
  340. data/spec/models/carrier_spec.rb +754 -15
  341. data/spec/models/carrier_subsidiary_spec.rb +758 -19
  342. data/spec/models/county_bulk_spec.rb +757 -18
  343. data/spec/models/county_spec.rb +756 -17
  344. data/spec/models/dental_plan_benefits_spec.rb +782 -43
  345. data/spec/models/dental_plan_search_applicant_spec.rb +754 -15
  346. data/spec/models/dental_plan_search_request_spec.rb +758 -25
  347. data/spec/models/dental_plan_search_response_spec.rb +754 -15
  348. data/spec/models/dental_plan_show_response_spec.rb +754 -15
  349. data/spec/models/dental_plan_spec.rb +767 -28
  350. data/spec/models/dental_plan_update_request_spec.rb +754 -15
  351. data/spec/models/dental_plan_update_spec.rb +763 -24
  352. data/spec/models/dependent_create_request_spec.rb +1012 -0
  353. data/spec/models/dependent_create_spec.rb +1012 -0
  354. data/spec/models/dependent_show_spec.rb +1012 -0
  355. data/spec/models/drug_coverage_response_spec.rb +756 -17
  356. data/spec/models/drug_coverage_spec.rb +758 -19
  357. data/spec/models/drug_package_spec.rb +756 -17
  358. data/spec/models/drug_search_response_spec.rb +756 -17
  359. data/spec/models/drug_spec.rb +758 -19
  360. data/spec/models/embargo_request_spec.rb +766 -21
  361. data/spec/models/formulary_drug_package_response_spec.rb +754 -15
  362. data/spec/models/formulary_response_spec.rb +756 -17
  363. data/spec/models/formulary_spec.rb +754 -15
  364. data/spec/models/group_create_request_spec.rb +994 -0
  365. data/spec/models/group_create_response_spec.rb +994 -0
  366. data/spec/models/group_create_spec.rb +1024 -0
  367. data/spec/models/group_show_response_spec.rb +994 -0
  368. data/spec/models/group_show_spec.rb +1030 -0
  369. data/spec/models/group_update_request_spec.rb +994 -0
  370. data/spec/models/group_update_spec.rb +1024 -0
  371. data/spec/models/issuer_request_spec.rb +765 -26
  372. data/spec/models/location_create_spec.rb +1018 -0
  373. data/spec/models/location_show_spec.rb +1024 -0
  374. data/spec/models/location_update_spec.rb +1024 -0
  375. data/spec/models/medical_plan_benefits_spec.rb +801 -62
  376. data/spec/models/medical_plan_update_request_spec.rb +754 -15
  377. data/spec/models/medical_plan_update_spec.rb +792 -47
  378. data/spec/models/medicare_advantage_plan_benefits_spec.rb +1828 -0
  379. data/spec/models/medicare_advantage_plan_search_request_spec.rb +1012 -0
  380. data/spec/models/medicare_advantage_plan_search_response_spec.rb +994 -0
  381. data/spec/models/medicare_advantage_plan_show_response_spec.rb +988 -0
  382. data/spec/models/medicare_advantage_plan_spec.rb +1090 -0
  383. data/spec/models/member_create_spec.rb +1042 -0
  384. data/spec/models/member_rate_show_request_spec.rb +1000 -0
  385. data/spec/models/member_rate_show_spec.rb +1018 -0
  386. data/spec/models/member_rates_show_response_spec.rb +994 -0
  387. data/spec/models/member_show_spec.rb +1048 -0
  388. data/spec/models/members_create_request_spec.rb +994 -0
  389. data/spec/models/members_create_response_spec.rb +988 -0
  390. data/spec/models/members_show_response_spec.rb +988 -0
  391. data/spec/models/meta_plan_search_response_spec.rb +757 -18
  392. data/spec/models/meta_spec.rb +754 -15
  393. data/spec/models/network_comparison_request_spec.rb +754 -15
  394. data/spec/models/network_comparison_response_spec.rb +756 -17
  395. data/spec/models/network_comparison_spec.rb +754 -15
  396. data/spec/models/network_details_response_spec.rb +754 -15
  397. data/spec/models/network_details_spec.rb +757 -18
  398. data/spec/models/network_search_response_spec.rb +754 -15
  399. data/spec/models/network_size_spec.rb +756 -17
  400. data/spec/models/network_spec.rb +754 -15
  401. data/spec/models/notification_subscription_response_spec.rb +754 -15
  402. data/spec/models/notification_subscription_spec.rb +754 -15
  403. data/spec/models/plan_county_bulk_spec.rb +756 -17
  404. data/spec/models/plan_county_spec.rb +756 -17
  405. data/spec/models/plan_deleted_spec.rb +754 -15
  406. data/spec/models/plan_identifier_spec.rb +754 -15
  407. data/spec/models/plan_medicare_bulk_spec.rb +763 -24
  408. data/spec/models/plan_medicare_spec.rb +760 -21
  409. data/spec/models/plan_pricing_medicare_spec.rb +761 -22
  410. data/spec/models/plan_search_response_spec.rb +756 -17
  411. data/spec/models/plan_show_response_spec.rb +754 -15
  412. data/spec/models/plan_spec.rb +754 -15
  413. data/spec/models/plans_bulk_aca2018_spec.rb +988 -0
  414. data/spec/models/plans_bulk_aca_pre2018_spec.rb +988 -0
  415. data/spec/models/plans_bulk_base_spec.rb +982 -0
  416. data/spec/models/plans_bulk_dental_spec.rb +982 -0
  417. data/spec/models/plans_bulk_vision_spec.rb +982 -0
  418. data/spec/models/provider_details_spec.rb +779 -28
  419. data/spec/models/provider_geocode_spec.rb +754 -15
  420. data/spec/models/provider_network_event_notification_spec.rb +760 -21
  421. data/spec/models/provider_networks_spec.rb +1006 -0
  422. data/spec/models/provider_show_response_spec.rb +754 -15
  423. data/spec/models/provider_spec.rb +762 -23
  424. data/spec/models/providers_geocode_response_spec.rb +754 -15
  425. data/spec/models/providers_search_response_spec.rb +754 -15
  426. data/spec/models/quote_create_request_spec.rb +988 -0
  427. data/spec/models/quote_create_response_spec.rb +988 -0
  428. data/spec/models/quote_create_spec.rb +1030 -0
  429. data/spec/models/quote_show_response_spec.rb +988 -0
  430. data/spec/models/quote_show_spec.rb +1042 -0
  431. data/spec/models/rate_request_spec.rb +884 -145
  432. data/spec/models/rate_search_spec.rb +886 -117
  433. data/spec/models/rate_show_request_spec.rb +1000 -0
  434. data/spec/models/rate_show_spec.rb +1012 -0
  435. data/spec/models/rates_show_response_spec.rb +994 -0
  436. data/spec/models/rating_area_spec.rb +754 -15
  437. data/spec/models/request_plan_find_applicant_spec.rb +754 -15
  438. data/spec/models/request_plan_find_carrier_verification_spec.rb +761 -22
  439. data/spec/models/request_plan_find_drug_package_spec.rb +754 -15
  440. data/spec/models/request_plan_find_provider_spec.rb +754 -15
  441. data/spec/models/request_plan_find_spec.rb +759 -20
  442. data/spec/models/request_provider_notification_subscription_spec.rb +757 -18
  443. data/spec/models/request_providers_search_spec.rb +758 -19
  444. data/spec/models/request_rates_search_spec.rb +756 -17
  445. data/spec/models/response_rates_search_spec.rb +754 -15
  446. data/spec/models/rx_cui_identifier_search_response_spec.rb +756 -17
  447. data/spec/models/rx_cui_identifier_spec.rb +756 -17
  448. data/spec/models/service_area_spec.rb +754 -15
  449. data/spec/models/service_area_zip_county_spec.rb +754 -15
  450. data/spec/models/state_network_size_request_spec.rb +754 -15
  451. data/spec/models/state_network_size_response_spec.rb +754 -15
  452. data/spec/models/state_spec.rb +762 -23
  453. data/spec/models/supplemental_options_spec.rb +1018 -0
  454. data/spec/models/v7_network_comparison_response_spec.rb +994 -0
  455. data/spec/models/v7_network_details_response_spec.rb +988 -0
  456. data/spec/models/v7_network_details_spec.rb +1006 -0
  457. data/spec/models/v7_network_search_response_spec.rb +994 -0
  458. data/spec/models/v7_network_spec.rb +1000 -0
  459. data/spec/models/v7_provider_details_spec.rb +1138 -0
  460. data/spec/models/v7_provider_networks_spec.rb +1012 -0
  461. data/spec/models/vision_plan_benefits_spec.rb +813 -32
  462. data/spec/models/vision_plan_search_applicant_spec.rb +754 -15
  463. data/spec/models/vision_plan_search_request_spec.rb +758 -25
  464. data/spec/models/vision_plan_search_response_spec.rb +754 -15
  465. data/spec/models/vision_plan_show_response_spec.rb +754 -15
  466. data/spec/models/vision_plan_spec.rb +767 -28
  467. data/spec/models/vision_plan_update_request_spec.rb +754 -15
  468. data/spec/models/vision_plan_update_spec.rb +763 -24
  469. data/spec/models/zip_code_spec.rb +754 -15
  470. data/spec/models/zip_counties_response_spec.rb +756 -17
  471. data/spec/models/zip_county_bulk_spec.rb +757 -18
  472. data/spec/models/zip_county_response_spec.rb +754 -15
  473. data/spec/models/zip_county_spec.rb +754 -15
  474. data/spec/spec_helper.rb +754 -15
  475. data/vericred_client.gemspec +754 -15
  476. metadata +315 -95
@@ -1,17 +1,15 @@
1
1
  =begin
2
2
  #Vericred API
3
3
 
4
- #Vericred's API allows you to search for Health Plans that a specific doctor
5
- accepts.
6
-
7
4
  ## Getting Started
8
5
 
6
+ ## Signing Up
7
+
9
8
  Visit our [Developer Portal](https://developers.vericred.com) to
10
9
  create an account.
11
10
 
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).
11
+ Once you have created an account, you can create one Application for your
12
+ Production environment and another for a Sandbox (select the appropriate Plan when you create the Application).
15
13
 
16
14
  ## SDKs
17
15
 
@@ -32,9 +30,9 @@ a `Vericred-Api-Key` header.
32
30
  Vericred's API default to the latest version. However, if you need a specific
33
31
  version, you can request it with an `Accept-Version` header.
34
32
 
35
- The current version is `v3`. Previous versions are `v1` and `v2`.
33
+ The current version is `v4`. We also support `v2` and `v3`
36
34
 
37
- `curl -H 'Vericred-Api-Key: YOUR_KEY' -H 'Accept-Version: v2' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
35
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' -H 'Accept-Version: v3' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
38
36
 
39
37
  ## Pagination
40
38
 
@@ -47,11 +45,13 @@ For example, to display 5 results per page and view the second page of a
47
45
 
48
46
  ## Sideloading
49
47
 
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`
48
+ When we return multiple levels of an object graph (e.g. `Provider`s and their
49
+ `State`s we typically the associated data. In this example, we would
50
+ provide an Array of `State`s and a `state_id` for each provider. This is
51
+ done primarily to reduce the payload size since many of the `Provider`s
52
+ will share a `State`
54
53
 
54
+ ### Simplified Example
55
55
  ```
56
56
  {
57
57
  providers: [{ id: 1, state_id: 1}, { id: 2, state_id: 1 }],
@@ -87,8 +87,7 @@ For example, let's take a request that returns the following JSON by default
87
87
  ```
88
88
 
89
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.
90
+ `select` in the query string for a `GET` or the body for a `POST`.
92
91
 
93
92
  In this case, we want to select `name` and `phone` from the `provider` key,
94
93
  so we would add the parameters `select=provider.name,provider.phone`.
@@ -115,7 +114,18 @@ The response would be
115
114
  }
116
115
  ```
117
116
 
118
- ## Benefits summary format
117
+ # Plan and Rate Data
118
+
119
+ Vericred's Plan and Rate Data let you search and quote Major Medical and Ancillary Insurance Plans in a given area for a particular family in the Individual Market or a group of families in the Small Group Market. Vericred provides the relevant data via this API and via our Bulk Format (documented [below](#Bulk Plan and Rate Data))
120
+
121
+ ## Plans
122
+
123
+ A Plan defines a set of Benefits available to its purchaser. For example, a Major Medical Plan would specify cost-share Benefits for services like a Primary Care Provider visit, a Specialist visit or an Emergency Room visit. A Dental Plan might specify Benefits for Periodontics and Fluroride Treatments. The Benefits for each Product type ([Major Medical](#header-major-medical), [Dental](#header-dental), and [Vision](#header-vision)) are documented below.
124
+
125
+ ### Benefits Format
126
+
127
+ Benefits for Plans can be quite complex. With the goals of capturing and standardizing the complexity while retaining a human-readable format, we have developed a [Bakus-Naur Form](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form)(BNF) context-free grammar, with which we present Benefits.
128
+
119
129
  Benefit cost-share strings are formatted to capture:
120
130
  * Network tiers
121
131
  * Compound or conditional cost-share
@@ -198,6 +208,735 @@ space ::= /[ \t]/+
198
208
  ```
199
209
 
200
210
 
211
+ ### Major Medical
212
+
213
+ Vericred's data covers all Major Medical Plans available in the Individual and Small Groups (2-50 or 2-100) Markets in the US. These Plans are governed by CMS and are ACA-compliant. We do not include certain Plans that fall outside of the ACA, for example, Faith-Based Plans or Short-Term Medical Plans
214
+
215
+ We support the following Benefits Fields for Major Medical Plans. These represent the vast majority of fields available on a [Summary of Benefits and Coverage](https://www.healthcare.gov/health-care-law-protections/summary-of-benefits-and-coverage/)
216
+
217
+ The following are the appropriate Benefit Fields for Major Medical:
218
+
219
+ - ambulance
220
+ - child\_eye\_exam
221
+ - child\_eyewear
222
+ - chiropractic\_services
223
+ - diagnostic\_test
224
+ - durable\_medical\_equipment
225
+ - emergency\_room
226
+ - family\_drug\_deductible
227
+ - family\_drug\_moop
228
+ - family\_medical\_deductible
229
+ - family\_medical\_moop
230
+ - generic\_drugs
231
+ - habilitation\_services
232
+ - home\_health\_care
233
+ - hospice\_service
234
+ - imaging\_center
235
+ - imaging\_physician
236
+ - individual\_drug\_deductible
237
+ - individual\_drug\_moop
238
+ - individual\_medical\_deductible
239
+ - individual\_medical\_moop
240
+ - inpatient\_birth
241
+ - inpatient\_facility
242
+ - inpatient\_mental\_health
243
+ - inpatient\_physician
244
+ - inpatient\_substance
245
+ - lab\_test
246
+ - non\_preferred\_brand\_drugs
247
+ - nonpreferred\_generic\_drug\_share
248
+ - nonpreferred\_specialty\_drug\_share
249
+ - outpatient\_ambulatory\_care\_center
250
+ - outpatient\_facility
251
+ - outpatient\_mental\_health
252
+ - outpatient\_physician
253
+ - outpatient\_substance
254
+ - postnatal\_care
255
+ - preferred\_brand\_drugs
256
+ - prenatal\_care
257
+ - preventative\_care
258
+ - primary\_care\_physician
259
+ - rehabilitation\_services
260
+ - skilled\_nursing
261
+ - specialist
262
+ - specialty\_drugs
263
+ - urgent\_care
264
+
265
+ ### Dental
266
+
267
+ Dental benefits are less standardized than [Major Medical](#header-major-medical). Because of this, we have captured benefits for the most commonly specified services and procedures. If a Plan only specifies cost-share for "Major", "Minor", "Elective", etc, we determine the category for each of the benefits that we support and display the appropriate value for its category.
268
+
269
+ To view the technical documentation, [click here](#dental-plans).
270
+
271
+ The following are the supported Benefit Fields for Dental:
272
+
273
+ - bridges
274
+ - crowns
275
+ - denture\_relines\_rebases
276
+ - denture\_repair\_and\_adjustments
277
+ - dentures
278
+ - emergency\_treatment
279
+ - endodontics
280
+ - family\_annual\_max
281
+ - family\_deductible
282
+ - fluoride\_treatment
283
+ - implants
284
+ - individual\_annual\_max
285
+ - individual\_deductible
286
+ - inlays
287
+ - onlays
288
+ - oral\_exam
289
+ - oral\_surgery
290
+ - orthodontics\_adult
291
+ - orthodontics\_child
292
+ - periodontal\_maintenance
293
+ - periodontics
294
+ - prophylaxis\_cleaning
295
+ - radiograph\_bitewings
296
+ - radiograph\_other
297
+ - restoration\_fillings
298
+ - sealant
299
+ - simple\_extraction
300
+ - space\_maintainers
301
+
302
+ ### Vision
303
+
304
+ Vision benefits are similar in structure to [Dental](#header-dental). Again, when benefits are broken out by category, we determine the appropriate category for each service or procedure and display the approprate value for its category.
305
+
306
+ To view the technical documentation, [click here](#vision-plans).
307
+
308
+ The following are the supported Benefit Fields for Vision:
309
+
310
+ - eye\_exam
311
+ - retinal\_imaging
312
+ - frame
313
+ - eyeglass\_lenses\_single\_vision
314
+ - eyeglass\_lenses\_bifocal
315
+ - eyeglass\_lenses\_trifocal
316
+ - eyeglass\_lenses\_lenticular
317
+ - uv\_coating
318
+ - tint
319
+ - standard\_antireflective\_coating
320
+ - premium\_antireflective\_coating
321
+ - standard\_polycarbonate\_lenses\_child
322
+ - standard\_polycarbonate\_lenses\_adult
323
+ - standard\_progressive\_lenses
324
+ - premium\_progressive\_lenses
325
+ - standard\_scratch\_resistance
326
+ - polarized\_lenses
327
+ - photochromatic\_lenses
328
+ - standard\_contact\_lens\_fit\_and\_follow\_up
329
+ - premium\_contact\_lens\_fit\_and\_follow\_up
330
+ - contact\_lenses\_conventional
331
+ - contact\_lenses\_disposable
332
+ - contact\_lenses\_medically\_necessary
333
+ - laser\_vision\_correction
334
+ - additional\_pairs\_of\_eyeglasses
335
+
336
+ ## Rates
337
+
338
+ Rates are returned from the API as a part of [Quoting](#header-quoting). We calculate Rates in one of two ways.
339
+
340
+ ### Sheet Rates
341
+ When a Carrier supplies us with Sheet Rates, we display *exactly* the value provided to us. For example, in the Major Medical market, most Carriers provide a single rate for each combination of Applicant age and tobacco status in a given [Rating Area](#header-rating-areas). For example, in Austin, TX, a 21-year-old non-tobacco-user may be $312.41 per month while a 22-year-old tobacco-user may be $401.75 per month. Certain Vision and Dental Carriers supply Sheet Rates as well, though it is less common.
342
+
343
+ ### Rate Factors
344
+ Certain [Major Medical](#header-major-medical) Carriers and most [Vision](#header-vision) and [Dental](#header-dental) Carriers supply Rate Factors. The attributes on which the factors are based are the same as [Sheet Rates](#header-sheet-rates) for the [Major Medical](#header-major-medical) market (due to restrictions on what factors may be used in ACA Plans, which limit the possible factors to age and tobacco status).
345
+
346
+ In [Dental](#header-dental) and [Vision](#header-vision), the types of [Rate Factors](#header-rate-factors) are more varied. For example, SIC Code and Group size in the Group market and Gender in the Individual Market are commonly used [Rate Factors](#header-rate-factors)
347
+
348
+ Other common [Rate Factors](#header-rate-factors) for [Dental](#header-dental) and [Vision](#header-vision) products are Geographic and "Trend" (enrollment date) Factors. In [Major Medical](#header-major-medical), these types of variance are handled by CMS-defined [Rating Areas](#header-rating-areas).
349
+
350
+ In order to calculate a Rate using [Rate Factors](#header-rate-factors), the following methodology is applied:
351
+
352
+ ```
353
+ B = Base Rate
354
+ f = Rate Factor Function 1
355
+ f' = Rate Factor Function 2
356
+
357
+ B * f(x) * f'(y) [* f''(z)] ... = n
358
+ ```
359
+
360
+ ## Rating Areas
361
+ For [Major Medical](#header-major-medical) products, [CMS](https://www.cms.gov/) defines [Rating Areas](https://www.cms.gov/cciio/programs-and-initiatives/health-insurance-market-reforms/state-gra.html). Under the ACA, *all* [Rate Factors](#header-rate-factors) in a Rating Area must be identical for a given time period. E.g. in Arizona, the rate for a 21-year-old non-tobacco user must be identical in all counties contained in Rating Area 1 (Mohave, Coconino, Apache, and Navajo), but *may* be different than the rate for a 21-year-old non-tobacco user in all counties Rating Area 2 (Yavapai county only) for a given year in the Individual Market and a given quartern in the Small Group market.
362
+
363
+ [Rating Areas](#header-rating-areas) are defined either by County, Zip Code or both, depending on the State. Because of this variance, all API endpoints that require a [Location](#header-specifying-the-location) require both `zip_code` and `fips_code` (a county code). [Bulk Data](#bulkplanandratedata) for [Rating Areas](#bulkratingareas) and [Service Areas](#bulkserviceareas) also specifies locations using both `zip_code` and `fips_code`.
364
+
365
+ *Rating Areas do not apply to products other than [Major Medical](#header-major-medical)*
366
+
367
+ ## Service Areas
368
+ CMS mandates that [Major Medical](#header-major-medical) Rates be defined by [Rating Areas](#header-rating-areas), which themselves define a geography in which Plans are offered. Carriers often choose *not* to offer a Plan in and entire [Rating Area](#header-rating-areas) due to network coverage or other factors. Instead, the Carrier would define a [Service Area](#header-service-areas) that specifies where a given Plan is offered.
369
+
370
+ Each Plan is available in a single [Service Area](#header-service-areas) and each [Service Area](#header-service-areas) is defined by either County, Zip Code, or both, depending on the Carrier. Because of this variance, all API endpoints that require a [Location](#header-specifying-the-location) require both `zip_code` and `fips_code` (a county code). [Bulk Data](#bulkplanandratedata) for [Rating Areas](#bulkratingareas) and [Service Areas](#bulkserviceareas) also specifies locations using both `zip_code` and `fips_code`.
371
+
372
+ In [Dental](#header-dental) and [Vision](#header-vision) plans, we use a [Service Area](#header-service-areas) to define availability as well, although it typically mirrors a Geographic [Rate Factor](#header-rate-factors).
373
+
374
+ # Quoting
375
+
376
+ One of the primary use-cases for the Vericred API is to run Quotes to determine the Rate for a given family (in the Individual Market) or group (in the Small Group Market). We support quoting across [Major Medical](#header-major-medical), [Vision](#header-vision), and [Dental](#header-dental). In both cases, the process of generating a Quote is broken out into several steps:
377
+
378
+ 1. Find all available [Plans](#header-plans) in the relevent [Service Areas](#header-service-areas) for the family or group.
379
+ 1. Using [Business Rules](#header-business-rules) for each [Plan](#header-plans), determine if the family or group is eligible for that [Plan](#header-plans).
380
+ 1. Using [Business Rules](#header-business-rules) for each [Plan](#header-plans), determine which members of the family or which members of each family in the group should be considered for Rating.
381
+ 1. Using the [Sheet Rates](#header-sheet-rates) or [Rate Factors](#header-rate-factors) for each [Plan](#header-plans), determine the Rate the family, or for each family in the group.
382
+ 1. If running a [Composite](#compositerates) quote, determine the portion of the total Rate that each family will pay.
383
+
384
+ ## Individual Quotes
385
+ An Individual Quote is one for Plans that are available to a particular family, outside the context of their Employer. In the [Major Medical](#header-major-medical) market, many of these Plans are available on [Healthcare.gov](https://www.healthcare.gov) or the State-Based Exchange for non-Healthcare.gov states. The API supports both on-market and off-market Plans.
386
+
387
+ For details on Major Medical Quoting API calls see [below](#medicalplans-medicalplans-post)
388
+
389
+ ### Specifying the Location
390
+ In order to determine which plans are [available](#header-service-areas) and the [rate](#header-rating-areas) for each Plan, you must specify a location. When creating a [Quote](#header-quoting) for the Individual Market, that information is contained in the `POST` body of the request:
391
+ ```
392
+ POST /plans/medical/search
393
+ {
394
+ ...
395
+ "zip_code": "11201",
396
+ "fips_code": "36047"
397
+ ...
398
+ }
399
+
400
+ ```
401
+
402
+ ### Specifying Applicants
403
+ Applicants are the members of the family being quoted and are specified in the `POST` body of the request.
404
+ ```
405
+ POST /plans/medical/search
406
+ {
407
+ ...
408
+ "applicants": [
409
+ {
410
+ "age": 34,
411
+ "smoker": true,
412
+ "child": false
413
+ },
414
+ {
415
+ "age": 32,
416
+ "smoker": false,
417
+ "child": false
418
+ },
419
+ {
420
+ "age": 4,
421
+ "smoker": false,
422
+ "child": true
423
+ }
424
+ ]
425
+ ...
426
+ }
427
+ ```
428
+
429
+ ### Specifying Enrollment Date
430
+ The `enrollment_date` determines which [Plans](#header-plans) and [Rates](#header-rates) are returned. Specifying an `enrollment_date` in the past allows you to calculate historical data as far back as 2014.
431
+
432
+ ### Plan Benefits
433
+ Plan Benefits are returned in the response for [Individual Quotes](#individualquotes)
434
+ ```
435
+ POST /plans/medical/search
436
+ {
437
+ ...
438
+ }
439
+
440
+ Response:
441
+ {
442
+ "plans": [
443
+ {
444
+ ...
445
+ "individual_medical_deductible": "$5,000",
446
+ "family_medical_deductible": "$10,000"
447
+ ...
448
+ }
449
+
450
+ ]
451
+ }
452
+
453
+ ```
454
+
455
+ ### Premiums
456
+ The value for the family being quoted is returned in the `premium` field. If no [Applicants](#specifyingapplicants) are provided, the `premium` field will be `0`
457
+
458
+ ### Major Medical Quotes
459
+ In order to [Quote](#header-quoting) [Major Medical](#header-major-medical) Plans, send a `POST` to `/plans/medical/search`. In addition, the `age`, `smoker` and `child` attributes of each Applicant must be present.
460
+
461
+ #### Subsidies
462
+ On-market ([Healthcare.gov](https://www.healthcare.gov) and State-Based Exchange) [Major Medical](#header-major-medical) Plans are eligible for government subsidies. The subsidy calculation is based on the percentage of the family's income that the IRS has designated as "affordable" for that family and the Second Lowest-Cost Silver Plan available to that family.
463
+
464
+ In order to calculate subsidies for a family the following parameters must be supplied:
465
+ ```
466
+ POST /plans/medical/search
467
+ {
468
+ ...
469
+ "household_size": 4,
470
+ "household_income": 40000
471
+ ...
472
+ }
473
+ ```
474
+
475
+ The amount that the family will pay after subsidy is returned in the `premium_subsidized` field for each plan.
476
+
477
+ ##### Subsidy Calculation
478
+ Here is how subsidies are calculated. This is fully handled by the Vericred API, but the steps are enumerated below for clarity.
479
+
480
+ 1. Determine the percentage of the [Federal Poverty Level](https://aspe.hhs.gov/poverty-guidelines) for the family based on the household size and income.
481
+ 1. Reference the [CMS table](https://www.irs.gov/pub/irs-drop/rp-17-36.pdf) to determine the appropriate percentage of income for the family to spend on healthcare.
482
+ 1. Multiply that value by the family's income. This is the total amount that the family can spend on healthcare for the year, after the subsidy.
483
+ 1. Find the cost of the Second Least-Expensive Silver Plan available to the family, accounting for the percentage of premium that goes to [Essential Health Benefits](https://www.healthcare.gov/glossary/essential-health-benefits/)
484
+ 1. Calculate the difference in price between the amount the family should spend on healthcare and the Second Least-Expensive Silver Plan's premium. This is the subsidy.
485
+ 1. Apply the subsidy to all on-market Plans available to the family. The subsidized premium can never be below $0 (for example, a low-cost Bronze Plan may be less expensive than the subsidy)
486
+
487
+ #### Cost Sharing Reduction Plans
488
+ [Cost Sharing Reduction (CSR)](https://www.healthcare.gov/glossary/cost-sharing-reduction/) Plans are available to lower income families and offer enhanced benefits for certain Silver Plans at the same cost as the non-CSR Plans available to higher-income families.
489
+
490
+ If a family is eligible for CSR Plans, the Vericred API will return the relevant Plan in place of the non-CSR version.
491
+
492
+ In order to include CSR Plans where applicable, the following parameters must be supplied:
493
+ ```
494
+ POST /plans/medical/search
495
+ {
496
+ ...
497
+ "household_size": 4,
498
+ "household_income": 40000
499
+ ...
500
+ }
501
+ ```
502
+
503
+ #### The Children's Health Insurance Program (CHIP)
504
+ [The Children's Health Insurance Program (CHIP)](https://www.healthcare.gov/medicaid-chip/childrens-health-insurance-program/) provides low-cost health coverage to children in families that earn too much money to qualify for Medicaid.
505
+
506
+ If a family is eligible for CHIP, the Vericred API will include the subsidy in the returned premiums. In order to include CHIP subsidies in premium calculations, the following parameters must be supplied:
507
+ ```
508
+ POST /plans/medical/search
509
+ {
510
+ ...
511
+ "applicants": [
512
+ {
513
+ "age": 34,
514
+ "smoker": true,
515
+ "child": false
516
+ },
517
+ {
518
+ "age": 32,
519
+ "smoker": false,
520
+ "child": false
521
+ },
522
+ {
523
+ "age": 4,
524
+ "smoker": false,
525
+ "child": true
526
+ },
527
+ {
528
+ "age": 4,
529
+ "smoker": false,
530
+ "child": true
531
+ }
532
+ ],
533
+ "household_size": 4,
534
+ "household_income": 40000
535
+ ...
536
+ }
537
+ ```
538
+
539
+ CHIP eligibility is displayed within the meta-tag in the response as `eligible_for_chip_medicaid`:
540
+ ```
541
+ {
542
+ "meta": {
543
+ "total": 150,
544
+ "eligible_for_chip_medicaid": true,
545
+ "premium_tax_credit": 500.20
546
+ },
547
+ "coverages": [],
548
+ "plans": [...]
549
+ }
550
+ ```
551
+
552
+ If you do not want CHIP subsidies to be included in the premiums, simply do not include the `household_income` parameter in the request.
553
+
554
+ ### Dental Quotes
555
+ Quoting [Dental](#header-dental) Plans for a family requires slightly different parameters for [Applicants](#specifyingapplicants), due to the method with which Plans are [rated](#header-rate-factors). The folloiwng example contains the require parameters:
556
+ ```
557
+ POST /plans/dental/search
558
+ {
559
+ ...
560
+ "applicants": [
561
+ {
562
+ "age": 34,
563
+ "gender": "M",
564
+ "child": false
565
+ },
566
+ {
567
+ "age": 32,
568
+ "gender": "F",
569
+ "child": false
570
+ },
571
+ {
572
+ "age": 4,
573
+ "gender": "M",
574
+ "child": true
575
+ }
576
+ ]
577
+ ...
578
+ }
579
+ ```
580
+
581
+ Note that in contrast to [Major Medical Quotes](#majormedicalquotes), [Dental Quotes](#dentalquotes) require `gender`, but *do not* require `smoker`.
582
+
583
+ Also note that [Subsidies](#subsidies) and [Cost Sharing Reduction](#costsharingreductionplans) are *not* relevant for [Dental Quotes](#dentalquotes).
584
+
585
+ ### Vision Quotes
586
+
587
+ Quoting [Vision](#header-vision) Plans for a family requires slightly different parameters for [Applicants](#specifyingapplicants), due to the method with which Plans are [rated](#header-rate-factors). The folloiwng example contains the require parameters:
588
+ ```
589
+ POST /plans/vision/search
590
+ {
591
+ ...
592
+ "applicants": [
593
+ {
594
+ "age": 34,
595
+ "gender": "M",
596
+ "child": false
597
+ },
598
+ {
599
+ "age": 32,
600
+ "gender": "F",
601
+ "child": false
602
+ },
603
+ {
604
+ "age": 4,
605
+ "gender": "M",
606
+ "child": true
607
+ }
608
+ ]
609
+ ...
610
+ }
611
+ ```
612
+
613
+ Note that in contrast to [Major Medical Quotes](#majormedicalquotes), [Vision Quotes](#visionquotes) require `gender`, but *do not* require `smoker`.
614
+
615
+ Also note that [Subsidies](#subsidies) and [Cost Sharing Reduction](#costsharingreductionplans) are *not* relevant for [Vision Quotes](#visionquotes).
616
+
617
+ ## Quotes for Groups
618
+ A Group Quote finds [Plans](#header-plans) and [Rates](#header-rates) for a group of employees for a small business. Different [Plans](#header-plans) are available to small groups than are available in [Individual Quoting](#individualquotes). In addition, [Business Rules](#header-business-rules) that apply across multiple families or based upon employer attributes such as [SIC](https://en.wikipedia.org/wiki/Standard_Industrial_Classification) code factor into rates and availability.
619
+
620
+ In addition, due to performance requirements and for enhanced auditing, [Group Quotes](#groupquotes) are persisted across requests. This means that a given [Quote](#groupquotes) can be retrieved after it has been created.
621
+
622
+ ### Identifiers
623
+ In order to make it easier to cross-reference local copies of data with [Quotes](#header-creating-a-quote) and other data in the Vericred API, most entities allow for the specification of an `external_id` field. You can use this to store a primary or natural key from your system in order to easily match records returned from the API with records in your system.
624
+
625
+ ### Specifying the Group
626
+ Creating a group is the first step in [Group Quoting](#groupquoting). The API requires that certain information such as `sic_code`, and `chamber_association` be provided and returns a the attributes and `id` for the newly created `Group`
627
+
628
+ Full documentation is available [below](#groupscreate)
629
+
630
+ ### Specifying the Locations
631
+ When creating a `Group`, you must also specify one or more `Location`s. Of those `Location`s specified, one must be `primary`. That `Location` is used to calculate Plan eligibility using the relevant [Service Areas](#header-service-areas). Some Carriers use secondary `Location`s to determine eligibility as well, which is why those must be specified as well.
632
+
633
+ ```
634
+ POST /groups
635
+ {
636
+ "group": {
637
+ ...
638
+ },
639
+ "locations": [
640
+ {
641
+ ...
642
+ "zip_code": "11201",
643
+ "fips_code": "36047",
644
+ "primary": true
645
+ ...
646
+ }
647
+ ]
648
+ }
649
+ ```
650
+
651
+ ### Specifying the Census
652
+ A Census is the collection of `Member`s contained in the `Group`. The attributes of each `Member` and his or her `Dependent`s determine the [Rate](#header-rates) for the `Group` as a whole. Certain attributes of the `Member` are important for calculating [Rates](#header-rates) and applying [Business Rules](#header-business-rules). For example, the `Member`'s home address and in which office he or she works are relevant for certain [Business Rules](#header-business-rules).
653
+
654
+ #### Dependent Relationships
655
+ The `Dependent`s for a given `Member` also factor into the [Rates](#header-rates) and application of [Business Rules](#header-business-rules). For example, certain [Plans](#header-plans) cover only `Dependent`s of particular types and/or only `Dependent`s of a particular type who live in the same household as the primary `Member`
656
+
657
+ Valid Dependent Relationships:
658
+ - `adopted_child`
659
+ - `child`
660
+ - `court_appointed_guardian`
661
+ - `dependent_of_dependent`
662
+ - `ex_spouse`
663
+ - `foster_child`
664
+ - `grand_child`
665
+ - `guardian`
666
+ - `life_partner`
667
+ - `other`
668
+ - `sibling`
669
+ - `sponsored_dependent`
670
+ - `spouse`
671
+ - `step_child`
672
+ - `ward`
673
+
674
+ ```
675
+ POST
676
+
677
+ /groups/{id}/members
678
+ {
679
+ "members": [
680
+ ...
681
+ {
682
+ "cobra": false,
683
+ "date_of_birth": "1980-01-01",
684
+ "fips_code": "36047"
685
+ "gender": "M",
686
+ "last_used_tobacco": "2017-01-01",
687
+ "location_id": :location_id
688
+ "retiree": false,
689
+ "zip_code": "11201",
690
+ "dependents": [
691
+ ...
692
+ {
693
+ "relationship": "child",
694
+ "same_household": true
695
+ }
696
+ ...
697
+ ]
698
+ }
699
+ ...
700
+ ]
701
+ }
702
+
703
+ ```
704
+
705
+ ### Creating a Quote
706
+ Once the [Census](#header-specifying-the-census) has been created, we can generate a `Quote` for the `Group`.
707
+
708
+ #### Major Medical Quotes
709
+ To generate a [Major Medical](#header-major-medical) Quote, specify the `product_line` of `Quote` as `medical`
710
+
711
+ ```
712
+ POST /groups/{id}/quotes
713
+ {
714
+ ...
715
+ "product_line": "medical"
716
+ ...
717
+ }
718
+ ```
719
+
720
+ #### Dental Quotes
721
+ To generate a [Dental](#header-dental) Quote, specify the `product_line` of `Quote` as `dental`
722
+
723
+ ```
724
+ POST /groups/{id}/quotes
725
+ {
726
+ ...
727
+ "product_line": "dental"
728
+ ...
729
+ }
730
+ ```
731
+
732
+ #### Vision Quotes
733
+ To generate a [Vision](#header-vision) Quote, specify the `product_line` of `Quote` as `vision`
734
+
735
+ ```
736
+ POST /groups/{id}/quotes
737
+ {
738
+ ...
739
+ "product_line": "vision"
740
+ ...
741
+ }
742
+ ```
743
+
744
+ ### Retrieving Aggregate Rates
745
+ Once you have created a [Quote](#header-creating-a-quote), you can retrieve its aggregate [Rates](#header-rates). [Rates](#header-rates) are broken down by `Member` and `Dependent`, so that you can show the final cost in different scenarios where an employer might cover a different percentage of `Member` and `Dependent` costs.
746
+
747
+ ```
748
+ GET /quotes/{id}/rates
749
+
750
+ Response
751
+ {
752
+ "rates": [
753
+ ...
754
+ {
755
+ "plan_id": "12345NY6789012",
756
+ "total_premium": 2800.0,
757
+ "member_premium": 1000.0,
758
+ "dependent_premium": 1800.0,
759
+ "id": "123abc"
760
+ }
761
+ ...
762
+ ]
763
+ }
764
+ ```
765
+
766
+
767
+ #### Loading Plan Data
768
+ Aggregate [Rates](#header-rates) responses *do not* include [Plan](#header-plans) details in order to keep the payload small. [Plan](#header-plans) data can be retrieved in one of two ways:
769
+
770
+ Loading the [Plan](#header-plans) from the API:
771
+ ```
772
+ GET /plans/{id}
773
+
774
+ Response:
775
+ {
776
+ "plans": [
777
+ ...
778
+ {
779
+ ...
780
+ "individual_medical_deductible": "$5,000",
781
+ "family_medical_deductible": "$10,000",
782
+ ...
783
+ }
784
+ ...
785
+
786
+ ]
787
+ }
788
+ ```
789
+ Pulling in [Bulk Plan Data](#bulkplans) and matching up [Plans](#header-plans) by their `id`.
790
+
791
+ ### Retrieving Member-Level Rates
792
+ In order to retrieve the exact [Rate](#header-rates) for each `Member` and their `Dependents` for given [Plan](#header-plans), you can load Member-Level `Rates`.
793
+
794
+ ```
795
+ GET /rates/{id}/member_rates
796
+
797
+ Response
798
+ {
799
+ "member_rates": [
800
+ ...
801
+ {
802
+ "id": "123abc",
803
+ "member_id": "234def",
804
+ "member_external_id": "externally-supplied-id",
805
+ "member_premium": 500.0,
806
+ "dependent_premium": 600.0,
807
+ "total_premium": 1100.0,
808
+ }
809
+ ...
810
+ ]
811
+ }
812
+
813
+ ```
814
+
815
+ Note that *all* `MemberRate`s are for one particular [Plan](#header-plans) - the one referenced by the parent [Rate](#header-rates).
816
+
817
+ ### Business Rules
818
+ Vericred works with our Carrier partners to acquire and apply Business Rules that can affect either [Plan](#header-plans) availability or the way in which `Member`s and `Dependent`s are rated. For example, one Carrier's Business Rules might specify that `Member`s and `Dependent`s who have used tobacco in the past 4 months are considered "tobacco-users", while another's may specify that period to be 1 year.
819
+
820
+ These rules are applied transparently during the [Quoting](#header-quoting) process and *do not* require any additional action or input on your part.
821
+
822
+ For a full accounting of Business Rules and a list of Carriers whose Business Rules are applied, please contact support@vericred.com
823
+
824
+ ### Composite Rates
825
+ Composite Rates are commonly used in [Major Medical](#header-major-medical), [Dental](#header-dental), and [Vision](#header-vision) [Plans](#header-plans) to simplify operations by charging each family the weighted average of the `Group`'s total premium. The most common methodology is as follows:
826
+
827
+ 1. Calculate the [Rates](#header-rates) for the entire `Group` using [Sheet Rates](#header-sheet-rates) or [Rate Factors](#header-rate-factors) as appropriate
828
+ 1. Categorize each Family within the Group. The categorization differs depending on whether the Composite Rate is 2, 3, or 4-tier
829
+ 1. Multiply the number of Families in each category by the constant for that category. These constants are provided to Vericred by the Carrier. This determines the total number of "Rating Units"
830
+ 1. Divide the total premium calculated in Step 1 by the total number of Rating Units to get the price per Rating Unit
831
+ 1. The [Rate](#header-rates) each Family pays is the constant for that Family's category multiplied by the price per Rating Unit.
832
+
833
+ You can request that a [Quote](#header-quoting) be calculated using Composite Rates when creating it:
834
+ ```
835
+ POST /quotes
836
+ {
837
+ ...
838
+ "rating_method": "4_tier_composite"
839
+ ...
840
+ }
841
+ ```
842
+ If no Composite Rates methodology is available, the Vericred API will return standard age-banded Rates.
843
+
844
+ # Network and Provider Data
845
+
846
+ A `Provider` is an individual or organization in the medical profession. For example, an individual doctor is a `Provider` as are certain clinics and hospitals.
847
+
848
+ `Provider`s are related to `Network`s. A `Network` is a collection of `Provider`s that are under a particular contract with a given `Carrier`. A given `Carrier` will often have multiple `Network`s. For example, there may be a large national `Network` as well as several smaller regional `Network`s.
849
+
850
+ Each `Plan` has a `Network`. A consumer who visits a `Provider` typically incurs fewer costs when visiting a `Provider` in the `Network` covered by his or her `Plan`. The `premium` for a `Plan` is often proportional to the size of its `Network`
851
+
852
+ ## Finding Providers
853
+ In order to determine if a particular `Plan` covers a given `Provider`, you must first identify the `Provider`. To do so, use the [Provider Search API endpoint](#providers-providers-post) and specify some search criteria:
854
+
855
+ ```
856
+ POST /providers/search
857
+ {
858
+ "search_term": "foo",
859
+ "zip_code": "11201"
860
+ }
861
+ ```
862
+
863
+ The API will return an ordered list of `Provider`s who match the query along with their names, addresses, and other demographic data. The `id` field returned refers to the `Provider`'s [NPI number](https://www.cms.gov/Regulations-and-Guidance/Administrative-Simplification/NationalProvIdentStand/). This is the key that is used to identify the `Provider` across different API endpoints.
864
+
865
+ ## Finding Networks
866
+
867
+ A `Network` is a collection of `Provider`s that are under a particular contract with a given `Carrier`. A given `Carrier` will often have multiple `Network`s. For example, there may be a large national `Network` as well as several smaller regional `Network`s.
868
+
869
+ The API supports searching for `Networks` by Carrier, market and state. For more details view the [endpoint documentation](#networks-networks-get)
870
+
871
+ ## Matching Providers to Networks
872
+ In order to determine if a `Provider` is covered by a user's `Plan`, you will need to map the `Provider` to a `Network`. There are several methods to do this using the API
873
+
874
+ ### Using Plan Search
875
+ You can specify one or more `npi` values in the [`plan` search](#majormedicalplans-majormedicalplans-post). To do so, include a list of `providers` in the request
876
+ ```
877
+ POST /plans/medical/search
878
+ {
879
+ ...
880
+ "providers": [
881
+ { "npi": 1234567890 },
882
+ { "npi": 2345678901 }
883
+ ]
884
+ ...
885
+ }
886
+
887
+ The response will then return a list of `in_network_ids` and `out_of_network_ids` for each `Plan`
888
+
889
+ ```
890
+ {
891
+ "plans": [
892
+ ...
893
+ {
894
+ ...
895
+ "id": "12345NY1234567",
896
+ "in_network_ids": [1234567890],
897
+ "out_of_network_ids": [1234567890]
898
+ ...
899
+ },
900
+ {
901
+ ...
902
+ "id": "12345NY2345678",
903
+ "in_network_ids": [1234567890, 1234567890],
904
+ "out_of_network_ids": []
905
+ ...
906
+ }
907
+ ...
908
+ ]
909
+ }
910
+
911
+ Simply reference the `Provider` in question by its `id` for each `Plan` to see if that `Provider` is in-network for the `Plan`.
912
+
913
+ ### Matching by Plan ID
914
+ Given a `Provider`'s `id`, you can retrieve all of his or her `hios_ids`
915
+
916
+ For more details see the [endpoint documentation](#providers-providers-get)
917
+
918
+ ```
919
+ GET /providers/1234567890
920
+ {
921
+ "provider": {
922
+ ...
923
+ "hios_ids": [
924
+ ...
925
+ "12345NY1234567"
926
+ ...
927
+ ]
928
+ ...
929
+ }
930
+ }
931
+ ```
932
+
933
+ The returned `hios_ids` can be used to cross-reference a `Plan`
934
+
935
+ ### Matching by Network
936
+ Once you have an ID returned from the [`Network` search endpoint](#networks-networks-get), you can cross-reference it with the `network_ids` returned from both the [`Provider` search](#providers-providers-post) and [`Provider` details](#providers-providers-get) endpoints.
937
+
938
+ This is useful for large group data or when you are not dealing with `Plan`s directly, but rather at the `Network` level.
939
+
201
940
 
202
941
  OpenAPI spec version: 1.0.0
203
942
 
@@ -222,17 +961,8 @@ require 'date'
222
961
  module VericredClient
223
962
 
224
963
  class MedicalPlanUpdate
225
- # The medical plan name
226
- attr_accessor :name
227
-
228
- # The issuer vericred id
229
- attr_accessor :issuer_vericred_id
230
-
231
- # The medical plan audience
232
- attr_accessor :audience
233
-
234
- # Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA)
235
- attr_accessor :plan_type
964
+ # Indicates whether this plan is being actively marketed by the carrier.
965
+ attr_accessor :actively_marketed
236
966
 
237
967
  # Percentage of total average costs for covered benefits that a plan will cover.
238
968
  attr_accessor :actuarial_value
@@ -240,29 +970,44 @@ module VericredClient
240
970
  # True if the plan allows dependents up to age 29
241
971
  attr_accessor :age29_rider
242
972
 
243
- # TRUE if plan data is Privileged
244
- attr_accessor :privileged_data
973
+ # The medical plan audience
974
+ attr_accessor :audience
975
+
976
+ # Medical Plan Benefits
977
+ attr_accessor :benefits
245
978
 
246
979
  # Link to the summary of benefits and coverage (SBC) document.
247
980
  attr_accessor :benefits_summary_url
248
981
 
982
+ # Link to a location to purchase the plan.
983
+ attr_accessor :buy_link
984
+
249
985
  # Standard cost share for most benefits
250
986
  attr_accessor :coinsurance
251
987
 
988
+ # allowed ages on the plan, possible values: allows adult-only, allows child-only, allows adult and child-only, child29, requires adult
989
+ attr_accessor :covered_ages
990
+
252
991
  # True if plan does not cover domestic partners
253
992
  attr_accessor :dp_rider
254
993
 
255
- # True if plan is in a fixed family tier state
256
- attr_accessor :family_tier
257
-
258
994
  # Link to the summary of drug benefits for the plan
259
995
  attr_accessor :drug_formulary_url
260
996
 
997
+ # Is the individual deductible for each covered person, embedded in the family deductible
998
+ attr_accessor :embedded_deductible
999
+
261
1000
  # Percentage of essential plan benefits
262
1001
  attr_accessor :essential_health_benefits_percentage
263
1002
 
264
- # Is the individual deductible for each covered person, embedded in the family deductible
265
- attr_accessor :embedded_deductible
1003
+ # Medical Plan External Identifier
1004
+ attr_accessor :external_id
1005
+
1006
+ # Medical Plan External Identifiers
1007
+ attr_accessor :external_ids
1008
+
1009
+ # True if plan is in a fixed family tier state
1010
+ attr_accessor :family_tier
266
1011
 
267
1012
  # True if plan does not cover family planning
268
1013
  attr_accessor :fp_rider
@@ -273,140 +1018,139 @@ module VericredClient
273
1018
  # Is the plan HSA eligible?
274
1019
  attr_accessor :hsa_eligible
275
1020
 
1021
+ # The issuer vericred id
1022
+ attr_accessor :issuer_vericred_id
1023
+
1024
+ # Indicates whether the plan has meaningful descriptions for these benefits: individual_medical_deductible, family_medical_deductible, individual_medical_moop, family_medical_moop, primary_care_physician.
1025
+ attr_accessor :key_benefits_complete
1026
+
276
1027
  # Plan metal grouping (e.g. platinum, gold, silver, etc)
277
1028
  attr_accessor :level
278
1029
 
279
1030
  # Multiple of the standard Rx cost share for orders filled via mail order
280
1031
  attr_accessor :mail_order_rx
281
1032
 
282
- # Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 days after enrollment date (\"plan year\"), or are both options available (\"both\")?
1033
+ # Market for plan
1034
+ attr_accessor :market
1035
+
1036
+ # The medical plan name
1037
+ attr_accessor :name
1038
+
1039
+ # Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")?
283
1040
  attr_accessor :plan_calendar
284
1041
 
285
1042
  # Market in which the plan is offered (on_marketplace, shop, etc)
286
1043
  attr_accessor :plan_market
287
1044
 
288
- # Market for plan
289
- attr_accessor :market
1045
+ # Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA)
1046
+ attr_accessor :plan_type
290
1047
 
291
- # Indicates whether the plan has meaningful descriptions for these benefits: individual_medical_deductible, family_medical_deductible, individual_medical_moop, family_medical_moop, primary_care_physician.
292
- attr_accessor :key_benefits_complete
293
-
294
- # Link to a location to purchase the plan.
295
- attr_accessor :buy_link
296
-
297
- # Does the plan cover full-time, year-round, nursing facilities?
298
- attr_accessor :skilled_nursing_facility_365
299
-
300
- # allowed ages on the plan, possible values: allows adult-only, allows child-only, allows adult and child-only, child29, requires adult
301
- attr_accessor :covered_ages
302
-
303
- # Plan year
304
- attr_accessor :year
305
-
306
- # State code
307
- attr_accessor :state_code
1048
+ # Plan private exchange
1049
+ attr_accessor :private_exchange
308
1050
 
309
- # Source of the plan benefit data
310
- attr_accessor :source
1051
+ # TRUE if plan data is Privileged
1052
+ attr_accessor :privileged_data
311
1053
 
312
1054
  # Name of the SBC
313
1055
  attr_accessor :sbc_name
314
1056
 
315
- # Indicates whether this plan is being actively marketed by the carrier.
316
- attr_accessor :actively_marketed
1057
+ # The external identifier for the plan service area
1058
+ attr_accessor :service_area_external_key
317
1059
 
318
- # Plan private exchange
319
- attr_accessor :private_exchange
1060
+ # Does the plan cover full-time, year-round, nursing facilities?
1061
+ attr_accessor :skilled_nursing_facility_365
320
1062
 
321
- # Medical Plan External Identifiers
322
- attr_accessor :external_ids
1063
+ # Source of the plan benefit data
1064
+ attr_accessor :source
323
1065
 
324
- # Medical Plan External Identifier
325
- attr_accessor :external_id
1066
+ # State code
1067
+ attr_accessor :state_code
326
1068
 
327
- # Medical Plan Benefits
328
- attr_accessor :benefits
1069
+ # Plan year
1070
+ attr_accessor :year
329
1071
 
330
1072
 
331
1073
  # Attribute mapping from ruby-style variable name to JSON key.
332
1074
  def self.attribute_map
333
1075
  {
334
- :'name' => :'name',
335
- :'issuer_vericred_id' => :'issuer_vericred_id',
336
- :'audience' => :'audience',
337
- :'plan_type' => :'plan_type',
1076
+ :'actively_marketed' => :'actively_marketed',
338
1077
  :'actuarial_value' => :'actuarial_value',
339
1078
  :'age29_rider' => :'age29_rider',
340
- :'privileged_data' => :'privileged_data',
1079
+ :'audience' => :'audience',
1080
+ :'benefits' => :'benefits',
341
1081
  :'benefits_summary_url' => :'benefits_summary_url',
1082
+ :'buy_link' => :'buy_link',
342
1083
  :'coinsurance' => :'coinsurance',
1084
+ :'covered_ages' => :'covered_ages',
343
1085
  :'dp_rider' => :'dp_rider',
344
- :'family_tier' => :'family_tier',
345
1086
  :'drug_formulary_url' => :'drug_formulary_url',
346
- :'essential_health_benefits_percentage' => :'essential_health_benefits_percentage',
347
1087
  :'embedded_deductible' => :'embedded_deductible',
1088
+ :'essential_health_benefits_percentage' => :'essential_health_benefits_percentage',
1089
+ :'external_id' => :'external_id',
1090
+ :'external_ids' => :'external_ids',
1091
+ :'family_tier' => :'family_tier',
348
1092
  :'fp_rider' => :'fp_rider',
349
1093
  :'gated' => :'gated',
350
1094
  :'hsa_eligible' => :'hsa_eligible',
1095
+ :'issuer_vericred_id' => :'issuer_vericred_id',
1096
+ :'key_benefits_complete' => :'key_benefits_complete',
351
1097
  :'level' => :'level',
352
1098
  :'mail_order_rx' => :'mail_order_rx',
1099
+ :'market' => :'market',
1100
+ :'name' => :'name',
353
1101
  :'plan_calendar' => :'plan_calendar',
354
1102
  :'plan_market' => :'plan_market',
355
- :'market' => :'market',
356
- :'key_benefits_complete' => :'key_benefits_complete',
357
- :'buy_link' => :'buy_link',
1103
+ :'plan_type' => :'plan_type',
1104
+ :'private_exchange' => :'private_exchange',
1105
+ :'privileged_data' => :'privileged_data',
1106
+ :'sbc_name' => :'sbc_name',
1107
+ :'service_area_external_key' => :'service_area_external_key',
358
1108
  :'skilled_nursing_facility_365' => :'skilled_nursing_facility_365',
359
- :'covered_ages' => :'covered_ages',
360
- :'year' => :'year',
361
- :'state_code' => :'state_code',
362
1109
  :'source' => :'source',
363
- :'sbc_name' => :'sbc_name',
364
- :'actively_marketed' => :'actively_marketed',
365
- :'private_exchange' => :'private_exchange',
366
- :'external_ids' => :'external_ids',
367
- :'external_id' => :'external_id',
368
- :'benefits' => :'benefits'
1110
+ :'state_code' => :'state_code',
1111
+ :'year' => :'year'
369
1112
  }
370
1113
  end
371
1114
 
372
1115
  # Attribute type mapping.
373
1116
  def self.swagger_types
374
1117
  {
375
- :'name' => :'String',
376
- :'issuer_vericred_id' => :'String',
377
- :'audience' => :'String',
378
- :'plan_type' => :'String',
1118
+ :'actively_marketed' => :'String',
379
1119
  :'actuarial_value' => :'Float',
380
1120
  :'age29_rider' => :'BOOLEAN',
381
- :'privileged_data' => :'BOOLEAN',
1121
+ :'audience' => :'String',
1122
+ :'benefits' => :'MedicalPlanBenefits',
382
1123
  :'benefits_summary_url' => :'String',
1124
+ :'buy_link' => :'String',
383
1125
  :'coinsurance' => :'Float',
1126
+ :'covered_ages' => :'String',
384
1127
  :'dp_rider' => :'BOOLEAN',
385
- :'family_tier' => :'BOOLEAN',
386
1128
  :'drug_formulary_url' => :'String',
387
- :'essential_health_benefits_percentage' => :'Float',
388
1129
  :'embedded_deductible' => :'String',
1130
+ :'essential_health_benefits_percentage' => :'Float',
1131
+ :'external_id' => :'String',
1132
+ :'external_ids' => :'Array<PlanIdentifier>',
1133
+ :'family_tier' => :'BOOLEAN',
389
1134
  :'fp_rider' => :'BOOLEAN',
390
1135
  :'gated' => :'BOOLEAN',
391
1136
  :'hsa_eligible' => :'BOOLEAN',
1137
+ :'issuer_vericred_id' => :'String',
1138
+ :'key_benefits_complete' => :'BOOLEAN',
392
1139
  :'level' => :'String',
393
1140
  :'mail_order_rx' => :'Float',
1141
+ :'market' => :'String',
1142
+ :'name' => :'String',
394
1143
  :'plan_calendar' => :'String',
395
1144
  :'plan_market' => :'String',
396
- :'market' => :'String',
397
- :'key_benefits_complete' => :'BOOLEAN',
398
- :'buy_link' => :'String',
1145
+ :'plan_type' => :'String',
1146
+ :'private_exchange' => :'String',
1147
+ :'privileged_data' => :'BOOLEAN',
1148
+ :'sbc_name' => :'String',
1149
+ :'service_area_external_key' => :'String',
399
1150
  :'skilled_nursing_facility_365' => :'String',
400
- :'covered_ages' => :'String',
401
- :'year' => :'Integer',
402
- :'state_code' => :'String',
403
1151
  :'source' => :'String',
404
- :'sbc_name' => :'String',
405
- :'actively_marketed' => :'String',
406
- :'private_exchange' => :'String',
407
- :'external_ids' => :'Array<PlanIdentifier>',
408
- :'external_id' => :'String',
409
- :'benefits' => :'MedicalPlanBenefits'
1152
+ :'state_code' => :'String',
1153
+ :'year' => :'Integer'
410
1154
  }
411
1155
  end
412
1156
 
@@ -418,20 +1162,8 @@ module VericredClient
418
1162
  # convert string to symbol for hash key
419
1163
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
420
1164
 
421
- if attributes.has_key?(:'name')
422
- self.name = attributes[:'name']
423
- end
424
-
425
- if attributes.has_key?(:'issuer_vericred_id')
426
- self.issuer_vericred_id = attributes[:'issuer_vericred_id']
427
- end
428
-
429
- if attributes.has_key?(:'audience')
430
- self.audience = attributes[:'audience']
431
- end
432
-
433
- if attributes.has_key?(:'plan_type')
434
- self.plan_type = attributes[:'plan_type']
1165
+ if attributes.has_key?(:'actively_marketed')
1166
+ self.actively_marketed = attributes[:'actively_marketed']
435
1167
  end
436
1168
 
437
1169
  if attributes.has_key?(:'actuarial_value')
@@ -442,36 +1174,58 @@ module VericredClient
442
1174
  self.age29_rider = attributes[:'age29_rider']
443
1175
  end
444
1176
 
445
- if attributes.has_key?(:'privileged_data')
446
- self.privileged_data = attributes[:'privileged_data']
1177
+ if attributes.has_key?(:'audience')
1178
+ self.audience = attributes[:'audience']
1179
+ end
1180
+
1181
+ if attributes.has_key?(:'benefits')
1182
+ self.benefits = attributes[:'benefits']
447
1183
  end
448
1184
 
449
1185
  if attributes.has_key?(:'benefits_summary_url')
450
1186
  self.benefits_summary_url = attributes[:'benefits_summary_url']
451
1187
  end
452
1188
 
1189
+ if attributes.has_key?(:'buy_link')
1190
+ self.buy_link = attributes[:'buy_link']
1191
+ end
1192
+
453
1193
  if attributes.has_key?(:'coinsurance')
454
1194
  self.coinsurance = attributes[:'coinsurance']
455
1195
  end
456
1196
 
457
- if attributes.has_key?(:'dp_rider')
458
- self.dp_rider = attributes[:'dp_rider']
1197
+ if attributes.has_key?(:'covered_ages')
1198
+ self.covered_ages = attributes[:'covered_ages']
459
1199
  end
460
1200
 
461
- if attributes.has_key?(:'family_tier')
462
- self.family_tier = attributes[:'family_tier']
1201
+ if attributes.has_key?(:'dp_rider')
1202
+ self.dp_rider = attributes[:'dp_rider']
463
1203
  end
464
1204
 
465
1205
  if attributes.has_key?(:'drug_formulary_url')
466
1206
  self.drug_formulary_url = attributes[:'drug_formulary_url']
467
1207
  end
468
1208
 
1209
+ if attributes.has_key?(:'embedded_deductible')
1210
+ self.embedded_deductible = attributes[:'embedded_deductible']
1211
+ end
1212
+
469
1213
  if attributes.has_key?(:'essential_health_benefits_percentage')
470
1214
  self.essential_health_benefits_percentage = attributes[:'essential_health_benefits_percentage']
471
1215
  end
472
1216
 
473
- if attributes.has_key?(:'embedded_deductible')
474
- self.embedded_deductible = attributes[:'embedded_deductible']
1217
+ if attributes.has_key?(:'external_id')
1218
+ self.external_id = attributes[:'external_id']
1219
+ end
1220
+
1221
+ if attributes.has_key?(:'external_ids')
1222
+ if (value = attributes[:'external_ids']).is_a?(Array)
1223
+ self.external_ids = value
1224
+ end
1225
+ end
1226
+
1227
+ if attributes.has_key?(:'family_tier')
1228
+ self.family_tier = attributes[:'family_tier']
475
1229
  end
476
1230
 
477
1231
  if attributes.has_key?(:'fp_rider')
@@ -486,78 +1240,72 @@ module VericredClient
486
1240
  self.hsa_eligible = attributes[:'hsa_eligible']
487
1241
  end
488
1242
 
489
- if attributes.has_key?(:'level')
490
- self.level = attributes[:'level']
1243
+ if attributes.has_key?(:'issuer_vericred_id')
1244
+ self.issuer_vericred_id = attributes[:'issuer_vericred_id']
491
1245
  end
492
1246
 
493
- if attributes.has_key?(:'mail_order_rx')
494
- self.mail_order_rx = attributes[:'mail_order_rx']
1247
+ if attributes.has_key?(:'key_benefits_complete')
1248
+ self.key_benefits_complete = attributes[:'key_benefits_complete']
495
1249
  end
496
1250
 
497
- if attributes.has_key?(:'plan_calendar')
498
- self.plan_calendar = attributes[:'plan_calendar']
1251
+ if attributes.has_key?(:'level')
1252
+ self.level = attributes[:'level']
499
1253
  end
500
1254
 
501
- if attributes.has_key?(:'plan_market')
502
- self.plan_market = attributes[:'plan_market']
1255
+ if attributes.has_key?(:'mail_order_rx')
1256
+ self.mail_order_rx = attributes[:'mail_order_rx']
503
1257
  end
504
1258
 
505
1259
  if attributes.has_key?(:'market')
506
1260
  self.market = attributes[:'market']
507
1261
  end
508
1262
 
509
- if attributes.has_key?(:'key_benefits_complete')
510
- self.key_benefits_complete = attributes[:'key_benefits_complete']
511
- end
512
-
513
- if attributes.has_key?(:'buy_link')
514
- self.buy_link = attributes[:'buy_link']
1263
+ if attributes.has_key?(:'name')
1264
+ self.name = attributes[:'name']
515
1265
  end
516
1266
 
517
- if attributes.has_key?(:'skilled_nursing_facility_365')
518
- self.skilled_nursing_facility_365 = attributes[:'skilled_nursing_facility_365']
1267
+ if attributes.has_key?(:'plan_calendar')
1268
+ self.plan_calendar = attributes[:'plan_calendar']
519
1269
  end
520
1270
 
521
- if attributes.has_key?(:'covered_ages')
522
- self.covered_ages = attributes[:'covered_ages']
1271
+ if attributes.has_key?(:'plan_market')
1272
+ self.plan_market = attributes[:'plan_market']
523
1273
  end
524
1274
 
525
- if attributes.has_key?(:'year')
526
- self.year = attributes[:'year']
1275
+ if attributes.has_key?(:'plan_type')
1276
+ self.plan_type = attributes[:'plan_type']
527
1277
  end
528
1278
 
529
- if attributes.has_key?(:'state_code')
530
- self.state_code = attributes[:'state_code']
1279
+ if attributes.has_key?(:'private_exchange')
1280
+ self.private_exchange = attributes[:'private_exchange']
531
1281
  end
532
1282
 
533
- if attributes.has_key?(:'source')
534
- self.source = attributes[:'source']
1283
+ if attributes.has_key?(:'privileged_data')
1284
+ self.privileged_data = attributes[:'privileged_data']
535
1285
  end
536
1286
 
537
1287
  if attributes.has_key?(:'sbc_name')
538
1288
  self.sbc_name = attributes[:'sbc_name']
539
1289
  end
540
1290
 
541
- if attributes.has_key?(:'actively_marketed')
542
- self.actively_marketed = attributes[:'actively_marketed']
1291
+ if attributes.has_key?(:'service_area_external_key')
1292
+ self.service_area_external_key = attributes[:'service_area_external_key']
543
1293
  end
544
1294
 
545
- if attributes.has_key?(:'private_exchange')
546
- self.private_exchange = attributes[:'private_exchange']
1295
+ if attributes.has_key?(:'skilled_nursing_facility_365')
1296
+ self.skilled_nursing_facility_365 = attributes[:'skilled_nursing_facility_365']
547
1297
  end
548
1298
 
549
- if attributes.has_key?(:'external_ids')
550
- if (value = attributes[:'external_ids']).is_a?(Array)
551
- self.external_ids = value
552
- end
1299
+ if attributes.has_key?(:'source')
1300
+ self.source = attributes[:'source']
553
1301
  end
554
1302
 
555
- if attributes.has_key?(:'external_id')
556
- self.external_id = attributes[:'external_id']
1303
+ if attributes.has_key?(:'state_code')
1304
+ self.state_code = attributes[:'state_code']
557
1305
  end
558
1306
 
559
- if attributes.has_key?(:'benefits')
560
- self.benefits = attributes[:'benefits']
1307
+ if attributes.has_key?(:'year')
1308
+ self.year = attributes[:'year']
561
1309
  end
562
1310
 
563
1311
  end
@@ -580,41 +1328,42 @@ module VericredClient
580
1328
  def ==(o)
581
1329
  return true if self.equal?(o)
582
1330
  self.class == o.class &&
583
- name == o.name &&
584
- issuer_vericred_id == o.issuer_vericred_id &&
585
- audience == o.audience &&
586
- plan_type == o.plan_type &&
1331
+ actively_marketed == o.actively_marketed &&
587
1332
  actuarial_value == o.actuarial_value &&
588
1333
  age29_rider == o.age29_rider &&
589
- privileged_data == o.privileged_data &&
1334
+ audience == o.audience &&
1335
+ benefits == o.benefits &&
590
1336
  benefits_summary_url == o.benefits_summary_url &&
1337
+ buy_link == o.buy_link &&
591
1338
  coinsurance == o.coinsurance &&
1339
+ covered_ages == o.covered_ages &&
592
1340
  dp_rider == o.dp_rider &&
593
- family_tier == o.family_tier &&
594
1341
  drug_formulary_url == o.drug_formulary_url &&
595
- essential_health_benefits_percentage == o.essential_health_benefits_percentage &&
596
1342
  embedded_deductible == o.embedded_deductible &&
1343
+ essential_health_benefits_percentage == o.essential_health_benefits_percentage &&
1344
+ external_id == o.external_id &&
1345
+ external_ids == o.external_ids &&
1346
+ family_tier == o.family_tier &&
597
1347
  fp_rider == o.fp_rider &&
598
1348
  gated == o.gated &&
599
1349
  hsa_eligible == o.hsa_eligible &&
1350
+ issuer_vericred_id == o.issuer_vericred_id &&
1351
+ key_benefits_complete == o.key_benefits_complete &&
600
1352
  level == o.level &&
601
1353
  mail_order_rx == o.mail_order_rx &&
1354
+ market == o.market &&
1355
+ name == o.name &&
602
1356
  plan_calendar == o.plan_calendar &&
603
1357
  plan_market == o.plan_market &&
604
- market == o.market &&
605
- key_benefits_complete == o.key_benefits_complete &&
606
- buy_link == o.buy_link &&
1358
+ plan_type == o.plan_type &&
1359
+ private_exchange == o.private_exchange &&
1360
+ privileged_data == o.privileged_data &&
1361
+ sbc_name == o.sbc_name &&
1362
+ service_area_external_key == o.service_area_external_key &&
607
1363
  skilled_nursing_facility_365 == o.skilled_nursing_facility_365 &&
608
- covered_ages == o.covered_ages &&
609
- year == o.year &&
610
- state_code == o.state_code &&
611
1364
  source == o.source &&
612
- sbc_name == o.sbc_name &&
613
- actively_marketed == o.actively_marketed &&
614
- private_exchange == o.private_exchange &&
615
- external_ids == o.external_ids &&
616
- external_id == o.external_id &&
617
- benefits == o.benefits
1365
+ state_code == o.state_code &&
1366
+ year == o.year
618
1367
  end
619
1368
 
620
1369
  # @see the `==` method
@@ -626,7 +1375,7 @@ module VericredClient
626
1375
  # Calculates hash code according to all attributes.
627
1376
  # @return [Fixnum] Hash code
628
1377
  def hash
629
- [name, issuer_vericred_id, audience, plan_type, actuarial_value, age29_rider, privileged_data, benefits_summary_url, coinsurance, dp_rider, family_tier, drug_formulary_url, essential_health_benefits_percentage, embedded_deductible, fp_rider, gated, hsa_eligible, level, mail_order_rx, plan_calendar, plan_market, market, key_benefits_complete, buy_link, skilled_nursing_facility_365, covered_ages, year, state_code, source, sbc_name, actively_marketed, private_exchange, external_ids, external_id, benefits].hash
1378
+ [actively_marketed, actuarial_value, age29_rider, audience, benefits, benefits_summary_url, buy_link, coinsurance, covered_ages, dp_rider, drug_formulary_url, embedded_deductible, essential_health_benefits_percentage, external_id, external_ids, family_tier, fp_rider, gated, hsa_eligible, issuer_vericred_id, key_benefits_complete, level, mail_order_rx, market, name, plan_calendar, plan_market, plan_type, private_exchange, privileged_data, sbc_name, service_area_external_key, skilled_nursing_facility_365, source, state_code, year].hash
630
1379
  end
631
1380
 
632
1381
  # Builds the object from hash