vericred_client 0.0.33 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cc109bc46b6ff010075fe270b4d30fb171c896ac
4
- data.tar.gz: 74895abaf1c9ca31950f875d9b3a8c29cbcd2cd0
3
+ metadata.gz: 688d33cf1d9c178ce813561a2a7b43168c9c3151
4
+ data.tar.gz: 0e3dd540989e726cce5ea116a71218630b0c5b6a
5
5
  SHA512:
6
- metadata.gz: 430206019bf86ae3bc7a3581b6f9f48fdb1e420248d1da7689e71544c3e5287c8c045c309074cad6f6bef9cd3362f3a2a674156a6b3678f4048d262957e0034b
7
- data.tar.gz: 1891f000983ba36649e95ba0445a46209dd1d048fbb81925915b81d2954f53075ec66cda53b115493b65fc8cfdb81b3d3952713e9d166e6f5bdd7946c286991c
6
+ metadata.gz: d5d6c07ce9f6527f072e42193a5080d8d6c4fad0aece199c937e30f56a0179923eb5eea42e6709b33037df816c66c93c33cb1e228294a9dce7b8993fefefe9c5
7
+ data.tar.gz: 6e2148b4594d5ba669baf3bb0cfa1cca4f24a7bd3f4ddbdef714a84c3b2e25689948ffafff67c4199be7fe1e35f4f3455f99ff71ed7da7fb706b717eaf98b8b2
data/README.md CHANGED
@@ -992,7 +992,7 @@ This is useful for large group data or when you are not dealing with `Plan`s dir
992
992
  This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
993
993
 
994
994
  - API version: 1.0.0
995
- - Package version: 0.0.33
995
+ - Package version: 0.0.34
996
996
  - Build package: class io.swagger.codegen.languages.RubyClientCodegen
997
997
 
998
998
  ## Installation
@@ -1008,15 +1008,15 @@ gem build vericred_client.gemspec
1008
1008
  Then either install the gem locally:
1009
1009
 
1010
1010
  ```shell
1011
- gem install ./vericred_client-0.0.33.gem
1011
+ gem install ./vericred_client-0.0.34.gem
1012
1012
  ```
1013
- (for development, run `gem install --dev ./vericred_client-0.0.33.gem` to install the development dependencies)
1013
+ (for development, run `gem install --dev ./vericred_client-0.0.34.gem` to install the development dependencies)
1014
1014
 
1015
1015
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
1016
1016
 
1017
1017
  Finally add this to the Gemfile:
1018
1018
 
1019
- gem 'vericred_client', '~> 0.0.33'
1019
+ gem 'vericred_client', '~> 0.0.34'
1020
1020
 
1021
1021
  ### Install from Git
1022
1022
 
@@ -1137,6 +1137,7 @@ Class | Method | HTTP request | Description
1137
1137
  - [VericredClient::ACAPlanPre2018SearchResponse](docs/ACAPlanPre2018SearchResponse.md)
1138
1138
  - [VericredClient::ACAPlanPre2018SearchResult](docs/ACAPlanPre2018SearchResult.md)
1139
1139
  - [VericredClient::ACAPlanPre2018ShowResponse](docs/ACAPlanPre2018ShowResponse.md)
1140
+ - [VericredClient::ACAPlanSearch](docs/ACAPlanSearch.md)
1140
1141
  - [VericredClient::Address](docs/Address.md)
1141
1142
  - [VericredClient::AgeBanded](docs/AgeBanded.md)
1142
1143
  - [VericredClient::AncillaryPlanIdentifier](docs/AncillaryPlanIdentifier.md)
@@ -1223,6 +1224,7 @@ Class | Method | HTTP request | Description
1223
1224
  - [VericredClient::NotificationSubscription](docs/NotificationSubscription.md)
1224
1225
  - [VericredClient::NotificationSubscriptionResponse](docs/NotificationSubscriptionResponse.md)
1225
1226
  - [VericredClient::Plan](docs/Plan.md)
1227
+ - [VericredClient::PlanAncestor](docs/PlanAncestor.md)
1226
1228
  - [VericredClient::PlanCounty](docs/PlanCounty.md)
1227
1229
  - [VericredClient::PlanCountyBulk](docs/PlanCountyBulk.md)
1228
1230
  - [VericredClient::PlanDeleted](docs/PlanDeleted.md)
data/docs/ACAPlan2018.md CHANGED
@@ -74,9 +74,9 @@ Name | Type | Description | Notes
74
74
  **outpatient_mental_health** | **String** | Benefits summary for outpatient mental health coverage | [optional]
75
75
  **outpatient_physician** | **String** | Benefits summary for outpatient physician coverage | [optional]
76
76
  **outpatient_substance** | **String** | Outpatient substance abuse benefits summary | [optional]
77
- **plan_ancestor** | **String** | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
77
+ **plan_ancestors** | [**Array<PlanAncestor>**](PlanAncestor.md) | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
78
78
  **plan_calendar** | **String** | Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")? | [optional]
79
- **plan_coinsurance** | **String** | The plan-level standard cost-share for substantially all benefits. It i ncludes in- network, out-of- network, and tiers if applicable | [optional]
79
+ **plan_coinsurance** | **String** | The plan-level standard cost-share for substantially all benefits. It includes in-network, out-of-network, and tiers if applicable | [optional]
80
80
  **plan_market** | **String** | Market in which the plan is offered (on_marketplace, shop, etc) | [optional]
81
81
  **plan_type** | **String** | Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA) | [optional]
82
82
  **postnatal_care** | **String** | Post-natal care benefits summary | [optional]
@@ -76,9 +76,9 @@ Name | Type | Description | Notes
76
76
  **outpatient_mental_health** | **String** | Benefits summary for outpatient mental health coverage | [optional]
77
77
  **outpatient_physician** | **String** | Benefits summary for outpatient physician coverage | [optional]
78
78
  **outpatient_substance** | **String** | Outpatient substance abuse benefits summary | [optional]
79
- **plan_ancestor** | **String** | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
79
+ **plan_ancestors** | [**Array<PlanAncestor>**](PlanAncestor.md) | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
80
80
  **plan_calendar** | **String** | Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")? | [optional]
81
- **plan_coinsurance** | **String** | The plan-level standard cost-share for substantially all benefits. It i ncludes in- network, out-of- network, and tiers if applicable | [optional]
81
+ **plan_coinsurance** | **String** | The plan-level standard cost-share for substantially all benefits. It includes in-network, out-of-network, and tiers if applicable | [optional]
82
82
  **plan_market** | **String** | Market in which the plan is offered (on_marketplace, shop, etc) | [optional]
83
83
  **plan_type** | **String** | Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA) | [optional]
84
84
  **postnatal_care** | **String** | Post-natal care benefits summary | [optional]
@@ -79,9 +79,9 @@ Name | Type | Description | Notes
79
79
  **outpatient_physician** | **String** | Benefits summary for outpatient physician coverage | [optional]
80
80
  **outpatient_substance** | **String** | Outpatient substance abuse benefits summary | [optional]
81
81
  **perfect_match_percentage** | **Integer** | Percentage of employees with 100% matchedch | [optional]
82
- **plan_ancestor** | **String** | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
82
+ **plan_ancestors** | [**Array<PlanAncestor>**](PlanAncestor.md) | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
83
83
  **plan_calendar** | **String** | Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")? | [optional]
84
- **plan_coinsurance** | **String** | The plan-level standard cost-share for substantially all benefits. It i ncludes in- network, out-of- network, and tiers if applicable | [optional]
84
+ **plan_coinsurance** | **String** | The plan-level standard cost-share for substantially all benefits. It includes in-network, out-of-network, and tiers if applicable | [optional]
85
85
  **plan_market** | **String** | Market in which the plan is offered (on_marketplace, shop, etc) | [optional]
86
86
  **plan_type** | **String** | Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA) | [optional]
87
87
  **postnatal_care** | **String** | Post-natal care benefits summary | [optional]
@@ -0,0 +1,97 @@
1
+ # VericredClient::ACAPlanSearch
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **actuarial_value** | **Float** | Percentage of total average costs for covered benefits that a plan will cover. | [optional]
7
+ **adult_dental** | **BOOLEAN** | Does the plan provide dental coverage for adults? | [optional]
8
+ **age29_rider** | **BOOLEAN** | True if the plan allows dependents up to age 29 | [optional]
9
+ **ambulance** | **String** | Benefits string for ambulance coverage | [optional]
10
+ **benefits_summary_url** | **String** | Link to the summary of benefits and coverage (SBC) document. | [optional]
11
+ **buy_link** | **String** | Link to a location to purchase the plan. | [optional]
12
+ **carrier_name** | **String** | Name of the insurance carrier | [optional]
13
+ **child_dental** | **BOOLEAN** | Does the plan provide dental coverage for children? | [optional]
14
+ **child_eye_exam** | **String** | Child eye exam benefits summary | [optional]
15
+ **child_eyewear** | **String** | Child eyewear benefits summary | [optional]
16
+ **chiropractic_services** | **String** | Chiropractic services benefits summary | [optional]
17
+ **coinsurance** | **Float** | Standard cost share for most benefits | [optional]
18
+ **customer_service_phone_number** | **String** | Phone number to contact the insurance carrier | [optional]
19
+ **diagnostic_test** | **String** | Diagnostic tests benefit summary | [optional]
20
+ **display_name** | **String** | Alternate name for the Plan | [optional]
21
+ **dp_rider** | **BOOLEAN** | True if plan does not cover domestic partners | [optional]
22
+ **drug_formulary_url** | **String** | Link to the summary of drug benefits for the plan | [optional]
23
+ **durable_medical_equipment** | **String** | Benefits summary for durable medical equipment | [optional]
24
+ **effective_date** | **String** | Effective date of coverage. | [optional]
25
+ **embedded_deductible** | **String** | Is the individual deductible for each covered person, embedded in the family deductible | [optional]
26
+ **emergency_room** | **String** | Description of costs when visiting the ER | [optional]
27
+ **expiration_date** | **String** | Expiration date of coverage. | [optional]
28
+ **family_drug_deductible** | **String** | Deductible for drugs when a family is on the plan. | [optional]
29
+ **family_drug_moop** | **String** | Maximum out-of-pocket for drugs when a family is on the plan | [optional]
30
+ **family_medical_deductible** | **String** | Deductible when a family is on the plan | [optional]
31
+ **family_medical_moop** | **String** | Maximum out-of-pocket when a family is on the plan | [optional]
32
+ **fp_rider** | **BOOLEAN** | True if plan does not cover family planning | [optional]
33
+ **gated** | **BOOLEAN** | Does the plan's network require a physician referral? | [optional]
34
+ **generic_drugs** | **String** | Cost for generic drugs | [optional]
35
+ **habilitation_services** | **String** | Habilitation services benefits summary | [optional]
36
+ **hios_issuer_id** | **String** | | [optional]
37
+ **home_health_care** | **String** | Home health care benefits summary | [optional]
38
+ **hospice_service** | **String** | Hospice service benefits summary | [optional]
39
+ **hsa_eligible** | **BOOLEAN** | Is the plan HSA eligible? | [optional]
40
+ **id** | **String** | Government-issued HIOS plan ID | [optional]
41
+ **identifiers** | [**Array<PlanIdentifier>**](PlanIdentifier.md) | List of identifiers of this Plan | [optional]
42
+ **imaging** | **String** | Benefits summary for imaging coverage | [optional]
43
+ **imaging_center** | **String** | Imaging center benefits summary | [optional]
44
+ **imaging_physician** | **String** | Imaging physician benefits summary | [optional]
45
+ **in_network_ids** | **Array<Integer>** | List of NPI numbers for Providers passed in who accept this Plan | [optional]
46
+ **individual_drug_deductible** | **String** | Deductible for drugs when an individual is on the plan | [optional]
47
+ **individual_drug_moop** | **String** | Maximum out-of-pocket for drugs when an individual is on the plan | [optional]
48
+ **individual_medical_deductible** | **String** | Deductible when an individual is on the plan | [optional]
49
+ **individual_medical_moop** | **String** | Maximum out-of-pocket when an individual is on the plan | [optional]
50
+ **inpatient_birth** | **String** | Inpatient birth benefits summary | [optional]
51
+ **inpatient_facility** | **String** | Cost under the plan for an inpatient facility | [optional]
52
+ **inpatient_mental_health** | **String** | Inpatient mental helath benefits summary | [optional]
53
+ **inpatient_physician** | **String** | Cost under the plan for an inpatient physician | [optional]
54
+ **inpatient_substance** | **String** | Inpatient substance abuse benefits summary | [optional]
55
+ **lab_test** | **String** | Lab test benefits summary | [optional]
56
+ **level** | **String** | Plan metal grouping (e.g. platinum, gold, silver, etc) | [optional]
57
+ **logo_url** | **String** | Link to a copy of the insurance carrier's logo | [optional]
58
+ **mail_order_rx** | **Float** | Multiple of the standard Rx cost share for orders filled via mail order | [optional]
59
+ **name** | **String** | Marketing name of the plan | [optional]
60
+ **network_ids** | **Array<Integer>** | List of Vericred-generated network_ids | [optional]
61
+ **network_size** | **Integer** | Total number of Providers in network | [optional]
62
+ **networks** | [**Array<PlanNetwork>**](PlanNetwork.md) | List of networks associated with the plan | [optional]
63
+ **non_preferred_brand_drugs** | **String** | Cost under the plan for non-preferred brand drugs | [optional]
64
+ **nonpreferred_generic_drug_share** | **String** | Non-preferred generic drugs benefits summary | [optional]
65
+ **nonpreferred_specialty_drug_share** | **String** | Non-preferred specialty drugs benefits summary | [optional]
66
+ **off_market** | **BOOLEAN** | Is the plan off-market? | [optional]
67
+ **on_market** | **BOOLEAN** | Is the plan on-market? | [optional]
68
+ **out_of_network_coverage** | **BOOLEAN** | Does this plan provide any out of network coverage? | [optional]
69
+ **out_of_network_ids** | **Array<Integer>** | List of NPI numbers for Providers passed in who do not accept this Plan | [optional]
70
+ **outpatient_ambulatory_care_center** | **String** | Outpatient ambulatory care center benefits summary | [optional]
71
+ **outpatient_facility** | **String** | Benefits summary for outpatient facility coverage | [optional]
72
+ **outpatient_mental_health** | **String** | Benefits summary for outpatient mental health coverage | [optional]
73
+ **outpatient_physician** | **String** | Benefits summary for outpatient physician coverage | [optional]
74
+ **outpatient_substance** | **String** | Outpatient substance abuse benefits summary | [optional]
75
+ **plan_calendar** | **String** | Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")? | [optional]
76
+ **plan_market** | **String** | Market in which the plan is offered (on_marketplace, shop, etc) | [optional]
77
+ **plan_type** | **String** | Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA) | [optional]
78
+ **postnatal_care** | **String** | Post-natal care benefits summary | [optional]
79
+ **preferred_brand_drugs** | **String** | Cost under the plan for perferred brand drugs | [optional]
80
+ **premium** | **Float** | Cumulative premium amount | [optional]
81
+ **premium_source** | **String** | Source of the base pricing data | [optional]
82
+ **premium_subsidized** | **Float** | Cumulative premium amount after subsidy | [optional]
83
+ **prenatal_care** | **String** | Prenatal care benefits summary | [optional]
84
+ **prenatal_postnatal_care** | **String** | Inpatient substance abuse benefits summary | [optional]
85
+ **preventative_care** | **String** | Benefits summary for preventative care | [optional]
86
+ **primary_care_physician** | **String** | Cost under the plan to visit a Primary Care Physician | [optional]
87
+ **rehabilitation_services** | **String** | Benefits summary for rehabilitation services | [optional]
88
+ **service_area_id** | **String** | Foreign key for service area | [optional]
89
+ **skilled_nursing** | **String** | Benefits summary for skilled nursing services | [optional]
90
+ **skilled_nursing_facility_365** | **String** | Does the plan cover full-time, year-round, nursing facilities? | [optional]
91
+ **source** | **String** | Source of the plan benefit data | [optional]
92
+ **specialist** | **String** | Cost under the plan to visit a specialist | [optional]
93
+ **specialty_drugs** | **String** | Cost under the plan for specialty drugs | [optional]
94
+ **type** | **String** | The type of the Plan | [optional]
95
+ **urgent_care** | **String** | Benefits summary for urgent care | [optional]
96
+
97
+
@@ -31,7 +31,7 @@ Name | Type | Description | Notes
31
31
  **mail_order_rx** | **Float** | Multiple of the standard Rx cost share for orders filled via mail order | [optional]
