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.
- checksums.yaml +4 -4
- data/README.md +116 -13
- data/docs/Base.md +1 -1
- data/docs/Drug.md +1 -0
- data/docs/DrugCoverage.md +2 -1
- data/docs/DrugCoverageResponse.md +1 -1
- data/docs/DrugCoveragesApi.md +69 -0
- data/docs/DrugPackage.md +1 -0
- data/docs/DrugPackagesApi.md +66 -0
- data/docs/DrugSearchResponse.md +1 -1
- data/docs/DrugsApi.md +0 -61
- data/docs/Formulary.md +9 -0
- data/docs/FormularyDrugPackageResponse.md +10 -0
- data/docs/FormularyResponse.md +9 -0
- data/docs/Network.md +1 -1
- data/docs/NetworkDetails.md +10 -0
- data/docs/NetworkDetailsResponse.md +8 -0
- data/docs/NetworkSearchResponse.md +1 -1
- data/docs/NetworkSize.md +10 -0
- data/docs/NetworkSizesApi.md +124 -0
- data/docs/NetworksApi.md +55 -0
- data/docs/Plan.md +6 -4
- data/docs/PlanSearchResponse.md +2 -2
- data/docs/PlanSearchResponseMeta.md +9 -0
- data/docs/PlanSearchResult.md +6 -4
- data/docs/PlansApi.md +12 -10
- data/docs/Provider.md +1 -6
- data/docs/ProviderDetails.md +31 -0
- data/docs/ProviderGeocode.md +10 -0
- data/docs/ProvidersApi.md +61 -7
- data/docs/ProvidersGeocodeResponse.md +9 -0
- data/docs/ProvidersSearchResponse.md +1 -1
- data/docs/RequestPlanFindApplicant.md +2 -0
- data/docs/RequestPlanFindDrugPackage.md +1 -0
- data/docs/RequestProvidersSearch.md +5 -2
- data/docs/StateNetworkSizeRequest.md +9 -0
- data/docs/StateNetworkSizeResponse.md +9 -0
- data/docs/ZipCountiesApi.md +56 -1
- data/lib/vericred_client.rb +103 -2
- data/lib/vericred_client/api/drug_coverages_api.rb +295 -0
- data/lib/vericred_client/api/drug_packages_api.rb +289 -0
- data/lib/vericred_client/api/drugs_api.rb +88 -68
- data/lib/vericred_client/api/network_sizes_api.rb +348 -0
- data/lib/vericred_client/api/networks_api.rb +145 -1
- data/lib/vericred_client/api/plans_api.rb +108 -15
- data/lib/vericred_client/api/providers_api.rb +155 -9
- data/lib/vericred_client/api/zip_counties_api.rb +148 -4
- data/lib/vericred_client/api_client.rb +110 -21
- data/lib/vericred_client/api_error.rb +88 -1
- data/lib/vericred_client/configuration.rb +88 -1
- data/lib/vericred_client/models/applicant.rb +90 -3
- data/lib/vericred_client/models/base.rb +91 -4
- data/lib/vericred_client/models/carrier.rb +90 -3
- data/lib/vericred_client/models/carrier_subsidiary.rb +90 -3
- data/lib/vericred_client/models/county.rb +90 -3
- data/lib/vericred_client/models/county_bulk.rb +90 -3
- data/lib/vericred_client/models/drug.rb +101 -4
- data/lib/vericred_client/models/drug_coverage.rb +111 -14
- data/lib/vericred_client/models/drug_coverage_response.rb +91 -4
- data/lib/vericred_client/models/drug_package.rb +104 -7
- data/lib/vericred_client/models/drug_search_response.rb +91 -4
- data/lib/vericred_client/models/formulary.rb +404 -0
- data/lib/vericred_client/models/formulary_drug_package_response.rb +414 -0
- data/lib/vericred_client/models/formulary_response.rb +406 -0
- data/lib/vericred_client/models/meta.rb +90 -3
- data/lib/vericred_client/models/network.rb +91 -4
- data/lib/vericred_client/models/network_details.rb +416 -0
- data/lib/vericred_client/models/{pricing.rb → network_details_response.rb} +99 -112
- data/lib/vericred_client/models/network_search_response.rb +91 -4
- data/lib/vericred_client/models/network_size.rb +414 -0
- data/lib/vericred_client/models/plan.rb +115 -8
- data/lib/vericred_client/models/plan_county.rb +90 -3
- data/lib/vericred_client/models/plan_county_bulk.rb +90 -3
- data/lib/vericred_client/models/plan_search_response.rb +93 -6
- data/lib/vericred_client/models/plan_search_response_meta.rb +404 -0
- data/lib/vericred_client/models/plan_search_result.rb +115 -8
- data/lib/vericred_client/models/plan_show_response.rb +90 -3
- data/lib/vericred_client/models/provider.rb +101 -66
- data/lib/vericred_client/models/provider_details.rb +628 -0
- data/lib/vericred_client/models/provider_geocode.rb +414 -0
- data/lib/vericred_client/models/provider_show_response.rb +90 -3
- data/lib/vericred_client/models/providers_geocode_response.rb +406 -0
- data/lib/vericred_client/models/providers_search_response.rb +91 -4
- data/lib/vericred_client/models/rating_area.rb +90 -3
- data/lib/vericred_client/models/request_plan_find.rb +90 -3
- data/lib/vericred_client/models/request_plan_find_applicant.rb +114 -7
- data/lib/vericred_client/models/request_plan_find_drug_package.rb +104 -7
- data/lib/vericred_client/models/request_plan_find_provider.rb +90 -3
- data/lib/vericred_client/models/request_providers_search.rb +143 -26
- data/lib/vericred_client/models/service_area.rb +90 -3
- data/lib/vericred_client/models/service_area_zip_county.rb +90 -3
- data/lib/vericred_client/models/state.rb +90 -3
- data/lib/vericred_client/models/state_network_size_request.rb +408 -0
- data/lib/vericred_client/models/state_network_size_response.rb +406 -0
- data/lib/vericred_client/models/zip_code.rb +90 -3
- data/lib/vericred_client/models/zip_counties_response.rb +90 -3
- data/lib/vericred_client/models/zip_county.rb +90 -3
- data/lib/vericred_client/models/zip_county_bulk.rb +90 -3
- data/lib/vericred_client/models/zip_county_response.rb +90 -3
- data/lib/vericred_client/version.rb +89 -2
- data/spec/api/drug_coverages_api_spec.rb +254 -0
- data/spec/api/drug_packages_api_spec.rb +253 -0
- data/spec/api/drugs_api_spec.rb +88 -15
- data/spec/api/network_sizes_api_spec.rb +266 -0
- data/spec/api/networks_api_spec.rb +100 -1
- data/spec/api/plans_api_spec.rb +92 -4
- data/spec/api/providers_api_spec.rb +102 -3
- data/spec/api/zip_counties_api_spec.rb +101 -2
- data/spec/api_client_spec.rb +91 -25
- data/spec/configuration_spec.rb +88 -1
- data/spec/models/applicant_spec.rb +88 -1
- data/spec/models/base_spec.rb +88 -1
- data/spec/models/carrier_spec.rb +88 -1
- data/spec/models/carrier_subsidiary_spec.rb +88 -1
- data/spec/models/county_bulk_spec.rb +88 -1
- data/spec/models/county_spec.rb +88 -1
- data/spec/models/drug_coverage_response_spec.rb +88 -1
- data/spec/models/drug_coverage_spec.rb +95 -2
- data/spec/models/drug_package_spec.rb +94 -1
- data/spec/models/drug_search_response_spec.rb +88 -1
- data/spec/models/drug_spec.rb +94 -1
- data/spec/models/formulary_drug_package_response_spec.rb +259 -0
- data/spec/models/formulary_response_spec.rb +253 -0
- data/spec/models/formulary_spec.rb +253 -0
- data/spec/models/meta_spec.rb +88 -1
- data/spec/models/network_details_response_spec.rb +247 -0
- data/spec/models/network_details_spec.rb +259 -0
- data/spec/models/network_search_response_spec.rb +88 -1
- data/spec/models/network_size_spec.rb +259 -0
- data/spec/models/network_spec.rb +88 -1
- data/spec/models/plan_county_bulk_spec.rb +88 -1
- data/spec/models/plan_county_spec.rb +88 -1
- data/spec/models/plan_search_response_meta_spec.rb +253 -0
- data/spec/models/plan_search_response_spec.rb +88 -1
- data/spec/models/plan_search_result_spec.rb +100 -1
- data/spec/models/plan_show_response_spec.rb +88 -1
- data/spec/models/plan_spec.rb +100 -1
- data/spec/models/provider_details_spec.rb +385 -0
- data/spec/models/provider_geocode_spec.rb +259 -0
- data/spec/models/provider_show_response_spec.rb +88 -1
- data/spec/models/provider_spec.rb +94 -37
- data/spec/models/providers_geocode_response_spec.rb +253 -0
- data/spec/models/providers_search_response_spec.rb +88 -1
- data/spec/models/rating_area_spec.rb +88 -1
- data/spec/models/request_plan_find_applicant_spec.rb +100 -1
- data/spec/models/request_plan_find_drug_package_spec.rb +94 -1
- data/spec/models/request_plan_find_provider_spec.rb +88 -1
- data/spec/models/request_plan_find_spec.rb +88 -1
- data/spec/models/request_providers_search_spec.rb +109 -4
- data/spec/models/service_area_spec.rb +88 -1
- data/spec/models/service_area_zip_county_spec.rb +88 -1
- data/spec/models/state_network_size_request_spec.rb +253 -0
- data/spec/models/state_network_size_response_spec.rb +253 -0
- data/spec/models/state_spec.rb +88 -1
- data/spec/models/zip_code_spec.rb +88 -1
- data/spec/models/zip_counties_response_spec.rb +88 -1
- data/spec/models/zip_county_bulk_spec.rb +88 -1
- data/spec/models/zip_county_response_spec.rb +88 -1
- data/spec/models/zip_county_spec.rb +88 -1
- data/spec/spec_helper.rb +88 -1
- data/vericred_client.gemspec +90 -2
- metadata +66 -16
- data/docs/Pricing.md +0 -18
- 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.
|
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
|
@@ -204,7 +291,7 @@ module VericredClient
|
|
204
291
|
def build_from_hash(attributes)
|
205
292
|
return nil unless attributes.is_a?(Hash)
|
206
293
|
self.class.swagger_types.each_pair do |key, type|
|
207
|
-
if type =~
|
294
|
+
if type =~ /\AArray<(.*)>/i
|
208
295
|
# check to ensure the input is an array given that the the attribute
|
209
296
|
# is documented as an array but the input is not
|
210
297
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -235,7 +322,7 @@ module VericredClient
|
|
235
322
|
when :Float
|
236
323
|
value.to_f
|
237
324
|
when :BOOLEAN
|
238
|
-
if value.to_s =~
|
325
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
239
326
|
true
|
240
327
|
else
|
241
328
|
false
|
@@ -6,13 +6,20 @@ accepts.
|
|
6
6
|
|
7
7
|
## Getting Started
|
8
8
|
|
9
|
-
Visit our [Developer Portal](https://vericred.
|
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,43 +223,55 @@ module VericredClient
|
|
136
223
|
# Limit results to Providers who accept at least one insurance plan. Note that the inverse of this filter is not supported and any value will evaluate to true
|
137
224
|
attr_accessor :accepts_insurance
|
138
225
|
|
139
|
-
# List of HIOS ids
|
140
|
-
attr_accessor :hios_ids
|
141
|
-
|
142
226
|
# Minimum search threshold to be included in the results
|
143
227
|
attr_accessor :min_score
|
144
228
|
|
229
|
+
# List of Vericred network ids
|
230
|
+
attr_accessor :network_ids
|
231
|
+
|
145
232
|
# Page number
|
146
233
|
attr_accessor :page
|
147
234
|
|
148
235
|
# Number of records to return per page
|
149
236
|
attr_accessor :per_page
|
150
237
|
|
238
|
+
# Define a custom search polygon, mutually exclusive with zip_code search
|
239
|
+
attr_accessor :polygon
|
240
|
+
|
151
241
|
# Radius (in miles) to use to limit results
|
152
242
|
attr_accessor :radius
|
153
243
|
|
154
244
|
# String to search by
|
155
245
|
attr_accessor :search_term
|
156
246
|
|
157
|
-
#
|
158
|
-
attr_accessor :
|
247
|
+
# specify sort mode (distance or random)
|
248
|
+
attr_accessor :sort
|
249
|
+
|
250
|
+
# Seed value for random sort. Randomly-ordered searches with the same seed return results in consistent order.
|
251
|
+
attr_accessor :sort_seed
|
159
252
|
|
160
253
|
# Either organization or individual
|
161
254
|
attr_accessor :type
|
162
255
|
|
256
|
+
# Zip Code to search near
|
257
|
+
attr_accessor :zip_code
|
258
|
+
|
163
259
|
|
164
260
|
# Attribute mapping from ruby-style variable name to JSON key.
|
165
261
|
def self.attribute_map
|
166
262
|
{
|
167
263
|
:'accepts_insurance' => :'accepts_insurance',
|
168
|
-
:'hios_ids' => :'hios_ids',
|
169
264
|
:'min_score' => :'min_score',
|
265
|
+
:'network_ids' => :'network_ids',
|
170
266
|
:'page' => :'page',
|
171
267
|
:'per_page' => :'per_page',
|
268
|
+
:'polygon' => :'polygon',
|
172
269
|
:'radius' => :'radius',
|
173
270
|
:'search_term' => :'search_term',
|
174
|
-
:'
|
175
|
-
:'
|
271
|
+
:'sort' => :'sort',
|
272
|
+
:'sort_seed' => :'sort_seed',
|
273
|
+
:'type' => :'type',
|
274
|
+
:'zip_code' => :'zip_code'
|
176
275
|
}
|
177
276
|
end
|
178
277
|
|
@@ -180,14 +279,17 @@ module VericredClient
|
|
180
279
|
def self.swagger_types
|
181
280
|
{
|
182
281
|
:'accepts_insurance' => :'BOOLEAN',
|
183
|
-
:'hios_ids' => :'Array<String>',
|
184
282
|
:'min_score' => :'Float',
|
283
|
+
:'network_ids' => :'Array<Integer>',
|
185
284
|
:'page' => :'Integer',
|
186
285
|
:'per_page' => :'Integer',
|
286
|
+
:'polygon' => :'Integer',
|
187
287
|
:'radius' => :'Integer',
|
188
288
|
:'search_term' => :'String',
|
189
|
-
:'
|
190
|
-
:'
|
289
|
+
:'sort' => :'String',
|
290
|
+
:'sort_seed' => :'Integer',
|
291
|
+
:'type' => :'String',
|
292
|
+
:'zip_code' => :'String'
|
191
293
|
}
|
192
294
|
end
|
193
295
|
|
@@ -203,16 +305,16 @@ module VericredClient
|
|
203
305
|
self.accepts_insurance = attributes[:'accepts_insurance']
|
204
306
|
end
|
205
307
|
|
206
|
-
if attributes.has_key?(:'hios_ids')
|
207
|
-
if (value = attributes[:'hios_ids']).is_a?(Array)
|
208
|
-
self.hios_ids = value
|
209
|
-
end
|
210
|
-
end
|
211
|
-
|
212
308
|
if attributes.has_key?(:'min_score')
|
213
309
|
self.min_score = attributes[:'min_score']
|
214
310
|
end
|
215
311
|
|
312
|
+
if attributes.has_key?(:'network_ids')
|
313
|
+
if (value = attributes[:'network_ids']).is_a?(Array)
|
314
|
+
self.network_ids = value
|
315
|
+
end
|
316
|
+
end
|
317
|
+
|
216
318
|
if attributes.has_key?(:'page')
|
217
319
|
self.page = attributes[:'page']
|
218
320
|
end
|
@@ -221,6 +323,10 @@ module VericredClient
|
|
221
323
|
self.per_page = attributes[:'per_page']
|
222
324
|
end
|
223
325
|
|
326
|
+
if attributes.has_key?(:'polygon')
|
327
|
+
self.polygon = attributes[:'polygon']
|
328
|
+
end
|
329
|
+
|
224
330
|
if attributes.has_key?(:'radius')
|
225
331
|
self.radius = attributes[:'radius']
|
226
332
|
end
|
@@ -229,14 +335,22 @@ module VericredClient
|
|
229
335
|
self.search_term = attributes[:'search_term']
|
230
336
|
end
|
231
337
|
|
232
|
-
if attributes.has_key?(:'
|
233
|
-
self.
|
338
|
+
if attributes.has_key?(:'sort')
|
339
|
+
self.sort = attributes[:'sort']
|
340
|
+
end
|
341
|
+
|
342
|
+
if attributes.has_key?(:'sort_seed')
|
343
|
+
self.sort_seed = attributes[:'sort_seed']
|
234
344
|
end
|
235
345
|
|
236
346
|
if attributes.has_key?(:'type')
|
237
347
|
self.type = attributes[:'type']
|
238
348
|
end
|
239
349
|
|
350
|
+
if attributes.has_key?(:'zip_code')
|
351
|
+
self.zip_code = attributes[:'zip_code']
|
352
|
+
end
|
353
|
+
|
240
354
|
end
|
241
355
|
|
242
356
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -258,14 +372,17 @@ module VericredClient
|
|
258
372
|
return true if self.equal?(o)
|
259
373
|
self.class == o.class &&
|
260
374
|
accepts_insurance == o.accepts_insurance &&
|
261
|
-
hios_ids == o.hios_ids &&
|
262
375
|
min_score == o.min_score &&
|
376
|
+
network_ids == o.network_ids &&
|
263
377
|
page == o.page &&
|
264
378
|
per_page == o.per_page &&
|
379
|
+
polygon == o.polygon &&
|
265
380
|
radius == o.radius &&
|
266
381
|
search_term == o.search_term &&
|
267
|
-
|
268
|
-
|
382
|
+
sort == o.sort &&
|
383
|
+
sort_seed == o.sort_seed &&
|
384
|
+
type == o.type &&
|
385
|
+
zip_code == o.zip_code
|
269
386
|
end
|
270
387
|
|
271
388
|
# @see the `==` method
|
@@ -277,7 +394,7 @@ module VericredClient
|
|
277
394
|
# Calculates hash code according to all attributes.
|
278
395
|
# @return [Fixnum] Hash code
|
279
396
|
def hash
|
280
|
-
[accepts_insurance,
|
397
|
+
[accepts_insurance, min_score, network_ids, page, per_page, polygon, radius, search_term, sort, sort_seed, type, zip_code].hash
|
281
398
|
end
|
282
399
|
|
283
400
|
# Builds the object from hash
|
@@ -286,7 +403,7 @@ module VericredClient
|
|
286
403
|
def build_from_hash(attributes)
|
287
404
|
return nil unless attributes.is_a?(Hash)
|
288
405
|
self.class.swagger_types.each_pair do |key, type|
|
289
|
-
if type =~
|
406
|
+
if type =~ /\AArray<(.*)>/i
|
290
407
|
# check to ensure the input is an array given that the the attribute
|
291
408
|
# is documented as an array but the input is not
|
292
409
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -317,7 +434,7 @@ module VericredClient
|
|
317
434
|
when :Float
|
318
435
|
value.to_f
|
319
436
|
when :BOOLEAN
|
320
|
-
if value.to_s =~
|
437
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
321
438
|
true
|
322
439
|
else
|
323
440
|
false
|
@@ -6,13 +6,20 @@ accepts.
|
|
6
6
|
|
7
7
|
## Getting Started
|
8
8
|
|
9
|
-
Visit our [Developer Portal](https://vericred.
|
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
|
@@ -224,7 +311,7 @@ module VericredClient
|
|
224
311
|
def build_from_hash(attributes)
|
225
312
|
return nil unless attributes.is_a?(Hash)
|
226
313
|
self.class.swagger_types.each_pair do |key, type|
|
227
|
-
if type =~
|
314
|
+
if type =~ /\AArray<(.*)>/i
|
228
315
|
# check to ensure the input is an array given that the the attribute
|
229
316
|
# is documented as an array but the input is not
|
230
317
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -255,7 +342,7 @@ module VericredClient
|
|
255
342
|
when :Float
|
256
343
|
value.to_f
|
257
344
|
when :BOOLEAN
|
258
|
-
if value.to_s =~
|
345
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
259
346
|
true
|
260
347
|
else
|
261
348
|
false
|