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
|
@@ -201,5 +288,62 @@ module VericredClient
|
|
201
288
|
end
|
202
289
|
return data, status_code, headers
|
203
290
|
end
|
291
|
+
|
292
|
+
# Network Details
|
293
|
+
# A network is a list of the doctors, other health care providers, and hospitals that a plan has contracted with to provide medical care to its members.
|
294
|
+
# @param id Primary key of the network
|
295
|
+
# @param [Hash] opts the optional parameters
|
296
|
+
# @return [NetworkDetailsResponse]
|
297
|
+
def show_network(id, opts = {})
|
298
|
+
data, _status_code, _headers = show_network_with_http_info(id, opts)
|
299
|
+
return data
|
300
|
+
end
|
301
|
+
|
302
|
+
# Network Details
|
303
|
+
# A network is a list of the doctors, other health care providers, and hospitals that a plan has contracted with to provide medical care to its members.
|
304
|
+
# @param id Primary key of the network
|
305
|
+
# @param [Hash] opts the optional parameters
|
306
|
+
# @return [Array<(NetworkDetailsResponse, Fixnum, Hash)>] NetworkDetailsResponse data, response status code and response headers
|
307
|
+
def show_network_with_http_info(id, opts = {})
|
308
|
+
if @api_client.config.debugging
|
309
|
+
@api_client.config.logger.debug "Calling API: NetworksApi.show_network ..."
|
310
|
+
end
|
311
|
+
# verify the required parameter 'id' is set
|
312
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling NetworksApi.show_network" if id.nil?
|
313
|
+
# resource path
|
314
|
+
local_var_path = "/networks/{id}".sub('{format}','json').sub('{' + 'id' + '}', id.to_s)
|
315
|
+
|
316
|
+
# query parameters
|
317
|
+
query_params = {}
|
318
|
+
|
319
|
+
# header parameters
|
320
|
+
header_params = {}
|
321
|
+
|
322
|
+
# HTTP header 'Accept' (if needed)
|
323
|
+
local_header_accept = ['application/json']
|
324
|
+
local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
|
325
|
+
|
326
|
+
# HTTP header 'Content-Type'
|
327
|
+
local_header_content_type = ['application/json']
|
328
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
|
329
|
+
|
330
|
+
# form parameters
|
331
|
+
form_params = {}
|
332
|
+
|
333
|
+
# http body (model)
|
334
|
+
post_body = nil
|
335
|
+
auth_names = ['Vericred-Api-Key']
|
336
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
337
|
+
:header_params => header_params,
|
338
|
+
:query_params => query_params,
|
339
|
+
:form_params => form_params,
|
340
|
+
:body => post_body,
|
341
|
+
:auth_names => auth_names,
|
342
|
+
:return_type => 'NetworkDetailsResponse')
|
343
|
+
if @api_client.config.debugging
|
344
|
+
@api_client.config.logger.debug "API called: NetworksApi#show_network\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
345
|
+
end
|
346
|
+
return data, status_code, headers
|
347
|
+
end
|
204
348
|
end
|
205
349
|
end
|
@@ -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
|
@@ -139,24 +226,26 @@ module VericredClient
|
|
139
226
|
end
|
140
227
|
|
141
228
|
# Find Plans
|
142
|
-
# ### Location Information Searching for a set of plans requires a `zip_code` and `fips_code` code. These are used to determine pricing and availabity of health plans. This endpoint is paginated. Optionally, you may provide a list of Applicants or Providers ### Applicants This is a list of people who will be covered by the plan. We use this list to calculate the premium. You must include `age` and can include `smoker`, which also factors into pricing in some states. Applicants *must* include an age. If smoker is omitted, its value is assumed to be false. #### Multiple Applicants To get pricing for multiple applicants, just append multiple sets of data to the URL with the age and smoking status of each applicant next to each other. For example, given two applicants - one age 32 and a non-smoker and one age 29 and a smoker, you could use the following request `GET /plans?zip_code=07451&fips_code=33025&applicants[][age]=32&applicants[][age]=29&applicants[][smoker]=true` It would also be acceptible to include `applicants[][smoker]=false` after the first applicant's age. ### Providers We identify Providers (Doctors) by their National Practitioner Index number (NPI). If you pass a list of Providers, keyed by their NPI number, we will return a list of which Providers are in and out of network for each plan returned. For example, if we had two providers with the NPI numbers `12345` and `23456` you would make the following request `GET /plans?zip_code=07451&fips_code=33025&providers[][npi]=12345&providers[][npi]=23456` ### Enrollment Date To calculate plan pricing and availability, we default to the current date as the enrollment date. To specify a date in the future (or the past), pass a string with the format `YYYY-MM-DD` in the `enrollment_date` parameter. `GET /plans?zip_code=07451&fips_code=33025&enrollment_date=2016-01-01` ### Subsidy On-marketplace plans are eligible for a subsidy based on the `household_size` and `household_income` of the applicants. If you pass those values, we will calculate the `subsidized_premium` and return it for each plan. If no values are provided, the `subsidized_premium` will be the same as the `premium` `GET /plans?zip_code=07451&fips_code=33025&household_size=4&household_income=40000` ### Sorting Plans can be sorted by the `premium`, `carrier_name`, `level`, and `plan_type` fields, by either ascending (as `asc`) or descending (as `dsc) sort under the `sort` field. For example, to sort plans by level, the sort parameter would be `level:asc`.
|
229
|
+
# ### Location Information Searching for a set of plans requires a `zip_code` and `fips_code` code. These are used to determine pricing and availabity of health plans. This endpoint is paginated. Optionally, you may provide a list of Applicants or Providers ### Applicants This is a list of people who will be covered by the plan. We use this list to calculate the premium. You must include `age` and can include `smoker`, which also factors into pricing in some states. Applicants *must* include an age. If smoker is omitted, its value is assumed to be false. #### Multiple Applicants To get pricing for multiple applicants, just append multiple sets of data to the URL with the age and smoking status of each applicant next to each other. For example, given two applicants - one age 32 and a non-smoker and one age 29 and a smoker, you could use the following request `GET /plans?zip_code=07451&fips_code=33025&applicants[][age]=32&applicants[][age]=29&applicants[][smoker]=true` It would also be acceptible to include `applicants[][smoker]=false` after the first applicant's age. ### Providers We identify Providers (Doctors) by their National Practitioner Index number (NPI). If you pass a list of Providers, keyed by their NPI number, we will return a list of which Providers are in and out of network for each plan returned. For example, if we had two providers with the NPI numbers `12345` and `23456` you would make the following request `GET /plans?zip_code=07451&fips_code=33025&providers[][npi]=12345&providers[][npi]=23456` ### Enrollment Date To calculate plan pricing and availability, we default to the current date as the enrollment date. To specify a date in the future (or the past), pass a string with the format `YYYY-MM-DD` in the `enrollment_date` parameter. `GET /plans?zip_code=07451&fips_code=33025&enrollment_date=2016-01-01` ### Subsidy On-marketplace plans are eligible for a subsidy based on the `household_size` and `household_income` of the applicants. If you pass those values, we will calculate the `subsidized_premium` and return it for each plan. If no values are provided, the `subsidized_premium` will be the same as the `premium` `GET /plans?zip_code=07451&fips_code=33025&household_size=4&household_income=40000` ### Sorting Plans can be sorted by the `premium`, `carrier_name`, `level`, and `plan_type` fields, by either ascending (as `asc`) or descending (as `dsc`) sort under the `sort` field. For example, to sort plans by level, the sort parameter would be `level:asc`. ### Drug coverages Are included along with the rest of the plan data. See [the description below](#drugcoverages) for more details.
|
230
|
+
# @param body
|
143
231
|
# @param [Hash] opts the optional parameters
|
144
|
-
# @option opts [RequestPlanFind] :body
|
145
232
|
# @return [PlanSearchResponse]
|
146
|
-
def find_plans(opts = {})
|
147
|
-
data, _status_code, _headers = find_plans_with_http_info(opts)
|
233
|
+
def find_plans(body, opts = {})
|
234
|
+
data, _status_code, _headers = find_plans_with_http_info(body, opts)
|
148
235
|
return data
|
149
236
|
end
|
150
237
|
|
151
238
|
# Find Plans
|
152
|
-
# ### Location Information Searching for a set of plans requires a `zip_code` and `fips_code` code. These are used to determine pricing and availabity of health plans. This endpoint is paginated. Optionally, you may provide a list of Applicants or Providers ### Applicants This is a list of people who will be covered by the plan. We use this list to calculate the premium. You must include `age` and can include `smoker`, which also factors into pricing in some states. Applicants *must* include an age. If smoker is omitted, its value is assumed to be false. #### Multiple Applicants To get pricing for multiple applicants, just append multiple sets of data to the URL with the age and smoking status of each applicant next to each other. For example, given two applicants - one age 32 and a non-smoker and one age 29 and a smoker, you could use the following request `GET /plans?zip_code=07451&fips_code=33025&applicants[][age]=32&applicants[][age]=29&applicants[][smoker]=true` It would also be acceptible to include `applicants[][smoker]=false` after the first applicant's age. ### Providers We identify Providers (Doctors) by their National Practitioner Index number (NPI). If you pass a list of Providers, keyed by their NPI number, we will return a list of which Providers are in and out of network for each plan returned. For example, if we had two providers with the NPI numbers `12345` and `23456` you would make the following request `GET /plans?zip_code=07451&fips_code=33025&providers[][npi]=12345&providers[][npi]=23456` ### Enrollment Date To calculate plan pricing and availability, we default to the current date as the enrollment date. To specify a date in the future (or the past), pass a string with the format `YYYY-MM-DD` in the `enrollment_date` parameter. `GET /plans?zip_code=07451&fips_code=33025&enrollment_date=2016-01-01` ### Subsidy On-marketplace plans are eligible for a subsidy based on the `household_size` and `household_income` of the applicants. If you pass those values, we will calculate the `subsidized_premium` and return it for each plan. If no values are provided, the `subsidized_premium` will be the same as the `premium` `GET /plans?zip_code=07451&fips_code=33025&household_size=4&household_income=40000` ### Sorting Plans can be sorted by the `premium`, `carrier_name`, `level`, and `plan_type` fields, by either ascending (as `asc`) or descending (as `dsc) sort under the `sort` field. For example, to sort plans by level, the sort parameter would be `level:asc`.
|
239
|
+
# ### Location Information Searching for a set of plans requires a `zip_code` and `fips_code` code. These are used to determine pricing and availabity of health plans. This endpoint is paginated. Optionally, you may provide a list of Applicants or Providers ### Applicants This is a list of people who will be covered by the plan. We use this list to calculate the premium. You must include `age` and can include `smoker`, which also factors into pricing in some states. Applicants *must* include an age. If smoker is omitted, its value is assumed to be false. #### Multiple Applicants To get pricing for multiple applicants, just append multiple sets of data to the URL with the age and smoking status of each applicant next to each other. For example, given two applicants - one age 32 and a non-smoker and one age 29 and a smoker, you could use the following request `GET /plans?zip_code=07451&fips_code=33025&applicants[][age]=32&applicants[][age]=29&applicants[][smoker]=true` It would also be acceptible to include `applicants[][smoker]=false` after the first applicant's age. ### Providers We identify Providers (Doctors) by their National Practitioner Index number (NPI). If you pass a list of Providers, keyed by their NPI number, we will return a list of which Providers are in and out of network for each plan returned. For example, if we had two providers with the NPI numbers `12345` and `23456` you would make the following request `GET /plans?zip_code=07451&fips_code=33025&providers[][npi]=12345&providers[][npi]=23456` ### Enrollment Date To calculate plan pricing and availability, we default to the current date as the enrollment date. To specify a date in the future (or the past), pass a string with the format `YYYY-MM-DD` in the `enrollment_date` parameter. `GET /plans?zip_code=07451&fips_code=33025&enrollment_date=2016-01-01` ### Subsidy On-marketplace plans are eligible for a subsidy based on the `household_size` and `household_income` of the applicants. If you pass those values, we will calculate the `subsidized_premium` and return it for each plan. If no values are provided, the `subsidized_premium` will be the same as the `premium` `GET /plans?zip_code=07451&fips_code=33025&household_size=4&household_income=40000` ### Sorting Plans can be sorted by the `premium`, `carrier_name`, `level`, and `plan_type` fields, by either ascending (as `asc`) or descending (as `dsc`) sort under the `sort` field. For example, to sort plans by level, the sort parameter would be `level:asc`. ### Drug coverages Are included along with the rest of the plan data. See [the description below](#drugcoverages) for more details.
|
240
|
+
# @param body
|
153
241
|
# @param [Hash] opts the optional parameters
|
154
|
-
# @option opts [RequestPlanFind] :body
|
155
242
|
# @return [Array<(PlanSearchResponse, Fixnum, Hash)>] PlanSearchResponse data, response status code and response headers
|
156
|
-
def find_plans_with_http_info(opts = {})
|
243
|
+
def find_plans_with_http_info(body, opts = {})
|
157
244
|
if @api_client.config.debugging
|
158
245
|
@api_client.config.logger.debug "Calling API: PlansApi.find_plans ..."
|
159
246
|
end
|
247
|
+
# verify the required parameter 'body' is set
|
248
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling PlansApi.find_plans" if body.nil?
|
160
249
|
# resource path
|
161
250
|
local_var_path = "/plans/search".sub('{format}','json')
|
162
251
|
|
@@ -178,7 +267,7 @@ module VericredClient
|
|
178
267
|
form_params = {}
|
179
268
|
|
180
269
|
# http body (model)
|
181
|
-
post_body = @api_client.object_to_http_body(
|
270
|
+
post_body = @api_client.object_to_http_body(body)
|
182
271
|
auth_names = ['Vericred-Api-Key']
|
183
272
|
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
184
273
|
:header_params => header_params,
|
@@ -194,26 +283,30 @@ module VericredClient
|
|
194
283
|
end
|
195
284
|
|
196
285
|
# Show Plan
|
197
|
-
# Show the details of an individual Plan. This includes deductibles, maximums out of pocket, and co-pay/coinsurance for benefits
|
286
|
+
# Show the details of an individual Plan. This includes deductibles, maximums out of pocket, and co-pay/coinsurance for benefits (See [Benefits summary format](#header-benefits-summary-format) above.)
|
287
|
+
# @param id ID of the Plan
|
198
288
|
# @param [Hash] opts the optional parameters
|
199
289
|
# @option opts [Integer] :year Plan year (defaults to current year)
|
200
290
|
# @return [PlanShowResponse]
|
201
|
-
def show_plan(opts = {})
|
202
|
-
data, _status_code, _headers = show_plan_with_http_info(opts)
|
291
|
+
def show_plan(id, opts = {})
|
292
|
+
data, _status_code, _headers = show_plan_with_http_info(id, opts)
|
203
293
|
return data
|
204
294
|
end
|
205
295
|
|
206
296
|
# Show Plan
|
207
|
-
# Show the details of an individual Plan. This includes deductibles, maximums out of pocket, and co-pay/coinsurance for benefits
|
297
|
+
# Show the details of an individual Plan. This includes deductibles, maximums out of pocket, and co-pay/coinsurance for benefits (See [Benefits summary format](#header-benefits-summary-format) above.)
|
298
|
+
# @param id ID of the Plan
|
208
299
|
# @param [Hash] opts the optional parameters
|
209
300
|
# @option opts [Integer] :year Plan year (defaults to current year)
|
210
301
|
# @return [Array<(PlanShowResponse, Fixnum, Hash)>] PlanShowResponse data, response status code and response headers
|
211
|
-
def show_plan_with_http_info(opts = {})
|
302
|
+
def show_plan_with_http_info(id, opts = {})
|
212
303
|
if @api_client.config.debugging
|
213
304
|
@api_client.config.logger.debug "Calling API: PlansApi.show_plan ..."
|
214
305
|
end
|
306
|
+
# verify the required parameter 'id' is set
|
307
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling PlansApi.show_plan" if id.nil?
|
215
308
|
# resource path
|
216
|
-
local_var_path = "/plans/{id}".sub('{format}','json')
|
309
|
+
local_var_path = "/plans/{id}".sub('{format}','json').sub('{' + 'id' + '}', id.to_s)
|
217
310
|
|
218
311
|
# query parameters
|
219
312
|
query_params = {}
|
@@ -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
|
@@ -202,24 +289,26 @@ module VericredClient
|
|
202
289
|
end
|
203
290
|
|
204
291
|
# Find Providers
|
205
|
-
#
|
292
|
+
# ### Provider Details All searches can take a `search_term`, which is used as a component in the score (and thus the ranking/order) of the results. This is combined with the proximity to the location in ranking results. For example, we would want \"Dr. John Smith\" who is 5 miles away from a given Zip Code to appear before \"Dr. John Smith\" who is 100 miles away. The weighting also allows for non-exact matches. In our prior example, we would want \"Dr. Jon Smith\" who is 2 miles away to appear before the exact match \"Dr. John Smith\" who is 100 miles away because it is more likely that the user just entered an incorrect name. The free text search also supports Specialty name search and \"body part\" Specialty name search. So, searching \"John Smith nose\" would return \"Dr. John Smith\", the ENT Specialist before \"Dr. John Smith\" the Internist. In addition, we can filter `Providers` by whether or not they accept *any* insurance. Our data set includes over 4 million `Providers`, some of whom do not accept any insurance at all. This filter makes it more likely that the user will find his or her practitioner in some cases. We can also use `min_score` to omit less relevant results. This makes sense in the case where your application wants to display *all* of the results returned regardless of how many there are. Otherwise, using our default `min_score` and pagination should be sufficient. ### Location Information All `Provider` searches that do *not* specify `plan_ids` or `network_ids`require some type of location information. We use this information either to weight results or to filter results, depending on the type. #### Zip Code When providing the `zip_code` parameter, we order the `Providers` returned based on their score, which incorporates their proximity to the given Zip Code and the closeness of match to the search text. If a `radius` is also provided, we filter out `Providers` who are outside of that radius from the center of the Zip Code provided #### Polygon When providing the `polygon` parameter, we filter providers who are outside the bounds of the shape provided. This is mutually exclusive with `zip_code` and `radius`. ### Plan/Network Information We can also filter based on `Plan` and `Network` participation. These filters are mutually exclusive and return the union of the resulting sets for each `Plan` or `Network`. I.e. if you provider Plan A and Plan B, you will receive `Providers` who accept *either* `Plan`. The same is true for `Networks`. ### Examples *Find Dr. Foo near Brooklyn* `{ \"search_term\": \"Foo\", \"zip_code\": \"11215\" }` *Find all Providers within 5 miles of Brooklyn who accept a Plan* `{ \"zip_code\": \"11215\", \"radius\": 5, \"hios_ids\": [\"88582NY0230001\"] }` *Find all providers on a map of Brooklyn ordered by a combination of proximity to the center point of the map and relevance to the search term \"ENT\"* ``` { \"polygon\": [ {\"lon\":-74.0126609802,\"lat\":40.6275684851 }, {\"lon\":-74.0126609802,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.6275684851 } ], \"search_term\" : \"ENT\" } ```
|
293
|
+
# @param body
|
206
294
|
# @param [Hash] opts the optional parameters
|
207
|
-
# @option opts [RequestProvidersSearch] :body
|
208
295
|
# @return [ProvidersSearchResponse]
|
209
|
-
def get_providers(opts = {})
|
210
|
-
data, _status_code, _headers = get_providers_with_http_info(opts)
|
296
|
+
def get_providers(body, opts = {})
|
297
|
+
data, _status_code, _headers = get_providers_with_http_info(body, opts)
|
211
298
|
return data
|
212
299
|
end
|
213
300
|
|
214
301
|
# Find Providers
|
215
|
-
#
|
302
|
+
# ### Provider Details All searches can take a `search_term`, which is used as a component in the score (and thus the ranking/order) of the results. This is combined with the proximity to the location in ranking results. For example, we would want \"Dr. John Smith\" who is 5 miles away from a given Zip Code to appear before \"Dr. John Smith\" who is 100 miles away. The weighting also allows for non-exact matches. In our prior example, we would want \"Dr. Jon Smith\" who is 2 miles away to appear before the exact match \"Dr. John Smith\" who is 100 miles away because it is more likely that the user just entered an incorrect name. The free text search also supports Specialty name search and \"body part\" Specialty name search. So, searching \"John Smith nose\" would return \"Dr. John Smith\", the ENT Specialist before \"Dr. John Smith\" the Internist. In addition, we can filter `Providers` by whether or not they accept *any* insurance. Our data set includes over 4 million `Providers`, some of whom do not accept any insurance at all. This filter makes it more likely that the user will find his or her practitioner in some cases. We can also use `min_score` to omit less relevant results. This makes sense in the case where your application wants to display *all* of the results returned regardless of how many there are. Otherwise, using our default `min_score` and pagination should be sufficient. ### Location Information All `Provider` searches that do *not* specify `plan_ids` or `network_ids`require some type of location information. We use this information either to weight results or to filter results, depending on the type. #### Zip Code When providing the `zip_code` parameter, we order the `Providers` returned based on their score, which incorporates their proximity to the given Zip Code and the closeness of match to the search text. If a `radius` is also provided, we filter out `Providers` who are outside of that radius from the center of the Zip Code provided #### Polygon When providing the `polygon` parameter, we filter providers who are outside the bounds of the shape provided. This is mutually exclusive with `zip_code` and `radius`. ### Plan/Network Information We can also filter based on `Plan` and `Network` participation. These filters are mutually exclusive and return the union of the resulting sets for each `Plan` or `Network`. I.e. if you provider Plan A and Plan B, you will receive `Providers` who accept *either* `Plan`. The same is true for `Networks`. ### Examples *Find Dr. Foo near Brooklyn* `{ \"search_term\": \"Foo\", \"zip_code\": \"11215\" }` *Find all Providers within 5 miles of Brooklyn who accept a Plan* `{ \"zip_code\": \"11215\", \"radius\": 5, \"hios_ids\": [\"88582NY0230001\"] }` *Find all providers on a map of Brooklyn ordered by a combination of proximity to the center point of the map and relevance to the search term \"ENT\"* ``` { \"polygon\": [ {\"lon\":-74.0126609802,\"lat\":40.6275684851 }, {\"lon\":-74.0126609802,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.6275684851 } ], \"search_term\" : \"ENT\" } ```
|
303
|
+
# @param body
|
216
304
|
# @param [Hash] opts the optional parameters
|
217
|
-
# @option opts [RequestProvidersSearch] :body
|
218
305
|
# @return [Array<(ProvidersSearchResponse, Fixnum, Hash)>] ProvidersSearchResponse data, response status code and response headers
|
219
|
-
def get_providers_with_http_info(opts = {})
|
306
|
+
def get_providers_with_http_info(body, opts = {})
|
220
307
|
if @api_client.config.debugging
|
221
308
|
@api_client.config.logger.debug "Calling API: ProvidersApi.get_providers ..."
|
222
309
|
end
|
310
|
+
# verify the required parameter 'body' is set
|
311
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling ProvidersApi.get_providers" if body.nil?
|
223
312
|
# resource path
|
224
313
|
local_var_path = "/providers/search".sub('{format}','json')
|
225
314
|
|
@@ -241,7 +330,7 @@ module VericredClient
|
|
241
330
|
form_params = {}
|
242
331
|
|
243
332
|
# http body (model)
|
244
|
-
post_body = @api_client.object_to_http_body(
|
333
|
+
post_body = @api_client.object_to_http_body(body)
|
245
334
|
auth_names = ['Vericred-Api-Key']
|
246
335
|
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
247
336
|
:header_params => header_params,
|
@@ -255,5 +344,62 @@ module VericredClient
|
|
255
344
|
end
|
256
345
|
return data, status_code, headers
|
257
346
|
end
|
347
|
+
|
348
|
+
# Find Providers
|
349
|
+
# ### Provider Details All searches can take a `search_term`, which is used as a component in the score (and thus the ranking/order) of the results. This is combined with the proximity to the location in ranking results. For example, we would want \"Dr. John Smith\" who is 5 miles away from a given Zip Code to appear before \"Dr. John Smith\" who is 100 miles away. The weighting also allows for non-exact matches. In our prior example, we would want \"Dr. Jon Smith\" who is 2 miles away to appear before the exact match \"Dr. John Smith\" who is 100 miles away because it is more likely that the user just entered an incorrect name. The free text search also supports Specialty name search and \"body part\" Specialty name search. So, searching \"John Smith nose\" would return \"Dr. John Smith\", the ENT Specialist before \"Dr. John Smith\" the Internist. In addition, we can filter `Providers` by whether or not they accept *any* insurance. Our data set includes over 4 million `Providers`, some of whom do not accept any insurance at all. This filter makes it more likely that the user will find his or her practitioner in some cases. We can also use `min_score` to omit less relevant results. This makes sense in the case where your application wants to display *all* of the results returned regardless of how many there are. Otherwise, using our default `min_score` and pagination should be sufficient. ### Location Information All `Provider` searches that do *not* specify `plan_ids` or `network_ids`require some type of location information. We use this information either to weight results or to filter results, depending on the type. #### Zip Code When providing the `zip_code` parameter, we order the `Providers` returned based on their score, which incorporates their proximity to the given Zip Code and the closeness of match to the search text. If a `radius` is also provided, we filter out `Providers` who are outside of that radius from the center of the Zip Code provided #### Polygon When providing the `polygon` parameter, we filter providers who are outside the bounds of the shape provided. This is mutually exclusive with `zip_code` and `radius`. ### Plan/Network Information We can also filter based on `Plan` and `Network` participation. These filters are mutually exclusive and return the union of the resulting sets for each `Plan` or `Network`. I.e. if you provider Plan A and Plan B, you will receive `Providers` who accept *either* `Plan`. The same is true for `Networks`. ### Examples *Find Dr. Foo near Brooklyn* `{ \"search_term\": \"Foo\", \"zip_code\": \"11215\" }` *Find all Providers within 5 miles of Brooklyn who accept a Plan* `{ \"zip_code\": \"11215\", \"radius\": 5, \"hios_ids\": [\"88582NY0230001\"] }` *Find all providers on a map of Brooklyn ordered by a combination of proximity to the center point of the map and relevance to the search term \"ENT\"* ``` { \"polygon\": [ {\"lon\":-74.0126609802,\"lat\":40.6275684851 }, {\"lon\":-74.0126609802,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.6275684851 } ], \"search_term\" : \"ENT\" } ```
|
350
|
+
# @param body
|
351
|
+
# @param [Hash] opts the optional parameters
|
352
|
+
# @return [ProvidersGeocodeResponse]
|
353
|
+
def get_providers_0(body, opts = {})
|
354
|
+
data, _status_code, _headers = get_providers_0_with_http_info(body, opts)
|
355
|
+
return data
|
356
|
+
end
|
357
|
+
|
358
|
+
# Find Providers
|
359
|
+
# ### Provider Details All searches can take a `search_term`, which is used as a component in the score (and thus the ranking/order) of the results. This is combined with the proximity to the location in ranking results. For example, we would want \"Dr. John Smith\" who is 5 miles away from a given Zip Code to appear before \"Dr. John Smith\" who is 100 miles away. The weighting also allows for non-exact matches. In our prior example, we would want \"Dr. Jon Smith\" who is 2 miles away to appear before the exact match \"Dr. John Smith\" who is 100 miles away because it is more likely that the user just entered an incorrect name. The free text search also supports Specialty name search and \"body part\" Specialty name search. So, searching \"John Smith nose\" would return \"Dr. John Smith\", the ENT Specialist before \"Dr. John Smith\" the Internist. In addition, we can filter `Providers` by whether or not they accept *any* insurance. Our data set includes over 4 million `Providers`, some of whom do not accept any insurance at all. This filter makes it more likely that the user will find his or her practitioner in some cases. We can also use `min_score` to omit less relevant results. This makes sense in the case where your application wants to display *all* of the results returned regardless of how many there are. Otherwise, using our default `min_score` and pagination should be sufficient. ### Location Information All `Provider` searches that do *not* specify `plan_ids` or `network_ids`require some type of location information. We use this information either to weight results or to filter results, depending on the type. #### Zip Code When providing the `zip_code` parameter, we order the `Providers` returned based on their score, which incorporates their proximity to the given Zip Code and the closeness of match to the search text. If a `radius` is also provided, we filter out `Providers` who are outside of that radius from the center of the Zip Code provided #### Polygon When providing the `polygon` parameter, we filter providers who are outside the bounds of the shape provided. This is mutually exclusive with `zip_code` and `radius`. ### Plan/Network Information We can also filter based on `Plan` and `Network` participation. These filters are mutually exclusive and return the union of the resulting sets for each `Plan` or `Network`. I.e. if you provider Plan A and Plan B, you will receive `Providers` who accept *either* `Plan`. The same is true for `Networks`. ### Examples *Find Dr. Foo near Brooklyn* `{ \"search_term\": \"Foo\", \"zip_code\": \"11215\" }` *Find all Providers within 5 miles of Brooklyn who accept a Plan* `{ \"zip_code\": \"11215\", \"radius\": 5, \"hios_ids\": [\"88582NY0230001\"] }` *Find all providers on a map of Brooklyn ordered by a combination of proximity to the center point of the map and relevance to the search term \"ENT\"* ``` { \"polygon\": [ {\"lon\":-74.0126609802,\"lat\":40.6275684851 }, {\"lon\":-74.0126609802,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.7097269508 }, {\"lon\":-73.9367866516,\"lat\":40.6275684851 } ], \"search_term\" : \"ENT\" } ```
|
360
|
+
# @param body
|
361
|
+
# @param [Hash] opts the optional parameters
|
362
|
+
# @return [Array<(ProvidersGeocodeResponse, Fixnum, Hash)>] ProvidersGeocodeResponse data, response status code and response headers
|
363
|
+
def get_providers_0_with_http_info(body, opts = {})
|
364
|
+
if @api_client.config.debugging
|
365
|
+
@api_client.config.logger.debug "Calling API: ProvidersApi.get_providers_0 ..."
|
366
|
+
end
|
367
|
+
# verify the required parameter 'body' is set
|
368
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling ProvidersApi.get_providers_0" if body.nil?
|
369
|
+
# resource path
|
370
|
+
local_var_path = "/providers/search/geocode".sub('{format}','json')
|
371
|
+
|
372
|
+
# query parameters
|
373
|
+
query_params = {}
|
374
|
+
|
375
|
+
# header parameters
|
376
|
+
header_params = {}
|
377
|
+
|
378
|
+
# HTTP header 'Accept' (if needed)
|
379
|
+
local_header_accept = []
|
380
|
+
local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
|
381
|
+
|
382
|
+
# HTTP header 'Content-Type'
|
383
|
+
local_header_content_type = []
|
384
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
|
385
|
+
|
386
|
+
# form parameters
|
387
|
+
form_params = {}
|
388
|
+
|
389
|
+
# http body (model)
|
390
|
+
post_body = @api_client.object_to_http_body(body)
|
391
|
+
auth_names = ['Vericred-Api-Key']
|
392
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
393
|
+
:header_params => header_params,
|
394
|
+
:query_params => query_params,
|
395
|
+
:form_params => form_params,
|
396
|
+
:body => post_body,
|
397
|
+
:auth_names => auth_names,
|
398
|
+
:return_type => 'ProvidersGeocodeResponse')
|
399
|
+
if @api_client.config.debugging
|
400
|
+
@api_client.config.logger.debug "API called: ProvidersApi#get_providers_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
401
|
+
end
|
402
|
+
return data, status_code, headers
|
403
|
+
end
|
258
404
|
end
|
259
405
|
end
|