vericred_client 0.0.9 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +116 -13
  3. data/docs/Base.md +1 -1
  4. data/docs/Drug.md +1 -0
  5. data/docs/DrugCoverage.md +2 -1
  6. data/docs/DrugCoverageResponse.md +1 -1
  7. data/docs/DrugCoveragesApi.md +69 -0
  8. data/docs/DrugPackage.md +1 -0
  9. data/docs/DrugPackagesApi.md +66 -0
  10. data/docs/DrugSearchResponse.md +1 -1
  11. data/docs/DrugsApi.md +0 -61
  12. data/docs/Formulary.md +9 -0
  13. data/docs/FormularyDrugPackageResponse.md +10 -0
  14. data/docs/FormularyResponse.md +9 -0
  15. data/docs/Network.md +1 -1
  16. data/docs/NetworkDetails.md +10 -0
  17. data/docs/NetworkDetailsResponse.md +8 -0
  18. data/docs/NetworkSearchResponse.md +1 -1
  19. data/docs/NetworkSize.md +10 -0
  20. data/docs/NetworkSizesApi.md +124 -0
  21. data/docs/NetworksApi.md +55 -0
  22. data/docs/Plan.md +6 -4
  23. data/docs/PlanSearchResponse.md +2 -2
  24. data/docs/PlanSearchResponseMeta.md +9 -0
  25. data/docs/PlanSearchResult.md +6 -4
  26. data/docs/PlansApi.md +12 -10
  27. data/docs/Provider.md +1 -6
  28. data/docs/ProviderDetails.md +31 -0
  29. data/docs/ProviderGeocode.md +10 -0
  30. data/docs/ProvidersApi.md +61 -7
  31. data/docs/ProvidersGeocodeResponse.md +9 -0
  32. data/docs/ProvidersSearchResponse.md +1 -1
  33. data/docs/RequestPlanFindApplicant.md +2 -0
  34. data/docs/RequestPlanFindDrugPackage.md +1 -0
  35. data/docs/RequestProvidersSearch.md +5 -2
  36. data/docs/StateNetworkSizeRequest.md +9 -0
  37. data/docs/StateNetworkSizeResponse.md +9 -0
  38. data/docs/ZipCountiesApi.md +56 -1
  39. data/lib/vericred_client.rb +103 -2
  40. data/lib/vericred_client/api/drug_coverages_api.rb +295 -0
  41. data/lib/vericred_client/api/drug_packages_api.rb +289 -0
  42. data/lib/vericred_client/api/drugs_api.rb +88 -68
  43. data/lib/vericred_client/api/network_sizes_api.rb +348 -0
  44. data/lib/vericred_client/api/networks_api.rb +145 -1
  45. data/lib/vericred_client/api/plans_api.rb +108 -15
  46. data/lib/vericred_client/api/providers_api.rb +155 -9
  47. data/lib/vericred_client/api/zip_counties_api.rb +148 -4
  48. data/lib/vericred_client/api_client.rb +110 -21
  49. data/lib/vericred_client/api_error.rb +88 -1
  50. data/lib/vericred_client/configuration.rb +88 -1
  51. data/lib/vericred_client/models/applicant.rb +90 -3
  52. data/lib/vericred_client/models/base.rb +91 -4
  53. data/lib/vericred_client/models/carrier.rb +90 -3
  54. data/lib/vericred_client/models/carrier_subsidiary.rb +90 -3
  55. data/lib/vericred_client/models/county.rb +90 -3
  56. data/lib/vericred_client/models/county_bulk.rb +90 -3
  57. data/lib/vericred_client/models/drug.rb +101 -4
  58. data/lib/vericred_client/models/drug_coverage.rb +111 -14
  59. data/lib/vericred_client/models/drug_coverage_response.rb +91 -4
  60. data/lib/vericred_client/models/drug_package.rb +104 -7
  61. data/lib/vericred_client/models/drug_search_response.rb +91 -4
  62. data/lib/vericred_client/models/formulary.rb +404 -0
  63. data/lib/vericred_client/models/formulary_drug_package_response.rb +414 -0
  64. data/lib/vericred_client/models/formulary_response.rb +406 -0
  65. data/lib/vericred_client/models/meta.rb +90 -3
  66. data/lib/vericred_client/models/network.rb +91 -4
  67. data/lib/vericred_client/models/network_details.rb +416 -0
  68. data/lib/vericred_client/models/{pricing.rb → network_details_response.rb} +99 -112
  69. data/lib/vericred_client/models/network_search_response.rb +91 -4
  70. data/lib/vericred_client/models/network_size.rb +414 -0
  71. data/lib/vericred_client/models/plan.rb +115 -8
  72. data/lib/vericred_client/models/plan_county.rb +90 -3
  73. data/lib/vericred_client/models/plan_county_bulk.rb +90 -3
  74. data/lib/vericred_client/models/plan_search_response.rb +93 -6
  75. data/lib/vericred_client/models/plan_search_response_meta.rb +404 -0
  76. data/lib/vericred_client/models/plan_search_result.rb +115 -8
  77. data/lib/vericred_client/models/plan_show_response.rb +90 -3
  78. data/lib/vericred_client/models/provider.rb +101 -66
  79. data/lib/vericred_client/models/provider_details.rb +628 -0
  80. data/lib/vericred_client/models/provider_geocode.rb +414 -0
  81. data/lib/vericred_client/models/provider_show_response.rb +90 -3
  82. data/lib/vericred_client/models/providers_geocode_response.rb +406 -0
  83. data/lib/vericred_client/models/providers_search_response.rb +91 -4
  84. data/lib/vericred_client/models/rating_area.rb +90 -3
  85. data/lib/vericred_client/models/request_plan_find.rb +90 -3
  86. data/lib/vericred_client/models/request_plan_find_applicant.rb +114 -7
  87. data/lib/vericred_client/models/request_plan_find_drug_package.rb +104 -7
  88. data/lib/vericred_client/models/request_plan_find_provider.rb +90 -3
  89. data/lib/vericred_client/models/request_providers_search.rb +143 -26
  90. data/lib/vericred_client/models/service_area.rb +90 -3
  91. data/lib/vericred_client/models/service_area_zip_county.rb +90 -3
  92. data/lib/vericred_client/models/state.rb +90 -3
  93. data/lib/vericred_client/models/state_network_size_request.rb +408 -0
  94. data/lib/vericred_client/models/state_network_size_response.rb +406 -0
  95. data/lib/vericred_client/models/zip_code.rb +90 -3
  96. data/lib/vericred_client/models/zip_counties_response.rb +90 -3
  97. data/lib/vericred_client/models/zip_county.rb +90 -3
  98. data/lib/vericred_client/models/zip_county_bulk.rb +90 -3
  99. data/lib/vericred_client/models/zip_county_response.rb +90 -3
  100. data/lib/vericred_client/version.rb +89 -2
  101. data/spec/api/drug_coverages_api_spec.rb +254 -0
  102. data/spec/api/drug_packages_api_spec.rb +253 -0
  103. data/spec/api/drugs_api_spec.rb +88 -15
  104. data/spec/api/network_sizes_api_spec.rb +266 -0
  105. data/spec/api/networks_api_spec.rb +100 -1
  106. data/spec/api/plans_api_spec.rb +92 -4
  107. data/spec/api/providers_api_spec.rb +102 -3
  108. data/spec/api/zip_counties_api_spec.rb +101 -2
  109. data/spec/api_client_spec.rb +91 -25
  110. data/spec/configuration_spec.rb +88 -1
  111. data/spec/models/applicant_spec.rb +88 -1
  112. data/spec/models/base_spec.rb +88 -1
  113. data/spec/models/carrier_spec.rb +88 -1
  114. data/spec/models/carrier_subsidiary_spec.rb +88 -1
  115. data/spec/models/county_bulk_spec.rb +88 -1
  116. data/spec/models/county_spec.rb +88 -1
  117. data/spec/models/drug_coverage_response_spec.rb +88 -1
  118. data/spec/models/drug_coverage_spec.rb +95 -2
  119. data/spec/models/drug_package_spec.rb +94 -1
  120. data/spec/models/drug_search_response_spec.rb +88 -1
  121. data/spec/models/drug_spec.rb +94 -1
  122. data/spec/models/formulary_drug_package_response_spec.rb +259 -0
  123. data/spec/models/formulary_response_spec.rb +253 -0
  124. data/spec/models/formulary_spec.rb +253 -0
  125. data/spec/models/meta_spec.rb +88 -1
  126. data/spec/models/network_details_response_spec.rb +247 -0
  127. data/spec/models/network_details_spec.rb +259 -0
  128. data/spec/models/network_search_response_spec.rb +88 -1
  129. data/spec/models/network_size_spec.rb +259 -0
  130. data/spec/models/network_spec.rb +88 -1
  131. data/spec/models/plan_county_bulk_spec.rb +88 -1
  132. data/spec/models/plan_county_spec.rb +88 -1
  133. data/spec/models/plan_search_response_meta_spec.rb +253 -0
  134. data/spec/models/plan_search_response_spec.rb +88 -1
  135. data/spec/models/plan_search_result_spec.rb +100 -1
  136. data/spec/models/plan_show_response_spec.rb +88 -1
  137. data/spec/models/plan_spec.rb +100 -1
  138. data/spec/models/provider_details_spec.rb +385 -0
  139. data/spec/models/provider_geocode_spec.rb +259 -0
  140. data/spec/models/provider_show_response_spec.rb +88 -1
  141. data/spec/models/provider_spec.rb +94 -37
  142. data/spec/models/providers_geocode_response_spec.rb +253 -0
  143. data/spec/models/providers_search_response_spec.rb +88 -1
  144. data/spec/models/rating_area_spec.rb +88 -1
  145. data/spec/models/request_plan_find_applicant_spec.rb +100 -1
  146. data/spec/models/request_plan_find_drug_package_spec.rb +94 -1
  147. data/spec/models/request_plan_find_provider_spec.rb +88 -1
  148. data/spec/models/request_plan_find_spec.rb +88 -1
  149. data/spec/models/request_providers_search_spec.rb +109 -4
  150. data/spec/models/service_area_spec.rb +88 -1
  151. data/spec/models/service_area_zip_county_spec.rb +88 -1
  152. data/spec/models/state_network_size_request_spec.rb +253 -0
  153. data/spec/models/state_network_size_response_spec.rb +253 -0
  154. data/spec/models/state_spec.rb +88 -1
  155. data/spec/models/zip_code_spec.rb +88 -1
  156. data/spec/models/zip_counties_response_spec.rb +88 -1
  157. data/spec/models/zip_county_bulk_spec.rb +88 -1
  158. data/spec/models/zip_county_response_spec.rb +88 -1
  159. data/spec/models/zip_county_spec.rb +88 -1
  160. data/spec/spec_helper.rb +88 -1
  161. data/vericred_client.gemspec +90 -2
  162. metadata +66 -16
  163. data/docs/Pricing.md +0 -18
  164. data/spec/models/pricing_spec.rb +0 -220