32
32
  **market** | **String** | Market for plan | [optional]
33
33
  **name** | **String** | The medical plan name | [optional]
34
- **plan_ancestor** | **String** | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
34
+ **plan_ancestors** | [**Array<PlanAncestor>**](PlanAncestor.md) | A list of plan identifiers and years indicating the previous plans that the plan replaces | [optional]
35
35
  **plan_calendar** | **String** | Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")? | [optional]
36
36
  **plan_market** | **String** | Market in which the plan is offered (on_marketplace, shop, etc) | [optional]
37
37
  **plan_type** | **String** | Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA) | [optional]
@@ -0,0 +1,9 @@
1
+ # VericredClient::PlanAncestor
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **plan_id** | **String** | Plan Ancestor Identifier Value | [optional]
7
+ **year** | **Integer** | Plan Ancestor year | [optional]
8
+
9
+
@@ -5,6 +5,6 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **coverages** | [**Array<DrugCoverage>**](DrugCoverage.md) | Coverages associated with the plan. | [optional]
7
7
  **meta** | [**Meta**](Meta.md) | Meta-data | [optional]
8
- **plans** | [**Array<ACAPlan>**](ACAPlan.md) | Plan search results | [optional]
8
+ **plans** | [**Array<ACAPlanSearch>**](ACAPlanSearch.md) | Plan search results | [optional]
9
9
 
10
10
 
@@ -1024,6 +1024,7 @@ require 'vericred_client/models/aca_plan_pre2018_search'
1024
1024
  require 'vericred_client/models/aca_plan_pre2018_search_response'
1025
1025
  require 'vericred_client/models/aca_plan_pre2018_search_result'
1026
1026
  require 'vericred_client/models/aca_plan_pre2018_show_response'
1027
+ require 'vericred_client/models/aca_plan_search'
1027
1028
  require 'vericred_client/models/address'
1028
1029
  require 'vericred_client/models/age_banded'
1029
1030
  require 'vericred_client/models/ancillary_plan_identifier'
@@ -1110,6 +1111,7 @@ require 'vericred_client/models/network_size'
1110
1111
  require 'vericred_client/models/notification_subscription'
1111
1112
  require 'vericred_client/models/notification_subscription_response'
1112
1113
  require 'vericred_client/models/plan'
1114
+ require 'vericred_client/models/plan_ancestor'
1113
1115
  require 'vericred_client/models/plan_county'
1114
1116
  require 'vericred_client/models/plan_county_bulk'
1115
1117
  require 'vericred_client/models/plan_deleted'
@@ -1225,12 +1225,12 @@ module VericredClient
1225
1225
  attr_accessor :outpatient_substance
1226
1226
 
1227
1227
  # A list of plan identifiers and years indicating the previous plans that the plan replaces
1228
- attr_accessor :plan_ancestor
1228
+ attr_accessor :plan_ancestors
1229
1229
 
1230
1230
  # Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")?
1231
1231
  attr_accessor :plan_calendar
1232
1232
 
1233
- # The plan-level standard cost-share for substantially all benefits. It i ncludes in- network, out-of- network, and tiers if applicable
1233
+ # The plan-level standard cost-share for substantially all benefits. It includes in-network, out-of-network, and tiers if applicable
1234
1234
  attr_accessor :plan_coinsurance
1235
1235
 
1236
1236
  # Market in which the plan is offered (on_marketplace, shop, etc)
@@ -1362,7 +1362,7 @@ module VericredClient
1362
1362
  :'outpatient_mental_health' => :'outpatient_mental_health',
1363
1363
  :'outpatient_physician' => :'outpatient_physician',
1364
1364
  :'outpatient_substance' => :'outpatient_substance',
1365
- :'plan_ancestor' => :'plan_ancestor',
1365
+ :'plan_ancestors' => :'plan_ancestors',
1366
1366
  :'plan_calendar' => :'plan_calendar',
1367
1367
  :'plan_coinsurance' => :'plan_coinsurance',
1368
1368
  :'plan_market' => :'plan_market',
@@ -1460,7 +1460,7 @@ module VericredClient
1460
1460
  :'outpatient_mental_health' => :'String',
1461
1461
  :'outpatient_physician' => :'String',
1462
1462
  :'outpatient_substance' => :'String',
1463
- :'plan_ancestor' => :'String',
1463
+ :'plan_ancestors' => :'Array<PlanAncestor>',
1464
1464
  :'plan_calendar' => :'String',
1465
1465
  :'plan_coinsurance' => :'String',
1466
1466
  :'plan_market' => :'String',
@@ -1782,8 +1782,10 @@ module VericredClient
1782
1782
  self.outpatient_substance = attributes[:'outpatient_substance']
1783
1783
  end
1784
1784
 
1785
- if attributes.has_key?(:'plan_ancestor')
1786
- self.plan_ancestor = attributes[:'plan_ancestor']
1785
+ if attributes.has_key?(:'plan_ancestors')
1786
+ if (value = attributes[:'plan_ancestors']).is_a?(Array)
1787
+ self.plan_ancestors = value
1788
+ end
1787
1789
  end
1788
1790
 
1789
1791
  if attributes.has_key?(:'plan_calendar')
@@ -1957,7 +1959,7 @@ module VericredClient
1957
1959
  outpatient_mental_health == o.outpatient_mental_health &&
1958
1960
  outpatient_physician == o.outpatient_physician &&
1959
1961
  outpatient_substance == o.outpatient_substance &&
1960
- plan_ancestor == o.plan_ancestor &&
1962
+ plan_ancestors == o.plan_ancestors &&
1961
1963
  plan_calendar == o.plan_calendar &&
1962
1964
  plan_coinsurance == o.plan_coinsurance &&
1963
1965
  plan_market == o.plan_market &&
@@ -1989,7 +1991,7 @@ module VericredClient
1989
1991
  # Calculates hash code according to all attributes.
1990
1992
  # @return [Fixnum] Hash code
1991
1993
  def hash
1992
- [abortion_rider, actuarial_value, adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eye_exam, child_eyewear, chiropractic_services, coinsurance, customer_service_phone_number, diagnostic_test, display_name, dp_rider, drug_formulary_url, durable_medical_equipment, effective_date, embedded_deductible, emergency_room, essential_health_benefits_percentage, expiration_date, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, gated, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, identifiers, imaging, imaging_center, imaging_physician, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, infertility_rider, inpatient_birth, inpatient_birth_physician, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, lab_test, level, logo_url, mail_order_rx, name, network_ids, network_size, networks, non_preferred_brand_drugs, nonpreferred_generic_drug_share, nonpreferred_specialty_drug_share, off_market, on_market, out_of_network_coverage, outpatient_ambulatory_care_center, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_ancestor, plan_calendar, plan_coinsurance, plan_market, plan_type, postnatal_care, preferred_brand_drugs, prenatal_care, prenatal_postnatal_care, preventative_care, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, skilled_nursing_facility_365, source, specialist, specialty_drugs, telemedicine, type, urgent_care].hash
1994
+ [abortion_rider, actuarial_value, adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eye_exam, child_eyewear, chiropractic_services, coinsurance, customer_service_phone_number, diagnostic_test, display_name, dp_rider, drug_formulary_url, durable_medical_equipment, effective_date, embedded_deductible, emergency_room, essential_health_benefits_percentage, expiration_date, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, gated, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, identifiers, imaging, imaging_center, imaging_physician, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, infertility_rider, inpatient_birth, inpatient_birth_physician, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, lab_test, level, logo_url, mail_order_rx, name, network_ids, network_size, networks, non_preferred_brand_drugs, nonpreferred_generic_drug_share, nonpreferred_specialty_drug_share, off_market, on_market, out_of_network_coverage, outpatient_ambulatory_care_center, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_ancestors, plan_calendar, plan_coinsurance, plan_market, plan_type, postnatal_care, preferred_brand_drugs, prenatal_care, prenatal_postnatal_care, preventative_care, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, skilled_nursing_facility_365, source, specialist, specialty_drugs, telemedicine, type, urgent_care].hash
1993
1995
  end
1994
1996
 
1995
1997
  # Builds the object from hash
@@ -1231,12 +1231,12 @@ module VericredClient
1231
1231
  attr_accessor :outpatient_substance
1232
1232
 
1233
1233
  # A list of plan identifiers and years indicating the previous plans that the plan replaces
1234
- attr_accessor :plan_ancestor
1234
+ attr_accessor :plan_ancestors
1235
1235
 
1236
1236
  # Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")?
1237
1237
  attr_accessor :plan_calendar
1238
1238
 
1239
- # The plan-level standard cost-share for substantially all benefits. It i ncludes in- network, out-of- network, and tiers if applicable
1239
+ # The plan-level standard cost-share for substantially all benefits. It includes in-network, out-of-network, and tiers if applicable
1240
1240
  attr_accessor :plan_coinsurance
1241
1241
 
1242
1242
  # Market in which the plan is offered (on_marketplace, shop, etc)
@@ -1379,7 +1379,7 @@ module VericredClient
1379
1379
  :'outpatient_mental_health' => :'outpatient_mental_health',
1380
1380
  :'outpatient_physician' => :'outpatient_physician',
1381
1381
  :'outpatient_substance' => :'outpatient_substance',
1382
- :'plan_ancestor' => :'plan_ancestor',
1382
+ :'plan_ancestors' => :'plan_ancestors',
1383
1383
  :'plan_calendar' => :'plan_calendar',
1384
1384
  :'plan_coinsurance' => :'plan_coinsurance',
1385
1385
  :'plan_market' => :'plan_market',
@@ -1482,7 +1482,7 @@ module VericredClient
1482
1482
  :'outpatient_mental_health' => :'String',
1483
1483
  :'outpatient_physician' => :'String',
1484
1484
  :'outpatient_substance' => :'String',
1485
- :'plan_ancestor' => :'String',
1485
+ :'plan_ancestors' => :'Array<PlanAncestor>',
1486
1486
  :'plan_calendar' => :'String',
1487
1487
  :'plan_coinsurance' => :'String',
1488
1488
  :'plan_market' => :'String',
@@ -1819,8 +1819,10 @@ module VericredClient
1819
1819
  self.outpatient_substance = attributes[:'outpatient_substance']
1820
1820
  end
1821
1821
 
1822
- if attributes.has_key?(:'plan_ancestor')
1823
- self.plan_ancestor = attributes[:'plan_ancestor']
1822
+ if attributes.has_key?(:'plan_ancestors')
1823
+ if (value = attributes[:'plan_ancestors']).is_a?(Array)
1824
+ self.plan_ancestors = value
1825
+ end
1824
1826
  end
1825
1827
 
1826
1828
  if attributes.has_key?(:'plan_calendar')
@@ -2008,7 +2010,7 @@ module VericredClient
2008
2010
  outpatient_mental_health == o.outpatient_mental_health &&
2009
2011
  outpatient_physician == o.outpatient_physician &&
2010
2012
  outpatient_substance == o.outpatient_substance &&
2011
- plan_ancestor == o.plan_ancestor &&
2013
+ plan_ancestors == o.plan_ancestors &&
2012
2014
  plan_calendar == o.plan_calendar &&
2013
2015
  plan_coinsurance == o.plan_coinsurance &&
2014
2016
  plan_market == o.plan_market &&
@@ -2043,7 +2045,7 @@ module VericredClient
2043
2045
  # Calculates hash code according to all attributes.
2044
2046
  # @return [Fixnum] Hash code
2045
2047
  def hash