@@ -6,13 +6,20 @@ accepts.
6
6
 
7
7
  ## Getting Started
8
8
 
9
- Visit our [Developer Portal](https://vericred.3scale.net) to
9
+ Visit our [Developer Portal](https://developers.vericred.com) to
10
10
  create an account.
11
11
 
12
12
  Once you have created an account, you can create one Application for
13
13
  Production and another for our Sandbox (select the appropriate Plan when
14
14
  you create the Application).
15
15
 
16
+ ## SDKs
17
+
18
+ Our API follows standard REST conventions, so you can use any HTTP client
19
+ to integrate with us. You will likely find it easier to use one of our
20
+ [autogenerated SDKs](https://github.com/vericred/?query=vericred-),
21
+ which we make available for several common programming languages.
22
+
16
23
  ## Authentication
17
24
 
18
25
  To authenticate, pass the API Key you created in the Developer Portal as
@@ -108,6 +115,86 @@ The response would be
108
115
  }
109
116
  ```
110
117
 
118
+ ## Benefits summary format
119
+ Benefit cost-share strings are formatted to capture:
120
+ * Network tiers
121
+ * Compound or conditional cost-share
122
+ * Limits on the cost-share
123
+ * Benefit-specific maximum out-of-pocket costs
124
+
125
+ **Example #1**
126
+ As an example, we would represent [this Summary of Benefits & Coverage](https://s3.amazonaws.com/vericred-data/SBC/2017/33602TX0780032.pdf) as:
127
+
128
+ * **Hospital stay facility fees**:
129
+ - Network Provider: `$400 copay/admit plus 20% coinsurance`
130
+ - Out-of-Network Provider: `$1,500 copay/admit plus 50% coinsurance`
131
+ - Vericred's format for this benefit: `In-Network: $400 before deductible then 20% after deductible / Out-of-Network: $1,500 before deductible then 50% after deductible`
132
+
133
+ * **Rehabilitation services:**
134
+ - Network Provider: `20% coinsurance`
135
+ - Out-of-Network Provider: `50% coinsurance`
136
+ - Limitations & Exceptions: `35 visit maximum per benefit period combined with Chiropractic care.`
137
+ - Vericred's format for this benefit: `In-Network: 20% after deductible / Out-of-Network: 50% after deductible | limit: 35 visit(s) per Benefit Period`
138
+
139
+ **Example #2**
140
+ In [this other Summary of Benefits & Coverage](https://s3.amazonaws.com/vericred-data/SBC/2017/40733CA0110568.pdf), the **specialty_drugs** cost-share has a maximum out-of-pocket for in-network pharmacies.
141
+ * **Specialty drugs:**
142
+ - Network Provider: `40% coinsurance up to a $500 maximum for up to a 30 day supply`
143
+ - Out-of-Network Provider `Not covered`
144
+ - Vericred's format for this benefit: `In-Network: 40% after deductible, up to $500 per script / Out-of-Network: 100%`
145
+
146
+ **BNF**
147
+
148
+ Here's a description of the benefits summary string, represented as a context-free grammar:
149
+
150
+ ```
151
+ root ::= coverage
152
+
153
+ coverage ::= (simple_coverage | tiered_coverage) (space pipe space coverage_limitation)?
154
+ tiered_coverage ::= tier (space slash space tier)*
155
+ tier ::= tier_name colon space (tier_coverage | not_applicable)
156
+ tier_coverage ::= simple_coverage (space (then | or | and) space simple_coverage)* tier_limitation?
157
+ simple_coverage ::= (pre_coverage_limitation space)? coverage_amount (space post_coverage_limitation)? (comma? space coverage_condition)?
158
+ coverage_limitation ::= "limit" colon space (((simple_coverage | simple_limitation) (semicolon space see_carrier_documentation)?) | see_carrier_documentation | waived_if_admitted)
159
+ waived_if_admitted ::= ("copay" space)? "waived if admitted"
160
+ simple_limitation ::= pre_coverage_limitation space "copay applies"
161
+ tier_name ::= "In-Network-Tier-2" | "Out-of-Network" | "In-Network"
162
+ tier_limitation ::= comma space "up to" space (currency | (integer space time_unit plural?)) (space post_coverage_limitation)?
163
+ coverage_amount ::= currency | unlimited | included | unknown | percentage | (digits space (treatment_unit | time_unit) plural?)
164
+ pre_coverage_limitation ::= first space digits space time_unit plural?
165
+ post_coverage_limitation ::= (((then space currency) | "per condition") space)? "per" space (treatment_unit | (integer space time_unit) | time_unit) plural?
166
+ coverage_condition ::= ("before deductible" | "after deductible" | "penalty" | allowance | "in-state" | "out-of-state") (space allowance)?
167
+ allowance ::= upto_allowance | after_allowance
168
+ upto_allowance ::= "up to" space (currency space)? "allowance"
169
+ after_allowance ::= "after" space (currency space)? "allowance"
170
+ see_carrier_documentation ::= "see carrier documentation for more information"
171
+ unknown ::= "unknown"
172
+ unlimited ::= /[uU]nlimited/
173
+ included ::= /[iI]ncluded in [mM]edical/
174
+ 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/)
175
+ treatment_unit ::= /[pP]erson/ | /[gG]roup/ | /[cC]ondition/ | /[sS]cript/ | /[vV]isit/ | /[eE]xam/ | /[iI]tem/ | /[sS]tay/ | /[tT]reatment/ | /[aA]dmission/ | /[eE]pisode/
176
+ comma ::= ","
177
+ colon ::= ":"
178
+ semicolon ::= ";"
179
+ pipe ::= "|"
180
+ slash ::= "/"
181
+ plural ::= "(s)" | "s"
182
+ then ::= "then" | ("," space) | space
183
+ or ::= "or"
184
+ and ::= "and"
185
+ not_applicable ::= "Not Applicable" | "N/A" | "NA"
186
+ first ::= "first"
187
+ currency ::= "$" number
188
+ percentage ::= number "%"
189
+ number ::= float | integer
190
+ float ::= digits "." digits
191
+ integer ::= /[0-9]/+ (comma_int | under_int)*
192
+ comma_int ::= ("," /[0-9]/*3) !"_"
193
+ under_int ::= ("_" /[0-9]/*3) !","
194
+ digits ::= /[0-9]/+ ("_" /[0-9]/+)*
195
+ space ::= /[ \t]/+
196
+ ```
197
+
111
198
 
112
199
 
113
200
  OpenAPI spec version: 1.0.0
@@ -136,7 +223,7 @@ module VericredClient
136
223
  # Does the plan provide dental coverage for adults?
137
224
  attr_accessor :adult_dental
138
225
 
139
- #
226
+ # True if the plan allows dependents up to age 29
140
227
  attr_accessor :age29_rider
141
228
 
142
229
  # Benefits string for ambulance coverage
@@ -172,7 +259,7 @@ module VericredClient
172
259
  # Alternate name for the Plan
173
260
  attr_accessor :display_name
174
261
 
175
- # Is this a domestic plan?
262
+ # True if plan does not cover domestic partners
176
263
  attr_accessor :dp_rider
177
264
 
178
265
  # Link to the summary of drug benefits for the plan
@@ -199,7 +286,7 @@ module VericredClient
199
286
  # Maximum out-of-pocket when a family is on the plan
200
287
  attr_accessor :family_medical_moop
201
288
 
202
- # Is this a family plan?
289
+ # True if plan does not cover family planning
203
290
  attr_accessor :fp_rider
204
291
 
205
292
  # Cost for generic drugs
@@ -298,7 +385,7 @@ module VericredClient
298
385
  # Market in which the plan is offered (on_marketplace, shop, etc)
299
386
  attr_accessor :plan_market
300
387
 
301
- # Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity)
388
+ # Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA)
302
389
  attr_accessor :plan_type
303
390
 
304
391
  # Cost under the plan for perferred brand drugs
@@ -316,6 +403,9 @@ module VericredClient
316
403
  # Cumulative premium amount
317
404
  attr_accessor :premium
318
405
 
406
+ # Source of the base pricing data
407
+ attr_accessor :premium_source
408
+
319
409
  # Cost under the plan to visit a Primary Care Physician
320
410
  attr_accessor :primary_care_physician
321
411
 
@@ -328,6 +418,9 @@ module VericredClient
328
418
  # Benefits summary for skilled nursing services
329
419
  attr_accessor :skilled_nursing
330
420
 
421
+ # Source of the plan benefit data
422
+ attr_accessor :source
423
+
331
424
  # Cost under the plan to visit a specialist
332
425
  attr_accessor :specialist
333
426
 
@@ -402,10 +495,12 @@ module VericredClient
402
495
  :'preventative_care' => :'preventative_care',
403
496
  :'premium_subsidized' => :'premium_subsidized',
404
497
  :'premium' => :'premium',
498
+ :'premium_source' => :'premium_source',
405
499
  :'primary_care_physician' => :'primary_care_physician',
406
500
  :'rehabilitation_services' => :'rehabilitation_services',
407
501
  :'service_area_id' => :'service_area_id',
408
502
  :'skilled_nursing' => :'skilled_nursing',
503
+ :'source' => :'source',
409
504
  :'specialist' => :'specialist',
410
505
  :'specialty_drugs' => :'specialty_drugs',
411
506
  :'urgent_care' => :'urgent_care'
@@ -476,10 +571,12 @@ module VericredClient
476
571
  :'preventative_care' => :'String',
477
572
  :'premium_subsidized' => :'Float',
478
573
  :'premium' => :'Float',
574
+ :'premium_source' => :'String',
479
575
  :'primary_care_physician' => :'String',
480
576
  :'rehabilitation_services' => :'String',
481
577
  :'service_area_id' => :'String',
482
578
  :'skilled_nursing' => :'String',
579
+ :'source' => :'String',
483
580
  :'specialist' => :'String',
484
581
  :'specialty_drugs' => :'String',
485
582
  :'urgent_care' => :'String'
@@ -742,6 +839,10 @@ module VericredClient
742
839
  self.premium = attributes[:'premium']
743
840
  end
744
841
 
842
+ if attributes.has_key?(:'premium_source')
843
+ self.premium_source = attributes[:'premium_source']
844
+ end
845
+
745
846
  if attributes.has_key?(:'primary_care_physician')
746
847
  self.primary_care_physician = attributes[:'primary_care_physician']
747
848
  end
@@ -758,6 +859,10 @@ module VericredClient
758
859
  self.skilled_nursing = attributes[:'skilled_nursing']
759
860
  end
760
861
 
862
+ if attributes.has_key?(:'source')
863
+ self.source = attributes[:'source']
864
+ end
865
+
761
866
  if attributes.has_key?(:'specialist')
762
867
  self.specialist = attributes[:'specialist']
763
868
  end
@@ -851,10 +956,12 @@ module VericredClient
851
956
  preventative_care == o.preventative_care &&
852
957
  premium_subsidized == o.premium_subsidized &&
853
958
  premium == o.premium &&
959
+ premium_source == o.premium_source &&
854
960
  primary_care_physician == o.primary_care_physician &&
855
961
  rehabilitation_services == o.rehabilitation_services &&
856
962
  service_area_id == o.service_area_id &&
857
963
  skilled_nursing == o.skilled_nursing &&
964
+ source == o.source &&
858
965
  specialist == o.specialist &&
859
966
  specialty_drugs == o.specialty_drugs &&
860
967
  urgent_care == o.urgent_care
@@ -869,7 +976,7 @@ module VericredClient
869
976
  # Calculates hash code according to all attributes.
870
977
  # @return [Fixnum] Hash code
871
978
  def hash
872
- [adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eyewear, child_eye_exam, customer_service_phone_number, durable_medical_equipment, diagnostic_test, display_name, dp_rider, drug_formulary_url, effective_date, expiration_date, emergency_room, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, imaging, 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, level, logo_url, name, network_size, non_preferred_brand_drugs, on_market, off_market, out_of_network_coverage, out_of_network_ids, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_market, plan_type, preferred_brand_drugs, prenatal_postnatal_care, preventative_care, premium_subsidized, premium, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, specialist, specialty_drugs, urgent_care].hash
979
+ [adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eyewear, child_eye_exam, customer_service_phone_number, durable_medical_equipment, diagnostic_test, display_name, dp_rider, drug_formulary_url, effective_date, expiration_date, emergency_room, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, imaging, 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, level, logo_url, name, network_size, non_preferred_brand_drugs, on_market, off_market, out_of_network_coverage, out_of_network_ids, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_market, plan_type, preferred_brand_drugs, prenatal_postnatal_care, preventative_care, premium_subsidized, premium, premium_source, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, source, specialist, specialty_drugs, urgent_care].hash
873
980
  end
874
981
 
875
982
  # Builds the object from hash
@@ -878,7 +985,7 @@ module VericredClient
878
985
  def build_from_hash(attributes)
879
986
  return nil unless attributes.is_a?(Hash)
880
987
  self.class.swagger_types.each_pair do |key, type|
881
- if type =~ /^Array<(.*)>/i
988
+ if type =~ /\AArray<(.*)>/i
882
989
  # check to ensure the input is an array given that the the attribute
883
990
  # is documented as an array but the input is not
884
991
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -909,7 +1016,7 @@ module VericredClient
909
1016
  when :Float
910
1017
  value.to_f
911
1018
  when :BOOLEAN
912
- if value.to_s =~ /^(true|t|yes|y|1)$/i
1019
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
913
1020
  true
914
1021
  else
915
1022
  false
@@ -6,13 +6,20 @@ accepts.
6
6
 
7
7
  ## Getting Started
8
8
 
9
- Visit our [Developer Portal](https://vericred.3scale.net) to
9
+ Visit our [Developer Portal](https://developers.vericred.com) to
10
10
  create an account.
11
11
 
12
12
  Once you have created an account, you can create one Application for
13
13
  Production and another for our Sandbox (select the appropriate Plan when
14
14
  you create the Application).
15
15
 
16
+ ## SDKs
17
+
18
+ Our API follows standard REST conventions, so you can use any HTTP client
19
+ to integrate with us. You will likely find it easier to use one of our
20
+ [autogenerated SDKs](https://github.com/vericred/?query=vericred-),
21
+ which we make available for several common programming languages.
22
+
16
23
  ## Authentication
17
24
 
18
25
  To authenticate, pass the API Key you created in the Developer Portal as
@@ -108,6 +115,86 @@ The response would be
108
115
  }
109
116
  ```
110
117
 
118
+ ## Benefits summary format
119
+ Benefit cost-share strings are formatted to capture:
120
+ * Network tiers
121
+ * Compound or conditional cost-share
122
+ * Limits on the cost-share
123
+ * Benefit-specific maximum out-of-pocket costs
124
+
125
+ **Example #1**
126
+ As an example, we would represent [this Summary of Benefits &amp; Coverage](https://s3.amazonaws.com/vericred-data/SBC/2017/33602TX0780032.pdf) as:
127
+
128
+ * **Hospital stay facility fees**:
129
+ - Network Provider: `$400 copay/admit plus 20% coinsurance`
130
+ - Out-of-Network Provider: `$1,500 copay/admit plus 50% coinsurance`
131
+ - Vericred's format for this benefit: `In-Network: $400 before deductible then 20% after deductible / Out-of-Network: $1,500 before deductible then 50% after deductible`
132
+
133
+ * **Rehabilitation services:**
134
+ - Network Provider: `20% coinsurance`
135
+ - Out-of-Network Provider: `50% coinsurance`
136
+ - Limitations & Exceptions: `35 visit maximum per benefit period combined with Chiropractic care.`
137
+ - Vericred's format for this benefit: `In-Network: 20% after deductible / Out-of-Network: 50% after deductible | limit: 35 visit(s) per Benefit Period`
138
+
139
+ **Example #2**
140
+ In [this other Summary of Benefits &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.
141
+ * **Specialty drugs:**
142
+ - Network Provider: `40% coinsurance up to a $500 maximum for up to a 30 day supply`
143
+ - Out-of-Network Provider `Not covered`
144
+ - Vericred's format for this benefit: `In-Network: 40% after deductible, up to $500 per script / Out-of-Network: 100%`
145
+
146
+ **BNF**
147
+
148
+ Here's a description of the benefits summary string, represented as a context-free grammar:
149
+
150
+ ```
151
+ root ::= coverage
152
+
153
+ coverage ::= (simple_coverage | tiered_coverage) (space pipe space coverage_limitation)?
154
+ tiered_coverage ::= tier (space slash space tier)*
155
+ tier ::= tier_name colon space (tier_coverage | not_applicable)
156
+ tier_coverage ::= simple_coverage (space (then | or | and) space simple_coverage)* tier_limitation?
157
+ simple_coverage ::= (pre_coverage_limitation space)? coverage_amount (space post_coverage_limitation)? (comma? space coverage_condition)?
158
+ coverage_limitation ::= "limit" colon space (((simple_coverage | simple_limitation) (semicolon space see_carrier_documentation)?) | see_carrier_documentation | waived_if_admitted)
159
+ waived_if_admitted ::= ("copay" space)? "waived if admitted"
160
+ simple_limitation ::= pre_coverage_limitation space "copay applies"
161
+ tier_name ::= "In-Network-Tier-2" | "Out-of-Network" | "In-Network"
162
+ tier_limitation ::= comma space "up to" space (currency | (integer space time_unit plural?)) (space post_coverage_limitation)?
163
+ coverage_amount ::= currency | unlimited | included | unknown | percentage | (digits space (treatment_unit | time_unit) plural?)
164
+ pre_coverage_limitation ::= first space digits space time_unit plural?
165
+ post_coverage_limitation ::= (((then space currency) | "per condition") space)? "per" space (treatment_unit | (integer space time_unit) | time_unit) plural?
166
+ coverage_condition ::= ("before deductible" | "after deductible" | "penalty" | allowance | "in-state" | "out-of-state") (space allowance)?
167
+ allowance ::= upto_allowance | after_allowance
168
+ upto_allowance ::= "up to" space (currency space)? "allowance"
169
+ after_allowance ::= "after" space (currency space)? "allowance"
170
+ see_carrier_documentation ::= "see carrier documentation for more information"
171
+ unknown ::= "unknown"
172
+ unlimited ::= /[uU]nlimited/
173
+ included ::= /[iI]ncluded in [mM]edical/
174
+ 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/)
175
+ treatment_unit ::= /[pP]erson/ | /[gG]roup/ | /[cC]ondition/ | /[sS]cript/ | /[vV]isit/ | /[eE]xam/ | /[iI]tem/ | /[sS]tay/ | /[tT]reatment/ | /[aA]dmission/ | /[eE]pisode/
176
+ comma ::= ","
177
+ colon ::= ":"
178
+ semicolon ::= ";"
179
+ pipe ::= "|"
180
+ slash ::= "/"
181
+ plural ::= "(s)" | "s"
182
+ then ::= "then" | ("," space) | space
183
+ or ::= "or"
184
+ and ::= "and"
185
+ not_applicable ::= "Not Applicable" | "N/A" | "NA"
186
+ first ::= "first"
187
+ currency ::= "$" number
188
+ percentage ::= number "%"
189
+ number ::= float | integer
190
+ float ::= digits "." digits
191
+ integer ::= /[0-9]/+ (comma_int | under_int)*
192
+ comma_int ::= ("," /[0-9]/*3) !"_"
193
+ under_int ::= ("_" /[0-9]/*3) !","
194
+ digits ::= /[0-9]/+ ("_" /[0-9]/+)*
195
+ space ::= /[ \t]/+
196
+ ```
197
+
111
198
 
112
199
 
113
200
  OpenAPI spec version: 1.0.0
@@ -214,7 +301,7 @@ module VericredClient
214
301
  def build_from_hash(attributes)
215
302
  return nil unless attributes.is_a?(Hash)
216
303
  self.class.swagger_types.each_pair do |key, type|
217
- if type =~ /^Array<(.*)>/i
304
+ if type =~ /\AArray<(.*)>/i
218
305
  # check to ensure the input is an array given that the the attribute
219
306
  # is documented as an array but the input is not
220
307
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -245,7 +332,7 @@ module VericredClient
245
332
  when :Float
246
333
  value.to_f
247
334
  when :BOOLEAN
248
- if value.to_s =~ /^(true|t|yes|y|1)$/i
335
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
249
336
  true
250
337
  else
251
338
  false
@@ -6,13 +6,20 @@ accepts.
6
6
 
7
7
  ## Getting Started
8
8
 
9
- Visit our [Developer Portal](https://vericred.3scale.net) to
9
+ Visit our [Developer Portal](https://developers.vericred.com) to
10
10
  create an account.
11
11
 
12
12
  Once you have created an account, you can create one Application for
13
13
  Production and another for our Sandbox (select the appropriate Plan when
14
14
  you create the Application).
15
15
 
16
+ ## SDKs
17
+
18
+ Our API follows standard REST conventions, so you can use any HTTP client
19
+ to integrate with us. You will likely find it easier to use one of our
20
+ [autogenerated SDKs](https://github.com/vericred/?query=vericred-),
21
+ which we make available for several common programming languages.
22
+
16
23
  ## Authentication
17
24
 
18
25
  To authenticate, pass the API Key you created in the Developer Portal as
@@ -108,6 +115,86 @@ The response would be
108
115
  }
109
116
  ```
110
117
 
118
+ ## Benefits summary format
119
+ Benefit cost-share strings are formatted to capture:
120
+ * Network tiers
121
+ * Compound or conditional cost-share
122
+ * Limits on the cost-share
123
+ * Benefit-specific maximum out-of-pocket costs
124
+
125
+ **Example #1**
126
+ As an example, we would represent [this Summary of Benefits &amp; Coverage](https://s3.amazonaws.com/vericred-data/SBC/2017/33602TX0780032.pdf) as:
127
+
128
+ * **Hospital stay facility fees**:
129
+ - Network Provider: `$400 copay/admit plus 20% coinsurance`
130
+ - Out-of-Network Provider: `$1,500 copay/admit plus 50% coinsurance`
131
+ - Vericred's format for this benefit: `In-Network: $400 before deductible then 20% after deductible / Out-of-Network: $1,500 before deductible then 50% after deductible`
132
+
133
+ * **Rehabilitation services:**
134
+ - Network Provider: `20% coinsurance`
135
+ - Out-of-Network Provider: `50% coinsurance`
136
+ - Limitations & Exceptions: `35 visit maximum per benefit period combined with Chiropractic care.`
137
+ - Vericred's format for this benefit: `In-Network: 20% after deductible / Out-of-Network: 50% after deductible | limit: 35 visit(s) per Benefit Period`
138
+
139
+ **Example #2**
140
+ In [this other Summary of Benefits &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.
141
+ * **Specialty drugs:**
142
+ - Network Provider: `40% coinsurance up to a $500 maximum for up to a 30 day supply`
143
+ - Out-of-Network Provider `Not covered`
144
+ - Vericred's format for this benefit: `In-Network: 40% after deductible, up to $500 per script / Out-of-Network: 100%`
145
+
146
+ **BNF**
147
+
148
+ Here's a description of the benefits summary string, represented as a context-free grammar:
149
+
150
+ ```
151
+ root ::= coverage
152
+
153
+ coverage ::= (simple_coverage | tiered_coverage) (space pipe space coverage_limitation)?
154
+ tiered_coverage ::= tier (space slash space tier)*
155
+ tier ::= tier_name colon space (tier_coverage | not_applicable)
156
+ tier_coverage ::= simple_coverage (space (then | or | and) space simple_coverage)* tier_limitation?
157
+ simple_coverage ::= (pre_coverage_limitation space)? coverage_amount (space post_coverage_limitation)? (comma? space coverage_condition)?
158
+ coverage_limitation ::= "limit" colon space (((simple_coverage | simple_limitation) (semicolon space see_carrier_documentation)?) | see_carrier_documentation | waived_if_admitted)
159
+ waived_if_admitted ::= ("copay" space)? "waived if admitted"
160
+ simple_limitation ::= pre_coverage_limitation space "copay applies"
161
+ tier_name ::= "In-Network-Tier-2" | "Out-of-Network" | "In-Network"
162
+ tier_limitation ::= comma space "up to" space (currency | (integer space time_unit plural?)) (space post_coverage_limitation)?
163
+ coverage_amount ::= currency | unlimited | included | unknown | percentage | (digits space (treatment_unit | time_unit) plural?)
164
+ pre_coverage_limitation ::= first space digits space time_unit plural?
165
+ post_coverage_limitation ::= (((then space currency) | "per condition") space)? "per" space (treatment_unit | (integer space time_unit) | time_unit) plural?
166
+ coverage_condition ::= ("before deductible" | "after deductible" | "penalty" | allowance | "in-state" | "out-of-state") (space allowance)?
167
+ allowance ::= upto_allowance | after_allowance
168
+ upto_allowance ::= "up to" space (currency space)? "allowance"
169
+ after_allowance ::= "after" space (currency space)? "allowance"
170
+ see_carrier_documentation ::= "see carrier documentation for more information"
171
+ unknown ::= "unknown"
172
+ unlimited ::= /[uU]nlimited/
173
+ included ::= /[iI]ncluded in [mM]edical/
174
+ 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/)
175
+ treatment_unit ::= /[pP]erson/ | /[gG]roup/ | /[cC]ondition/ | /[sS]cript/ | /[vV]isit/ | /[eE]xam/ | /[iI]tem/ | /[sS]tay/ | /[tT]reatment/ | /[aA]dmission/ | /[eE]pisode/
176
+ comma ::= ","
177
+ colon ::= ":"
178
+ semicolon ::= ";"
179
+ pipe ::= "|"
180
+ slash ::= "/"
181
+ plural ::= "(s)" | "s"
182
+ then ::= "then" | ("," space) | space
183
+ or ::= "or"
184
+ and ::= "and"
185
+ not_applicable ::= "Not Applicable" | "N/A" | "NA"
186
+ first ::= "first"
187
+ currency ::= "$" number
188
+ percentage ::= number "%"
189
+ number ::= float | integer
190
+ float ::= digits "." digits
191
+ integer ::= /[0-9]/+ (comma_int | under_int)*
192
+ comma_int ::= ("," /[0-9]/*3) !"_"
193
+ under_int ::= ("_" /[0-9]/*3) !","
194
+ digits ::= /[0-9]/+ ("_" /[0-9]/+)*
195
+ space ::= /[ \t]/+
196
+ ```
197
+
111
198
 
112
199
 
113
200
  OpenAPI spec version: 1.0.0
@@ -214,7 +301,7 @@ module VericredClient
214
301
  def build_from_hash(attributes)
215
302
  return nil unless attributes.is_a?(Hash)
216
303
  self.class.swagger_types.each_pair do |key, type|
217
- if type =~ /^Array<(.*)>/i
304
+ if type =~ /\AArray<(.*)>/i
218
305
  # check to ensure the input is an array given that the the attribute
219
306
  # is documented as an array but the input is not
220
307
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -245,7 +332,7 @@ module VericredClient
245
332
  when :Float
246
333
  value.to_f
247
334
  when :BOOLEAN
248
- if value.to_s =~ /^(true|t|yes|y|1)$/i
335
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
249
336
  true
250
337
  else
251
338
  false