2046
- [abortion_rider, actuarial_value, adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eye_exam, child_eyewear, chiropractic_services, coinsurance, customer_service_phone_number, diagnostic_test, display_name, dp_rider, drug_formulary_url, durable_medical_equipment, effective_date, embedded_deductible, emergency_room, essential_health_benefits_percentage, expiration_date, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, gated, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, identifiers, imaging, imaging_center, imaging_physician, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, infertility_rider, inpatient_birth, inpatient_birth_physician, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, lab_test, level, logo_url, mail_order_rx, name, network_ids, network_size, networks, non_preferred_brand_drugs, nonpreferred_generic_drug_share, nonpreferred_specialty_drug_share, off_market, on_market, out_of_network_coverage, out_of_network_ids, outpatient_ambulatory_care_center, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_ancestor, plan_calendar, plan_coinsurance, plan_market, plan_type, postnatal_care, preferred_brand_drugs, premium, premium_source, premium_subsidized, prenatal_care, prenatal_postnatal_care, preventative_care, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, skilled_nursing_facility_365, source, specialist, specialty_drugs, telemedicine, type, urgent_care].hash
2048
+ [abortion_rider, actuarial_value, adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eye_exam, child_eyewear, chiropractic_services, coinsurance, customer_service_phone_number, diagnostic_test, display_name, dp_rider, drug_formulary_url, durable_medical_equipment, effective_date, embedded_deductible, emergency_room, essential_health_benefits_percentage, expiration_date, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, gated, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, identifiers, imaging, imaging_center, imaging_physician, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, infertility_rider, inpatient_birth, inpatient_birth_physician, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, lab_test, level, logo_url, mail_order_rx, name, network_ids, network_size, networks, non_preferred_brand_drugs, nonpreferred_generic_drug_share, nonpreferred_specialty_drug_share, off_market, on_market, out_of_network_coverage, out_of_network_ids, outpatient_ambulatory_care_center, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_ancestors, plan_calendar, plan_coinsurance, plan_market, plan_type, postnatal_care, preferred_brand_drugs, premium, premium_source, premium_subsidized, prenatal_care, prenatal_postnatal_care, preventative_care, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, skilled_nursing_facility_365, source, specialist, specialty_drugs, telemedicine, type, urgent_care].hash
2047
2049
  end
2048
2050
 
2049
2051
  # Builds the object from hash
@@ -1240,12 +1240,12 @@ module VericredClient
1240
1240
  attr_accessor :perfect_match_percentage
1241
1241
 
1242
1242
  # A list of plan identifiers and years indicating the previous plans that the plan replaces
1243
- attr_accessor :plan_ancestor
1243
+ attr_accessor :plan_ancestors
1244
1244
 
1245
1245
  # Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")?
1246
1246
  attr_accessor :plan_calendar
1247
1247
 
1248
- # The plan-level standard cost-share for substantially all benefits. It i ncludes in- network, out-of- network, and tiers if applicable
1248
+ # The plan-level standard cost-share for substantially all benefits. It includes in-network, out-of-network, and tiers if applicable
1249
1249
  attr_accessor :plan_coinsurance
1250
1250
 
1251
1251
  # Market in which the plan is offered (on_marketplace, shop, etc)
@@ -1391,7 +1391,7 @@ module VericredClient
1391
1391
  :'outpatient_physician' => :'outpatient_physician',
1392
1392
  :'outpatient_substance' => :'outpatient_substance',
1393
1393
  :'perfect_match_percentage' => :'perfect_match_percentage',
1394
- :'plan_ancestor' => :'plan_ancestor',
1394
+ :'plan_ancestors' => :'plan_ancestors',
1395
1395
  :'plan_calendar' => :'plan_calendar',
1396
1396
  :'plan_coinsurance' => :'plan_coinsurance',
1397
1397
  :'plan_market' => :'plan_market',
@@ -1497,7 +1497,7 @@ module VericredClient
1497
1497
  :'outpatient_physician' => :'String',
1498
1498
  :'outpatient_substance' => :'String',
1499
1499
  :'perfect_match_percentage' => :'Integer',
1500
- :'plan_ancestor' => :'String',
1500
+ :'plan_ancestors' => :'Array<PlanAncestor>',
1501
1501
  :'plan_calendar' => :'String',
1502
1502
  :'plan_coinsurance' => :'String',
1503
1503
  :'plan_market' => :'String',
@@ -1846,8 +1846,10 @@ module VericredClient
1846
1846
  self.perfect_match_percentage = attributes[:'perfect_match_percentage']
1847
1847
  end
1848
1848
 
1849
- if attributes.has_key?(:'plan_ancestor')
1850
- self.plan_ancestor = attributes[:'plan_ancestor']
1849
+ if attributes.has_key?(:'plan_ancestors')
1850
+ if (value = attributes[:'plan_ancestors']).is_a?(Array)
1851
+ self.plan_ancestors = value
1852
+ end
1851
1853
  end
1852
1854
 
1853
1855
  if attributes.has_key?(:'plan_calendar')
@@ -2038,7 +2040,7 @@ module VericredClient
2038
2040
  outpatient_physician == o.outpatient_physician &&
2039
2041
  outpatient_substance == o.outpatient_substance &&
2040
2042
  perfect_match_percentage == o.perfect_match_percentage &&
2041
- plan_ancestor == o.plan_ancestor &&
2043
+ plan_ancestors == o.plan_ancestors &&
2042
2044
  plan_calendar == o.plan_calendar &&
2043
2045
  plan_coinsurance == o.plan_coinsurance &&
2044
2046
  plan_market == o.plan_market &&
@@ -2073,7 +2075,7 @@ module VericredClient
2073
2075
  # Calculates hash code according to all attributes.
2074
2076
  # @return [Fixnum] Hash code
2075
2077
  def hash
2076
- [abortion_rider, actuarial_value, adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eye_exam, child_eyewear, chiropractic_services, coinsurance, customer_service_phone_number, dependent_premium, diagnostic_test, display_name, dp_rider, drug_formulary_url, durable_medical_equipment, effective_date, embedded_deductible, emergency_room, employee_premium, essential_health_benefits_percentage, expiration_date, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, gated, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, identifiers, imaging, imaging_center, imaging_physician, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, infertility_rider, inpatient_birth, inpatient_birth_physician, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, lab_test, level, logo_url, mail_order_rx, match_percentage, name, network_ids, networks, non_preferred_brand_drugs, nonpreferred_generic_drug_share, nonpreferred_specialty_drug_share, off_market, on_market, out_of_network_coverage, out_of_network_ids, outpatient_ambulatory_care_center, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, perfect_match_percentage, plan_ancestor, plan_calendar, plan_coinsurance, plan_market, plan_type, postnatal_care, preferred_brand_drugs, premium, premium_source, premium_subsidized, prenatal_care, prenatal_postnatal_care, preventative_care, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, skilled_nursing_facility_365, source, specialist, specialty_drugs, telemedicine, type, urgent_care].hash
2078
+ [abortion_rider, actuarial_value, adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eye_exam, child_eyewear, chiropractic_services, coinsurance, customer_service_phone_number, dependent_premium, diagnostic_test, display_name, dp_rider, drug_formulary_url, durable_medical_equipment, effective_date, embedded_deductible, emergency_room, employee_premium, essential_health_benefits_percentage, expiration_date, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, gated, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, identifiers, imaging, imaging_center, imaging_physician, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, infertility_rider, inpatient_birth, inpatient_birth_physician, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, lab_test, level, logo_url, mail_order_rx, match_percentage, name, network_ids, networks, non_preferred_brand_drugs, nonpreferred_generic_drug_share, nonpreferred_specialty_drug_share, off_market, on_market, out_of_network_coverage, out_of_network_ids, outpatient_ambulatory_care_center, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, perfect_match_percentage, plan_ancestors, plan_calendar, plan_coinsurance, plan_market, plan_type, postnatal_care, preferred_brand_drugs, premium, premium_source, premium_subsidized, prenatal_care, prenatal_postnatal_care, preventative_care, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, skilled_nursing_facility_365, source, specialist, specialty_drugs, telemedicine, type, urgent_care].hash
2077
2079
  end
2078
2080
 
2079
2081
  # Builds the object from hash
@@ -0,0 +1,2085 @@
1
+ =begin
2
+ #Vericred API
3
+
4
+ ## Getting Started
5
+
6
+ ## Signing Up
7
+
8
+ Visit our [Developer Portal](https://developers.vericred.com) to
9
+ create an account.
10
+
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).
13
+
14
+ ## SDKs
15
+
16
+ Our API follows standard REST conventions, so you can use any HTTP client
17
+ to integrate with us. You will likely find it easier to use one of our
18
+ [autogenerated SDKs](https://github.com/vericred/?query=vericred-),
19
+ which we make available for several common programming languages.
20
+
21
+ ## Authentication
22
+
23
+ To authenticate, pass the API Key you created in the Developer Portal as
24
+ a `Vericred-Api-Key` header.
25
+
26
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' "https://api.vericred.com/drugs?search_term=Lipitor"`
27
+
28
+ ## Versioning
29
+
30
+ Vericred's API default to the latest version. However, if you need a specific
31
+ version, you can request it with an `Accept-Version` header.
32
+
33
+ The current version is `v6`. We support prior versions. Our latest
34
+ stable version is `v7` and we will indicate in the documentation for an
35
+ endpoint if it's required.
36
+
37
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' -H 'Accept-Version: v6' "https://api.vericred.com/drugs?search_term=Lipitor"`
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
51
+ `State`s we typically the associated data. In this example, we would
52
+ provide an Array of `State`s and a `state_id` for each provider. This is
53
+ done primarily to reduce the payload size since many of the `Provider`s
54
+ will share a `State`
55
+
56
+ ### Simplified Example
57
+ ```
58
+ {
59
+ providers: [{ id: 1, state_id: 1}, { id: 2, state_id: 1 }],
60
+ states: [{ id: 1, code: 'NY' }]
61
+ }
62
+ ```
63
+
64
+ If you need the second level of the object graph, you can just match the
65
+ corresponding id.
66
+
67
+ ## Selecting specific data
68
+
69
+ All endpoints allow you to specify which fields you would like to return.
70
+ This allows you to limit the response to contain only the data you need.
71
+
72
+ For example, let's take a request that returns the following JSON by default
73
+
74
+ ```
75
+ {
76
+ provider: {
77
+ id: 1,
78
+ name: 'John',
79
+ phone: '1234567890',
80
+ field_we_dont_care_about: 'value_we_dont_care_about'
81
+ },
82
+ states: [{
83
+ id: 1,
84
+ name: 'New York',
85
+ code: 'NY',
86
+ field_we_dont_care_about: 'value_we_dont_care_about'
87
+ }]
88
+ }
89
+ ```
90
+
91
+ To limit our results to only return the fields we care about, we specify the
92
+ `select` in the query string for a `GET` or the body for a `POST`.
93
+
94
+ In this case, we want to select `name` and `phone` from the `provider` key,
95
+ so we would add the parameters `select=provider.name,provider.phone`.
96
+ We also want the `name` and `code` from the `states` key, so we would
97
+ add the parameters `select=states.name,states.code`. The id field of
98
+ each document is always returned whether or not it is requested.
99
+
100
+ Our final request would be `GET /providers/1234567898?select=provider.name,provider.phone,states.name,states.code`
101
+
102
+ The response would be
103
+
104
+ ```
105
+ {
106
+ provider: {
107
+ id: 1234567898,
108
+ name: 'John',
109
+ phone: '1234567890'
110
+ },
111
+ states: [{
112
+ id: 1,
113
+ name: 'New York',
114
+ code: 'NY'
115
+ }]
116
+ }
117
+ ```
118
+
119
+ # Plan and Rate Data
120
+
121
+ 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))
122
+
123
+ ## Plans
124
+
125
+ 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.
126
+
127
+ ### Benefits Format
128
+
129
+ 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.
130
+
131
+ Benefit cost-share strings are formatted to capture:
132
+ * Network tiers
133
+ * Compound or conditional cost-share
134
+ * Limits on the cost-share
135
+ * Benefit-specific maximum out-of-pocket costs
136
+
137
+ **Example #1**
138
+ As an example, we would represent [this Summary of Benefits &amp; Coverage](https://s3.amazonaws.com/vericred-data/SBC/2017/33602TX0780032.pdf) as:
139
+
140
+ * **Hospital stay facility fees**:
141
+ - Network Provider: `$400 copay/admit plus 20% coinsurance`
142
+ - Out-of-Network Provider: `$1,500 copay/admit plus 50% coinsurance`
143
+ - 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`
144
+
145
+ * **Rehabilitation services:**
146
+ - Network Provider: `20% coinsurance`
147
+ - Out-of-Network Provider: `50% coinsurance`
148
+ - Limitations & Exceptions: `35 visit maximum per benefit period combined with Chiropractic care.`
149
+ - Vericred's format for this benefit: `In-Network: 20% after deductible / Out-of-Network: 50% after deductible | limit: 35 visit(s) per Benefit Period`
150
+
151
+ **Example #2**
152
+ In [this other Summary of Benefits &amp; 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.
153
+ * **Specialty drugs:**
154
+ - Network Provider: `40% coinsurance up to a $500 maximum for up to a 30 day supply`
155
+ - Out-of-Network Provider `Not covered`
156
+ - Vericred's format for this benefit: `In-Network: 40% after deductible, up to $500 per script / Out-of-Network: 100%`
157
+
158
+ **BNF**
159
+
160
+ Here's a description of the benefits summary string, represented as a context-free grammar:
161
+
162
+ ```
163
+ root ::= coverage
164
+
165
+ coverage ::= (simple_coverage | tiered_coverage) (space pipe space coverage_modifier)?
166
+ tiered_coverage ::= tier (space slash space tier)*
167
+ tier ::= tier_name colon space (tier_coverage | not_applicable)
168
+ tier_coverage ::= simple_coverage (space (then | or | and) space simple_coverage)* tier_limitation?
169
+ simple_coverage ::= (pre_coverage_limitation space)? coverage_amount (space post_coverage_limitation)? (comma? space coverage_condition)?
170
+ coverage_modifier ::= limit_condition colon space (((simple_coverage | simple_limitation) (semicolon space see_carrier_documentation)?) | see_carrier_documentation | waived_if_admitted | shared_across_tiers)
171
+ waived_if_admitted ::= ("copay" space)? "waived if admitted"
172
+ simple_limitation ::= pre_coverage_limitation space "copay applies"
173
+ tier_name ::= "In-Network-Tier-2" | "Out-of-Network" | "In-Network"
174
+ limit_condition ::= "limit" | "condition"
175
+ tier_limitation ::= comma space "up to" space (currency | (integer space time_unit plural?)) (space post_coverage_limitation)?
176
+ coverage_amount ::= currency | unlimited | included | unknown | percentage | (digits space (treatment_unit | time_unit) plural?)
177
+ pre_coverage_limitation ::= first space digits space time_unit plural?
178
+ post_coverage_limitation ::= (((then space currency) | "per condition") space)? "per" space (treatment_unit | (integer space time_unit) | time_unit) plural?
179
+ coverage_condition ::= ("before deductible" | "after deductible" | "penalty" | allowance | "in-state" | "out-of-state") (space allowance)?
180
+ allowance ::= upto_allowance | after_allowance
181
+ upto_allowance ::= "up to" space (currency space)? "allowance"
182
+ after_allowance ::= "after" space (currency space)? "allowance"
183
+ see_carrier_documentation ::= "see carrier documentation for more information"
184
+ shared_across_tiers ::= "shared across all tiers"
185
+ unknown ::= "unknown"
186
+ unlimited ::= /[uU]nlimited/
187
+ included ::= /[iI]ncluded in [mM]edical/
188
+ 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/)
189
+ treatment_unit ::= /[pP]erson/ | /[gG]roup/ | /[cC]ondition/ | /[sS]cript/ | /[vV]isit/ | /[eE]xam/ | /[iI]tem/ | /[sS]tay/ | /[tT]reatment/ | /[aA]dmission/ | /[eE]pisode/
190
+ comma ::= ","
191
+ colon ::= ":"
192
+ semicolon ::= ";"
193
+ pipe ::= "|"
194
+ slash ::= "/"
195
+ plural ::= "(s)" | "s"
196
+ then ::= "then" | ("," space) | space
197
+ or ::= "or"
198
+ and ::= "and"
199
+ not_applicable ::= "Not Applicable" | "N/A" | "NA"
200
+ first ::= "first"
201
+ currency ::= "$" number
202
+ percentage ::= number "%"
203
+ number ::= float | integer
204
+ float ::= digits "." digits
205
+ integer ::= /[0-9]/+ (comma_int | under_int)*
206
+ comma_int ::= ("," /[0-9]/*3) !"_"
207
+ under_int ::= ("_" /[0-9]/*3) !","
208
+ digits ::= /[0-9]/+ ("_" /[0-9]/+)*
209
+ space ::= /[ \t]/+
210
+ ```
211
+
212
+
213
+ ### Major Medical
214
+
215
+ 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
216
+
217
+ 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/)
218
+
219
+ The following are the appropriate Benefit Fields for Major Medical:
220
+
221
+ - ambulance
222
+ - child\_eye\_exam
223
+ - child\_eyewear
224
+ - chiropractic\_services
225
+ - diagnostic\_test
226
+ - durable\_medical\_equipment
227
+ - emergency\_room
228
+ - family\_drug\_deductible
229
+ - family\_drug\_moop
230
+ - family\_medical\_deductible
231
+ - family\_medical\_moop
232
+ - generic\_drugs
233
+ - habilitation\_services
234
+ - home\_health\_care
235
+ - hospice\_service
236
+ - imaging\_center
237
+ - imaging\_physician
238
+ - individual\_drug\_deductible
239
+ - individual\_drug\_moop
240
+ - individual\_medical\_deductible
241
+ - individual\_medical\_moop
242
+ - inpatient\_birth
243
+ - inpatient\_facility
244
+ - inpatient\_mental\_health
245
+ - inpatient\_physician
246
+ - inpatient\_substance
247
+ - lab\_test
248
+ - non\_preferred\_brand\_drugs
249
+ - nonpreferred\_generic\_drug\_share
250
+ - nonpreferred\_specialty\_drug\_share
251
+ - outpatient\_ambulatory\_care\_center
252
+ - outpatient\_facility
253
+ - outpatient\_mental\_health
254
+ - outpatient\_physician
255
+ - outpatient\_substance
256
+ - postnatal\_care
257
+ - preferred\_brand\_drugs
258
+ - prenatal\_care
259
+ - preventative\_care
260
+ - primary\_care\_physician
261
+ - rehabilitation\_services
262
+ - skilled\_nursing
263
+ - specialist
264
+ - specialty\_drugs
265
+ - urgent\_care
266
+
267
+ ### Dental
268
+
269
+ 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.
270
+
271
+ To view the technical documentation, [click here](#dental-plans).
272
+
273
+ The following are the supported Benefit Fields for Dental:
274
+
275
+ - bridges
276
+ - crowns
277
+ - denture\_relines\_rebases
278
+ - denture\_repair\_and\_adjustments
279
+ - dentures
280
+ - emergency\_treatment
281
+ - endodontics
282
+ - family\_annual\_max
283
+ - family\_deductible
284
+ - fluoride\_treatment
285
+ - implants
286
+ - individual\_annual\_max
287
+ - individual\_deductible
288
+ - inlays
289
+ - onlays
290
+ - oral\_exam
291
+ - oral\_surgery
292
+ - orthodontics\_adult
293
+ - orthodontics\_child
294
+ - periodontal\_maintenance
295
+ - periodontics
296
+ - prophylaxis\_cleaning
297
+ - radiograph\_bitewings
298
+ - radiograph\_other
299
+ - restoration\_fillings
300
+ - sealant
301
+ - simple\_extraction
302
+ - space\_maintainers
303
+
304
+ ### Vision
305
+
306
+ 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.
307
+
308
+ To view the technical documentation, [click here](#vision-plans).
309
+
310
+ The following are the supported Benefit Fields for Vision:
311
+
312
+ - eye\_exam
313
+ - retinal\_imaging
314
+ - frame
315
+ - eyeglass\_lenses\_single\_vision
316
+ - eyeglass\_lenses\_bifocal
317
+ - eyeglass\_lenses\_trifocal
318
+ - eyeglass\_lenses\_lenticular
319
+ - uv\_coating
320
+ - tint
321
+ - standard\_antireflective\_coating
322
+ - premium\_antireflective\_coating
323
+ - standard\_polycarbonate\_lenses\_child
324
+ - standard\_polycarbonate\_lenses\_adult
325
+ - standard\_progressive\_lenses
326
+ - premium\_progressive\_lenses
327
+ - standard\_scratch\_resistance
328
+ - polarized\_lenses
329
+ - photochromatic\_lenses
330
+ - standard\_contact\_lens\_fit\_and\_follow\_up
331
+ - premium\_contact\_lens\_fit\_and\_follow\_up
332
+ - contact\_lenses\_conventional
333
+ - contact\_lenses\_disposable
334
+ - contact\_lenses\_medically\_necessary
335
+ - laser\_vision\_correction
336
+ - additional\_pairs\_of\_eyeglasses
337
+
338
+ ### Medicare Advantage
339
+
340
+ Medicare Advantage endpoints support MA (Medicare Advantage plans without prescription drug benefits), MAPD (Medicare Advantage plans with prescription drug benefits), and PDP (prescription drug benefits only) plans.
341
+
342
+ Medical and hospital benefits - we support over 4000 individual plans through our API nationwide. At this time, we do not support EGHP (employer group health plans).
343
+
344
+ Prescription drug benefits - drug benefits are categorized into initial coverage phase, coverage gap phase, and catastrophic phase. Each phase is broken down by drug tiers, pharmacy tiers, and length of supply.
345
+
346
+ [Click here](#header-medicare-advantage-quotes) to learn more about quoting Medicare Advantage plans.
347
+
348
+ ## Rates
349
+
350
+ Rates are returned from the API as a part of [Quoting](#header-quoting). We calculate Rates in one of two ways.
351
+
352
+ ### Sheet Rates
353
+ 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.
354
+
355
+ ### Rate Factors
356
+ 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).
357
+
358
+ 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)
359
+
360
+ 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).
361
+
362
+ In order to calculate a Rate using [Rate Factors](#header-rate-factors), the following methodology is applied:
363
+
364
+ ```
365
+ B = Base Rate
366
+ f = Rate Factor Function 1
367
+ f' = Rate Factor Function 2
368
+
369
+ B * f(x) * f'(y) [* f''(z)] ... = n
370
+ ```
371
+
372
+ ## Rating Areas
373
+ 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.
374
+
375
+ [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`.
376
+
377
+ *Rating Areas do not apply to products other than [Major Medical](#header-major-medical)*
378
+
379
+ ## Service Areas
380
+ 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.
381
+
382
+ 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`.
383
+
384
+ 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).
385
+
386
+ # Quoting
387
+
388
+ 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:
389
+
390
+ 1. Find all available [Plans](#header-plans) in the relevent [Service Areas](#header-service-areas) for the family or group.
391
+ 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).
392
+ 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.
393
+ 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.
394
+ 1. If running a [Composite](#compositerates) quote, determine the portion of the total Rate that each family will pay.
395
+
396
+ ## Individual Quotes
397
+ 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.
398
+
399
+ For details on Major Medical Quoting API calls see [below](#medicalplans-medicalplans-post)
400
+
401
+ ### Specifying the Location
402
+ 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:
403
+ ```
404
+ POST /plans/medical/search
405
+ {
406
+ ...
407
+ "zip_code": "11201",
408
+ "fips_code": "36047"
409
+ ...
410
+ }
411
+
412
+ ```
413
+
414
+ ### Specifying Applicants
415
+ Applicants are the members of the family being quoted and are specified in the `POST` body of the request.
416
+ ```
417
+ POST /plans/medical/search
418
+ {
419
+ ...
420
+ "applicants": [
421
+ {
422
+ "age": 34,
423
+ "smoker": true,
424
+ "child": false
425
+ },
426
+ {
427
+ "age": 32,
428
+ "smoker": false,
429
+ "child": false
430
+ },
431
+ {
432
+ "age": 4,
433
+ "smoker": false,
434
+ "child": true
435
+ }
436
+ ]
437
+ ...
438
+ }
439
+ ```
440
+
441
+ ### Specifying Enrollment Date
442
+ 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.
443
+
444
+ ### Plan Benefits
445
+ Plan Benefits are returned in the response for [Individual Quotes](#individualquotes)
446
+ ```
447
+ POST /plans/medical/search
448
+ {
449
+ ...
450
+ }
451
+
452
+ Response:
453
+ {
454
+ "plans": [
455
+ {
456
+ ...
457
+ "individual_medical_deductible": "$5,000",
458
+ "family_medical_deductible": "$10,000"
459
+ ...
460
+ }
461
+
462
+ ]
463
+ }
464
+
465
+ ```
466
+
467
+ ### Premiums
468
+ 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`
469
+
470
+ ### Major Medical Quotes
471
+ 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.
472
+
473
+ #### Subsidies
474
+ 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.
475
+
476
+ In order to calculate subsidies for a family the following parameters must be supplied:
477
+ ```
478
+ POST /plans/medical/search
479
+ {
480
+ ...
481
+ "household_size": 4,
482
+ "household_income": 40000
483
+ ...
484
+ }
485
+ ```
486
+
487
+ The amount that the family will pay after subsidy is returned in the `premium_subsidized` field for each plan.
488
+
489
+ ##### Subsidy Calculation
490
+ Here is how subsidies are calculated. This is fully handled by the Vericred API, but the steps are enumerated below for clarity.
491
+
492
+ 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.
493
+ 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.
494
+ 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.
495
+ 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/)
496
+ 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.
497
+ 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)
498
+
499
+ #### Cost Sharing Reduction Plans
500
+ [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.
501
+
502
+ If a family is eligible for CSR Plans, the Vericred API will return the relevant Plan in place of the non-CSR version.
503
+
504
+ In order to include CSR Plans where applicable, the following parameters must be supplied:
505
+ ```
506
+ POST /plans/medical/search
507
+ {
508
+ ...
509
+ "household_size": 4,
510
+ "household_income": 40000
511
+ ...
512
+ }
513
+ ```
514
+
515
+ #### The Children's Health Insurance Program (CHIP)
516
+ [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.
517
+
518
+ 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:
519
+ ```
520
+ POST /plans/medical/search
521
+ {
522
+ ...
523
+ "applicants": [
524
+ {
525
+ "age": 34,
526
+ "smoker": true,
527
+ "child": false
528
+ },
529
+ {
530
+ "age": 32,
531
+ "smoker": false,
532
+ "child": false
533
+ },
534
+ {
535
+ "age": 4,
536
+ "smoker": false,
537
+ "child": true
538
+ },
539
+ {
540
+ "age": 4,
541
+ "smoker": false,
542
+ "child": true
543
+ }
544
+ ],
545
+ "household_size": 4,
546
+ "household_income": 40000
547
+ ...
548
+ }
549
+ ```
550
+
551
+ CHIP eligibility is displayed within the meta-tag in the response as `eligible_for_chip_medicaid`:
552
+ ```
553
+ {
554
+ "meta": {
555
+ "total": 150,
556
+ "eligible_for_chip_medicaid": true,
557
+ "premium_tax_credit": 500.20
558
+ },
559
+ "coverages": [],
560
+ "plans": [...]
561
+ }
562
+ ```
563
+
564
+ If you do not want CHIP subsidies to be included in the premiums, simply do not include the `household_income` parameter in the request.
565
+
566
+ ### Dental Quotes
567
+ 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:
568
+ ```
569
+ POST /plans/dental/search
570
+ {
571
+ ...
572
+ "applicants": [
573
+ {
574
+ "age": 34,
575
+ "gender": "M",
576
+ "child": false
577
+ },
578
+ {
579
+ "age": 32,
580
+ "gender": "F",
581
+ "child": false
582
+ },
583
+ {
584
+ "age": 4,
585
+ "gender": "M",
586
+ "child": true
587
+ }
588
+ ]
589
+ ...
590
+ }
591
+ ```
592
+
593
+ Note that in contrast to [Major Medical Quotes](#majormedicalquotes), [Dental Quotes](#dentalquotes) require `gender`, but *do not* require `smoker`.
594
+
595
+ Also note that [Subsidies](#subsidies) and [Cost Sharing Reduction](#costsharingreductionplans) are *not* relevant for [Dental Quotes](#dentalquotes).
596
+
597
+ ### Vision Quotes
598
+
599
+ 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:
600
+ ```
601
+ POST /plans/vision/search
602
+ {
603
+ ...
604
+ "applicants": [
605
+ {
606
+ "age": 34,
607
+ "gender": "M",
608
+ "child": false
609
+ },
610
+ {
611
+ "age": 32,
612
+ "gender": "F",
613
+ "child": false
614
+ },
615
+ {
616
+ "age": 4,
617
+ "gender": "M",
618
+ "child": true
619
+ }
620
+ ]
621
+ ...
622
+ }
623
+ ```
624
+
625
+ Note that in contrast to [Major Medical Quotes](#majormedicalquotes), [Vision Quotes](#visionquotes) require `gender`, but *do not* require `smoker`.
626
+
627
+ Also note that [Subsidies](#subsidies) and [Cost Sharing Reduction](#costsharingreductionplans) are *not* relevant for [Vision Quotes](#visionquotes).
628
+
629
+ ### Medicare Advantage quotes
630
+
631
+ Given an enrollment date and location, you can search all plans available at this location using [/plans/medadv/search](#medicare-advantage-plans-medicare-advantage-plans-post); you can also search a specific plan using its plan ID with [/plans/medadv/{plan_id}](#medicare-advantage-plans-medicare-advantage-plans-get) if the plan ID is already known. The following example contains the required parameters:
632
+ ```
633
+ {
634
+ "zip_code": "02880",
635
+ "fips_code": "44009",
636
+ "enrollment_date": "2019-01-01"
637
+ }
638
+ ```
639
+ To view the technical documentation, [click here](#medicare-advantage-plans).
640
+
641
+
642
+ ## Quotes for Groups
643
+ 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.
644
+
645
+ 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.
646
+
647
+ ### Identifiers
648
+ 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.
649
+
650
+ ### Specifying the Group
651
+ 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`
652
+
653
+ Full documentation is available [below](#groupscreate)
654
+
655
+ ### Specifying the Locations
656
+ 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.
657
+
658
+ ```
659
+ POST /groups
660
+ {
661
+ "group": {
662
+ ...
663
+ },
664
+ "locations": [
665
+ {
666
+ ...
667
+ "zip_code": "11201",
668
+ "fips_code": "36047",
669
+ "primary": true
670
+ ...
671
+ }
672
+ ]
673
+ }
674
+ ```
675
+
676
+ ### Specifying the Census
677
+ 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).
678
+
679
+ #### Dependent Relationships
680
+ 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`
681
+
682
+ Valid Dependent Relationships:
683
+ - `adopted_child`
684
+ - `child`
685
+ - `court_appointed_guardian`
686
+ - `dependent_of_dependent`
687
+ - `ex_spouse`
688
+ - `foster_child`
689
+ - `grand_child`
690
+ - `guardian`
691
+ - `life_partner`
692
+ - `other`
693
+ - `sibling`
694
+ - `sponsored_dependent`
695
+ - `spouse`
696
+ - `step_child`
697
+ - `ward`
698
+
699
+ ```
700
+ POST
701
+
702
+ /groups/{id}/members
703
+ {
704
+ "members": [
705
+ ...
706
+ {
707
+ "cobra": false,
708
+ "date_of_birth": "1980-01-01",
709
+ "fips_code": "36047"
710
+ "gender": "M",
711
+ "last_used_tobacco": "2017-01-01",
712
+ "location_id": :location_id
713
+ "retiree": false,
714
+ "zip_code": "11201",
715
+ "dependents": [
716
+ ...
717
+ {
718
+ "relationship": "child",
719
+ "same_household": true
720
+ }
721
+ ...
722
+ ]
723
+ }
724
+ ...
725
+ ]
726
+ }
727
+
728
+ ```
729
+
730
+ ### Creating a Quote
731
+ Once the [Census](#header-specifying-the-census) has been created, we can generate a `Quote` for the `Group`.
732
+
733
+ #### Major Medical Quotes
734
+ To generate a [Major Medical](#header-major-medical) Quote, specify the `product_line` of `Quote` as `medical`
735
+
736
+ ```
737
+ POST /groups/{id}/quotes
738
+ {
739
+ ...
740
+ "product_line": "medical"
741
+ ...
742
+ }
743
+ ```
744
+
745
+ #### Dental Quotes
746
+ To generate a [Dental](#header-dental) Quote, specify the `product_line` of `Quote` as `dental`
747
+
748
+ ```
749
+ POST /groups/{id}/quotes
750
+ {
751
+ ...
752
+ "product_line": "dental"
753
+ ...
754
+ }
755
+ ```
756
+
757
+ #### Vision Quotes
758
+ To generate a [Vision](#header-vision) Quote, specify the `product_line` of `Quote` as `vision`
759
+
760
+ ```
761
+ POST /groups/{id}/quotes
762
+ {
763
+ ...
764
+ "product_line": "vision"
765
+ ...
766
+ }
767
+ ```
768
+
769
+ ### Retrieving Aggregate Rates
770
+ 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.
771
+
772
+ ```
773
+ GET /quotes/{id}/rates
774
+
775
+ Response
776
+ {
777
+ "rates": [
778
+ ...
779
+ {
780
+ "id": "123abc",
781
+ "plan_id": "12345NY6789012",
782
+ "total_premium": "2800.00",
783
+ "member_premium": "1000.00",
784
+ "dependent_premium": "1800.00",
785
+ "premiums": {
786
+ "age_banded": {
787
+ "total_member": "1000.00",
788
+ "total_dependent": "1800.00",
789
+ "total": "2800.00"
790
+ },
791
+ "2_tier_composite": {
792
+ "employee_only": "200.00",
793
+ "employee_plus_family": "400.00",
794
+ "total": "2800.00"
795
+ },
796
+ "3_tier_composite": {
797
+ "employee_only": "200.00",
798
+ "employee_plus_one": "250.00",
799
+ "employee_plus_family": "330.00",
800
+ "total": "2800.00"
801
+ },
802
+ "4_tier_composite": {
803
+ "employee_only": "200.00",
804
+ "employee_plus_child": "220.00",
805
+ "employee_plus_spouse": "250.00",
806
+ "employee_plus_family": "330.00",
807
+ "total": "2800.00"
808
+ }
809
+ }
810
+ }
811
+ ...
812
+ ]
813
+ }
814
+ ```
815
+
816
+
817
+ #### Loading Plan Data
818
+ 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:
819
+
820
+ Loading the [Plan](#header-plans) from the API:
821
+ ```
822
+ GET /plans/{id}
823
+
824
+ Response:
825
+ {
826
+ "plans": [
827
+ ...
828
+ {
829
+ ...
830
+ "individual_medical_deductible": "$5,000",
831
+ "family_medical_deductible": "$10,000",
832
+ ...
833
+ }
834
+ ...
835
+
836
+ ]
837
+ }
838
+ ```
839
+ Pulling in [Bulk Plan Data](#bulkplans) and matching up [Plans](#header-plans) by their `id`.
840
+
841
+ ### Retrieving Member-Level Rates
842
+ 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`.
843
+
844
+ ```
845
+ GET /rates/{id}/member_rates
846
+
847
+ Response
848
+ {
849
+ "member_rates": [
850
+ ...
851
+ {
852
+ "id": "123abc",
853
+ "member_id": "234def",
854
+ "member_external_id": "externally-supplied-id",
855
+ "member_premium": 500.0,
856
+ "dependent_premium": 600.0,
857
+ "total_premium": 1100.0
858
+ }
859
+ ...
860
+ ]
861
+ }
862
+
863
+ ```
864
+
865
+ Note that *all* `MemberRate`s are for one particular [Plan](#header-plans) - the one referenced by the parent [Rate](#header-rates).
866
+
867
+ ### Business Rules
868
+ 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.
869
+
870
+ These rules are applied transparently during the [Quoting](#header-quoting) process and *do not* require any additional action or input on your part.
871
+
872
+ For a full accounting of Business Rules and a list of Carriers whose Business Rules are applied, please contact support@vericred.com
873
+
874
+ ### Composite Rates
875
+ 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:
876
+
877
+ 1. Calculate the [Rates](#header-rates) for the entire `Group` using [Sheet Rates](#header-sheet-rates) or [Rate Factors](#header-rate-factors) as appropriate
878
+ 1. Categorize each Family within the Group. The categorization differs depending on whether the Composite Rate is 2, 3, or 4-tier
879
+ 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"
880
+ 1. Divide the total premium calculated in Step 1 by the total number of Rating Units to get the price per Rating Unit
881
+ 1. The [Rate](#header-rates) each Family pays is the constant for that Family's category multiplied by the price per Rating Unit.
882
+
883
+ You can request that a [Quote](#header-quoting) be calculated using Composite Rates when creating it:
884
+ ```
885
+ POST /quotes
886
+ {
887
+ ...
888
+ "rating_method": "4_tier_composite"
889
+ ...
890
+ }
891
+ ```
892
+ If no Composite Rates methodology is available, the Vericred API will return standard age-banded Rates.
893
+
894
+ # Network and Provider Data
895
+
896
+ 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.
897
+
898
+ `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.
899
+
900
+ 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`
901
+
902
+ ## Finding Providers
903
+ 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:
904
+
905
+ ```
906
+ POST /providers/search
907
+ {
908
+ "search_term": "foo",
909
+ "zip_code": "11201"
910
+ }
911
+ ```
912
+
913
+ 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.
914
+
915
+ ## Finding Networks
916
+
917
+ 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.
918
+
919
+ The API supports searching for `Networks` by Carrier, market and state. For more details view the [endpoint documentation](#networks-networks-get)
920
+
921
+ ## Matching Providers to Networks
922
+ 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
923
+
924
+ ### Using Plan Search
925
+ 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
926
+ ```
927
+ POST /plans/medical/search
928
+ {
929
+ ...
930
+ "providers": [
931
+ { "npi": 1234567890 },
932
+ { "npi": 2345678901 }
933
+ ]
934
+ ...
935
+ }
936
+
937
+ The response will then return a list of `in_network_ids` and `out_of_network_ids` for each `Plan`
938
+
939
+ ```
940
+ {
941
+ "plans": [
942
+ ...
943
+ {
944
+ ...
945
+ "id": "12345NY1234567",
946
+ "in_network_ids": [1234567890],
947
+ "out_of_network_ids": [1234567890]
948
+ ...
949
+ },
950
+ {
951
+ ...
952
+ "id": "12345NY2345678",
953
+ "in_network_ids": [1234567890, 1234567890],
954
+ "out_of_network_ids": []
955
+ ...
956
+ }
957
+ ...
958
+ ]
959
+ }
960
+
961
+ Simply reference the `Provider` in question by its `id` for each `Plan` to see if that `Provider` is in-network for the `Plan`.
962
+
963
+ ### Matching by Plan ID
964
+ Given a `Provider`'s `id`, you can retrieve all of his or her `hios_ids`
965
+
966
+ For more details see the [endpoint documentation](#providers-providers-get)
967
+
968
+ ```
969
+ GET /providers/1234567890
970
+ {
971
+ "provider": {
972
+ ...
973
+ "hios_ids": [
974
+ ...
975
+ "12345NY1234567"
976
+ ...
977
+ ]
978
+ ...
979
+ }
980
+ }
981
+ ```
982
+
983
+ The returned `hios_ids` can be used to cross-reference a `Plan`
984
+
985
+ ### Matching by Network
986
+ 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.
987
+
988
+ This is useful for large group data or when you are not dealing with `Plan`s directly, but rather at the `Network` level.
989
+
990
+
991
+ OpenAPI spec version: 1.0.0
992
+
993
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
994
+
995
+ Licensed under the Apache License, Version 2.0 (the "License");
996
+ you may not use this file except in compliance with the License.
997
+ You may obtain a copy of the License at
998
+
999
+ http://www.apache.org/licenses/LICENSE-2.0
1000
+
1001
+ Unless required by applicable law or agreed to in writing, software
1002
+ distributed under the License is distributed on an "AS IS" BASIS,
1003
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1004
+ See the License for the specific language governing permissions and
1005
+ limitations under the License.
1006
+
1007
+ =end
1008
+
1009
+ require 'date'
1010
+
1011
+ module VericredClient
1012
+
1013
+ class ACAPlanSearch
1014
+ # Percentage of total average costs for covered benefits that a plan will cover.
1015
+ attr_accessor :actuarial_value
1016
+
1017
+ # Does the plan provide dental coverage for adults?
1018
+ attr_accessor :adult_dental
1019
+
1020
+ # True if the plan allows dependents up to age 29
1021
+ attr_accessor :age29_rider
1022
+
1023
+ # Benefits string for ambulance coverage
1024
+ attr_accessor :ambulance
1025
+
1026
+ # Link to the summary of benefits and coverage (SBC) document.
1027
+ attr_accessor :benefits_summary_url
1028
+
1029
+ # Link to a location to purchase the plan.
1030
+ attr_accessor :buy_link
1031
+
1032
+ # Name of the insurance carrier
1033
+ attr_accessor :carrier_name
1034
+
1035
+ # Does the plan provide dental coverage for children?
1036
+ attr_accessor :child_dental
1037
+
1038
+ # Child eye exam benefits summary
1039
+ attr_accessor :child_eye_exam
1040
+
1041
+ # Child eyewear benefits summary
1042
+ attr_accessor :child_eyewear
1043
+
1044
+ # Chiropractic services benefits summary
1045
+ attr_accessor :chiropractic_services
1046
+
1047
+ # Standard cost share for most benefits
1048
+ attr_accessor :coinsurance
1049
+
1050
+ # Phone number to contact the insurance carrier
1051
+ attr_accessor :customer_service_phone_number
1052
+
1053
+ # Diagnostic tests benefit summary
1054
+ attr_accessor :diagnostic_test
1055
+
1056
+ # Alternate name for the Plan
1057
+ attr_accessor :display_name
1058
+
1059
+ # True if plan does not cover domestic partners
1060
+ attr_accessor :dp_rider
1061
+
1062
+ # Link to the summary of drug benefits for the plan
1063
+ attr_accessor :drug_formulary_url
1064
+
1065
+ # Benefits summary for durable medical equipment
1066
+ attr_accessor :durable_medical_equipment
1067
+
1068
+ # Effective date of coverage.
1069
+ attr_accessor :effective_date
1070
+
1071
+ # Is the individual deductible for each covered person, embedded in the family deductible
1072
+ attr_accessor :embedded_deductible
1073
+
1074
+ # Description of costs when visiting the ER
1075
+ attr_accessor :emergency_room
1076
+
1077
+ # Expiration date of coverage.
1078
+ attr_accessor :expiration_date
1079
+
1080
+ # Deductible for drugs when a family is on the plan.
1081
+ attr_accessor :family_drug_deductible
1082
+
1083
+ # Maximum out-of-pocket for drugs when a family is on the plan
1084
+ attr_accessor :family_drug_moop
1085
+
1086
+ # Deductible when a family is on the plan
1087
+ attr_accessor :family_medical_deductible
1088
+
1089
+ # Maximum out-of-pocket when a family is on the plan
1090
+ attr_accessor :family_medical_moop
1091
+
1092
+ # True if plan does not cover family planning
1093
+ attr_accessor :fp_rider
1094
+
1095
+ # Does the plan's network require a physician referral?
1096
+ attr_accessor :gated
1097
+
1098
+ # Cost for generic drugs
1099
+ attr_accessor :generic_drugs
1100
+
1101
+ # Habilitation services benefits summary
1102
+ attr_accessor :habilitation_services
1103
+
1104
+ #
1105
+ attr_accessor :hios_issuer_id
1106
+
1107
+ # Home health care benefits summary
1108
+ attr_accessor :home_health_care
1109
+
1110
+ # Hospice service benefits summary
1111
+ attr_accessor :hospice_service
1112
+
1113
+ # Is the plan HSA eligible?
1114
+ attr_accessor :hsa_eligible
1115
+
1116
+ # Government-issued HIOS plan ID
1117
+ attr_accessor :id
1118
+
1119
+ # List of identifiers of this Plan
1120
+ attr_accessor :identifiers
1121
+
1122
+ # Benefits summary for imaging coverage
1123
+ attr_accessor :imaging
1124
+
1125
+ # Imaging center benefits summary
1126
+ attr_accessor :imaging_center
1127
+
1128
+ # Imaging physician benefits summary
1129
+ attr_accessor :imaging_physician
1130
+
1131
+ # List of NPI numbers for Providers passed in who accept this Plan
1132
+ attr_accessor :in_network_ids
1133
+
1134
+ # Deductible for drugs when an individual is on the plan
1135
+ attr_accessor :individual_drug_deductible
1136
+
1137
+ # Maximum out-of-pocket for drugs when an individual is on the plan
1138
+ attr_accessor :individual_drug_moop
1139
+
1140
+ # Deductible when an individual is on the plan
1141
+ attr_accessor :individual_medical_deductible
1142
+
1143
+ # Maximum out-of-pocket when an individual is on the plan
1144
+ attr_accessor :individual_medical_moop
1145
+
1146
+ # Inpatient birth benefits summary
1147
+ attr_accessor :inpatient_birth
1148
+
1149
+ # Cost under the plan for an inpatient facility
1150
+ attr_accessor :inpatient_facility
1151
+
1152
+ # Inpatient mental helath benefits summary
1153
+ attr_accessor :inpatient_mental_health
1154
+
1155
+ # Cost under the plan for an inpatient physician
1156
+ attr_accessor :inpatient_physician
1157
+
1158
+ # Inpatient substance abuse benefits summary
1159
+ attr_accessor :inpatient_substance
1160
+
1161
+ # Lab test benefits summary
1162
+ attr_accessor :lab_test
1163
+
1164
+ # Plan metal grouping (e.g. platinum, gold, silver, etc)
1165
+ attr_accessor :level
1166
+
1167
+ # Link to a copy of the insurance carrier's logo
1168
+ attr_accessor :logo_url
1169
+
1170
+ # Multiple of the standard Rx cost share for orders filled via mail order
1171
+ attr_accessor :mail_order_rx
1172
+
1173
+ # Marketing name of the plan
1174
+ attr_accessor :name
1175
+
1176
+ # List of Vericred-generated network_ids
1177
+ attr_accessor :network_ids
1178
+
1179
+ # Total number of Providers in network
1180
+ attr_accessor :network_size
1181
+
1182
+ # List of networks associated with the plan
1183
+ attr_accessor :networks
1184
+
1185
+ # Cost under the plan for non-preferred brand drugs
1186
+ attr_accessor :non_preferred_brand_drugs
1187
+
1188
+ # Non-preferred generic drugs benefits summary
1189
+ attr_accessor :nonpreferred_generic_drug_share
1190
+
1191
+ # Non-preferred specialty drugs benefits summary
1192
+ attr_accessor :nonpreferred_specialty_drug_share
1193
+
1194
+ # Is the plan off-market?
1195
+ attr_accessor :off_market
1196
+
1197
+ # Is the plan on-market?
1198
+ attr_accessor :on_market
1199
+
1200
+ # Does this plan provide any out of network coverage?
1201
+ attr_accessor :out_of_network_coverage
1202
+
1203
+ # List of NPI numbers for Providers passed in who do not accept this Plan
1204
+ attr_accessor :out_of_network_ids
1205
+
1206
+ # Outpatient ambulatory care center benefits summary
1207
+ attr_accessor :outpatient_ambulatory_care_center
1208
+
1209
+ # Benefits summary for outpatient facility coverage
1210
+ attr_accessor :outpatient_facility
1211
+
1212
+ # Benefits summary for outpatient mental health coverage
1213
+ attr_accessor :outpatient_mental_health
1214
+
1215
+ # Benefits summary for outpatient physician coverage
1216
+ attr_accessor :outpatient_physician
1217
+
1218
+ # Outpatient substance abuse benefits summary
1219
+ attr_accessor :outpatient_substance
1220
+
1221
+ # Are deductibles and MOOPs reset on Dec-31 (\"calendar year\"), 365 day(s) after enrollment date (\"plan year\"), or are both options available (\"both\")?
1222
+ attr_accessor :plan_calendar
1223
+
1224
+ # Market in which the plan is offered (on_marketplace, shop, etc)
1225
+ attr_accessor :plan_market
1226
+
1227
+ # Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA)
1228
+ attr_accessor :plan_type
1229
+
1230
+ # Post-natal care benefits summary
1231
+ attr_accessor :postnatal_care
1232
+
1233
+ # Cost under the plan for perferred brand drugs
1234
+ attr_accessor :preferred_brand_drugs
1235
+
1236
+ # Cumulative premium amount
1237
+ attr_accessor :premium
1238
+
1239
+ # Source of the base pricing data
1240
+ attr_accessor :premium_source
1241
+
1242
+ # Cumulative premium amount after subsidy
1243
+ attr_accessor :premium_subsidized
1244
+
1245
+ # Prenatal care benefits summary
1246
+ attr_accessor :prenatal_care
1247
+
1248
+ # Inpatient substance abuse benefits summary
1249
+ attr_accessor :prenatal_postnatal_care
1250
+
1251
+ # Benefits summary for preventative care
1252
+ attr_accessor :preventative_care
1253
+
1254
+ # Cost under the plan to visit a Primary Care Physician
1255
+ attr_accessor :primary_care_physician
1256
+
1257
+ # Benefits summary for rehabilitation services
1258
+ attr_accessor :rehabilitation_services
1259
+
1260
+ # Foreign key for service area
1261
+ attr_accessor :service_area_id
1262
+
1263
+ # Benefits summary for skilled nursing services
1264
+ attr_accessor :skilled_nursing
1265
+
1266
+ # Does the plan cover full-time, year-round, nursing facilities?
1267
+ attr_accessor :skilled_nursing_facility_365
1268
+
1269
+ # Source of the plan benefit data
1270
+ attr_accessor :source
1271
+
1272
+ # Cost under the plan to visit a specialist
1273
+ attr_accessor :specialist
1274
+
1275
+ # Cost under the plan for specialty drugs
1276
+ attr_accessor :specialty_drugs
1277
+
1278
+ # The type of the Plan
1279
+ attr_accessor :type
1280
+
1281
+ # Benefits summary for urgent care
1282
+ attr_accessor :urgent_care
1283
+
1284
+
1285
+ # Attribute mapping from ruby-style variable name to JSON key.
1286
+ def self.attribute_map
1287
+ {
1288
+ :'actuarial_value' => :'actuarial_value',
1289
+ :'adult_dental' => :'adult_dental',
1290
+ :'age29_rider' => :'age29_rider',
1291
+ :'ambulance' => :'ambulance',
1292
+ :'benefits_summary_url' => :'benefits_summary_url',
1293
+ :'buy_link' => :'buy_link',
1294
+ :'carrier_name' => :'carrier_name',
1295
+ :'child_dental' => :'child_dental',
1296
+ :'child_eye_exam' => :'child_eye_exam',
1297
+ :'child_eyewear' => :'child_eyewear',
1298
+ :'chiropractic_services' => :'chiropractic_services',
1299
+ :'coinsurance' => :'coinsurance',
1300
+ :'customer_service_phone_number' => :'customer_service_phone_number',
1301
+ :'diagnostic_test' => :'diagnostic_test',
1302
+ :'display_name' => :'display_name',
1303
+ :'dp_rider' => :'dp_rider',
1304
+ :'drug_formulary_url' => :'drug_formulary_url',
1305
+ :'durable_medical_equipment' => :'durable_medical_equipment',
1306
+ :'effective_date' => :'effective_date',
1307
+ :'embedded_deductible' => :'embedded_deductible',
1308
+ :'emergency_room' => :'emergency_room',
1309
+ :'expiration_date' => :'expiration_date',
1310
+ :'family_drug_deductible' => :'family_drug_deductible',
1311
+ :'family_drug_moop' => :'family_drug_moop',
1312
+ :'family_medical_deductible' => :'family_medical_deductible',
1313
+ :'family_medical_moop' => :'family_medical_moop',
1314
+ :'fp_rider' => :'fp_rider',
1315
+ :'gated' => :'gated',
1316
+ :'generic_drugs' => :'generic_drugs',
1317
+ :'habilitation_services' => :'habilitation_services',
1318
+ :'hios_issuer_id' => :'hios_issuer_id',
1319
+ :'home_health_care' => :'home_health_care',
1320
+ :'hospice_service' => :'hospice_service',
1321
+ :'hsa_eligible' => :'hsa_eligible',
1322
+ :'id' => :'id',
1323
+ :'identifiers' => :'identifiers',
1324
+ :'imaging' => :'imaging',
1325
+ :'imaging_center' => :'imaging_center',
1326
+ :'imaging_physician' => :'imaging_physician',
1327
+ :'in_network_ids' => :'in_network_ids',
1328
+ :'individual_drug_deductible' => :'individual_drug_deductible',
1329
+ :'individual_drug_moop' => :'individual_drug_moop',
1330
+ :'individual_medical_deductible' => :'individual_medical_deductible',
1331
+ :'individual_medical_moop' => :'individual_medical_moop',
1332
+ :'inpatient_birth' => :'inpatient_birth',
1333
+ :'inpatient_facility' => :'inpatient_facility',
1334
+ :'inpatient_mental_health' => :'inpatient_mental_health',
1335
+ :'inpatient_physician' => :'inpatient_physician',
1336
+ :'inpatient_substance' => :'inpatient_substance',
1337
+ :'lab_test' => :'lab_test',
1338
+ :'level' => :'level',
1339
+ :'logo_url' => :'logo_url',
1340
+ :'mail_order_rx' => :'mail_order_rx',
1341
+ :'name' => :'name',
1342
+ :'network_ids' => :'network_ids',
1343
+ :'network_size' => :'network_size',
1344
+ :'networks' => :'networks',
1345
+ :'non_preferred_brand_drugs' => :'non_preferred_brand_drugs',
1346
+ :'nonpreferred_generic_drug_share' => :'nonpreferred_generic_drug_share',
1347
+ :'nonpreferred_specialty_drug_share' => :'nonpreferred_specialty_drug_share',
1348
+ :'off_market' => :'off_market',
1349
+ :'on_market' => :'on_market',
1350
+ :'out_of_network_coverage' => :'out_of_network_coverage',
1351
+ :'out_of_network_ids' => :'out_of_network_ids',
1352
+ :'outpatient_ambulatory_care_center' => :'outpatient_ambulatory_care_center',
1353
+ :'outpatient_facility' => :'outpatient_facility',
1354
+ :'outpatient_mental_health' => :'outpatient_mental_health',
1355
+ :'outpatient_physician' => :'outpatient_physician',
1356
+ :'outpatient_substance' => :'outpatient_substance',
1357
+ :'plan_calendar' => :'plan_calendar',
1358
+ :'plan_market' => :'plan_market',
1359
+ :'plan_type' => :'plan_type',
1360
+ :'postnatal_care' => :'postnatal_care',
1361
+ :'preferred_brand_drugs' => :'preferred_brand_drugs',
1362
+ :'premium' => :'premium',
1363
+ :'premium_source' => :'premium_source',
1364
+ :'premium_subsidized' => :'premium_subsidized',
1365
+ :'prenatal_care' => :'prenatal_care',
1366
+ :'prenatal_postnatal_care' => :'prenatal_postnatal_care',
1367
+ :'preventative_care' => :'preventative_care',
1368
+ :'primary_care_physician' => :'primary_care_physician',
1369
+ :'rehabilitation_services' => :'rehabilitation_services',
1370
+ :'service_area_id' => :'service_area_id',
1371
+ :'skilled_nursing' => :'skilled_nursing',
1372
+ :'skilled_nursing_facility_365' => :'skilled_nursing_facility_365',
1373
+ :'source' => :'source',
1374
+ :'specialist' => :'specialist',
1375
+ :'specialty_drugs' => :'specialty_drugs',
1376
+ :'type' => :'type',
1377
+ :'urgent_care' => :'urgent_care'
1378
+ }
1379
+ end
1380
+
1381
+ # Attribute type mapping.
1382
+ def self.swagger_types
1383
+ {
1384
+ :'actuarial_value' => :'Float',
1385
+ :'adult_dental' => :'BOOLEAN',
1386
+ :'age29_rider' => :'BOOLEAN',
1387
+ :'ambulance' => :'String',
1388
+ :'benefits_summary_url' => :'String',
1389
+ :'buy_link' => :'String',
1390
+ :'carrier_name' => :'String',
1391
+ :'child_dental' => :'BOOLEAN',
1392
+ :'child_eye_exam' => :'String',
1393
+ :'child_eyewear' => :'String',
1394
+ :'chiropractic_services' => :'String',
1395
+ :'coinsurance' => :'Float',
1396
+ :'customer_service_phone_number' => :'String',
1397
+ :'diagnostic_test' => :'String',
1398
+ :'display_name' => :'String',
1399
+ :'dp_rider' => :'BOOLEAN',
1400
+ :'drug_formulary_url' => :'String',
1401
+ :'durable_medical_equipment' => :'String',
1402
+ :'effective_date' => :'String',
1403
+ :'embedded_deductible' => :'String',
1404
+ :'emergency_room' => :'String',
1405
+ :'expiration_date' => :'String',
1406
+ :'family_drug_deductible' => :'String',
1407
+ :'family_drug_moop' => :'String',
1408
+ :'family_medical_deductible' => :'String',
1409
+ :'family_medical_moop' => :'String',
1410
+ :'fp_rider' => :'BOOLEAN',
1411
+ :'gated' => :'BOOLEAN',
1412
+ :'generic_drugs' => :'String',
1413
+ :'habilitation_services' => :'String',
1414
+ :'hios_issuer_id' => :'String',
1415
+ :'home_health_care' => :'String',
1416
+ :'hospice_service' => :'String',
1417
+ :'hsa_eligible' => :'BOOLEAN',
1418
+ :'id' => :'String',
1419
+ :'identifiers' => :'Array<PlanIdentifier>',
1420
+ :'imaging' => :'String',
1421
+ :'imaging_center' => :'String',
1422
+ :'imaging_physician' => :'String',
1423
+ :'in_network_ids' => :'Array<Integer>',
1424
+ :'individual_drug_deductible' => :'String',
1425
+ :'individual_drug_moop' => :'String',
1426
+ :'individual_medical_deductible' => :'String',
1427
+ :'individual_medical_moop' => :'String',
1428
+ :'inpatient_birth' => :'String',
1429
+ :'inpatient_facility' => :'String',
1430
+ :'inpatient_mental_health' => :'String',
1431
+ :'inpatient_physician' => :'String',
1432
+ :'inpatient_substance' => :'String',
1433
+ :'lab_test' => :'String',
1434
+ :'level' => :'String',
1435
+ :'logo_url' => :'String',
1436
+ :'mail_order_rx' => :'Float',
1437
+ :'name' => :'String',
1438
+ :'network_ids' => :'Array<Integer>',
1439
+ :'network_size' => :'Integer',
1440
+ :'networks' => :'Array<PlanNetwork>',
1441
+ :'non_preferred_brand_drugs' => :'String',
1442
+ :'nonpreferred_generic_drug_share' => :'String',
1443
+ :'nonpreferred_specialty_drug_share' => :'String',
1444
+ :'off_market' => :'BOOLEAN',
1445
+ :'on_market' => :'BOOLEAN',
1446
+ :'out_of_network_coverage' => :'BOOLEAN',
1447
+ :'out_of_network_ids' => :'Array<Integer>',
1448
+ :'outpatient_ambulatory_care_center' => :'String',
1449
+ :'outpatient_facility' => :'String',
1450
+ :'outpatient_mental_health' => :'String',
1451
+ :'outpatient_physician' => :'String',
1452
+ :'outpatient_substance' => :'String',
1453
+ :'plan_calendar' => :'String',
1454
+ :'plan_market' => :'String',
1455
+ :'plan_type' => :'String',
1456
+ :'postnatal_care' => :'String',
1457
+ :'preferred_brand_drugs' => :'String',
1458
+ :'premium' => :'Float',
1459
+ :'premium_source' => :'String',
1460
+ :'premium_subsidized' => :'Float',
1461
+ :'prenatal_care' => :'String',
1462
+ :'prenatal_postnatal_care' => :'String',
1463
+ :'preventative_care' => :'String',
1464
+ :'primary_care_physician' => :'String',
1465
+ :'rehabilitation_services' => :'String',
1466
+ :'service_area_id' => :'String',
1467
+ :'skilled_nursing' => :'String',
1468
+ :'skilled_nursing_facility_365' => :'String',
1469
+ :'source' => :'String',
1470
+ :'specialist' => :'String',
1471
+ :'specialty_drugs' => :'String',
1472
+ :'type' => :'String',
1473
+ :'urgent_care' => :'String'
1474
+ }
1475
+ end
1476
+
1477
+ # Initializes the object
1478
+ # @param [Hash] attributes Model attributes in the form of hash
1479
+ def initialize(attributes = {})
1480
+ return unless attributes.is_a?(Hash)
1481
+
1482
+ # convert string to symbol for hash key
1483
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
1484
+
1485
+ if attributes.has_key?(:'actuarial_value')
1486
+ self.actuarial_value = attributes[:'actuarial_value']
1487
+ end
1488
+
1489
+ if attributes.has_key?(:'adult_dental')
1490
+ self.adult_dental = attributes[:'adult_dental']
1491
+ end
1492
+
1493
+ if attributes.has_key?(:'age29_rider')
1494
+ self.age29_rider = attributes[:'age29_rider']
1495
+ end
1496
+
1497
+ if attributes.has_key?(:'ambulance')
1498
+ self.ambulance = attributes[:'ambulance']
1499
+ end
1500
+
1501
+ if attributes.has_key?(:'benefits_summary_url')
1502
+ self.benefits_summary_url = attributes[:'benefits_summary_url']
1503
+ end
1504
+
1505
+ if attributes.has_key?(:'buy_link')
1506
+ self.buy_link = attributes[:'buy_link']
1507
+ end
1508
+
1509
+ if attributes.has_key?(:'carrier_name')
1510
+ self.carrier_name = attributes[:'carrier_name']
1511
+ end
1512
+
1513
+ if attributes.has_key?(:'child_dental')
1514
+ self.child_dental = attributes[:'child_dental']
1515
+ end
1516
+
1517
+ if attributes.has_key?(:'child_eye_exam')
1518
+ self.child_eye_exam = attributes[:'child_eye_exam']
1519
+ end
1520
+
1521
+ if attributes.has_key?(:'child_eyewear')
1522
+ self.child_eyewear = attributes[:'child_eyewear']
1523
+ end
1524
+
1525
+ if attributes.has_key?(:'chiropractic_services')
1526
+ self.chiropractic_services = attributes[:'chiropractic_services']
1527
+ end
1528
+
1529
+ if attributes.has_key?(:'coinsurance')
1530
+ self.coinsurance = attributes[:'coinsurance']
1531
+ end
1532
+
1533
+ if attributes.has_key?(:'customer_service_phone_number')
1534
+ self.customer_service_phone_number = attributes[:'customer_service_phone_number']
1535
+ end
1536
+
1537
+ if attributes.has_key?(:'diagnostic_test')
1538
+ self.diagnostic_test = attributes[:'diagnostic_test']
1539
+ end
1540
+
1541
+ if attributes.has_key?(:'display_name')
1542
+ self.display_name = attributes[:'display_name']
1543
+ end
1544
+
1545
+ if attributes.has_key?(:'dp_rider')
1546
+ self.dp_rider = attributes[:'dp_rider']
1547
+ end
1548
+
1549
+ if attributes.has_key?(:'drug_formulary_url')
1550
+ self.drug_formulary_url = attributes[:'drug_formulary_url']
1551
+ end
1552
+
1553
+ if attributes.has_key?(:'durable_medical_equipment')
1554
+ self.durable_medical_equipment = attributes[:'durable_medical_equipment']
1555
+ end
1556
+
1557
+ if attributes.has_key?(:'effective_date')
1558
+ self.effective_date = attributes[:'effective_date']
1559
+ end
1560
+
1561
+ if attributes.has_key?(:'embedded_deductible')
1562
+ self.embedded_deductible = attributes[:'embedded_deductible']
1563
+ end
1564
+
1565
+ if attributes.has_key?(:'emergency_room')
1566
+ self.emergency_room = attributes[:'emergency_room']
1567
+ end
1568
+
1569
+ if attributes.has_key?(:'expiration_date')
1570
+ self.expiration_date = attributes[:'expiration_date']
1571
+ end
1572
+
1573
+ if attributes.has_key?(:'family_drug_deductible')
1574
+ self.family_drug_deductible = attributes[:'family_drug_deductible']
1575
+ end
1576
+
1577
+ if attributes.has_key?(:'family_drug_moop')
1578
+ self.family_drug_moop = attributes[:'family_drug_moop']
1579
+ end
1580
+
1581
+ if attributes.has_key?(:'family_medical_deductible')
1582
+ self.family_medical_deductible = attributes[:'family_medical_deductible']
1583
+ end
1584
+
1585
+ if attributes.has_key?(:'family_medical_moop')
1586
+ self.family_medical_moop = attributes[:'family_medical_moop']
1587
+ end
1588
+
1589
+ if attributes.has_key?(:'fp_rider')
1590
+ self.fp_rider = attributes[:'fp_rider']
1591
+ end
1592
+
1593
+ if attributes.has_key?(:'gated')
1594
+ self.gated = attributes[:'gated']
1595
+ end
1596
+
1597
+ if attributes.has_key?(:'generic_drugs')
1598
+ self.generic_drugs = attributes[:'generic_drugs']
1599
+ end
1600
+
1601
+ if attributes.has_key?(:'habilitation_services')
1602
+ self.habilitation_services = attributes[:'habilitation_services']
1603
+ end
1604
+
1605
+ if attributes.has_key?(:'hios_issuer_id')
1606
+ self.hios_issuer_id = attributes[:'hios_issuer_id']
1607
+ end
1608
+
1609
+ if attributes.has_key?(:'home_health_care')
1610
+ self.home_health_care = attributes[:'home_health_care']
1611
+ end
1612
+
1613
+ if attributes.has_key?(:'hospice_service')
1614
+ self.hospice_service = attributes[:'hospice_service']
1615
+ end
1616
+
1617
+ if attributes.has_key?(:'hsa_eligible')
1618
+ self.hsa_eligible = attributes[:'hsa_eligible']
1619
+ end
1620
+
1621
+ if attributes.has_key?(:'id')
1622
+ self.id = attributes[:'id']
1623
+ end
1624
+
1625
+ if attributes.has_key?(:'identifiers')
1626
+ if (value = attributes[:'identifiers']).is_a?(Array)
1627
+ self.identifiers = value
1628
+ end
1629
+ end
1630
+
1631
+ if attributes.has_key?(:'imaging')
1632
+ self.imaging = attributes[:'imaging']
1633
+ end
1634
+
1635
+ if attributes.has_key?(:'imaging_center')
1636
+ self.imaging_center = attributes[:'imaging_center']
1637
+ end
1638
+
1639
+ if attributes.has_key?(:'imaging_physician')
1640
+ self.imaging_physician = attributes[:'imaging_physician']
1641
+ end
1642
+
1643
+ if attributes.has_key?(:'in_network_ids')
1644
+ if (value = attributes[:'in_network_ids']).is_a?(Array)
1645
+ self.in_network_ids = value
1646
+ end
1647
+ end
1648
+
1649
+ if attributes.has_key?(:'individual_drug_deductible')
1650
+ self.individual_drug_deductible = attributes[:'individual_drug_deductible']
1651
+ end
1652
+
1653
+ if attributes.has_key?(:'individual_drug_moop')
1654
+ self.individual_drug_moop = attributes[:'individual_drug_moop']
1655
+ end
1656
+
1657
+ if attributes.has_key?(:'individual_medical_deductible')
1658
+ self.individual_medical_deductible = attributes[:'individual_medical_deductible']
1659
+ end
1660
+
1661
+ if attributes.has_key?(:'individual_medical_moop')
1662
+ self.individual_medical_moop = attributes[:'individual_medical_moop']
1663
+ end
1664
+
1665
+ if attributes.has_key?(:'inpatient_birth')
1666
+ self.inpatient_birth = attributes[:'inpatient_birth']
1667
+ end
1668
+
1669
+ if attributes.has_key?(:'inpatient_facility')
1670
+ self.inpatient_facility = attributes[:'inpatient_facility']
1671
+ end
1672
+
1673
+ if attributes.has_key?(:'inpatient_mental_health')
1674
+ self.inpatient_mental_health = attributes[:'inpatient_mental_health']
1675
+ end
1676
+
1677
+ if attributes.has_key?(:'inpatient_physician')
1678
+ self.inpatient_physician = attributes[:'inpatient_physician']
1679
+ end
1680
+
1681
+ if attributes.has_key?(:'inpatient_substance')
1682
+ self.inpatient_substance = attributes[:'inpatient_substance']
1683
+ end
1684
+
1685
+ if attributes.has_key?(:'lab_test')
1686
+ self.lab_test = attributes[:'lab_test']
1687
+ end
1688
+
1689
+ if attributes.has_key?(:'level')
1690
+ self.level = attributes[:'level']
1691
+ end
1692
+
1693
+ if attributes.has_key?(:'logo_url')
1694
+ self.logo_url = attributes[:'logo_url']
1695
+ end
1696
+
1697
+ if attributes.has_key?(:'mail_order_rx')
1698
+ self.mail_order_rx = attributes[:'mail_order_rx']
1699
+ end
1700
+
1701
+ if attributes.has_key?(:'name')
1702
+ self.name = attributes[:'name']
1703
+ end
1704
+
1705
+ if attributes.has_key?(:'network_ids')
1706
+ if (value = attributes[:'network_ids']).is_a?(Array)
1707
+ self.network_ids = value
1708
+ end
1709
+ end
1710
+
1711
+ if attributes.has_key?(:'network_size')
1712
+ self.network_size = attributes[:'network_size']
1713
+ end
1714
+
1715
+ if attributes.has_key?(:'networks')
1716
+ if (value = attributes[:'networks']).is_a?(Array)
1717
+ self.networks = value
1718
+ end
1719
+ end
1720
+
1721
+ if attributes.has_key?(:'non_preferred_brand_drugs')
1722
+ self.non_preferred_brand_drugs = attributes[:'non_preferred_brand_drugs']
1723
+ end
1724
+
1725
+ if attributes.has_key?(:'nonpreferred_generic_drug_share')
1726
+ self.nonpreferred_generic_drug_share = attributes[:'nonpreferred_generic_drug_share']
1727
+ end
1728
+
1729
+ if attributes.has_key?(:'nonpreferred_specialty_drug_share')
1730
+ self.nonpreferred_specialty_drug_share = attributes[:'nonpreferred_specialty_drug_share']
1731
+ end
1732
+
1733
+ if attributes.has_key?(:'off_market')
1734
+ self.off_market = attributes[:'off_market']
1735
+ end
1736
+
1737
+ if attributes.has_key?(:'on_market')
1738
+ self.on_market = attributes[:'on_market']
1739
+ end
1740
+
1741
+ if attributes.has_key?(:'out_of_network_coverage')
1742
+ self.out_of_network_coverage = attributes[:'out_of_network_coverage']
1743
+ end
1744
+
1745
+ if attributes.has_key?(:'out_of_network_ids')
1746
+ if (value = attributes[:'out_of_network_ids']).is_a?(Array)
1747
+ self.out_of_network_ids = value
1748
+ end
1749
+ end
1750
+
1751
+ if attributes.has_key?(:'outpatient_ambulatory_care_center')
1752
+ self.outpatient_ambulatory_care_center = attributes[:'outpatient_ambulatory_care_center']
1753
+ end
1754
+
1755
+ if attributes.has_key?(:'outpatient_facility')
1756
+ self.outpatient_facility = attributes[:'outpatient_facility']
1757
+ end
1758
+
1759
+ if attributes.has_key?(:'outpatient_mental_health')
1760
+ self.outpatient_mental_health = attributes[:'outpatient_mental_health']
1761
+ end
1762
+
1763
+ if attributes.has_key?(:'outpatient_physician')
1764
+ self.outpatient_physician = attributes[:'outpatient_physician']
1765
+ end
1766
+
1767
+ if attributes.has_key?(:'outpatient_substance')
1768
+ self.outpatient_substance = attributes[:'outpatient_substance']
1769
+ end
1770
+
1771
+ if attributes.has_key?(:'plan_calendar')
1772
+ self.plan_calendar = attributes[:'plan_calendar']
1773
+ end
1774
+
1775
+ if attributes.has_key?(:'plan_market')
1776
+ self.plan_market = attributes[:'plan_market']
1777
+ end
1778
+
1779
+ if attributes.has_key?(:'plan_type')
1780
+ self.plan_type = attributes[:'plan_type']
1781
+ end
1782
+
1783
+ if attributes.has_key?(:'postnatal_care')
1784
+ self.postnatal_care = attributes[:'postnatal_care']
1785
+ end
1786
+
1787
+ if attributes.has_key?(:'preferred_brand_drugs')
1788
+ self.preferred_brand_drugs = attributes[:'preferred_brand_drugs']
1789
+ end
1790
+
1791
+ if attributes.has_key?(:'premium')
1792
+ self.premium = attributes[:'premium']
1793
+ end
1794
+
1795
+ if attributes.has_key?(:'premium_source')
1796
+ self.premium_source = attributes[:'premium_source']
1797
+ end
1798
+
1799
+ if attributes.has_key?(:'premium_subsidized')
1800
+ self.premium_subsidized = attributes[:'premium_subsidized']
1801
+ end
1802
+
1803
+ if attributes.has_key?(:'prenatal_care')
1804
+ self.prenatal_care = attributes[:'prenatal_care']
1805
+ end
1806
+
1807
+ if attributes.has_key?(:'prenatal_postnatal_care')
1808
+ self.prenatal_postnatal_care = attributes[:'prenatal_postnatal_care']
1809
+ end
1810
+
1811
+ if attributes.has_key?(:'preventative_care')
1812
+ self.preventative_care = attributes[:'preventative_care']
1813
+ end
1814
+
1815
+ if attributes.has_key?(:'primary_care_physician')
1816
+ self.primary_care_physician = attributes[:'primary_care_physician']
1817
+ end
1818
+
1819
+ if attributes.has_key?(:'rehabilitation_services')
1820
+ self.rehabilitation_services = attributes[:'rehabilitation_services']
1821
+ end
1822
+
1823
+ if attributes.has_key?(:'service_area_id')
1824
+ self.service_area_id = attributes[:'service_area_id']
1825
+ end
1826
+
1827
+ if attributes.has_key?(:'skilled_nursing')
1828
+ self.skilled_nursing = attributes[:'skilled_nursing']
1829
+ end
1830
+
1831
+ if attributes.has_key?(:'skilled_nursing_facility_365')
1832
+ self.skilled_nursing_facility_365 = attributes[:'skilled_nursing_facility_365']
1833
+ end
1834
+
1835
+ if attributes.has_key?(:'source')
1836
+ self.source = attributes[:'source']
1837
+ end
1838
+
1839
+ if attributes.has_key?(:'specialist')
1840
+ self.specialist = attributes[:'specialist']
1841
+ end
1842
+
1843
+ if attributes.has_key?(:'specialty_drugs')
1844
+ self.specialty_drugs = attributes[:'specialty_drugs']
1845
+ end
1846
+
1847
+ if attributes.has_key?(:'type')
1848
+ self.type = attributes[:'type']
1849
+ end
1850
+
1851
+ if attributes.has_key?(:'urgent_care')
1852
+ self.urgent_care = attributes[:'urgent_care']
1853
+ end
1854
+
1855
+ end
1856
+
1857
+ # Show invalid properties with the reasons. Usually used together with valid?
1858
+ # @return Array for valid properies with the reasons
1859
+ def list_invalid_properties
1860
+ invalid_properties = Array.new
1861
+ return invalid_properties
1862
+ end
1863
+
1864
+ # Check to see if the all the properties in the model are valid
1865
+ # @return true if the model is valid
1866
+ def valid?
1867
+ return true
1868
+ end
1869
+
1870
+ # Checks equality by comparing each attribute.
1871
+ # @param [Object] Object to be compared
1872
+ def ==(o)
1873
+ return true if self.equal?(o)
1874
+ self.class == o.class &&
1875
+ actuarial_value == o.actuarial_value &&
1876
+ adult_dental == o.adult_dental &&
1877
+ age29_rider == o.age29_rider &&
1878
+ ambulance == o.ambulance &&
1879
+ benefits_summary_url == o.benefits_summary_url &&
1880
+ buy_link == o.buy_link &&
1881
+ carrier_name == o.carrier_name &&
1882
+ child_dental == o.child_dental &&
1883
+ child_eye_exam == o.child_eye_exam &&
1884
+ child_eyewear == o.child_eyewear &&
1885
+ chiropractic_services == o.chiropractic_services &&
1886
+ coinsurance == o.coinsurance &&
1887
+ customer_service_phone_number == o.customer_service_phone_number &&
1888
+ diagnostic_test == o.diagnostic_test &&
1889
+ display_name == o.display_name &&
1890
+ dp_rider == o.dp_rider &&
1891
+ drug_formulary_url == o.drug_formulary_url &&
1892
+ durable_medical_equipment == o.durable_medical_equipment &&
1893
+ effective_date == o.effective_date &&
1894
+ embedded_deductible == o.embedded_deductible &&
1895
+ emergency_room == o.emergency_room &&
1896
+ expiration_date == o.expiration_date &&
1897
+ family_drug_deductible == o.family_drug_deductible &&
1898
+ family_drug_moop == o.family_drug_moop &&
1899
+ family_medical_deductible == o.family_medical_deductible &&
1900
+ family_medical_moop == o.family_medical_moop &&
1901
+ fp_rider == o.fp_rider &&
1902
+ gated == o.gated &&
1903
+ generic_drugs == o.generic_drugs &&
1904
+ habilitation_services == o.habilitation_services &&
1905
+ hios_issuer_id == o.hios_issuer_id &&
1906
+ home_health_care == o.home_health_care &&
1907
+ hospice_service == o.hospice_service &&
1908
+ hsa_eligible == o.hsa_eligible &&
1909
+ id == o.id &&
1910
+ identifiers == o.identifiers &&
1911
+ imaging == o.imaging &&
1912
+ imaging_center == o.imaging_center &&
1913
+ imaging_physician == o.imaging_physician &&
1914
+ in_network_ids == o.in_network_ids &&
1915
+ individual_drug_deductible == o.individual_drug_deductible &&
1916
+ individual_drug_moop == o.individual_drug_moop &&
1917
+ individual_medical_deductible == o.individual_medical_deductible &&
1918
+ individual_medical_moop == o.individual_medical_moop &&
1919
+ inpatient_birth == o.inpatient_birth &&
1920
+ inpatient_facility == o.inpatient_facility &&
1921
+ inpatient_mental_health == o.inpatient_mental_health &&
1922
+ inpatient_physician == o.inpatient_physician &&
1923
+ inpatient_substance == o.inpatient_substance &&
1924
+ lab_test == o.lab_test &&
1925
+ level == o.level &&
1926
+ logo_url == o.logo_url &&
1927
+ mail_order_rx == o.mail_order_rx &&
1928
+ name == o.name &&
1929
+ network_ids == o.network_ids &&
1930
+ network_size == o.network_size &&
1931
+ networks == o.networks &&
1932
+ non_preferred_brand_drugs == o.non_preferred_brand_drugs &&
1933
+ nonpreferred_generic_drug_share == o.nonpreferred_generic_drug_share &&
1934
+ nonpreferred_specialty_drug_share == o.nonpreferred_specialty_drug_share &&
1935
+ off_market == o.off_market &&
1936
+ on_market == o.on_market &&
1937
+ out_of_network_coverage == o.out_of_network_coverage &&
1938
+ out_of_network_ids == o.out_of_network_ids &&
1939
+ outpatient_ambulatory_care_center == o.outpatient_ambulatory_care_center &&
1940
+ outpatient_facility == o.outpatient_facility &&
1941
+ outpatient_mental_health == o.outpatient_mental_health &&
1942
+ outpatient_physician == o.outpatient_physician &&
1943
+ outpatient_substance == o.outpatient_substance &&
1944
+ plan_calendar == o.plan_calendar &&
1945
+ plan_market == o.plan_market &&
1946
+ plan_type == o.plan_type &&
1947
+ postnatal_care == o.postnatal_care &&
1948
+ preferred_brand_drugs == o.preferred_brand_drugs &&
1949
+ premium == o.premium &&
1950
+ premium_source == o.premium_source &&
1951
+ premium_subsidized == o.premium_subsidized &&
1952
+ prenatal_care == o.prenatal_care &&
1953
+ prenatal_postnatal_care == o.prenatal_postnatal_care &&
1954
+ preventative_care == o.preventative_care &&
1955
+ primary_care_physician == o.primary_care_physician &&
1956
+ rehabilitation_services == o.rehabilitation_services &&
1957
+ service_area_id == o.service_area_id &&
1958
+ skilled_nursing == o.skilled_nursing &&
1959
+ skilled_nursing_facility_365 == o.skilled_nursing_facility_365 &&
1960
+ source == o.source &&
1961
+ specialist == o.specialist &&
1962
+ specialty_drugs == o.specialty_drugs &&
1963
+ type == o.type &&
1964
+ urgent_care == o.urgent_care
1965
+ end
1966
+
1967
+ # @see the `==` method
1968
+ # @param [Object] Object to be compared
1969
+ def eql?(o)
1970
+ self == o
1971
+ end
1972
+
1973
+ # Calculates hash code according to all attributes.
1974
+ # @return [Fixnum] Hash code
1975
+ def hash
1976
+ [actuarial_value, adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eye_exam, child_eyewear, chiropractic_services, coinsurance, customer_service_phone_number, diagnostic_test, display_name, dp_rider, drug_formulary_url, durable_medical_equipment, effective_date, embedded_deductible, emergency_room, expiration_date, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, gated, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, identifiers, imaging, imaging_center, imaging_physician, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, inpatient_birth, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, lab_test, level, logo_url, mail_order_rx, name, network_ids, network_size, networks, non_preferred_brand_drugs, nonpreferred_generic_drug_share, nonpreferred_specialty_drug_share, off_market, on_market, out_of_network_coverage, out_of_network_ids, outpatient_ambulatory_care_center, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_calendar, plan_market, plan_type, postnatal_care, preferred_brand_drugs, premium, premium_source, premium_subsidized, prenatal_care, prenatal_postnatal_care, preventative_care, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, skilled_nursing_facility_365, source, specialist, specialty_drugs, type, urgent_care].hash
1977
+ end
1978
+
1979
+ # Builds the object from hash
1980
+ # @param [Hash] attributes Model attributes in the form of hash
1981
+ # @return [Object] Returns the model itself
1982
+ def build_from_hash(attributes)
1983
+ return nil unless attributes.is_a?(Hash)
1984
+ self.class.swagger_types.each_pair do |key, type|
1985
+ if type =~ /\AArray<(.*)>/i
1986
+ # check to ensure the input is an array given that the the attribute
1987
+ # is documented as an array but the input is not
1988
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1989
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
1990
+ end
1991
+ elsif !attributes[self.class.attribute_map[key]].nil?
1992
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1993
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
1994
+ end
1995
+
1996
+ self
1997
+ end
1998
+
1999
+ # Deserializes the data based on type
2000
+ # @param string type Data type
2001
+ # @param string value Value to be deserialized
2002
+ # @return [Object] Deserialized data
2003
+ def _deserialize(type, value)
2004
+ case type.to_sym
2005
+ when :DateTime
2006
+ DateTime.parse(value)
2007
+ when :Date
2008
+ Date.parse(value)
2009
+ when :String
2010
+ value.to_s
2011
+ when :Integer
2012
+ value.to_i
2013
+ when :Float
2014
+ value.to_f
2015
+ when :BOOLEAN
2016
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
2017
+ true
2018
+ else
2019
+ false
2020
+ end
2021
+ when :Object
2022
+ # generic object (usually a Hash), return directly
2023
+ value
2024
+ when /\AArray<(?<inner_type>.+)>\z/
2025
+ inner_type = Regexp.last_match[:inner_type]
2026
+ value.map { |v| _deserialize(inner_type, v) }
2027
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
2028
+ k_type = Regexp.last_match[:k_type]
2029
+ v_type = Regexp.last_match[:v_type]
2030
+ {}.tap do |hash|
2031
+ value.each do |k, v|
2032
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
2033
+ end
2034
+ end
2035
+ else # model
2036
+ temp_model = VericredClient.const_get(type).new
2037
+ temp_model.build_from_hash(value)
2038
+ end
2039
+ end
2040
+
2041
+ # Returns the string representation of the object
2042
+ # @return [String] String presentation of the object
2043
+ def to_s
2044
+ to_hash.to_s
2045
+ end
2046
+
2047
+ # to_body is an alias to to_hash (backward compatibility)
2048
+ # @return [Hash] Returns the object in the form of hash
2049
+ def to_body
2050
+ to_hash
2051
+ end
2052
+
2053
+ # Returns the object in the form of hash
2054
+ # @return [Hash] Returns the object in the form of hash
2055
+ def to_hash
2056
+ hash = {}
2057
+ self.class.attribute_map.each_pair do |attr, param|
2058
+ value = self.send(attr)
2059
+ next if value.nil?
2060
+ hash[param] = _to_hash(value)
2061
+ end
2062
+ hash
2063
+ end
2064
+
2065
+ # Outputs non-array value in the form of hash
2066
+ # For object, use to_hash. Otherwise, just return the value
2067
+ # @param [Object] value Any valid value
2068
+ # @return [Hash] Returns the value in the form of hash
2069
+ def _to_hash(value)
2070
+ if value.is_a?(Array)
2071
+ value.compact.map{ |v| _to_hash(v) }
2072
+ elsif value.is_a?(Hash)
2073
+ {}.tap do |hash|
2074
+ value.each { |k, v| hash[k] = _to_hash(v) }
2075
+ end
2076
+ elsif value.respond_to? :to_hash
2077
+ value.to_hash
2078
+ else
2079
+ value
2080
+ end
2081
+ end
2082
+
2083
+ end
2084
+
2085
+ end