openapi: 3.0.0 info: title: 'ribbon-health' description: 'An API for interacting with the data provided by Ribbon Health, including information about healthcare providers, locations, insurances, and more. ' contact: {} version: 1.0.0 x-codegen-settings: Nullify404: false GenerateAsyncCode: true UseMethodPrefix: false UseModelPostfix: false UseControllerPrefix: true UseEnumPostfix: true CollectParameters: false UseConstructorsForConfig: false UseCommonSDKLibrary: false iOSUseAppInfoPlist: false AndroidUseAppManifest: false BodySerialization: 0 EnableAdditionalModelProperties: false PreserveParameterOrder: true AppendContentHeaders: true iOSGenerateCoreData: false GenerateInterfaces: false NodeHttpClient: NODE_REQUEST ValidateRequiredParameters: false JavaUsePropertiesConfig: false Timeout: 0 StoreTimezoneInformation: false EnablePHPComposerVersionString: false EnableLogging: false ArraySerialization: Indexed ModelSerializationScheme: Json UseExceptionPrefix: true RunscopeEnabled: false AndroidHttpClient: ANDROID_OK ObjCHttpClient: UNIREST CSharpHttpClient: UNIREST PHPHttpClient: UNIREST JavaHttpClient: JAVA_OK ParameterArrayFormat: ParamArrayWithIndex SecurityProtocols: - Ssl3 - Tls GenerateTravisConfig: false GenerateCircleConfig: false GenerateAppveyorConfig: false GenerateJenkinsConfig: false EnableHttpCache: false Retries: 0 RetryInterval: 1 GenerateAdvancedDocs: true UnderscoreNumbers: true UseSingletonPattern: true DisableLinting: false ApplyCustomizations: [] SortResources: false AllowSkippingSSLCertVerification: false DoNotSplitWords: [] EnableGlobalUserAgent: true ReturnCompleteHttpResponse: false GenerateModels: true GenerateExceptions: true IgnoreIfNullJson: false DisableDocs: false LiftParameterDescriptionFromCustomType: false ThrowForHttpErrorStatusCodes: true ResponseMapping: Type: Simple ForceKeywordArgsInRuby: false SymbolizeHashKeysInRuby: false UsageExampleEndpoint: Description: '' EndpointGroupName: '' EndpointName: '' IsLatestVersion: false EnableImmutableModels: false GenerateEnums: true BackoffFactor: 2 StatusCodesToRetry: - 408 - 413 - 429 - 500 - 502 - 503 - 504 - 521 - 522 - 524 RequestMethodsToRetry: - GET - PUT UserConfigurableRetries: true UseEndpointMethodName: false EncodeTemplateParameters: true GenerateExamplesForOptionalFields: false MultitargetDotnetVersions: false BackoffMax: 0 RetryOnTimeout: true EnableCookies: false EnableJsonPassThroughForAny: false PascalCaseEnumForCSharp: false PascalCaseEnumForTypeScript: false DisableMultipleAuth: false AddSingleAuthDeprecatedCode: true EnableExperimentalTypeCombinatorGeneration: false ErrorTemplates: {} UseSecuritySchemeNameForSingleAuth: false EnableModelKeywordArgsInRuby: false NullifyEmptyResponses: false ExtendedAdditionalPropertiesSupport: false EnforceStandardizedCasing: false x-server-configuration: default-environment: production default-server: default environments: - name: production servers: - name: default url: https://api.ribbonhealth.com/v1 parameters: [] x-image-uri: '' servers: - url: https://api.ribbonhealth.com/v1 security: - BearerAuth: [] tags: - name: Providers description: '' - name: Filters description: '' - name: Locations description: '' - name: Reference Endpoints description: '' - name: Focus Area Endpoints description: '' - name: Organizations description: '' - name: TINs description: '' - name: Virtual Care Platforms description: '' - name: Price Transparency description: '' - name: Cost Estimates description: '' - name: Networks description: '' paths: /custom/providers: get: tags: - Providers summary: getCustomProviders description: Allows you to quickly list doctors based on important search criteria. operationId: getCustomProviders parameters: - name: page in: query description: The page number to return. required: false schema: type: integer example: 1 - name: page_size in: query description: Number of items per page. required: false schema: type: integer example: 25 - name: max_locations in: query description: Max number of locations returned per provider. required: false schema: type: integer example: 5 - name: fields in: query description: Comma-separated list of fields to include. required: false schema: type: string example: locations,age - name: _excl_fields in: query description: Comma-separated list of fields to exclude. required: false schema: type: string example: locations,age - name: npis in: query description: A comma-separated list of NPIs to filter on. required: false schema: type: string example: 1234567890 - name: name in: query description: "Provider\u2019s name or partial name to search." required: false schema: type: string example: Doe - name: provider_types in: query description: Comma-separated list of provider types to include. required: false schema: type: string example: Optometry - name: _excl_provider_types in: query description: Comma-separated list of provider types to exclude. required: false schema: type: string example: Optometry - name: gender in: query description: Filter providers by gender (e.g., 'm', 'f'). required: false schema: type: string example: m - name: max_age in: query description: Maximum provider age to include. required: false schema: type: integer example: 70 - name: min_age in: query description: Minimum provider age to include. required: false schema: type: integer example: 45 - name: language in: query description: "Provider\u2019s language (or comma-separated languages)." required: false schema: type: string example: English - name: _excl_language in: query description: Language(s) to exclude. required: false schema: type: string example: English - name: min_rating in: query description: Minimum star rating allowed. required: false schema: type: integer example: 6 - name: address in: query description: Free-text address to search. required: false schema: type: string example: New York, NY - name: location_ids in: query description: Comma-separated list of location IDs to include. required: false schema: type: string example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 - name: _excl_location_ids in: query description: Comma-separated list of location IDs to exclude. required: false schema: type: string example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 - name: location in: query description: A latitude,longitude pair for proximity searching. required: false schema: type: string example: 37.7489816,-122.4802092 - name: min_location_confidence in: query description: Minimum location confidence score to include. required: false schema: type: integer example: 3 - name: min_confidence in: query description: (Synonym to min_location_confidence, if used.) required: false schema: type: integer example: 3 - name: distance in: query description: Distance in miles from the given location. required: false schema: type: integer example: 10 - name: state in: query description: Two-letter US state code (e.g., "NY"). required: false schema: type: string example: NY - name: insurance_ids in: query description: Comma-separated insurance IDs to include. required: false schema: type: string example: e527f6e3-fe42-4932-bf34-d81f1c1fd652 - name: _excl_insurance_ids in: query description: Comma-separated insurance IDs to exclude. required: false schema: type: string example: e527f6e3-fe42-4932-bf34-d81f1c1fd652 - name: insurance_carrier_name in: query description: Filter providers by insurance carrier name. required: false schema: type: string example: Aetna - name: location_insurance_ids in: query description: Comma-separated insurance IDs applicable at certain locations. required: false schema: type: string example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 - name: _excl_location_insurance_ids in: query description: Comma-separated insurance IDs to exclude at locations. required: false schema: type: string example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 - name: national_bluecard in: query description: True if searching for BlueCard or national Blue network coverage. required: false schema: type: boolean example: true - name: specialty_ids in: query description: Comma-separated list of specialty IDs to include. required: false schema: type: string example: 1de33770-eb1c-47fa-ab3e-f9a4ab924d9d - name: _excl_specialty_ids in: query description: Comma-separated list of specialty IDs to exclude. required: false schema: type: string example: 1de33770-eb1c-47fa-ab3e-f9a4ab924d9d - name: specialty in: query description: Specialty name to include. required: false schema: type: string example: gastroenterology - name: specialty_ids_primary in: query description: Comma-separated list of primary specialty IDs to include. required: false schema: type: string example: 1de33770-eb1c-47fa-ab3e-f9a4ab924d9d - name: _excl_specialty_ids_primary in: query description: Comma-separated list of primary specialty IDs to exclude. required: false schema: type: string example: 1de33770-eb1c-47fa-ab3e-f9a4ab924d9d - name: specialty_primary in: query description: Primary specialty name to include. required: false schema: type: string example: gastroenterology - name: apply_specialty_grouping in: query description: Whether to group related specialties automatically. required: false schema: type: boolean example: false - name: procedure_ids in: query description: Comma-separated list of procedure IDs to include. required: false schema: type: string example: 9f3fd9e8-96b0-4cc7-ab2c-8d538e9164ae - name: _excl_procedure_ids in: query description: Comma-separated list of procedure IDs to exclude. required: false schema: type: string example: 9f3fd9e8-96b0-4cc7-ab2c-8d538e9164ae - name: procedure in: query description: Procedure name to include. required: false schema: type: string example: MRI, thoracic spine - name: min_experience_index in: query description: Minimum experience index of providers for the given procedure. required: false schema: type: integer example: 4 - name: max_cost_index in: query description: Maximum allowed cost index for the given procedure. required: false schema: type: integer example: 4 - name: clinical_area in: query description: Name of the clinical area to filter on. required: false schema: type: string example: Mental Health - name: clinical_area_ids in: query description: Comma-separated clinical area IDs to include. required: false schema: type: string example: a7da792c-fae3-4b46-bab7-220e0c54e376 - name: _excl_clinical_area_ids in: query description: Comma-separated clinical area IDs to exclude. required: false schema: type: string example: a7da792c-fae3-4b46-bab7-220e0c54e376 - name: condition in: query description: Name of the condition to filter on. required: false schema: type: string example: depression - name: condition_ids in: query description: Comma-separated condition IDs to include. required: false schema: type: string example: fd7c10f3-fbec-482a-929b-be94a8bb3bc1 - name: _excl_condition_ids in: query description: Comma-separated condition IDs to exclude. required: false schema: type: string example: fd7c10f3-fbec-482a-929b-be94a8bb3bc1 - name: treatment in: query description: Treatment name to filter on. required: false schema: type: string example: Psychological Therapy - name: treatment_ids in: query description: Comma-separated treatment IDs to include. required: false schema: type: string example: 11016779-e286-4b17-bd45-2d78660a9f28 - name: _excl_treatment_ids in: query description: Comma-separated treatment IDs to exclude. required: false schema: type: string example: 11016779-e286-4b17-bd45-2d78660a9f28 - name: panel_ages in: query description: Comma-separated age panels to include. required: false schema: type: string enum: - Pediatric (0-12) - Adolescent (13-21) - Adult (22-44) - Adult (45-64) - Senior (65 and over) - name: _excl_panel_ages in: query description: Comma-separated age panels to exclude. required: false schema: type: string enum: - Pediatric (0-12) - Adolescent (13-21) - Adult (22-44) - Adult (45-64) - Senior (65 and over) - name: panel_sexes in: query description: Filter for sexes or gender categories (e.g., 'Primarily female'). required: false schema: type: string enum: - Both female and male - Primarily female - Primarily male example: Primarily female - name: min_outcomes_index in: query description: Minimal acceptable outcomes score/index. required: false schema: type: integer example: 5 - name: min_efficiency_index in: query description: Minimal acceptable efficiency score/index. required: false schema: type: integer example: 5 - name: max_unit_cost_index in: query description: Maximum allowable unit cost index. required: false schema: type: integer example: 10 - name: max_ribbon_cost_score in: query description: Maximum allowable "ribbon" cost score. required: false schema: type: integer example: 10 - name: location_organization_ids in: query description: Comma-separated organization IDs for location matching. required: false schema: type: string example: 497a1ac1-52cc-43a9-b796-844dabde10fc - name: _excl_location_organization_ids in: query description: Comma-separated organization IDs to exclude. required: false schema: type: string example: 497a1ac1-52cc-43a9-b796-844dabde10fc - name: tin_ids in: query description: Comma-separated TIN IDs to include. required: false schema: type: string example: '123456789' - name: tin_name in: query description: TIN name or partial name to include. required: false schema: type: string example: Acme TIN - name: tin_legal_name in: query description: TIN's legal name to include. required: false schema: type: string example: Acme Legal TIN responses: '200': description: Returns an ordered list of matching providers content: application/json: schema: required: - data - parameters type: object properties: parameters: type: object properties: total_count: type: integer description: The total number of results matched, across all pages. format: int32 example: 141 sort_by: type: string description: The main criteria used to sort results in the record set. example: distance geo: type: object properties: latitude: type: number description: The latitude the search was focused on. example: 40.7351327 longitude: type: number description: The longitude the search was focused on. example: -73.9881657 page: type: integer description: The page of the results which was returned. format: int32 example: 1 page_size: type: integer description: How many results are in each page. format: int32 example: 25 max_locations: type: integer description: The maximum number of locations attached to any given provider. Defaults to 5 (not shown if unspecified). format: int32 example: 5 fields: type: array description: 'List of fields within the provider object to return. Can be used to greatly reduce the size of the response by requesting only data you intend to use. Cannot be used in tandem with `_excl_fields`' example: - locations - age items: type: string _excl_fields: type: array description: List of fields within the provider object to exclude from the response. Can be used to greatly reduce the size of the response by requesting only data you intend to use. example: - locations - age items: type: string npis: type: array description: 'List of desired NPIs (i.e. use this to search for 5 specific doctors). Note: This parameter cannot be used in combination with any other parameters. All other parameters will be ignored.' example: - 1234567890 items: type: string name: type: string description: String input of a full, first, last, or partial name. example: Doe provider_types: type: array description: 'The ''types'' of providers you searched for. Provider types are higher level groupings of specialties. Here are a few key provider types: - Doctor - Nursing - Dental Providers - Optometry - Chiropractic Providers See the Specialties Reference Endpoint for a list of all specialties and their provider types.' example: - Optometry items: type: string gender: type: string description: String input of either m or f to filter to only medical providers of the inputted gender. example: m enum: - m - f x-enum-elements: - name: m description: '' - name: f description: '' max_age: type: integer description: Integer input (i.e. 50) to filter to only medical providers under the inputted age. format: int32 example: 70 min_age: type: integer description: Integer input (i.e. 50) to filter to only medical providers above the inputted age. format: int32 example: 45 language: type: object properties: results: type: array description: The languages that matched the given `language` parameter items: type: string value: type: string example: English description: {} min_rating: maximum: 10 minimum: 0 type: integer description: Integer input (from 0 to 10) to filter to only providers above the inputted value for the ratings_avg field. format: int32 example: 6 address: type: string description: String input of an address that will be interpreted and geocoded in real time. example: New York, NY location_ids: type: array description: List of desired practice location uuids. See all providers who see patients at any of the given practice locations. example: - 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 items: type: string format: uuid min_location_confidence: maximum: 5 minimum: 0 type: integer description: 'Integer input (0-5) of the minimum confidence threshold for returned provider locations. min_location_confidence=3 will only display providers'' locations that have a confidence 3 or higher. If a provider has a 5 locations, one of which is greater than 3, only the high confidence location will be included in the returned JSON output. Note: when this parameter is in use, the maximum number of records accessible is 1000 (i.e. if you maintain the default page_size of 25, the last page that can be paginated to is 40)' format: int32 example: 3 min_confidence: maximum: 5 minimum: 0 type: integer description: Integer input (0-5) of the minimum confidence location you wish the returned providers to have (i.e. min_confidence=4 will only display providers who have a location with confidence 4 or higher). This is a more performant but 'simpler' version of `min_location_confidence` parameter. format: int32 example: 3 distance: type: integer description: "The proximity radius of providers returned.\n\ \n Note: When using `min_location_confidence` and `location_insurance_ids`\ \ parameters, limit `distance` to be less than 50 miles\ \ to ensure high quality results." format: int32 example: 10 state: type: string description: Two-letter state abbreviation of provider locations to filter to. Note that this parameter will override `address` and `location` parameters if used together. example: NY insurance_ids: type: array description: List of desired insurance uuids. See all providers who accept a given insurance(s). example: - e527f6e3-fe42-4932-bf34-d81f1c1fd652 items: type: string format: uuid insurance_carrier_name: type: string description: 'String input of carrier_name in order to search for all providers that take at least one plan from a given insurance carrier. Find the individual valid carrier_name values from the insurance objects returned in the Insurances Reference Endpoint. Note: This input must be an exact string match to work' example: Aetna location_insurance_ids: type: array description: 'List of desired insurance uuids. See all provider locations that accept a given insurance(s). Note, this parameter cannot be combined with `insurance_ids` to filter on provider insurances and provider location insurances.' example: - 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 items: type: string format: uuid national_bluecard: type: boolean description: Boolean input that enables an API search to automatically default to the National BlueCard EPO/PPO Network whenever a member searches for out-of-state, in-network care and is covered by a BCBS Association PPO insurance plan. Use the parameter in conjunction with the address parameter and either the insurance_ids or insurance fuzzy search parameters. Defaults to true unless otherwise specified. example: true specialty_ids: type: array description: 'List of desired specialty uuids. See all providers who specialize in the given specialties. Cannot be used in tandem with `specialty_ids_primary` or `specialty_primary`.' example: - 1de33770-eb1c-47fa-ab3e-f9a4ab924d9d items: type: string format: uuid specialty: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true specialty_ids_primary: type: array description: 'List of specialty uuids. See all providers whose primary specialties are in the given specialties. Cannot be used in tandem with `specialty_ids` or `specialty`.' example: - 1de33770-eb1c-47fa-ab3e-f9a4ab924d9d items: type: string format: uuid primary_specialty: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true apply_specialty_grouping: type: boolean description: 'Boolean input that enables an API search to automatically default to apply the inclusions and exclusions logic for grouping relevant specialties when using the `specialty` or `specialty_primary` parameter. Defaults to `true`. For details, please read [our guide on searching by specialties](https://ribbon.readme.io/docs/search-for-specialties).' example: false procedure_ids: type: array description: Comma separated list of desired procedure uuids. Filter to only providers who perform the given procedure. example: - 9f3fd9e8-96b0-4cc7-ab2c-8d538e9164ae items: type: string format: uuid procedure: type: object properties: uuid: type: string description: A UUID uniquely identifying this procedure format: uuid example: 0a9a245f-2f52-4cc0-a5c3-77a811acc6f7 display: type: string example: MRI, arm procedure_code_count: type: integer format: int32 example: 7 procedure_codes: type: array description: '' items: type: object properties: code: type: string example: '73222' type: type: string example: CPT description: type: string example: MRI, arm min_experience_index: description: 'Float input of the minimum experience index for procedures. min_experience_index=4 will only return providers that have an experience index of 4 or higher for at least one of the given procedure uuids. Note: This parameter must be used with `procedure_ids`.' example: 4 max_cost_index: description: 'Float input of the maximum cost index for procedures. max_cost_index=4 will only return providers that have a cost index of 4 or less for at least one of the given procedure uuids. Note: This parameter must be used with `procedure_ids`.' example: 4 clinical_area: type: string description: 'String input that is fuzzy matched to the most relevant `clinical_area.display` field. Only a single clinical area will be selected. Returns all providers with this clinical area.' example: Mental Health clinical_area_ids: type: object properties: uuid: type: string description: A UUID uniquely identifying this clinical area format: uuid example: f352b596-dfb0-494f-9a03-224794f5d182 display: type: string example: Substance Disorders (e.g. Opioid, Cocaine, Alcohol) types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' conditions: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this condition format: uuid example: 99f4762e-c4c2-4d1d-983a-2b8b303e691d display: type: string example: Chronic Depression types: type: array description: '' items: type: string enum: - focus_areas - condition_cost_estimate x-enum-elements: - name: focus_areas description: '' - name: condition_cost_estimate description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true modules: type: array description: '' items: type: string treatments: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true condition: type: object properties: uuid: type: string description: A UUID uniquely identifying this condition format: uuid example: 99f4762e-c4c2-4d1d-983a-2b8b303e691d display: type: string example: Chronic Depression types: type: array description: '' items: type: string enum: - focus_areas - condition_cost_estimate x-enum-elements: - name: focus_areas description: '' - name: condition_cost_estimate description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true modules: type: array description: '' items: type: string condition_ids: type: array description: 'List of desired condition ids. Returns all providers with a `conditions.uuid` field exactly matching any of the entered IDs. (Note: Use the `/conditions/` reference endpoint to identify relevant IDs)' example: - fd7c10f3-fbec-482a-929b-be94a8bb3bc1 items: type: string format: uuid treatment: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true treatment_ids: type: array description: 'List of desired treatment ids. Returns all providers with a `treatments.uuid` field exactly matching any of the entered IDs. (Note: Use the /treatments/ reference endpoint (docs) to identify relevant IDs)' example: - 11016779-e286-4b17-bd45-2d78660a9f28 items: type: string format: uuid panel_ages: type: array description: "List of desired panel ages strings." items: type: string enum: - Pediatric (0-12) - Adolescent (13-21) - Adult (22-44) - Adult (45-64) - Senior (65 and over) panel_sexes: type: string enum: - Both female and male - Primarily female - Primarily male description: "Desired Panel Sexes string. Options are:\n\n\ \ `Both female and male`\n `Primarily female`\n `Primarily\ \ male`\n\nReturns all providers with a panel sexes label\ \ field exactly matching the entered string." example: Primarily female min_outcomes_index: maximum: 5 minimum: 1 type: integer description: 'Accepts a single integer input between 1 and 5. Returns providers with an aggregate Outcomes Quality score (field: `performance.aggregate.quality.outcomes_index`) greater than or equal to the entered parameter.' format: int32 min_efficiency_index: maximum: 5 minimum: 1 type: integer description: 'Accepts a single integer input between 1 and 5. Returns providers with an aggregate Cost Efficiency score (field: `performance.aggregate.cost.efficiency_index`) greater than or equal to the entered parameter.' format: int32 max_unit_cost_index: maximum: 10 minimum: 1 type: integer description: 'Accepts a single integer input between 1 and 10. Returns providers with an aggregate Unit Cost Index score (field: `performance.aggregate.cost.unit_cost_index`) less than or equal to the entered parameter.' format: int32 max_ribbon_cost_score: maximum: 10 minimum: 1 type: integer description: 'Accepts a single integer input between 1 and 10. Returns providers with an aggregate Ribbon Cost Score (field: `performance.aggregate.cost.ribbon_cost_score`) less than or equal to the entered parameter. Note: this search parameter is only available to customers that have purchased our Cost and Quality data.' format: int32 location_organization_ids: type: array description: 'List of desired organization uuids. Filters to only providers who have the given organization uuid(s) listed in the `provider.organizations` field. Using this parameter will also filter the `provider.locations` returned in order to only surface `provider.locations` that have the given organization(s) in the `provider.locations.organizations` field.' example: - 497a1ac1-52cc-43a9-b796-844dabde10fc items: type: string format: uuid tin_ids: type: string description: List of desired TINs. tin_name: type: string tin_legal_name: type: string inclusions: type: object properties: specialty_ids: type: array description: A list of specialty IDs included in the search based on the fuzzy-matched `specialty` parameter. example: - ec41ff31-571d-422e-a8b5-806bed6a6c04 items: type: string format: uuid specialty_ids_primary: type: array description: A list of primary specialty IDs included in the search based on the fuzzy-matched `specialty_primary` parameter. example: - ec41ff31-571d-422e-a8b5-806bed6a6c04 items: type: string format: uuid exclusions: type: object properties: provider_types: type: array description: List of 'types' of providers excluded. Excludes any providers with a matching provider type. example: - Optometry items: type: string insurance_ids: type: array description: List of insurance uuids excluded. Excludes any providers who accept a given insurance(s). example: - e527f6e3-fe42-4932-bf34-d81f1c1fd652 items: type: string format: uuid location_insurance_ids: type: array description: List of insurance uuids excluded. Excludes any provider locations that accept a given insurance(s). example: - 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 items: type: string format: uuid location_ids: type: array description: List of practice location uuids to exclude. Excludes providers who see patients at any of the given practice locations. example: - 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 items: type: string format: uuid location_organization_ids: type: array description: List of organization uuids to exclude. Excludes providers who have the given organization uuid(s) listed in the `provider.organizations` field. example: - 497a1ac1-52cc-43a9-b796-844dabde10fc items: type: string format: uuid specialty_ids: type: array description: A list of specialty IDs excluded from the search. This can be the result of using `_excl_specialty_ids` or exclusions based on the fuzzy-matched `specialty` parameter. example: - ec41ff31-571d-422e-a8b5-806bed6a6c04 items: type: string format: uuid specialty_ids_primary: type: array description: A list of primary specialty IDs excluded from the search. This can be the result of using `_excl_specialty_ids_primary` or exclusions based on the fuzzy-matched `specialty_primary` parameter. example: - ec41ff31-571d-422e-a8b5-806bed6a6c04 items: type: string format: uuid procedure_ids: type: array description: Comma separated list of procedure uuids to exclude. Exclude providers who perform the given procedure. example: - 9f3fd9e8-96b0-4cc7-ab2c-8d538e9164ae items: type: string format: uuid language: type: object properties: value: type: string example: english results: type: array description: '' example: - english items: type: string description: Fuzzy search based on a string input (i.e. English) to exclude medical providers providers who speak / whose office staff speak the inputted language. data: type: array description: '' items: type: object properties: npi: pattern: ^\d{10}$ type: string description: The healthcare provider's 10-digit National Provider Identifier (NPI) example: '1861664294' first_name: type: string description: First name of the provider example: Jane middle_name: type: string description: Middle name of the provider nullable: true example: J last_name: type: string description: Last name of the provider example: Doe age: type: integer description: The estimated age of the provider format: int32 nullable: true example: 38 gender: type: string description: The gender of the provider enum: - m - f x-enum-elements: - name: m description: '' - name: f description: '' ratings_count: type: integer description: Total number of ratings collected across different sources format: int32 example: 20 ratings_avg: type: number description: Average patient satisfaction rating out of 10 points across multiple sources nullable: true example: 9.8 degrees: type: array description: Lists all degrees associated with this provider (e.g. MD, OD, PhD) items: type: string specialties: type: array description: This lists all the specialties for a given provider items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true languages: type: array description: List of confirmed languages spoken items: type: string educations: type: array description: List of the schools attended by the provider items: required: - education - type - year type: object properties: education: type: object properties: name: type: string example: Stritch School of Medicine uuid: type: string format: uuid example: 0b26c31a-d74a-4327-9702-57753b82a126 type: type: string nullable: true year: type: integer format: int32 nullable: true example: 2007 insurances: type: array description: List of insurances the provider accepts items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string provider_types: type: array description: There are high level classifications for different provider types -- e.g. "Doctor", "Optometry", "Dental Providers", "Nursing", etc. items: type: string locations: type: array description: List of all locations this provider is known to practice at including any known phone numbers at these locations items: type: object properties: uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances the accepted at this location items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. distance: type: number description: This location's distance from the center of a geographic search, in miles. example: 0.4 online_profiles: type: array description: We aggregate profiles across a variety of different online sources, including booking platforms items: type: object properties: url: type: string '400': description: The search could not be completed as requested content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/providers expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomProviders x-testDescription: 'Allows you to quickly list doctors based on important search criteria. ' /custom/providers/{npi}: get: tags: - Providers summary: getCustomProvider description: 'Retrieve detailed information for any provider given their NPI, such as locations, contact information, education, patient satisfaction, etc. ' operationId: getCustomProvider parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: max_insurances in: query description: If provided, returns only up to this many insurances per provider. Useful to limit the amount of data returned when you do not need the entire list of accepted insurances. required: false style: form explode: true schema: type: integer format: int32 example: 50 responses: '200': description: Returns a single provider content: application/json: schema: type: object properties: npi: pattern: ^\d{10}$ type: string description: The healthcare provider's 10-digit National Provider Identifier (NPI) example: '1861664294' first_name: type: string description: First name of the provider example: Jane middle_name: type: string description: Middle name of the provider nullable: true example: J last_name: type: string description: Last name of the provider example: Doe age: type: integer description: The estimated age of the provider format: int32 nullable: true example: 38 gender: type: string description: The gender of the provider enum: - m - f x-enum-elements: - name: m description: '' - name: f description: '' ratings_count: type: integer description: Total number of ratings collected across different sources format: int32 example: 20 ratings_avg: type: number description: Average patient satisfaction rating out of 10 points across multiple sources nullable: true example: 9.8 degrees: type: array description: Lists all degrees associated with this provider (e.g. MD, OD, PhD) items: type: string specialties: type: array description: This lists all the specialties for a given provider items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true languages: type: array description: List of confirmed languages spoken items: type: string educations: type: array description: List of the schools attended by the provider items: required: - education - type - year type: object properties: education: type: object properties: name: type: string example: Stritch School of Medicine uuid: type: string format: uuid example: 0b26c31a-d74a-4327-9702-57753b82a126 type: type: string nullable: true year: type: integer format: int32 nullable: true example: 2007 insurances: type: array description: List of insurances the provider accepts items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string provider_types: type: array description: There are high level classifications for different provider types -- e.g. "Doctor", "Optometry", "Dental Providers", "Nursing", etc. items: type: string locations: type: array description: List of all locations this provider is known to practice at including any known phone numbers at these locations items: type: object properties: uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances the accepted at this location items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. online_profiles: type: array description: We aggregate profiles across a variety of different online sources, including booking platforms items: type: object properties: url: type: string '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/providers/1861664294?max_insurances=50 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomProvider x-testDescription: 'Retrieve detailed information for any provider given their NPI, such as locations, contact information, education, patient satisfaction, etc. ' put: tags: - Providers summary: putCustomProvider description: 'Edit all fields that do not fall under `specialties`, `locations`, or `insurances`. You may also add new fields or remove existing fields. #### Looking For The Old Documentation? We''re in the process of revamping our documentation. You can find the old page for this endpoint [here](https://ribbon.readme.io/docs/add-or-edit-provider-fields-old). ' operationId: putCustomProvider parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: remove_fields: type: array description: An optional list of custom fields name to remove. items: type: string additionalProperties: oneOf: - type: string - type: integer format: int32 - type: boolean - nullable: true x-is-dynamic: true description: A JSON object mapping the name of the field to update to its new value required: true responses: '200': description: The specified fields were successfully updated or added content: application/json: schema: required: - data type: object properties: data: type: object properties: remove_fields: type: array description: An optional list of custom fields name to remove. items: type: string additionalProperties: oneOf: - type: string - type: integer format: int32 - type: boolean - nullable: true x-is-dynamic: true '400': description: This request attempted to update fields which cannot be customized or attempted to set a provider_type value which does not exist. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/locations: put: tags: - Providers summary: putCustomProviderLocations description: 'Add or remove locations a provider practices at using our standard location UUIDs. ' operationId: putCustomProviderLocations parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' requestBody: description: A set of instructions for how to update the provider's locations. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the provider's locations. required: true responses: '200': description: The locations list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/locations/{location_uuid}: put: tags: - Providers summary: putCustomProviderLocation description: 'Edit all fields that do not fall under `uuid`, `google_maps_link`, `latitude`, or `longitude`. You may also add new fields or remove existing fields. These updates are provider-specific and will not affect other providers practicing at the same location. ' operationId: putCustomProviderLocation parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: remove_fields: type: array description: An optional list of custom fields name to remove. items: type: string additionalProperties: oneOf: - type: string - type: integer format: int32 - type: boolean - nullable: true x-is-dynamic: true description: A JSON object mapping the name of the field to update to its new value required: true responses: '200': description: The location was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: remove_fields: type: array description: An optional list of custom fields name to remove. items: type: string additionalProperties: oneOf: - type: string - type: integer format: int32 - type: boolean - nullable: true x-is-dynamic: true '400': description: This request attempted to use fields which are not supported. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI or location cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/specialties: put: tags: - Providers summary: putCustomProviderSpecialties description: 'Add or remove specialties for a provider using our standard specialty UUIDs. ' operationId: putCustomProviderSpecialties parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' requestBody: description: A set of instructions for how to update the provider's specialties. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid is_primary: type: boolean description: 'Whether or not these specialties are the provider''s primary specialties. When not provided, defaults to `false`. Not supported in combination with `remove`.' example: false description: A set of instructions for how to update the provider's specialties. required: true responses: '200': description: The specialties list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid is_primary: type: boolean description: 'Whether or not these specialties are the provider''s primary specialties. When not provided, defaults to `false`. Not supported in combination with `remove`.' example: false '400': description: This request attempted to use fields which are not supported or use items that are not valid UUIDs. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/specialties/{specialty_uuid}: put: tags: - Providers summary: putCustomProviderPrimarySpecialties description: 'Edit whether a single specialty is one of the provider''s primary specialties. ' operationId: putCustomProviderPrimarySpecialties parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: specialty_uuid in: path description: The UUID of the target specialty. required: true style: simple explode: false schema: type: string format: uuid example: a77d23ba-29f1-4afd-a0c4-62d2f0444cf7 requestBody: description: Whether or not this specialty is a primary specialty. content: application/json: schema: required: - is_primary type: object properties: is_primary: type: boolean description: Whether or not this specialty is one of the provider's primary specialties. example: false description: Whether or not this specialty is a primary specialty. required: true responses: '200': description: The specialty was successfully modified. content: application/json: schema: required: - data type: object properties: data: required: - is_primary type: object properties: is_primary: type: boolean description: Whether or not this specialty is one of the provider's primary specialties. example: false '400': description: This request attempted to use fields which are not supported. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI or specialty cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/procedures: put: tags: - Providers summary: putCustomProviderProcedures description: 'Add or remove procedures for a provider using our standard procedure UUIDs. ' operationId: putCustomProviderProcedures parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' requestBody: description: A set of instructions for how to update the provider's procedures. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the provider's procedures. required: true responses: '200': description: The procedures list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported or use items that are not valid UUIDs. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/clinical_areas: put: tags: - Providers summary: putCustomProviderClinicalAreas description: 'Add or remove clinical areas for a provider using our standard clinical area UUIDs. ' operationId: putCustomProviderClinicalAreas parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' requestBody: description: A set of instructions for how to update the provider's clinical areas. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the provider's clinical areas. required: true responses: '200': description: The clinical areas list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported or use items that are not valid UUIDs. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/locations/{location_uuid}/insurances: put: tags: - Providers summary: putCustomProviderLocationInsurances description: 'Add or remove insurances accepted by a provider at a specific location using our standard insurance UUIDs. ' operationId: putCustomProviderLocationInsurances parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 requestBody: description: A set of instructions for how to update the provider's insurances at this location. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the provider's insurances at this location. required: true responses: '200': description: The insurances list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported or use items that are not valid UUIDs. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI or location UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/{npi}/locations/{location_uuid}/organizations: put: tags: - Providers summary: putCustomProviderLocationOrganizations description: 'Add or remove organizations accepted by a provider at a specific location using our standard organization UUIDs. ' operationId: putCustomProviderLocationOrganizations parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 requestBody: description: A set of instructions for how to update the provider's organizations at this location. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the provider's organizations at this location. required: true responses: '200': description: The organizations list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this provider's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this provider's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this provider''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported or use items that are not valid UUIDs. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Trial accounts do not have access to custom provider directories content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given NPI or location UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/filters: get: tags: - Filters summary: getCustomProviderFilters description: 'Fetch all previously created filters for providers. ' operationId: getCustomProviderFilters parameters: [] responses: '200': description: Returns a list of provider filters content: application/json: schema: required: - data type: object properties: data: type: array description: '' items: required: - filter - uuid type: object properties: uuid: type: string description: A UUID uniquely identifying this filter format: uuid example: 9da04268-65e4-4422-a095-98208695b8b9 filter: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur\ \ between the value passed into this filter and the\ \ field specified in the `field` parameter\n\nNote\ \ that `boost` filters have several limitations:\n\ - A Boost Filter cannot use the following `value_type`s:\ \ `float`\n- If a Boost Filter's `field` targets something\ \ that is within a list of objects, such as \u2018\ educations.education.name\u2019, we will not reorder\ \ the list to bring these items to the front. We will\ \ merely boost records where there is an entry in\ \ the list that matches the filter, wherever it is.\n\ \ - There is one exception to this: `locations`.\ \ If you search for a provider and boost fields nested\ \ within the `locations` list, we will reorder the\ \ locations to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/providers/filters expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomProviderFilters x-testDescription: 'Fetch all previously created filters for providers. ' post: tags: - Filters summary: createCustomProviderFilter description: "Create new filters to be used when searching for providers in\ \ the [Search Providers](./getcustomproviders) endpoint. \nYou can create\ \ filters for both Ribbon's existing data fields as well as any custom data\ \ fields you create.\n\n#### Example Use Case:\nLet's say you add a new field\ \ to a bunch of providers that match your use case, for instance `c_section_rate`.\ \ You could make this field searchable so that your search through [Search\ \ Providers](./getcustomproviders) when you pass through a certain parameter\ \ that specifies a maximum threshold.\n" operationId: createCustomProviderFilter parameters: [] requestBody: description: The new filter to create content: application/json: schema: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur between the\ \ value passed into this filter and the field specified in the\ \ `field` parameter\n\nNote that `boost` filters have several\ \ limitations:\n- A Boost Filter cannot use the following `value_type`s:\ \ `float`\n- If a Boost Filter's `field` targets something that\ \ is within a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items to the front.\ \ We will merely boost records where there is an entry in the\ \ list that matches the filter, wherever it is.\n - There is\ \ one exception to this: `locations`. If you search for a provider\ \ and boost fields nested within the `locations` list, we will\ \ reorder the locations to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' description: The new filter to create required: true responses: '201': description: The specified filter was successfully created content: application/json: schema: required: - data type: object properties: data: required: - filter - uuid type: object properties: uuid: type: string description: A UUID uniquely identifying this filter format: uuid example: 9da04268-65e4-4422-a095-98208695b8b9 filter: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur between\ \ the value passed into this filter and the field specified\ \ in the `field` parameter\n\nNote that `boost` filters\ \ have several limitations:\n- A Boost Filter cannot\ \ use the following `value_type`s: `float`\n- If a Boost\ \ Filter's `field` targets something that is within\ \ a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items\ \ to the front. We will merely boost records where there\ \ is an entry in the list that matches the filter, wherever\ \ it is.\n - There is one exception to this: `locations`.\ \ If you search for a provider and boost fields nested\ \ within the `locations` list, we will reorder the locations\ \ to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' '400': description: The filter you attempted to create was malformed content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '409': description: A filter with the given `parameter` name already exists content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/providers/filters/{filter_uuid}: put: tags: - Filters summary: editCustomProviderFilter description: 'Edit any of the fields in a custom provider filter you have already created. ' operationId: editCustomProviderFilter parameters: - name: filter_uuid in: path description: The UUID of the filter you want to edit. required: true style: simple explode: false schema: type: string format: uuid example: b5458763-968e-4690-bc70-f29d3a7459a9 requestBody: description: A JSON object mapping the name of the field to update to its new value. content: application/json: schema: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur between the\ \ value passed into this filter and the field specified in the\ \ `field` parameter\n\nNote that `boost` filters have several\ \ limitations:\n- A Boost Filter cannot use the following `value_type`s:\ \ `float`\n- If a Boost Filter's `field` targets something that\ \ is within a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items to the front.\ \ We will merely boost records where there is an entry in the\ \ list that matches the filter, wherever it is.\n - There is\ \ one exception to this: `locations`. If you search for a provider\ \ and boost fields nested within the `locations` list, we will\ \ reorder the locations to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' description: A JSON object mapping the name of the field to update to its new value. required: true responses: '200': description: The specified filter was successfully updated. content: application/json: schema: required: - data type: object properties: data: required: - filter - uuid type: object properties: uuid: type: string description: A UUID uniquely identifying this filter format: uuid example: 9da04268-65e4-4422-a095-98208695b8b9 filter: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur between\ \ the value passed into this filter and the field specified\ \ in the `field` parameter\n\nNote that `boost` filters\ \ have several limitations:\n- A Boost Filter cannot\ \ use the following `value_type`s: `float`\n- If a Boost\ \ Filter's `field` targets something that is within\ \ a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items\ \ to the front. We will merely boost records where there\ \ is an entry in the list that matches the filter, wherever\ \ it is.\n - There is one exception to this: `locations`.\ \ If you search for a provider and boost fields nested\ \ within the `locations` list, we will reorder the locations\ \ to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' '400': description: The filter updates you are trying to make are invalid or malformed. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given filter UUID cannot be found. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found '409': description: A filter with the given parameter already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] delete: tags: - Filters summary: deleteCustomProviderFilter description: 'Delete a provider filter. ' operationId: deleteCustomProviderFilter parameters: - name: filter_uuid in: path description: The UUID of the filter you want to delete. required: true style: simple explode: false schema: type: string format: uuid example: b5458763-968e-4690-bc70-f29d3a7459a9 responses: '204': description: Filter was successfully deleted content: {} '404': description: The given filter UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: DELETE uri: /custom/providers/filters/b5458763-968e-4690-bc70-f29d3a7459a9 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '204' headers: {} x-testShouldPass: true x-testEnabled: true x-testName: Test deleteCustomProviderFilter x-testDescription: 'Delete a provider filter. ' /custom/locations/filters: get: tags: - Filters summary: getCustomLocationFilters description: 'Fetch all previously created custom filters for locations. ' operationId: getCustomLocationFilters parameters: [] responses: '200': description: Returns a list of location filters content: application/json: schema: required: - data type: object properties: data: type: array description: '' items: required: - filter - uuid type: object properties: uuid: type: string description: A UUID uniquely identifying this filter format: uuid example: 9da04268-65e4-4422-a095-98208695b8b9 filter: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur\ \ between the value passed into this filter and the\ \ field specified in the `field` parameter\n\nNote\ \ that `boost` filters have several limitations:\n\ - A Boost Filter cannot use the following `value_type`s:\ \ `float`\n- If a Boost Filter's `field` targets something\ \ that is within a list of objects, such as \u2018\ educations.education.name\u2019, we will not reorder\ \ the list to bring these items to the front. We will\ \ merely boost records where there is an entry in\ \ the list that matches the filter, wherever it is.\n\ \ - There is one exception to this: `locations`.\ \ If you search for a provider and boost fields nested\ \ within the `locations` list, we will reorder the\ \ locations to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/locations/filters expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomLocationFilters x-testDescription: 'Fetch all previously created custom filters for locations. ' post: tags: - Filters summary: createCustomLocationFilter description: "Create new filters to be used when searching for locations in\ \ the [Search Locations](./getcustomlocations) endpoint. \nYou can create\ \ filters for both Ribbon's existing data fields as well as any custom data\ \ fields you create.\n\n#### Example Use Case:\nLet's say you add a new field\ \ to a bunch of locations that match your use case, for instance `c_section_rate`.\ \ You could make this field searchable so that your search through [Search\ \ Locations](./getcustomlocations) when you pass through a certain parameter\ \ that specifies a maximum threshold.\n" operationId: createCustomLocationFilter parameters: [] requestBody: description: The new filter to create content: application/json: schema: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur between the\ \ value passed into this filter and the field specified in the\ \ `field` parameter\n\nNote that `boost` filters have several\ \ limitations:\n- A Boost Filter cannot use the following `value_type`s:\ \ `float`\n- If a Boost Filter's `field` targets something that\ \ is within a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items to the front.\ \ We will merely boost records where there is an entry in the\ \ list that matches the filter, wherever it is.\n - There is\ \ one exception to this: `locations`. If you search for a provider\ \ and boost fields nested within the `locations` list, we will\ \ reorder the locations to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' description: The new filter to create required: true responses: '201': description: The specified filter was successfully created content: application/json: schema: required: - data type: object properties: data: required: - filter - uuid type: object properties: uuid: type: string description: A UUID uniquely identifying this filter format: uuid example: 9da04268-65e4-4422-a095-98208695b8b9 filter: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: max_c_section_rate field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `educations.education.uuid`' example: c_section_rate value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' filter_type: type: string description: "The type of comparison that will occur between\ \ the value passed into this filter and the field specified\ \ in the `field` parameter\n\nNote that `boost` filters\ \ have several limitations:\n- A Boost Filter cannot\ \ use the following `value_type`s: `float`\n- If a Boost\ \ Filter's `field` targets something that is within\ \ a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items\ \ to the front. We will merely boost records where there\ \ is an entry in the list that matches the filter, wherever\ \ it is.\n - There is one exception to this: `locations`.\ \ If you search for a provider and boost fields nested\ \ within the `locations` list, we will reorder the locations\ \ to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' '400': description: The filter you attempted to create was malformed content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '409': description: A filter with the given `parameter` name already exists content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/locations/filters/{filter_uuid}: put: tags: - Filters summary: editCustomLocationFilter description: 'Edit any of the fields in a custom location filter you have already created. ' operationId: editCustomLocationFilter parameters: - name: filter_uuid in: path description: The UUID of the filter you want to edit. required: true style: simple explode: false schema: type: string format: uuid example: b5458763-968e-4690-bc70-f29d3a7459a9 requestBody: description: A JSON object mapping the name of the field to update to its new value. content: application/json: schema: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: location_types_filter field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `address_details.state`' example: location_types value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' example: list filter_type: type: string description: "The type of comparison that will occur between the\ \ value passed into this filter and the field specified in the\ \ `field` parameter\n\nNote that `boost` filters have several\ \ limitations:\n- A Boost Filter cannot use the following `value_type`s:\ \ `float`\n- If a Boost Filter's `field` targets something that\ \ is within a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items to the front.\ \ We will merely boost records where there is an entry in the\ \ list that matches the filter, wherever it is.\n - There is\ \ one exception to this: `locations`. If you search for a provider\ \ and boost fields nested within the `locations` list, we will\ \ reorder the locations to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' example: contains_any description: A JSON object mapping the name of the field to update to its new value. required: true responses: '200': description: The specified filter was successfully updated. content: application/json: schema: required: - data type: object properties: data: required: - filter - uuid type: object properties: uuid: type: string description: A UUID uniquely identifying this filter format: uuid example: 9da04268-65e4-4422-a095-98208695b8b9 filter: required: - field - filter_type - parameter - value_type type: object properties: parameter: type: string description: The name of filter which will be used when applying to a search example: location_types_filter field: type: string description: 'The name of the field that the filter will be applied to You can specify nested fields by placing a `.` between each level within the JSON object. For example, `address_details.state`' example: location_types value_type: type: string description: The data type of the value passed into this filter enum: - string - float - integer - boolean - list x-enum-elements: - name: string description: '' - name: float description: '' - name: integer description: '' - name: boolean description: '' - name: list description: '' example: list filter_type: type: string description: "The type of comparison that will occur between\ \ the value passed into this filter and the field specified\ \ in the `field` parameter\n\nNote that `boost` filters\ \ have several limitations:\n- A Boost Filter cannot\ \ use the following `value_type`s: `float`\n- If a Boost\ \ Filter's `field` targets something that is within\ \ a list of objects, such as \u2018educations.education.name\u2019\ , we will not reorder the list to bring these items\ \ to the front. We will merely boost records where there\ \ is an entry in the list that matches the filter, wherever\ \ it is.\n - There is one exception to this: `locations`.\ \ If you search for a provider and boost fields nested\ \ within the `locations` list, we will reorder the locations\ \ to put matching locations first." enum: - less_than - greater_than - equals - contains - boost - equals_any - contains_any - fuzzy x-enum-elements: - name: less_than description: '' - name: greater_than description: '' - name: equals description: '' - name: contains description: '' - name: boost description: '' - name: equals_any description: '' - name: contains_any description: '' - name: fuzzy description: '' example: contains_any '400': description: The filter updates you are trying to make are invalid or malformed. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given filter UUID cannot be found. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found '409': description: A filter with the given parameter already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] delete: tags: - Filters summary: deleteCustomLocationFilter description: 'Delete a location filter. ' operationId: deleteCustomLocationFilter parameters: - name: filter_uuid in: path description: The UUID of the filter you want to delete. required: true style: simple explode: false schema: type: string format: uuid example: b5458763-968e-4690-bc70-f29d3a7459a9 responses: '204': description: Filter was successfully deleted content: {} '404': description: The given filter UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: DELETE uri: /custom/locations/filters/b5458763-968e-4690-bc70-f29d3a7459a9 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '204' headers: {} x-testShouldPass: true x-testEnabled: true x-testName: Test deleteCustomLocationFilter x-testDescription: 'Delete a location filter. ' /custom/locations: get: tags: - Locations summary: getCustomLocations description: 'Allows you to search for different service locations, including specific location types. ' operationId: getCustomLocations parameters: - name: page in: query required: false description: The page of the results which was returned. schema: type: integer format: int32 example: 1 - name: page_size in: query required: false description: How many results are in each page. schema: type: integer format: int32 example: 25 - name: fields in: query required: false description: 'Comma separated list of fields within the location object to return. Can be used to greatly reduce the size of the response by requesting only data you intend to use. Cannot be used in tandem with `_excl_fields`' schema: type: string example: name,address - name: _excl_fields in: query required: false description: Comma separated list of fields within the location object to exclude from the response. Can be used to greatly reduce the size of the response by requesting only data you intend to use. schema: type: string example: phone_numbers,insurances - name: address in: query required: false description: String input of an address that will be interpreted and geocoded in real time. schema: type: string example: New York, NY - name: name in: query required: false description: String input for a 'fuzzy' search on location name. schema: type: string example: Citymd Urgent Care - name: distance in: query required: false description: The proximity radius of locations returned. schema: type: integer format: int32 example: 10 - name: location_types in: query required: false description: 'Comma separated list of values that filter to what type of facilities to show. We categorize locations into 36 types. Clients can add their own locations with unique location_types, and they will also be included in the search. See the Location Types Reference Endpoint for a list of all location types.' schema: type: string example: Urgent Care - name: _excl_location_types in: query required: false description: Comma separated list of the 'types' of locations to exclude. Excludes locations with a matching location type. schema: type: string example: Urgent Care - name: location in: query required: false description: Latitude/longitude pair of coordinates in lieu of a string address. schema: type: string example: 37.7489816,-122.4802092 - name: location_ids in: query required: false description: Comma separated list of desired practice location uuids. schema: type: string example: 48d4eb27-d82b-4ea4-8ad0-4bcb2c46a960 - name: _excl_location_ids in: query required: false description: Comma separated list of practice location uuids to exclude. schema: type: string example: 48d4eb27-d82b-4ea4-8ad0-4bcb2c46a960 - name: insurance_ids in: query required: false description: Comma separated list of desired insurance uuids. See all locations that accept a given insurance(s). schema: type: string example: 24617022-92b3-4b9f-af1c-4df21ad6fb6f - name: _excl_insurance_ids in: query required: false description: Comma separated list of insurance uuids to exclude. Exclude locations that accept a given insurance(s). schema: type: string example: 24617022-92b3-4b9f-af1c-4df21ad6fb6f - name: insurance_carrier_name in: query required: false description: 'String input of carrier_name in order to search for all locations that take at least one plan from a given insurance carrier. Find the individual valid carrier_name values from the insurance objects returned in the Insurances Reference Endpoint. Note: This input must be an exact string match to work' schema: type: string example: Aetna - name: min_confidence in: query required: false description: Integer input (0-5) of the minimum confidence threshold for returned locations. min_location_confidence=4 will only display locations that have a confidence 4 or higher. schema: type: integer format: int32 - name: national_bluecard in: query required: false description: Boolean input that enables an API search to automatically default to the National BlueCard EPO/PPO Network whenever a member searches for out-of-state, in-network care and is covered by a BCBS Association PPO insurance plan. Use the parameter in conjunction with the address parameter and either the insurance_ids or insurance fuzzy search parameters. Defaults to true unless otherwise specified. schema: type: boolean example: true - name: organization_ids in: query required: false description: Comma separated list of desired organization uuids. Filters to only locations that are affiliated with the given organization uuid(s). schema: type: string example: 86722ebb-1dd1-4846-a1a9-a7a9e36c944d - name: _excl_organization_ids in: query required: false description: Comma separated list of organization uuids to exclude. Excludes locations that are affiliated with the given organization uuid(s). schema: type: string example: 86722ebb-1dd1-4846-a1a9-a7a9e36c944d - name: clinical_area in: query required: false description: 'String input that is fuzzy matched to the most relevant `clinical_area.display` field. Only a single clinical area will be selected. Returns all location with this clinical area.' schema: type: string example: CT - name: clinical_area_ids in: query required: false description: 'Comma-separated list of desired clinical area ids. Returns all locations with a clinical area exactly matching any of the entered IDs. (Note: Use the `/clinical_areas/` reference endpoint to identify relevant IDs)' schema: type: string example: 4c03ddb4-f6c0-4574-a51e-508f83c43d69 - name: _excl_clinical_area_ids in: query required: false description: 'Comma-separated list of clinical area ids to exclude. Returns all locations without a clinical area exactly matching any of the entered IDs. (Note: Use the `/clinical_areas/` reference endpoint to identify relevant IDs)' schema: type: string example: 4c03ddb4-f6c0-4574-a51e-508f83c43d69 - name: treatment in: query required: false description: 'String input that is fuzzy matched to the most relevant `treatments.display` field. Only a single treatment will be selected. Returns all locations with this treatment.' schema: type: string example: Neck X-ray - name: treatment_ids in: query required: false description: 'Comma-separated list of desired treatment ids. Returns all locations with a `treatments.uuid` field exactly matching any of the entered IDs. (Note: Use the /treatments/ reference endpoint (docs) to identify relevant IDs)' schema: type: string example: e3079513-bf55-41cc-87c6-f7ff5f923085 - name: _excl_treatment_ids in: query required: false description: 'Comma-separated list of treatment ids to exclude. Returns all locations without a `treatments.uuid` field exactly matching any of the entered IDs. (Note: Use the /treatments/ reference endpoint (docs) to identify relevant IDs)' schema: type: string example: e3079513-bf55-41cc-87c6-f7ff5f923085 - name: tin_ids in: query required: false description: 'Comma separated list of desired TINs. Filters to only locations that are affiliated with the given TINs. Note: This parameter cannot be used in combination with any other TINs related parameters. All other TINs related parameters will be ignored.' schema: type: string - name: tin_name in: query required: false description: String input that is fuzzy matched against the `tins.name` field. Filters to only locations that are affiliated with the given TINs name. schema: type: string - name: tin_legal_name in: query required: false description: String input that is fuzzy matched against the `tins.legal_name` field. Filters to only locations that are affiliated with the given TINs legal name. schema: type: string responses: '200': description: Returns an ordered list of matching locations content: application/json: schema: required: - data - parameters type: object properties: parameters: type: object properties: total_count: type: integer description: The total number of results matched, across all pages. format: int32 example: 141 sort_by: type: string description: The main criteria used to sort results in the record set. example: distance geo: type: object properties: latitude: type: number description: The latitude the search was focused on. example: 40.7351327 longitude: type: number description: The longitude the search was focused on. example: -73.9881657 page: type: integer description: The page of the results which was returned. format: int32 example: 1 page_size: type: integer description: How many results are in each page. format: int32 example: 25 fields: type: array description: 'List of fields within the location object to return. Can be used to greatly reduce the size of the response by requesting only data you intend to use. Cannot be used in tandem with `_excl_fields`' example: - locations - age items: type: string _excl_fields: type: array description: List of fields within the location object to exclude from the response. Can be used to greatly reduce the size of the response by requesting only data you intend to use. example: - locations - age items: type: string address: type: string description: String input of an address that will be interpreted and geocoded in real time. example: New York, NY name: type: string description: String input for a fuzzy search on location name. example: Citymd Urgent Care distance: type: integer description: The proximity radius of locations returned. format: int32 example: 10 location_types: type: array description: 'List of values that filter to what type of facilities to show. We categorize locations into 34 types. Clients can add their own locations with unique location_types, and they will also be included in the search. See the Location Types Reference Endpoint for a list of all location types.' example: - Urgent Care items: type: string _excl_location_types: type: array description: List of the 'types' of locations to exclude. Excludes locations with a matching location type. example: - Urgent Care items: type: string insurance_ids: type: array description: List of desired insurance uuids. See all locations that accept a given insurance(s). example: - e527f6e3-fe42-4932-bf34-d81f1c1fd652 items: type: string format: uuid _excl_insurance_ids: type: array description: List of insurance uuids to exclude. Exclude locations that accept a given insurance(s). example: - e527f6e3-fe42-4932-bf34-d81f1c1fd652 items: type: string format: uuid insurance_carrier_name: type: string description: 'String input of carrier_name in order to search for all locations that take at least one plan from a given insurance carrier. Find the individual valid carrier_name values from the insurance objects returned in the Insurances Reference Endpoint. Note: This input must be an exact string match to work' example: Aetna min_confidence: maximum: 5 minimum: 0 type: integer description: Integer input (0-5) of the minimum confidence threshold for returned locations. min_location_confidence=4 will only display locations that have a confidence 4 or higher. format: int32 national_bluecard: type: boolean description: Boolean input that enables an API search to automatically default to the National BlueCard EPO/PPO Network whenever a member searches for out-of-state, in-network care and is covered by a BCBS Association PPO insurance plan. Use the parameter in conjunction with the address parameter and either the insurance_ids or insurance fuzzy search parameters. Defaults to true unless otherwise specified. example: true organization_ids: type: array description: Comma separated list of desired organization uuids. Filters to only locations that are affiliated with the given organization uuid(s). example: - 86722ebb-1dd1-4846-a1a9-a7a9e36c944d items: type: string _excl_organization_ids: type: array description: Comma separated list of organization uuids to exclude. Excludes locations that are affiliated with the given organization uuid(s). example: - 86722ebb-1dd1-4846-a1a9-a7a9e36c944d items: type: string clinical_area: type: object properties: uuid: type: string description: A UUID uniquely identifying this clinical area format: uuid example: f352b596-dfb0-494f-9a03-224794f5d182 display: type: string example: Substance Disorders (e.g. Opioid, Cocaine, Alcohol) types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' conditions: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this condition format: uuid example: 99f4762e-c4c2-4d1d-983a-2b8b303e691d display: type: string example: Chronic Depression types: type: array description: '' items: type: string enum: - focus_areas - condition_cost_estimate x-enum-elements: - name: focus_areas description: '' - name: condition_cost_estimate description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true modules: type: array description: '' items: type: string treatments: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true clinical_area_ids: type: array description: 'List of desired clinical area ids. Returns all locations with a clinical area exactly matching any of the entered IDs. (Note: Use the `/clinical_areas/` reference endpoint to identify relevant IDs)' example: - 4c03ddb4-f6c0-4574-a51e-508f83c43d69 items: type: string treatment: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true treatment_ids: type: array description: 'List of desired treatment ids. Returns all providers with a `treatments.uuid` field exactly matching any of the entered IDs. (Note: Use the /treatments/ reference endpoint (docs) to identify relevant IDs)' example: - e3079513-bf55-41cc-87c6-f7ff5f923085 items: type: string tin_ids: type: string description: List of desired TINs. tin_name: type: string tin_legal_name: type: string data: type: array description: '' items: type: object properties: distance: type: number description: This location's distance from the center of a geographic search, in miles. example: 0.4 uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances the accepted at this location items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. '400': description: The search could not be completed as requested content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: Account does not have access to custom locations directory content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/locations expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomLocations x-testDescription: 'Allows you to search for different service locations, including specific location types. ' post: tags: - Locations summary: postCustomLocations description: 'Create new locations and facilities. #### Example Use Case You want to add new urgent care locations (or labs, imaging centers, therapy centers, etc.) to an area that are not yet included in the existing Ribbon locations listings. ' operationId: postCustomLocations parameters: [] requestBody: description: A JSON object describing the location you want to create. content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances UUIDs accepted at this location items: type: string format: uuid tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. description: A JSON object describing the location you want to create. required: true responses: '201': description: Location was successfully created. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances the accepted at this location items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. '400': description: This request attempted to update with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '409': description: A location with this `address` and `name` pair already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/locations/{location_uuid}: get: tags: - Locations summary: getCustomLocation description: 'Retrieve data on a specific location. ' operationId: getCustomLocation parameters: - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 responses: '200': description: Returns a single location content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances the accepted at this location items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. '404': description: The given location UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/locations/34ecc98a-e49e-49e3-84f9-b0ab2ff00495 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomLocation x-testDescription: 'Retrieve data on a specific location. ' put: tags: - Locations summary: putCustomLocation description: 'Edit all fields that do not fall under `insurances`, `google_maps_link`, `latitude`, or `longitude`. You may also add new fields or remove existing fields. ' operationId: putCustomLocation parameters: - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: remove_fields: type: array description: An optional list of custom fields name to remove from the location items: type: string additionalProperties: oneOf: - type: string - type: integer format: int32 - type: boolean - nullable: true x-is-dynamic: true example: location_types: Imaging Center priority_flag: true description: A JSON object mapping the name of the field to update to its new value required: true responses: '200': description: The specified fields were successfully updated or added content: application/json: schema: required: - data type: object properties: data: type: object properties: remove_fields: type: array description: An optional list of custom fields name to remove from the location items: type: string additionalProperties: oneOf: - type: string - type: integer format: int32 - type: boolean - nullable: true x-is-dynamic: true example: location_types: Imaging Center priority_flag: true '400': description: This request attempted to update fields which cannot be customized or attempted to set a location_type value which does not exist. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given location UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] delete: tags: - Locations summary: deleteCustomLocation description: 'Delete a location. ' operationId: deleteCustomLocation parameters: - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 responses: '204': description: Location was successfully deleted content: {} '404': description: The given location UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: DELETE uri: /custom/locations/34ecc98a-e49e-49e3-84f9-b0ab2ff00495 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '204' headers: {} x-testShouldPass: true x-testEnabled: true x-testName: Test deleteCustomLocation x-testDescription: 'Delete a location. ' /custom/locations/{location_uuid}/insurances: put: tags: - Locations summary: putCustomLocationInsurances description: 'Add or remove insurances from a location using our standard insurance UUIDs. ' operationId: putCustomLocationInsurances parameters: - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 requestBody: description: A set of instructions for how to update the location's insurances. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this location's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this location's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this location''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the location's insurances. required: true responses: '200': description: The insurances list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this location's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this location's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this location''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported, or attempted to use invalid value type. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given location UUID cannot be found, or NPI in request path is not in custom provider directory. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/locations/{location_uuid}/organizations: put: tags: - Locations summary: putCustomLocationOrganizations description: 'Add or remove organizations from a location using our standard organization UUIDs. ' operationId: putCustomLocationOrganizations parameters: - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 requestBody: description: A set of instructions for how to update the location's organizations. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this location's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this location's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this location''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the location's organizations. required: true responses: '200': description: The organizations list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this location's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this location's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this location''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported, or attempted to use invalid value type. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given location UUID cannot be found, or NPI in request path is not in custom provider directory. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/locations/{location_uuid}/clinical_areas: put: tags: - Locations summary: putCustomLocationClinicalAreas description: 'Add or remove clinical areas from a location using our standard clinical area UUIDs. ' operationId: putCustomLocationClinicalAreas parameters: - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 requestBody: description: A set of instructions for how to update the location's clinical areas. content: application/json: schema: type: object properties: add: type: array description: A list of UUIDs to add to this location's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this location's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this location''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 description: A set of instructions for how to update the location's clinical areas. required: true responses: '200': description: The clinical areas list was successfully modified. content: application/json: schema: required: - data type: object properties: data: type: object properties: add: type: array description: A list of UUIDs to add to this location's set. example: - 003aa14f-31ed-4c20-8888-07055d69afb6 items: type: string format: uuid remove: type: array description: A list of UUIDs to remove to this location's set. example: - 000914b4-d165-4343-bd17-0054505faaa5 items: type: string format: uuid override: type: array description: 'A list of UUIDs to remove to completely replace this location''s set with. Not supported in combination with either `add` or `remove`.' items: type: string format: uuid example: add: - 003aa14f-31ed-4c20-8888-07055d69afb6 remove: - 000914b4-d165-4343-bd17-0054505faaa5 '400': description: This request attempted to use fields which are not supported, or attempted to use invalid value type. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given location UUID cannot be found, or NPI in request path is not in custom provider directory. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/insurances: get: tags: - Reference Endpoints summary: getInsurances description: Search and list insurances that exist within the Ribbon API. operationId: getInsurances parameters: - name: search in: query required: false description: String input that fuzzy searches across `display_name`, `carrier_name`, and `uuid`. schema: type: string example: Aetna - name: carrier_association in: query required: false description: 'Comma separated list of the carrier association of insurances you are searching for. Note: This input must be an exact string match to work' schema: type: string example: BCBS Association - name: carrier_brand in: query required: false description: 'Comma separated list of the carrier brand of insurances you are searching for. Note: This input must be an exact string match to work' schema: type: string example: BCBS - name: carrier_name in: query required: false description: 'Comma separated list of the carrier name of insurances you are searching for. Note: This input must be an exact string match to work' schema: type: string example: Blue Cross Blue Shield of Illinois - name: state in: query required: false description: Two letter abbreviated state code of insurances you are searching for. schema: type: string example: NY - name: plan_name in: query required: false description: Exact string input of the plan name of insurances you are searching for. schema: type: string example: BlueCare Direct - name: plan_type in: query required: false description: Exact string input of the plan type of insurances you are searching for. schema: type: string example: PPO - name: display_name in: query required: false description: Exact string input of the display name of insurances you are searching for. schema: type: string example: Blue Cross Blue Shield of Illinois - BlueCare Direct - HMO - name: category in: query required: false description: 'Comma separated list of the category of insurances you are searching for. Note: This input must be an exact string match to work' schema: type: string example: Medicare Advantage - name: _excl_category in: query required: false description: 'Comma separated list of the category of insurances you wish to exclude. Note: This input must be an exact string match to work' schema: type: string example: Medicare Advantage - name: codes in: query required: false description: Single code input to search for plans with an exact string match within the codes field. schema: type: string example: H9572-001 - name: partial_codes in: query required: false description: 'Partial string input to match to the codes field. For Medicare Advantage plans this is a contract ID (i.e. H9572). For Federal or State Exchange plans this is the first 10 digits of the HIOS ID (i.e. 36096il100) Note: This parameter can only be used if the `category` param is also utilized with a single category value.' schema: type: string example: H9572 responses: '200': description: Insurances returned from a valid request content: application/json: schema: required: - count - next - previous - results type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 141 next: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/insurances?search=aetna&page=3 previous: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/insurances?search=aetna&page=1 results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string '400': description: A failure due to a malformed request content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/insurances expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getInsurances x-testDescription: 'Search and list insurances that exist within the Ribbon API. ' post: tags: - Reference Endpoints summary: postCustomInsurance description: 'Create a insurance with desired field values. ' operationId: postCustomInsurance parameters: [] requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string description: A JSON object mapping the name of the field to update to its new value required: true responses: '201': description: Insurance was successfully created. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string '400': description: This request attempted to update with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '409': description: Insurance object with given fields already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/insurances/{insurance_uuid}: get: tags: - Reference Endpoints summary: getCustomInsurance description: 'Retrieve data on a specific insurance. ' operationId: getCustomInsurance parameters: - name: insurance_uuid in: path description: The UUID of the target insurance. required: true style: simple explode: false schema: type: string format: uuid example: 12403618-49d5-43ee-99ad-5e99194fe05c responses: '200': description: Returns a single insurance content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string '404': description: The given insurance UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/insurances/12403618-49d5-43ee-99ad-5e99194fe05c expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomInsurance x-testDescription: 'Retrieve data on a specific insurance. ' put: tags: - Reference Endpoints summary: putCustomInsurance description: 'Edit fields of a custom created insurance or a Ribbon created insurance. ' operationId: putCustomInsurance parameters: - name: insurance_uuid in: path description: The UUID of the target insurance. required: true style: simple explode: false schema: type: string format: uuid example: 12403618-49d5-43ee-99ad-5e99194fe05c requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string description: A JSON object mapping the name of the field to update to its new value required: true responses: '200': description: The insurance object was successfully updated. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string '400': description: This request attempted to update with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given insurance UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found '409': description: Insurance object with given fields already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] delete: tags: - Reference Endpoints summary: deleteCustomInsurance description: 'Delete an insurance. Note: If you''ve added this insurance to doctors, you are deleting all instances of this UUID, and Ribbon will not be able to regenerate them. ' operationId: deleteCustomInsurance parameters: - name: insurance_uuid in: path description: The UUID of the target insurance. required: true style: simple explode: false schema: type: string format: uuid example: 12403618-49d5-43ee-99ad-5e99194fe05c responses: '204': description: Insurance was successfully deleted content: {} '404': description: The given insurance UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: DELETE uri: /custom/insurances/12403618-49d5-43ee-99ad-5e99194fe05c expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '204' headers: {} x-testShouldPass: true x-testEnabled: true x-testName: Test deleteCustomInsurance x-testDescription: 'Delete an insurance. Note: If you''ve added this insurance to doctors, you are deleting all instances of this UUID, and Ribbon will not be able to regenerate them. ' /custom/specialties: get: tags: - Reference Endpoints summary: getSpecialties description: 'Search and list specialties that exist within the Ribbon API. ' operationId: getSpecialties parameters: - name: page in: query required: false description: The page of the results which was returned. schema: type: integer format: int32 example: 1 - name: page_size in: query required: false description: How many results are in each page. schema: type: integer format: int32 example: 25 - name: search in: query required: false description: String input that fuzzy searches against key fields within each specialties object to return the most relevant options. schema: type: string example: Gastroenterology - name: provider_type in: query required: false description: '''Type'' of provider specialty to filter results on. Here are a few key provider types: - Doctor - Nursing - Dental Providers' schema: type: string example: Doctor responses: '200': description: Specialties returned from a valid request content: application/json: schema: required: - count - next - previous - results type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 141 next: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/specialties?page=3 previous: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/specialties?page=1 results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true '403': description: Trial accounts do not have access to custom specialties content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/specialties expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getSpecialties x-testDescription: 'Search and list specialties that exist within the Ribbon API. ' post: tags: - Reference Endpoints summary: postCustomSpecialty description: 'Create a custom specialty with desired field values. ' operationId: postCustomSpecialty parameters: [] requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true description: A JSON object mapping the name of the field to update to its new value required: true responses: '201': description: Specialty was successfully created. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true '400': description: This request attempted to update with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '409': description: Specialty object with given fields already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/specialties/{specialty_uuid}: get: tags: - Reference Endpoints summary: getCustomSpecialty description: 'Retrieve data on a specific specialty. ' operationId: getCustomSpecialty parameters: - name: specialty_uuid in: path description: The UUID of the target specialty. required: true style: simple explode: false schema: type: string format: uuid example: a77d23ba-29f1-4afd-a0c4-62d2f0444cf7 responses: '200': description: Returns a single specialty content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true '404': description: The given specialty UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/specialties/a77d23ba-29f1-4afd-a0c4-62d2f0444cf7 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomSpecialty x-testDescription: 'Retrieve data on a specific specialty. ' put: tags: - Reference Endpoints summary: putCustomSpecialty description: 'Edit fields of a custom created specialty. Note: You cannot edit a Ribbon created specialty. ' operationId: putCustomSpecialty parameters: - name: specialty_uuid in: path description: The UUID of the target specialty. required: true style: simple explode: false schema: type: string format: uuid example: a77d23ba-29f1-4afd-a0c4-62d2f0444cf7 requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true description: A JSON object mapping the name of the field to update to its new value required: true responses: '200': description: The specialty object was successfully updated. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true '400': description: This request attempted to update with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given specialty UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found '409': description: Specialty object with given fields already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] delete: tags: - Reference Endpoints summary: deleteCustomSpecialty description: 'Delete a specialty. Note: You cannot delete a Ribbon created specialty. ' operationId: deleteCustomSpecialty parameters: - name: specialty_uuid in: path description: The UUID of the target specialty. required: true style: simple explode: false schema: type: string format: uuid example: a77d23ba-29f1-4afd-a0c4-62d2f0444cf7 responses: '204': description: Specialty was successfully deleted content: {} '404': description: The given specialty UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: DELETE uri: /custom/specialties/a77d23ba-29f1-4afd-a0c4-62d2f0444cf7 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '204' headers: {} x-testShouldPass: true x-testEnabled: true x-testName: Test deleteCustomSpecialty x-testDescription: 'Delete a specialty. Note: You cannot delete a Ribbon created specialty. ' /provider_types: get: tags: - Reference Endpoints summary: getCustomProviderTypes description: 'Search and list provider types that exist within the Ribbon API. ' operationId: getCustomProviderTypes parameters: - name: search in: query description: Search parameter for reference endpoints (Provider Type, Location Type, Languages) required: false style: form explode: true schema: type: string example: '["Pediatrician","Clinic","Spanish"]' responses: '200': description: Provider types returned from a valid request content: application/json: schema: required: - count type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 23 results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this provider type format: uuid example: 854a242b-9fa6-4427-b36f-ae7ba858e2c8 display_name: type: string example: Pediatrician deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /provider_types?search=%5B%22Pediatrician%22%2C%22Clinic%22%2C%22Spanish%22%5D expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomProviderTypes x-testDescription: 'Search and list provider types that exist within the Ribbon API. ' /custom/provider_types: post: tags: - Reference Endpoints summary: postCustomProviderType description: 'Create a custom provider type with desired field values. ' operationId: postCustomProviderType parameters: [] requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: display_name: type: string example: Certified Nurse Midwife description: A JSON object mapping the name of the field to update to its new value required: true responses: '201': description: Provider type was successfully created. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this provider type format: uuid example: 854a242b-9fa6-4427-b36f-ae7ba858e2c8 display_name: type: string example: Pediatrician '400': description: This request attempted to create with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '409': description: Provider type object with given display_name already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/provider_types/{provider_type_uuid}: get: tags: - Reference Endpoints summary: getCustomProviderType description: 'Retrieve data on a specific provider type. ' operationId: getCustomProviderType parameters: - name: provider_type_uuid in: path description: The UUID of the target provider type. required: true style: simple explode: false schema: type: string format: uuid example: edeb875a-494a-4907-babb-5377ef1f49f9 responses: '200': description: Returns a single provider type content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this provider type format: uuid example: 854a242b-9fa6-4427-b36f-ae7ba858e2c8 display_name: type: string example: Pediatrician '404': description: The given provider type UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/provider_types/edeb875a-494a-4907-babb-5377ef1f49f9 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomProviderType x-testDescription: 'Retrieve data on a specific provider type. ' put: tags: - Reference Endpoints summary: putCustomProviderType description: 'Edit fields of a custom created provider type. Note: You cannot edit a Ribbon created provider type. ' operationId: putCustomProviderType parameters: - name: provider_type_uuid in: path description: The UUID of the target provider type. required: true style: simple explode: false schema: type: string format: uuid example: edeb875a-494a-4907-babb-5377ef1f49f9 requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: display_name: type: string example: Certified Nurse Midwife description: A JSON object mapping the name of the field to update to its new value required: true responses: '200': description: The provider type object was successfully updated. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this provider type format: uuid example: 854a242b-9fa6-4427-b36f-ae7ba858e2c8 display_name: type: string example: Pediatrician '400': description: This request attempted to update with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: This resource is managed by Ribbon and cannot be modified. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given provider type UUID cannot be found. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found '409': description: Provider Type object with given display_name already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] delete: tags: - Reference Endpoints summary: deleteCustomProviderType description: 'Delete a provider type. Note: You cannot edit a Ribbon created provider type. ' operationId: deleteCustomProviderType parameters: - name: provider_type_uuid in: path description: The UUID of the target provider type. required: true style: simple explode: false schema: type: string format: uuid example: edeb875a-494a-4907-babb-5377ef1f49f9 responses: '204': description: Provider type was successfully deleted content: {} '403': description: This resource is managed by Ribbon and cannot be deleted. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given provider type UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: DELETE uri: /custom/provider_types/edeb875a-494a-4907-babb-5377ef1f49f9 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '204' headers: {} x-testShouldPass: true x-testEnabled: true x-testName: Test deleteCustomProviderType x-testDescription: 'Delete a provider type. Note: You cannot edit a Ribbon created provider type. ' /location_types: get: tags: - Reference Endpoints summary: getCustomLocationTypes description: 'Search and list location types that exist within the Ribbon API. ' operationId: getCustomLocationTypes parameters: - name: search in: query description: Search parameter for reference endpoints (Provider Type, Location Type, Languages) required: false style: form explode: true schema: type: string example: '["Pediatrician","Clinic","Spanish"]' responses: '200': description: Location types returned from a valid request content: application/json: schema: required: - count type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 7 results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this location type format: uuid example: cd7f242d-3016-4db6-94f4-77b8237127a3 display_name: type: string example: Radiology deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /location_types?search=%5B%22Pediatrician%22%2C%22Clinic%22%2C%22Spanish%22%5D expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomLocationTypes x-testDescription: 'Search and list location types that exist within the Ribbon API. ' /custom/location_types: post: tags: - Reference Endpoints summary: postCustomLocationType description: 'Create a location type with desired field values. ' operationId: postCustomLocationType parameters: [] requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: display_name: type: string example: Certified Nurse Midwife description: A JSON object mapping the name of the field to update to its new value required: true responses: '201': description: Location type was successfully created. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this location type format: uuid example: cd7f242d-3016-4db6-94f4-77b8237127a3 display_name: type: string example: Radiology '400': description: This request attempted to create with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '409': description: Location type object with given display_name already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /custom/location_types/{location_type_uuid}: get: tags: - Reference Endpoints summary: getCustomLocationType description: 'Retrieve data on a specific location type. ' operationId: getCustomLocationType parameters: - name: location_type_uuid in: path description: The UUID of the target location type. required: true style: simple explode: false schema: type: string format: uuid example: b5458763-968e-4690-bc70-f29d3a7459a9 responses: '200': description: Returns a single location type content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this location type format: uuid example: cd7f242d-3016-4db6-94f4-77b8237127a3 display_name: type: string example: Radiology '404': description: The given location type UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/location_types/b5458763-968e-4690-bc70-f29d3a7459a9 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCustomLocationType x-testDescription: 'Retrieve data on a specific location type. ' put: tags: - Reference Endpoints summary: putCustomLocationType description: 'Edit fields of a custom created location type. Note: You cannot edit a Ribbon created location type. ' operationId: putCustomLocationType parameters: - name: location_type_uuid in: path description: The UUID of the target location type. required: true style: simple explode: false schema: type: string format: uuid example: b5458763-968e-4690-bc70-f29d3a7459a9 requestBody: description: A JSON object mapping the name of the field to update to its new value content: application/json: schema: type: object properties: display_name: type: string example: Certified Nurse Midwife description: A JSON object mapping the name of the field to update to its new value required: true responses: '200': description: The location type object was successfully updated. content: application/json: schema: required: - data type: object properties: data: type: object properties: uuid: type: string description: A UUID uniquely identifying this location type format: uuid example: cd7f242d-3016-4db6-94f4-77b8237127a3 display_name: type: string example: Radiology '400': description: This request attempted to update with invalid schema or was missing required fields. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '403': description: This resource is managed by Ribbon and cannot be modified. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given location type UUID cannot be found. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found '409': description: Location Type object with given display_name already exists. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: Resource with given fields aready exists deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] delete: tags: - Reference Endpoints summary: deleteCustomLocationType description: 'Delete a location type. Note: You cannot edit a Ribbon created location type. ' operationId: deleteCustomLocationType parameters: - name: location_type_uuid in: path description: The UUID of the target location type. required: true style: simple explode: false schema: type: string format: uuid example: b5458763-968e-4690-bc70-f29d3a7459a9 responses: '204': description: Location type was successfully deleted content: {} '403': description: This resource is managed by Ribbon and cannot be deleted. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request '404': description: The given location type UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: DELETE uri: /custom/location_types/b5458763-968e-4690-bc70-f29d3a7459a9 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '204' headers: {} x-testShouldPass: true x-testEnabled: true x-testName: Test deleteCustomLocationType x-testDescription: 'Delete a location type. Note: You cannot edit a Ribbon created location type. ' /procedures: get: tags: - Reference Endpoints summary: getProcedures description: 'Search and list procedures that exist within the Ribbon API. ' operationId: getProcedures parameters: - name: search in: query description: Search parameter for reference endpoints (Provider Type, Location Type, Languages) required: false style: form explode: true schema: type: string example: '["Pediatrician","Clinic","Spanish"]' - name: procedure_code in: query description: A specific billing code (e.g., CPT, DRG) to search for required: false style: form explode: true schema: type: string example: '73222' - name: page in: query description: The page of the results which was returned. required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: page_size in: query description: How many results are in each page. required: false style: form explode: true schema: type: integer format: int32 example: 15 responses: '200': description: Procedures returned from a valid request content: application/json: schema: required: - count - next - previous - results type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 141 next: type: string nullable: true example: https://api.ribbonhealth.com/v1/procedures?page=3 previous: type: string nullable: true example: https://api.ribbonhealth.com/v1/procedures?page=1 results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this procedure format: uuid example: 0a9a245f-2f52-4cc0-a5c3-77a811acc6f7 display_name: type: string example: MRI, arm deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /procedures?search=%5B%22Pediatrician%22%2C%22Clinic%22%2C%22Spanish%22%5D&procedure_code=73222&page=1&page_size=15 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getProcedures x-testDescription: 'Search and list procedures that exist within the Ribbon API. ' /procedures/{procedure_uuid}: get: tags: - Reference Endpoints summary: getProcedure description: 'Retrieve data on a specific procedure. ' operationId: getProcedure parameters: - name: procedure_uuid in: path description: The UUID of the target procedure. required: true style: simple explode: false schema: type: string format: uuid example: 3c51144e-3385-4933-b581-4081c84b3cb9 responses: '200': description: Returns a single procedure content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this procedure format: uuid example: 0a9a245f-2f52-4cc0-a5c3-77a811acc6f7 display: type: string example: MRI, arm procedure_code_count: type: integer format: int32 example: 7 procedure_codes: type: array description: '' items: type: object properties: code: type: string example: '73222' type: type: string example: CPT description: type: string example: MRI, arm '404': description: The given procedure UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /procedures/3c51144e-3385-4933-b581-4081c84b3cb9 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getProcedure x-testDescription: 'Retrieve data on a specific procedure. ' /languages: get: tags: - Reference Endpoints summary: getLanguages description: 'Search and list provider languages that exist in the Ribbon API. ' operationId: getLanguages parameters: - name: search in: query description: Search parameter for reference endpoints (Provider Type, Location Type, Languages) required: false style: form explode: true schema: type: string example: '["Pediatrician","Clinic","Spanish"]' responses: '200': description: Languages returned from a valid request content: application/json: schema: required: - count type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 333 results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this language format: uuid example: 9b79819b-a1e3-489d-8010-b0b9f591c201 display_name: type: string example: arabic deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /languages?search=%5B%22Pediatrician%22%2C%22Clinic%22%2C%22Spanish%22%5D expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getLanguages x-testDescription: 'Search and list provider languages that exist in the Ribbon API. ' /custom/clinical_areas: get: tags: - Focus Area Endpoints summary: getClinicalAreas description: 'Returns clinical areas that exist within the Ribbon API. ' operationId: getClinicalAreas parameters: - name: page in: query required: false description: The page of the results which was returned. schema: type: integer example: 1 - name: page_size in: query required: false description: How many results are in each page. schema: type: integer example: 25 - name: search in: query required: false description: String input that fuzzy searches against key fields within each clinical area object to return the most relevant options. schema: type: string example: X-ray - name: clinical_area in: query required: false description: String input that fuzzy searches on `display` field. schema: type: string example: Nutrition - name: _excl_clinical_area_ids in: query required: false description: Comma separated list of clinical area UUIDs to exclude from search results. schema: type: string example: ffce41b2-aba4-4202-beba-6aa9dc51ef37,fe7d808b-5f53-4024-af9d-2662515bcd83 - name: specialty_ids in: query required: false description: Comma separated list of specialty UUIDs. schema: type: string example: fcc9a22c-7a0f-4405-b0c9-c5f8ad83b93e,8b5d3998-d7e2-4b9e-91d1-17c19cd089f5 - name: condition in: query required: false description: String input that fuzzy searches on `condition.display` field. schema: type: string example: Sleep Disorders - name: condition_ids in: query required: false description: Comma separated list of condition UUIDs. schema: type: string example: 45c9a22c-7a0f-4405-b0c9-c5f8ad83ba32,219d3998-d7e2-4b9e-91d1-17c19cd0bbc2 - name: treatment in: query required: false description: String input that fuzzy searches on `treatment.display` field. schema: type: string example: ACL Surgery - name: treatment_ids in: query required: false description: Comma separated list of treatment UUIDs. schema: type: string example: bb2ca22c-7a0f-4405-b0c9-c5f8ad839898,2ce33998-d7e2-4b9e-91d1-17c19cd06012 - name: type in: query required: false description: 'String input of the type of clinical areas to return. Options for input are either `providers` or `locations`. Note: Defaults to returning all clinical areas of any type.' schema: type: string example: providers responses: '200': description: Clinical areas returned from a valid request content: application/json: schema: required: - count - next - parameters - previous - results type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 107 next: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/clinical_areas?page=3 previous: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/clinical_areas?page=1 parameters: {} results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this clinical area format: uuid example: f352b596-dfb0-494f-9a03-224794f5d182 display: type: string example: Substance Disorders (e.g. Opioid, Cocaine, Alcohol) types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' conditions: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this condition format: uuid example: 99f4762e-c4c2-4d1d-983a-2b8b303e691d display: type: string example: Chronic Depression types: type: array description: '' items: type: string enum: - focus_areas - condition_cost_estimate x-enum-elements: - name: focus_areas description: '' - name: condition_cost_estimate description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true modules: type: array description: '' items: type: string treatments: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true '400': description: Each request can only perform one search content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/clinical_areas expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getClinicalAreas x-testDescription: 'Returns clinical areas that exist within the Ribbon API. ' /custom/clinical_areas/{clinical_area_uuid}: get: tags: - Focus Area Endpoints summary: getClinicalArea description: 'Retrieve data on a specific clinical area. ' operationId: getClinicalArea parameters: - name: clinical_area_uuid in: path description: The UUID of the target clinical area. required: true style: simple explode: false schema: type: string format: uuid example: f352b596-dfb0-494f-9a03-224794f5d182 responses: '200': description: Returns a single clinical area content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this clinical area format: uuid example: f352b596-dfb0-494f-9a03-224794f5d182 display: type: string example: Substance Disorders (e.g. Opioid, Cocaine, Alcohol) types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' conditions: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this condition format: uuid example: 99f4762e-c4c2-4d1d-983a-2b8b303e691d display: type: string example: Chronic Depression types: type: array description: '' items: type: string enum: - focus_areas - condition_cost_estimate x-enum-elements: - name: focus_areas description: '' - name: condition_cost_estimate description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true modules: type: array description: '' items: type: string treatments: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true '404': description: The given clinical area UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/clinical_areas/f352b596-dfb0-494f-9a03-224794f5d182 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getClinicalArea x-testDescription: 'Retrieve data on a specific clinical area. ' /custom/conditions: get: tags: - Focus Area Endpoints summary: getConditions description: 'Returns conditions that exist within the Ribbon API. ' operationId: getConditions parameters: - name: page in: query required: false description: The page of the results which was returned. schema: type: integer format: int32 example: 1 - name: page_size in: query required: false description: How many results are in each page. schema: type: integer format: int32 example: 25 - name: search in: query required: false description: String input that fuzzy searches against key fields within each condition object to return the most relevant options. schema: type: string example: depression - name: _excl_condition_ids in: query required: false description: Comma separated list of condition UUIDs to exclude from search results. schema: type: string example: 2938baf9-f064-44d6-8251-6e4b9fbb6fd2,c9d21735-8a78-45fe-982b-d216cb94beb7 - name: specialty_ids in: query required: false description: Comma separated list of specialty UUIDs. schema: type: string example: fcc9a22c-7a0f-4405-b0c9-c5f8ad83b93e,8b5d3998-d7e2-4b9e-91d1-17c19cd089f5 - name: module in: query required: false description: 'String input of the type of clinical areas to return. Options for input are either `focus_areas` or `condition_cost_estimate`. Note: This input must be an exact string match to work' schema: type: string example: focus_areas responses: '200': description: Conditions returned from a valid request content: application/json: schema: required: - count - next - parameters - previous - results type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 480 next: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/conditions?page=3 previous: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/conditions?page=1 parameters: {} results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this condition format: uuid example: 99f4762e-c4c2-4d1d-983a-2b8b303e691d display: type: string example: Chronic Depression types: type: array description: '' items: type: string enum: - focus_areas - condition_cost_estimate x-enum-elements: - name: focus_areas description: '' - name: condition_cost_estimate description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true modules: type: array description: '' items: type: string '400': description: Module does not exist content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/conditions expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getConditions x-testDescription: 'Returns conditions that exist within the Ribbon API. ' /custom/conditions/{condition_uuid}: get: tags: - Focus Area Endpoints summary: getCondition description: 'Retrieve data on a specific condition. ' operationId: getCondition parameters: - name: condition_uuid in: path description: The UUID of the target condition. required: true style: simple explode: false schema: type: string format: uuid example: fd7c10f3-fbec-482a-929b-be94a8bb3bc1 responses: '200': description: Returns a single condition content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this condition format: uuid example: 99f4762e-c4c2-4d1d-983a-2b8b303e691d display: type: string example: Chronic Depression types: type: array description: '' items: type: string enum: - focus_areas - condition_cost_estimate x-enum-elements: - name: focus_areas description: '' - name: condition_cost_estimate description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true modules: type: array description: '' items: type: string '404': description: The given condition UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/conditions/fd7c10f3-fbec-482a-929b-be94a8bb3bc1 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getCondition x-testDescription: 'Retrieve data on a specific condition. ' /custom/treatments: get: tags: - Focus Area Endpoints summary: getTreatments description: 'Returns treatments that exist within the Ribbon API. ' operationId: getTreatments parameters: - name: page in: query required: false description: The page of the results which was returned. schema: type: integer format: int32 example: 1 - name: page_size in: query required: false description: How many results are in each page. schema: type: integer format: int32 example: 25 - name: search in: query required: false description: String input that fuzzy searches against key fields within each treatment object to return the most relevant options. schema: type: string example: Ankle X-Ray - name: _excl_treatment_ids in: query required: false description: Comma separated list of treatment UUIDs to exclude from search results. schema: type: string example: ffb31993-8265-45f6-98ac-18a495d614b5,ff36f4f1-7031-46b0-a297-e85b73aa8e90 - name: specialty_ids in: query required: false description: Comma separated list of specialty UUIDs. schema: type: string example: fcc9a22c-7a0f-4405-b0c9-c5f8ad83b93e,8b5d3998-d7e2-4b9e-91d1-17c19cd089f5 - name: type in: query required: false description: 'String input of the type of clinical areas to return. Options for input are either `providers` or `locations`. Note: Defaults to returning all clinical areas of any type.' schema: type: string example: providers responses: '200': description: Treatments returned from a valid request content: application/json: schema: required: - count - next - parameters - previous - results type: object properties: count: type: integer description: The total number of results matched, across all pages. format: int32 example: 477 next: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/treatments?page=3 previous: type: string nullable: true example: https://api.ribbonhealth.com/v1/custom/treatments?page=1 parameters: {} results: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/treatments expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getTreatments x-testDescription: 'Returns treatments that exist within the Ribbon API. ' /custom/treatments/{treatment_uuid}: get: tags: - Focus Area Endpoints summary: getTreatment description: 'Retrieve data on a specific treatment. ' operationId: getTreatment parameters: - name: treatment_uuid in: path description: The UUID of the target treatment. required: true style: simple explode: false schema: type: string format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f responses: '200': description: Returns a single treatment content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this treatment format: uuid example: 88a70b34-d0a7-47e2-89ac-4fed203eca2f display: type: string example: Knee Replacement types: type: array description: '' items: type: string enum: - providers - locations x-enum-elements: - name: providers description: '' - name: locations description: '' specialties: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true '404': description: The given treatment UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/treatments/88a70b34-d0a7-47e2-89ac-4fed203eca2f expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getTreatment x-testDescription: 'Retrieve data on a specific treatment. ' /custom/organizations: get: tags: - Organizations summary: getOrganizations description: 'Search for different organizations. #### Example Use Case Display a map of all of all nearby health systems and their relevant information so that a patient can find care. ' operationId: getOrganizations parameters: - name: address in: query description: String input of an address that will be interpreted and geocoded in real time. required: false style: form explode: true schema: type: string example: New York, NY - name: name in: query description: String input that is fuzzy matched to against the `organization.name` field. required: false style: form explode: true schema: type: string example: baptist - name: distance in: query description: Constrains the search to within this many miles of the center point required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: location in: query description: Latitude/longitude pair of coordinates in lieu of a string address. required: false style: form explode: true schema: type: string example: 37.7489816,-122.4802092 - name: page in: query description: The page of the results which was returned. required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: page_size in: query description: How many results are in each page. required: false style: form explode: true schema: type: integer format: int32 example: 15 responses: '200': description: Specialties returned from a valid request content: application/json: schema: required: - data - parameters type: object properties: parameters: type: object properties: page: type: integer description: The page of the results which was returned. format: int32 example: 1 page_size: type: integer description: How many results are in each page. format: int32 example: 25 total_count: type: integer description: The total number of results matched, across all pages. format: int32 example: 141 sort_by: type: string description: The main criteria used to sort results in the record set. example: distance distance: type: integer description: The proximity radius of locations returned. format: int32 example: 10 geo: type: object properties: latitude: type: number description: The latitude the search was focused on. example: 40.7351327 longitude: type: number description: The longitude the search was focused on. example: -73.9881657 address: type: string description: String input of an address that will be interpreted and geocoded in real time. nullable: true example: Jacksonville, FL, USA name: type: string description: String input that is fuzzy matched to against the `organization.name` field. example: baptist data: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this organization format: uuid example: a1dbf998-a65b-4780-8361-648357785d96 name: type: string example: Baptist Health (Jacksonville) organization_types: type: array description: The types of this organization. We currently only support `Health System` organizations, but plan to expand this in the future items: type: string enum: - Health System x-enum-elements: - name: Enum_Health System description: '' websites: type: array description: Website(s) of this organization items: type: object properties: url: type: string example: https://www.baptistjax.com/ ids: type: array description: '' items: type: object properties: id: type: string example: '5' id_type: type: string example: AHA_ID address: type: string example: '841 Prudential Dr # 1601, Jacksonville, FL 32207, US' address_details: type: object properties: zip: type: string example: '32207' city: type: string example: Jacksonville state: type: string example: FL street: type: string example: '841 Prudential Dr # 1601' address_line_1: type: string example: 841 Prudential Dr address_line_2: type: string example: '# 1601' latitude: type: number example: 30.3159499 longitude: type: number example: 81.6630919 phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '9042022000' detail: type: string example: primary deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/organizations?address=New%20York%2C%20NY&name=baptist&distance=10&location=37.7489816%2C-122.4802092&page=1&page_size=15 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getOrganizations x-testDescription: 'Search for different organizations. #### Example Use Case Display a map of all of all nearby health systems and their relevant information so that a patient can find care. ' /custom/organizations/{organization_uuid}: get: tags: - Organizations summary: getOrganization description: 'Retrieve detailed information for any organization given its UUID ' operationId: getOrganization parameters: - name: organization_uuid in: path description: The UUID of the target organization. required: true style: simple explode: false schema: type: string format: uuid example: a1dbf998-a65b-4780-8361-648357785d96 responses: '200': description: The requested organization is returned content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this organization format: uuid example: a1dbf998-a65b-4780-8361-648357785d96 name: type: string example: Baptist Health (Jacksonville) organization_types: type: array description: The types of this organization. We currently only support `Health System` organizations, but plan to expand this in the future items: type: string enum: - Health System x-enum-elements: - name: Enum_Health System description: '' websites: type: array description: Website(s) of this organization items: type: object properties: url: type: string example: https://www.baptistjax.com/ ids: type: array description: '' items: type: object properties: id: type: string example: '5' id_type: type: string example: AHA_ID address: type: string example: '841 Prudential Dr # 1601, Jacksonville, FL 32207, US' address_details: type: object properties: zip: type: string example: '32207' city: type: string example: Jacksonville state: type: string example: FL street: type: string example: '841 Prudential Dr # 1601' address_line_1: type: string example: 841 Prudential Dr address_line_2: type: string example: '# 1601' latitude: type: number example: 30.3159499 longitude: type: number example: 81.6630919 phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '9042022000' detail: type: string example: primary '404': description: The given UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/organizations/a1dbf998-a65b-4780-8361-648357785d96 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getOrganization x-testDescription: 'Retrieve detailed information for any organization given its UUID ' /custom/tin: get: tags: - TINs summary: getTins description: 'Search and list tins that exist within the Ribbon API. ' operationId: getTins parameters: - name: search in: query required: false description: String input that fuzzy searches across tins, name, address, and legal_name. schema: type: string - name: name in: query required: false description: 'The billing entity name that appears on claims data, or if available, the official legal name of the billing entity. String input that is fuzzy matched against the `name` field. Note: This parameter will not match with the `legal_name` field, only the `name` field.' schema: type: string - name: legal_name in: query required: false description: 'The legal name of the entity associated with the TIN. String input that is fuzzy matched against the `legal_name` field.' schema: type: string - name: tin_ids in: query required: false description: 'Comma separated list of TINs. Note: This parameter cannot be used in combination with any other parameters.' schema: type: string - name: has_tin in: query required: false description: Boolean input that applies to tin_confirmed field. schema: type: boolean - name: page in: query required: false description: The page of the results which was returned. schema: type: integer format: int32 - name: page_size in: query required: false description: How many results are in each page. schema: type: integer format: int32 responses: '200': description: Tins returned from a valid request content: application/json: schema: required: - parameters - tins type: object properties: parameters: oneOf: - type: object properties: tin_ids: type: string description: Comma separated list of TINS. - type: object properties: search: type: string description: String input that fuzzy searches across TINs, names, address, and legal_name. name: type: string description: 'The billing entity name that appears on claims data, or if available, the official legal name of the billing entity. String input that is fuzzy matched against the `name` field.' legal_name: type: string description: 'The legal name of the entity associated with the TIN. String input that is fuzzy matched against the `legal_name` field.' has_tin: type: boolean description: Boolean input that applies to tin_confirmed field. page: type: integer description: The page of the results which was returned. format: int32 page_size: type: integer description: The number of results per page. format: int32 tins: type: array description: array of returned TIN objects items: type: object properties: tin: type: string description: Standard 9-digit identification code used by the IRS for business entities and used for contracting and paying provider/facility claims. name: type: string description: The billing entity name that appears on claims data, or if available, the official legal name of the billing entity. legal_name: type: string description: The legal name of the entity associated with the TIN. address: type: string description: The address of the organization with the TIN. This could be the primary service location or billing location. tin_confirmed: type: boolean description: A yes/no field that assesses whether a TIN is likely to be valid or not. The field is powered by business logic that triangulates IRS data and claims data. '403': description: Trial accounts do not have access to custom tins content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 403 code: type: string enum: - permission_denied message: type: string example: a trial account does not have access to this functionality description: You are not allow to make this request deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /custom/tin expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getTins x-testDescription: 'Search and list tins that exist within the Ribbon API. ' /custom/tin/{tin_id}: get: tags: - TINs summary: getCustomTin description: 'Retrieve data on a specific TIN. ' operationId: getCustomTin parameters: - name: tin_id in: path description: The target TIN. required: true style: simple explode: false schema: type: string format: uuid responses: '200': description: Returns a single TIN content: application/json: schema: type: object properties: tin: type: string description: Standard 9-digit identification code used by the IRS for business entities and used for contracting and paying provider/facility claims. name: type: string description: The billing entity name that appears on claims data, or if available, the official legal name of the billing entity. legal_name: type: string description: The legal name of the entity associated with the TIN. address: type: string description: The address of the organization with the TIN. This could be the primary service location or billing location. tin_confirmed: type: boolean description: A yes/no field that assesses whether a TIN is likely to be valid or not. The field is powered by business logic that triangulates IRS data and claims data. '404': description: The given TIN UUID cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] /pricing/providers: get: tags: - Price Transparency summary: getPricingProviders description: 'Search for providers that perform a given procedure and find the lowest insurance-specific price for a procedure in your area. #### Example Use Case Search for all applicable provider negotiated rates, given a specific insurance and procedure (and optionally, a specific location/address and distance). For example, search for all providers near me who perform Leg MRIs and who take a given insurance, sorted by lowest price. ' operationId: getPricingProviders parameters: - name: procedure_id in: query required: false description: 'Search for prices for the procedure with the given UUID. If the given ID is for a procedure bundle but do not have data for the insurance specified by the `plan_id` parameter, we will return data for its anchor procedure instead. Exactly one of `procedure`, `procedure_id`, or `procedure_code` must be specified.' schema: type: string format: uuid example: 7ad7c4ef-baf9-4789-8e58-51d2308a1143 - name: procedure in: query required: false description: 'Search for prices for the given procedure. This input is fuzzy matched to the most relevant procedure `display` field. We will preferentially match procedure bundles. If we match a procedure bundle but do not have data for the insurance specified by the `plan_id` parameter, we will return data for its anchor procedure instead. Exactly one of `procedure`, `procedure_id`, or `procedure_code` must be specified.' schema: type: string example: MRI, thoracic spine - name: procedure_code in: query required: false description: 'Search for prices for procedures with the given billing code. We will preferentially match procedure bundles. If we match a procedure bundle but do not have data for the insurance specified by the `plan_id` parameter, we will return data for its anchor procedure instead. Exactly one of `procedure`, `procedure_id`, or `procedure_code` must be specified.' schema: type: string example: '73720' - name: page in: query required: false description: The page of the results which was returned. schema: type: integer format: int32 example: 1 - name: page_size in: query required: false description: How many results are in each page. schema: type: integer format: int32 example: 25 - name: plan_id in: query required: false description: Search for negotiated rates for the insurance plan with this UUID. schema: type: string format: uuid example: 81ba3a1a-05a9-48d9-b9b2-cb8f9eafc902 - name: specialty_ids in: query required: false description: A comma separated list of specialty UUIDs. Filter to providers with any of the given specialties. schema: type: string example: fcc9a22c-7a0f-4405-b0c9-c5f8ad83b93e,8b5d3998-d7e2-4b9e-91d1-17c19cd089f5,44b0284c-f360-4312-a17d-d601651cb0ea - name: specialty in: query required: false description: String input of a provider specialty that will be interpreted and matched to the single closest specialty, dealing with basic typos and colloquial names for providers. schema: type: string example: gastroenterology - name: address in: query required: false description: String input of an address that will be interpreted and geocoded in real time. schema: type: string example: 2074 23rd Ave, San Francisco, CA 94116 - name: location in: query required: false description: Latitude/longitude pair of coordinates in lieu of a string address. schema: type: string example: 37.7489816,-122.4802092 - name: distance in: query required: false description: The proximity radius of providers returned. schema: type: integer format: int32 example: 10 - name: fields in: query required: false description: 'Comma-separated list of fields within the provider object to return. Can be used to greatly reduce the size of the response by requesting only data you intend to use. Note that all price information is nested under the `matched_location` field. You almost certainly want to return this field. Cannot be used in tandem with `_excl_fields`.' schema: type: string example: matched_location,npi - name: _excl_fields in: query required: false description: 'Comma-separated list of fields within the provider object to exclude from the response. Can be used to greatly reduce the size of the response by requesting only data you intend to use. Cannot be used in tandem with `fields`.' schema: type: string example: insurances,age responses: '200': description: Returns per provider prices for the given procedure content: application/json: schema: required: - data - parameters type: object properties: parameters: type: object properties: total_count: type: integer description: The total number of results matched, across all pages. format: int32 example: 141 page: type: integer description: The page of the results which was returned. format: int32 example: 1 page_size: type: integer description: How many results are in each page. format: int32 example: 25 procedure_id: type: string description: 'The UUID of the procedure that results were filtered to. Only populated when the `procedure_id` search parameter was used.' format: uuid example: 7ad7c4ef-baf9-4789-8e58-51d2308a1143 procedure: type: object properties: uuid: type: string description: A UUID uniquely identifying this procedure format: uuid example: 0a9a245f-2f52-4cc0-a5c3-77a811acc6f7 display: type: string example: MRI, arm procedure_code_count: type: integer format: int32 example: 7 procedure_codes: type: array description: '' items: type: object properties: code: type: string example: '73222' type: type: string example: CPT description: type: string example: MRI, arm insurances: type: array description: List of insurance UUIDs for this provider. items: type: string format: uuid insurance: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd plan_name: type: string nullable: true example: Aetna HealthFund Open Choice carrier_name: type: string nullable: true example: Aetna specialty_ids: type: array description: A comma separated list of specialty UUIDs. Filter to providers with any of the given specialties. example: - fcc9a22c-7a0f-4405-b0c9-c5f8ad83b93e - 8b5d3998-d7e2-4b9e-91d1-17c19cd089f5 - 44b0284c-f360-4312-a17d-d601651cb0ea items: type: string format: uuid specialty: type: object properties: uuid: type: string description: A UUID uniquely identifying this specialty format: uuid example: 18d8ad26-7e5f-44ac-9afa-966efb375344 taxonomy_code: example: 207Q00000X oneOf: - type: string board_specialty: type: string nullable: true example: Family Medicine board_sub_specialty: type: string nullable: true non_md_specialty: type: string nullable: true non_md_sub_specialty: type: string nullable: true example: None provider_name: type: string nullable: true example: Family Medicine Doctor colloquial: type: string nullable: true taxonomy_1: type: string nullable: true example: Allopathic & Osteopathic Physicians taxonomy_2: type: string nullable: true example: Family Medicine taxonomy_3: type: string nullable: true display: type: string example: Family Medicine provider_type: type: string example: Doctor is_primary: type: boolean description: Whether or not a specialty is a provider's primary specialty example: true address: type: string description: String input of an address that will be interpreted and geocoded in real time. example: 2074 23rd Ave, San Francisco, CA 94116 location: type: string description: Latitude/longitude pair of coordinates in lieu of a string address. example: 37.7489816,-122.4802092 distance: type: integer description: The proximity radius of providers returned. format: int32 example: 10 fields: type: array description: 'List of fields within the provider object to return. Can be used to greatly reduce the size of the response by requesting only data you intend to use. Note that all price information is nested under the `matched_location` field. You almost certainly want to return this field. Cannot be used in tandem with `_excl_fields`' example: - matched_location - npi items: type: string _excl_fields: type: array description: 'List of fields within the provider object to exclude from the response. Can be used to greatly reduce the size of the response by requesting only data you intend to use. Cannot be used in tandem with `fields`' example: - insurances - age items: type: string data: type: array description: All of the metadata on a specific provider plus a `matched_location` key showing the costs at the least expensive location. items: type: object properties: insurance: type: object properties: uuid: type: string description: The UUID of the insurance these prices correspond to. format: uuid example: ef704f14-c906-4857-acd4-d811f1394c32 plan_name: type: string description: The name of the insurance plan this UUID represents. example: Aetna carrier_name: type: string description: The carrier that this insurance plan is associated with, if any. nullable: true procedure: type: object properties: uuid: type: string description: The UUID of the procedure these prices correspond to. format: uuid example: 7ad7c4ef-baf9-4789-8e58-51d2308a1143 name: type: string description: The name of the procedure these prices correspond to. example: MRI, leg matched_location: type: object properties: costs: type: object properties: min: type: string description: The minimum cost for this procedure in dollars example: '239.0' median: type: string description: The median cost for this procedure in dollars example: '520.5350000000001' max: type: string description: The maximum cost for this procedure in dollars example: '714.93' is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true outpatient: oneOf: - nullable: true - required: - components - is_bundle - max - median - min type: object properties: min: type: number description: The minimum cost for this procedure in this place of service, in dollars. example: 239 median: type: number description: The median cost for this procedure in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this procedure in this place of service, in dollars. example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true components: type: array description: 'Individual costs for the components that make up this procedure bundle. For a regular procedure, this field will always be `null`.' nullable: true items: type: object properties: display: type: string description: The display name for this component of a procedure bundle. example: Knee replacement surgery min: type: number description: The minimum cost for this component in this place of service, in dollars. example: 239 median: type: number description: The median cost for this component in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this component in this place of service, in dollars. example: 714.93 description: 'Costs associated with this procedure in an outpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' description: 'Costs associated with this procedure in an outpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' inpatient: oneOf: - nullable: true - required: - components - is_bundle - max - median - min type: object properties: min: type: number description: The minimum cost for this procedure in this place of service, in dollars. example: 239 median: type: number description: The median cost for this procedure in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this procedure in this place of service, in dollars. example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true components: type: array description: 'Individual costs for the components that make up this procedure bundle. For a regular procedure, this field will always be `null`.' nullable: true items: type: object properties: display: type: string description: The display name for this component of a procedure bundle. example: Knee replacement surgery min: type: number description: The minimum cost for this component in this place of service, in dollars. example: 239 median: type: number description: The median cost for this component in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this component in this place of service, in dollars. example: 714.93 description: 'Costs associated with this procedure in an inpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' description: 'Costs associated with this procedure in an inpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' description: The costs associated with this location. uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances the accepted at this location items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. description: All of the metadata on the matched location plus a `costs` key. npi: maximum: 9999999999 minimum: 1000000000 type: integer description: The healthcare provider's 10-digit National Provider Identifier (NPI) format: int32 example: 1861664294 first_name: type: string description: First name of the provider example: Jane middle_name: type: string description: Middle name of the provider nullable: true example: J last_name: type: string description: Last name of the provider example: Doe age: type: integer description: The estimated age of the provider format: int32 nullable: true example: 38 gender: type: string description: The gender of the provider enum: - m - f x-enum-elements: - name: m description: '' - name: f description: '' ratings_count: type: integer description: Total number of ratings collected across different sources format: int32 example: 20 ratings_avg: type: number description: Average patient satisfaction rating out of 10 points across multiple sources nullable: true example: 9.8 degrees: type: array description: Lists all degrees associated with this provider (e.g. MD, OD, PhD) items: type: string specialties: type: array description: This lists the UUIDs of all the specialties for a given provider items: type: string format: uuid languages: type: array description: List of confirmed languages spoken items: type: string educations: type: array description: List of the schools attended by the provider items: required: - education - type - year type: object properties: education: type: object properties: name: type: string example: Stritch School of Medicine uuid: type: string format: uuid example: 0b26c31a-d74a-4327-9702-57753b82a126 type: type: string nullable: true year: type: integer format: int32 nullable: true example: 2007 insurances: type: array description: List of the UUIDs of insurances the provider accepts items: type: string format: uuid provider_types: type: array description: There are high level classifications for different provider types -- e.g. "Doctor", "Optometry", "Dental Providers", "Nursing", etc. items: type: string locations: type: array description: List of all locations this provider is known to practice at including any known phone numbers at these locations items: type: object properties: uuid: type: string description: A UUID uniquely identifying this location format: uuid example: f38b9fd5-1e28-4f6e-953c-1e1493b68e21 name: type: string nullable: true address: type: string example: '185 Berry St # 130, San Francisco, CA 94107, US' address_details: type: object properties: street: type: string example: '185 Berry St # 130' address_line_1: type: string example: 185 Berry St address_line_2: type: string nullable: true example: '# 130' city: type: string example: San Francisco state: type: string example: CA zip: type: string example: '94107' latitude: type: number example: 37.7765973 longitude: type: number example: -122.3919488 google_maps_link: type: string example: https://www.google.com/maps/@37.7765973-122.3919488?q=185%20Berry%20St%20%23%20130%2C%20SF%2C%20CA%2094107%2C%20US phone_numbers: type: array description: '' items: type: object properties: phone: type: string example: '4155146410' details: type: string example: primary faxes: type: array description: 'Fax numbers associated with this location. This property only appears for customers purchasing fax data. If you would like this property and are not receiving it, please reach out to support.' items: type: object properties: phone: type: string example: '2121234567' details: type: string example: secondary confidence: type: integer format: int32 example: 3 confidence: type: integer description: 'Each location contains a confidence score. This score indicates the probability of the given provider practicing at said location with the included contact information This field will only be populated for Ribbon-provided locations. Locations you create yourself will have a confidence score of `null`.' format: int32 nullable: true example: 2 insurances: type: array description: List of insurances the accepted at this location items: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string tins: type: string description: Comma separated list of standard 9-digit identification code(s) used by the IRS for business entities and used for contracting and paying provider/facility claims. online_profiles: type: array description: We aggregate profiles across a variety of different online sources, including booking platforms items: type: object properties: url: type: string '400': description: The given search was not valid. It combined parameters that may not be combined, or did not specify a procedure in any way, or the specified procedure could not be found, etc. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/providers expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingProviders x-testDescription: 'Search for providers that perform a given procedure and find the lowest insurance-specific price for a procedure in your area. #### Example Use Case Search for all applicable provider negotiated rates, given a specific insurance and procedure (and optionally, a specific location/address and distance). For example, search for all providers near me who perform Leg MRIs and who take a given insurance, sorted by lowest price. ' /pricing/providers/{npi}/procedures: get: tags: - Price Transparency summary: getPricingProviderProcedures description: 'Fetch the list of procedures that a single provider performs, with the lowest available negotiated rates specific to a given insurance for each procedure. #### Example Use Case For a given provider, search the full list of procedures that they are likely to perform where there are negotiated rates available for a particular insurance, and return the minimum price for each procedure. ' operationId: getPricingProviderProcedures parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: plan_id in: query description: Search for negotiated rates for the insurance plan with this UUID. required: false style: form explode: true schema: type: string format: uuid example: 81ba3a1a-05a9-48d9-b9b2-cb8f9eafc902 - name: page in: query description: The page of the results which was returned. required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: page_size in: query description: How many results are in each page. required: false style: form explode: true schema: type: integer format: int32 example: 15 responses: '200': description: Returns the procedures for the given provider for which we have price data content: application/json: schema: required: - data - parameters type: object properties: parameters: type: object properties: page: type: integer description: The page of the results which was returned. format: int32 example: 1 page_size: type: integer description: How many results are in each page. format: int32 example: 25 insurance: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd display: example: Aetna oneOf: - type: string data: type: array description: '' items: type: object properties: uuid: type: string description: The UUID of the procedure these prices correspond to. format: uuid example: 7ad7c4ef-baf9-4789-8e58-51d2308a1143 display: type: string description: The name of the procedure these prices correspond to. example: MRI, leg min_cost: type: number description: The minimum cost for this procedure with this provider, in dollars. '400': description: The given search was not valid. The given insurance could not be found, etc. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/providers/1861664294/procedures?plan_id=81ba3a1a-05a9-48d9-b9b2-cb8f9eafc902&page=1&page_size=15 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingProviderProcedures x-testDescription: 'Fetch the list of procedures that a single provider performs, with the lowest available negotiated rates specific to a given insurance for each procedure. #### Example Use Case For a given provider, search the full list of procedures that they are likely to perform where there are negotiated rates available for a particular insurance, and return the minimum price for each procedure. ' /pricing/providers/{npi}/procedures/{procedure_uuid}: get: tags: - Price Transparency summary: getPricingProviderProcedure description: 'Find the prices offered by a single provider for a specific procedure, with a given insurance, across practice locations. #### Example Use Case Compare insurance-specific price estimates of a Leg MRI for a single provider at multiple relevant practices (e.g., compare this provider''s rates when performing the procedure at both the provider''s private outpatient facility, as well as a nearby hospital system clinic where they also practice). ' operationId: getPricingProviderProcedure parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: procedure_uuid in: path description: The UUID of the target procedure. If the target procedure is a procedure bundle but we do not have any data for it, we will return data for its anchor procedure instead. required: true style: simple explode: false schema: type: string format: uuid example: 3c51144e-3385-4933-b581-4081c84b3cb9 - name: plan_id in: query description: Search for negotiated rates for the insurance plan with this UUID. required: false style: form explode: true schema: type: string format: uuid example: 81ba3a1a-05a9-48d9-b9b2-cb8f9eafc902 - name: page in: query description: The page of the results which was returned. required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: page_size in: query description: How many results are in each page. required: false style: form explode: true schema: type: integer format: int32 example: 15 responses: '200': description: Returns costs for the given procedure with the given provider at each location content: application/json: schema: required: - locations - parameters type: object properties: parameters: type: object properties: page: type: integer description: The page of the results which was returned. format: int32 example: 1 page_size: type: integer description: How many results are in each page. format: int32 example: 25 insurance: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd display: example: Aetna oneOf: - type: string locations: type: array description: '' items: type: object properties: uuid: type: string description: The UUID of the location these prices correspond to. format: uuid example: 7ad7c4ef-baf9-4789-8e58-51d2308a1143 costs: type: object properties: min: type: number description: The minimum cost for this procedure in dollars example: 239 avg: type: number description: 'The median cost for this procedure in dollars This key is misnamed. For backwards compatibility, we have retained the legacy name.' example: 520.535 max: type: number description: The maximum cost for this procedure in dollars example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true outpatient: oneOf: - nullable: true - required: - components - is_bundle - max - median - min type: object properties: min: type: number description: The minimum cost for this procedure in this place of service, in dollars. example: 239 median: type: number description: The median cost for this procedure in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this procedure in this place of service, in dollars. example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true components: type: array description: 'Individual costs for the components that make up this procedure bundle. For a regular procedure, this field will always be `null`.' nullable: true items: type: object properties: display: type: string description: The display name for this component of a procedure bundle. example: Knee replacement surgery min: type: number description: The minimum cost for this component in this place of service, in dollars. example: 239 median: type: number description: The median cost for this component in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this component in this place of service, in dollars. example: 714.93 description: 'Costs associated with this procedure in an outpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' description: 'Costs associated with this procedure in an outpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' inpatient: oneOf: - nullable: true - required: - components - is_bundle - max - median - min type: object properties: min: type: number description: The minimum cost for this procedure in this place of service, in dollars. example: 239 median: type: number description: The median cost for this procedure in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this procedure in this place of service, in dollars. example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true components: type: array description: 'Individual costs for the components that make up this procedure bundle. For a regular procedure, this field will always be `null`.' nullable: true items: type: object properties: display: type: string description: The display name for this component of a procedure bundle. example: Knee replacement surgery min: type: number description: The minimum cost for this component in this place of service, in dollars. example: 239 median: type: number description: The median cost for this component in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this component in this place of service, in dollars. example: 714.93 description: 'Costs associated with this procedure in an inpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' description: 'Costs associated with this procedure in an inpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' '400': description: The given search was not valid. The given insurance could not be found, etc. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/providers/1861664294/procedures/3c51144e-3385-4933-b581-4081c84b3cb9?plan_id=81ba3a1a-05a9-48d9-b9b2-cb8f9eafc902&page=1&page_size=15 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingProviderProcedure x-testDescription: 'Find the prices offered by a single provider for a specific procedure, with a given insurance, across practice locations. #### Example Use Case Compare insurance-specific price estimates of a Leg MRI for a single provider at multiple relevant practices (e.g., compare this provider''s rates when performing the procedure at both the provider''s private outpatient facility, as well as a nearby hospital system clinic where they also practice). ' /pricing/providers/{npi}/procedures/{procedure_uuid}/locations/{location_uuid}: get: tags: - Price Transparency summary: getPricingProviderProcedureLocation description: 'Search for a price estimate for a specific procedure from a specific provider at a specific location, with a given insurance plan. #### Example Use Case Given an insurance, identify the expected price of a particular procedure from a specific provider at a known facility. ' operationId: getPricingProviderProcedureLocation parameters: - name: npi in: path description: The 10-digit National Provider Identifier (NPI) of the healthcare provider to fetch. required: true style: simple explode: false schema: pattern: ^\d{10}$ type: string example: '1861664294' - name: procedure_uuid in: path description: The UUID of the target procedure. If the target procedure is a procedure bundle but we do not have any data for it, we will return data for its anchor procedure instead. required: true style: simple explode: false schema: type: string format: uuid example: 3c51144e-3385-4933-b581-4081c84b3cb9 - name: location_uuid in: path description: The UUID of the target location. required: true style: simple explode: false schema: type: string format: uuid example: 34ecc98a-e49e-49e3-84f9-b0ab2ff00495 - name: plan_id in: query description: Search for negotiated rates for the insurance plan with this UUID. required: false style: form explode: true schema: type: string format: uuid example: 81ba3a1a-05a9-48d9-b9b2-cb8f9eafc902 responses: '200': description: Returns the costs associated with the given provider, procedure, and location content: application/json: schema: required: - data - parameters type: object properties: parameters: type: object properties: insurance: type: object properties: uuid: type: string description: A UUID uniquely identifying this insurance format: uuid example: d8addf29-1054-4ccb-b179-dda65f7fefdd carrier_association: type: string nullable: true example: Aetna carrier_brand: type: string nullable: true example: Aetna carrier_name: type: string nullable: true example: Aetna state: type: string nullable: true example: NY plan_name: type: string nullable: true example: Aetna HealthFund Open Choice plan_type: type: string nullable: true example: PPO metal_level: type: string nullable: true display_name: type: string example: Aetna - HealthFund Open Choice - PPO network: type: string nullable: true confidence: type: integer format: int32 nullable: true example: 4 category: type: string nullable: true codes: type: array description: '' items: oneOf: - type: array items: type: string data: type: object properties: costs: type: object properties: min: type: number description: The minimum cost for this procedure in dollars example: 239 avg: type: number description: 'The median cost for this procedure in dollars This key is misnamed. For backwards compatibility, we have retained the legacy name.' example: 520.535 max: type: number description: The maximum cost for this procedure in dollars example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true outpatient: oneOf: - nullable: true - required: - components - is_bundle - max - median - min type: object properties: min: type: number description: The minimum cost for this procedure in this place of service, in dollars. example: 239 median: type: number description: The median cost for this procedure in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this procedure in this place of service, in dollars. example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true components: type: array description: 'Individual costs for the components that make up this procedure bundle. For a regular procedure, this field will always be `null`.' nullable: true items: type: object properties: display: type: string description: The display name for this component of a procedure bundle. example: Knee replacement surgery min: type: number description: The minimum cost for this component in this place of service, in dollars. example: 239 median: type: number description: The median cost for this component in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this component in this place of service, in dollars. example: 714.93 description: 'Costs associated with this procedure in an outpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' description: 'Costs associated with this procedure in an outpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' inpatient: oneOf: - nullable: true - required: - components - is_bundle - max - median - min type: object properties: min: type: number description: The minimum cost for this procedure in this place of service, in dollars. example: 239 median: type: number description: The median cost for this procedure in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this procedure in this place of service, in dollars. example: 714.93 is_bundle: type: boolean description: Where this data is the costs for a procedure bundle rather than a regular procedure. example: true components: type: array description: 'Individual costs for the components that make up this procedure bundle. For a regular procedure, this field will always be `null`.' nullable: true items: type: object properties: display: type: string description: The display name for this component of a procedure bundle. example: Knee replacement surgery min: type: number description: The minimum cost for this component in this place of service, in dollars. example: 239 median: type: number description: The median cost for this component in this place of service, in dollars. example: 520.535 max: type: number description: The maximum cost for this component in this place of service, in dollars. example: 714.93 description: 'Costs associated with this procedure in an inpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' description: 'Costs associated with this procedure in an inpatient setting. This key will only be populated for procedure bundles, and only if we have relevant data. A regular procedure will always have a `null` value here.' '400': description: The given search was not valid. The given insurance could not be found, etc. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API '404': description: The given NPI cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/providers/1861664294/procedures/3c51144e-3385-4933-b581-4081c84b3cb9/locations/34ecc98a-e49e-49e3-84f9-b0ab2ff00495?plan_id=81ba3a1a-05a9-48d9-b9b2-cb8f9eafc902 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingProviderProcedureLocation x-testDescription: 'Search for a price estimate for a specific procedure from a specific provider at a specific location, with a given insurance plan. #### Example Use Case Given an insurance, identify the expected price of a particular procedure from a specific provider at a known facility. ' /pricing/carriers: get: tags: - Price Transparency summary: getPricingCarriers description: 'This endpoint will show the carriers for which we have data. This can be used to fetch the recency of the data used per carrier. ' operationId: getPricingCarriers parameters: [] responses: '200': description: Returns all carriers we have price data for content: application/json: schema: required: - data type: object properties: data: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this carrier format: uuid example: ef704f14-c906-4857-acd4-d811f1394c32 name: type: string description: A human-friendly name for this carrier example: Aetna last_updated: type: string description: A month-granularity ISO-format date representing when we last updated price data for this carrier example: 2023-01 deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/carriers expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingCarriers x-testDescription: 'This endpoint will show the carriers for which we have data. This can be used to fetch the recency of the data used per carrier. ' /pricing/carrier/{carrier_uuid}: get: tags: - Price Transparency summary: getPricingCarrier description: 'Fetch metadata including the recency of the pricing data used for a specific carrier. ' operationId: getPricingCarrier parameters: - name: carrier_uuid in: path description: The UUID of the insurance carrier. required: true style: simple explode: false schema: type: string format: uuid example: ef704f14-c906-4857-acd4-d811f1394c32 responses: '200': description: Returns metadata for the given carrier content: application/json: schema: type: object properties: uuid: type: string description: A UUID uniquely identifying this carrier format: uuid example: ef704f14-c906-4857-acd4-d811f1394c32 name: type: string description: A human-friendly name for this carrier example: Aetna last_updated: type: string description: A month-granularity ISO-format date representing when we last updated price data for this carrier example: 2023-01 '404': description: The given carrier cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/carrier/ef704f14-c906-4857-acd4-d811f1394c32 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingCarrier x-testDescription: 'Fetch metadata including the recency of the pricing data used for a specific carrier. ' /pricing/version: get: tags: - Price Transparency summary: getPricingCarrierNames description: 'This endpoint will the names of the carriers for which we have data. This can be used to fetch the recency of the data used per carrier. This endpoint is deprecated. Please use [List Carriers](./getpricingcarriers) instead. ' operationId: getPricingCarrierNames parameters: [] responses: '200': description: Returns all carriers we have price data for content: application/json: schema: type: object properties: carriers: type: array description: The name of the insurance carriers we have pricing data for example: - Aetna - Cigna items: type: string deprecated: true x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/version expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingCarrierNames x-testDescription: 'This endpoint will the names of the carriers for which we have data. This can be used to fetch the recency of the data used per carrier. This endpoint is deprecated. Please use [List Carriers](./getpricingcarriers) instead. ' /pricing/version/{carrier_name}: get: tags: - Price Transparency summary: getPricingVersionCarrier description: 'Fetch the recency of the pricing data used for a specific carrier by name. This endpoint is deprecated. Please use [Get Carrier](./getpricingcarrier) instead. ' operationId: getPricingVersionCarrier parameters: - name: carrier_name in: path description: The name of the insurance carrier. required: true style: simple explode: false schema: type: string example: Aetna responses: '200': description: Returns the recency for the given carrier content: application/json: schema: type: object properties: last_updated: type: string description: A month-granularity ISO-format date representing when we last updated price data for this carrier example: 2023-01 '404': description: The given carrier cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: true x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /pricing/version/Aetna expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getPricingVersionCarrier x-testDescription: 'Fetch the recency of the pricing data used for a specific carrier by name. This endpoint is deprecated. Please use [Get Carrier](./getpricingcarrier) instead. ' /eligibility: post: tags: - Cost Estimates summary: getEligibility description: "Verify a member's current insurance coverage and benefits. You\ \ can access detailed information including a member\u2019s progress on their\ \ Deductible and Out-of-pocket, as well as Copay and Coinsurance information\ \ for different services.\n\n#### Example Use Case\nInform a member of their\ \ current progress against their Deductible as well as their Copay and Coinsurance\ \ summaries so they can better estimate their out-of pocket costs.\n" operationId: getEligibility parameters: - name: include_full_response in: query description: Whether to return the full eligibility response from the payer. Defaults to `false` when not provided. required: false style: form explode: true schema: type: boolean example: true default: false requestBody: description: Identifying information for the member to be checked content: application/json: schema: type: object properties: member_id: type: string description: The member's identification number example: 000000000-00 first_name: type: string description: The member's first name example: John last_name: type: string description: The member's last name example: Doe birth_date: type: string description: The member's birth date as an ISO-format date string format: date example: 1980-12-31 insurance_partner: type: string description: The identifier for this insurance partner in the Ribbon API example: aetna_better_health_il description: Identifying information for the member to be checked required: true responses: '200': description: Eligibility information for the given member content: application/json: schema: required: - parameters - request_id - status type: object properties: parameters: type: object properties: member_id: type: string description: The member's identification number example: 000000000-00 first_name: type: string description: The member's first name example: John last_name: type: string description: The member's last name example: Doe birth_date: type: string description: The member's birth date as an ISO-format date string format: date example: 1980-12-31 insurance_partner: type: string description: The identifier for this insurance partner in the Ribbon API example: aetna_better_health_il status: type: object properties: is_valid: type: boolean description: Whether the eligibility check was successful example: true error: type: string description: If `is_valid` is `true`, an error code explaining what went wrong. When `is_valid` is `false`, this will be `null`. nullable: true request_id: type: string description: A unique identifier for the given response which Ribbon can use to find it in our logs during support requests example: '40610978' plan_info: type: object properties: insurance_partner: type: string description: The identifier for this insurance partner in the Ribbon API example: aetna_better_health_il plan_name: type: string description: User-friendly display name for this insurance partner example: Aetna Better Health of Illinois is_active: type: boolean description: Whether the member is actively covered by this plan example: true plan_start_date: type: string description: The starting date for the member's coverage by this plan format: date example: 2012-02-01 plan_end_date: type: string description: The ending date for the member's coverage by this plan format: date nullable: true example: 2024-01-01 deductible_detail: type: object properties: individual: type: object properties: in_network: type: object properties: spend: type: string description: The amount the member has paid towards in-network deductibles, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards in-network deductibles, in dollars nullable: true example: '3000' remaining: type: string description: The remaining amount the member can pay towards in-network deductibles, in dollars example: '2983.57' out_of_network: type: object properties: spend: type: string description: The amount the member has paid towards out-of-network deductibles, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards out-of-network deductibles, in dollars nullable: true example: '6000' remaining: type: string description: The remaining amount the member can pay towards out-of-network deductibles, in dollars nullable: true example: '5983.57' family: type: object properties: in_network: type: object properties: spend: type: string description: The amount the member has paid towards in-network deductibles, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards in-network deductibles, in dollars nullable: true example: '6000' remaining: type: string description: The remaining amount the member can pay towards in-network deductibles, in dollars nullable: true example: '5983.57' out_of_network: type: object properties: spend: type: string description: The amount the member has paid towards out-of-network deductibles, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards out-of-network deductibles, in dollars nullable: true example: '6000' remaining: type: string description: The remaining amount the member can pay towards out-of-network deductibles, in dollars nullable: true example: '5983.57' out_of_pocket_detail: type: object properties: individual: type: object properties: in_network: type: object properties: spend: type: string description: The amount the member has paid towards their in-network out-of-pocket maximum, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards their in-network out-of-pocket maximum, in dollars nullable: true example: '3000' remaining: type: string description: The remaining amount the member can pay towards their in-network out-of-pocket maximum, in dollars nullable: true example: '2983.57' out_of_network: type: object properties: spend: type: string description: The amount the member has paid towards their out-of-network out-of-pocket maximum, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards their out-of-network out-of-pocket maximum, in dollars nullable: true example: '6000' remaining: type: string description: The remaining amount the member can pay towards their out-of-network out-of-pocket maximum, in dollars nullable: true example: '5983.57' family: type: object properties: in_network: type: object properties: spend: type: string description: The amount the member has paid towards their in-network out-of-pocket maximum, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards their in-network out-of-pocket maximum, in dollars nullable: true example: '3000' remaining: type: string description: The remaining amount the member can pay towards their in-network out-of-pocket maximum, in dollars nullable: true example: '2983.57' out_of_network: type: object properties: spend: type: string description: The amount the member has paid towards their out-of-network out-of-pocket maximum, in dollars nullable: true example: '16.43' maximum: type: string description: The maximum amount the member can pay towards their out-of-network out-of-pocket maximum, in dollars nullable: true example: '6000' remaining: type: string description: The remaining amount the member can pay towards their out-of-network out-of-pocket maximum, in dollars nullable: true example: '5983.57' primary_care_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' dme_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' oncology_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' vision_optometry_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' physical_therapy_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' specialist_office_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' mental_health_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' surgical_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' urgent_care_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' diagnostic_lab_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' asc_facility_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' chiropractic_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' mri_ct_scan_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' x_ray_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' speech_therapy_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' occupational_therapy_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' emergency_medical_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' wellness_or_routine_visit_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' podiatry_office_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' outpatient_professional_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' anesthesia_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' substance_abuse_professional_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' substance_abuse_in_patient_facility_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' substance_abuse_out_patient_facility_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' flu_vaccination_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' hospital_inpatient_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' pharmacy_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' hospital_outpatient_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' telemedicine_primary_care_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' telemedicine_specialist_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' telemedicine_urgent_care_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' telemedicine_physical_therapy_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' telemedicine_mental_health_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' psychotherapy_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' snf_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' snf_room_board_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' home_health_care_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' hospice_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' professional_physician_visit_inpatient_summary: type: object properties: in_network: type: object properties: copay: type: string description: The amount of the member's in-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' out_of_network: type: object properties: copay: type: string description: The amount of the member's out-of-network copay, in dollars example: '30.0' coinsurance: type: string nullable: true example: '0.0' deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: [] x-readme: explorer-enabled: false /eligibility_insurance_partners: get: tags: - Cost Estimates summary: getEligibilityInsurancePartners description: 'Search or list all insurance partners supported by our eligibility features. ' operationId: getEligibilityInsurancePartners parameters: - name: search in: query description: Fuzzy search input for insurance names required: false style: form explode: true schema: type: string example: aetna responses: '200': description: Returns a list of supported insurances content: application/json: schema: required: - count - data type: object properties: count: type: integer description: The total number of results matched. format: int32 example: 332 data: type: array description: '' items: type: object properties: insurance_partner: type: string description: Identifier for this insurance partner used by other endpoints in the Ribbon API example: aetna_better_health_il display: type: string description: User-friendly display name for this insurance partner example: Aetna Better Health of Illinois deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /eligibility_insurance_partners?search=aetna expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getEligibilityInsurancePartners x-testDescription: 'Search or list all insurance partners supported by our eligibility features. ' /eligibility_insurance_partners/{insurance_partner}: get: tags: - Cost Estimates summary: getEligibilityInsurancePartner description: 'Fetch an insurance partner supported by our eligibility features. ' operationId: getEligibilityInsurancePartner parameters: - name: insurance_partner in: path description: The identifier for this insurance partner in the Ribbon API required: true style: simple explode: false schema: type: string example: aetna_better_health_il responses: '200': description: Returns a single supported insurance content: application/json: schema: type: object properties: insurance_partner: type: string description: Identifier for this insurance partner used by other endpoints in the Ribbon API example: aetna_better_health_il display: type: string description: User-friendly display name for this insurance partner example: Aetna Better Health of Illinois '404': description: The given insurance partner identifier cannot be found content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer format: int32 example: 404 code: type: string enum: - not_found message: type: string enum: - resource not found description: The requested resource could not be found deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /eligibility_insurance_partners/aetna_better_health_il expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getEligibilityInsurancePartner x-testDescription: 'Fetch an insurance partner supported by our eligibility features. ' /procedure_cost_estimate: get: tags: - Cost Estimates summary: getProcedureCostEstimate description: 'Calculates estimated costs for a given procedure based on a user''s location. #### Example Use Case Estimate the cost of a knee replacement surgery for a user in Boston so they can plan their personal finances accordingly. ' operationId: getProcedureCostEstimate parameters: - name: procedure_ids in: query description: The UUIDs of the procedures to filter results to, as a comma-delimited string required: true style: form explode: true schema: type: string example: 9f3fd9e8-96b0-4cc7-ab2c-8d538e9164ae,fbb223e6-9806-45b5-95b1-4d7a36cc9164 - name: member_zip in: query description: The zip code of the member we are generating cost estimates for required: true style: form explode: true schema: type: string example: '60606' - name: type in: query description: 'The type of data to base cost estimates on: `claims` data or payer-filed `price_transparency` data. Defaults to `claims`.' required: false style: form explode: true schema: type: string example: price_transparency enum: - claims - price_transparency x-enum-elements: - name: claims description: '' - name: price_transparency description: '' description: 'The type of data to base cost estimates on: `claims` data or payer-filed `price_transparency` data. Defaults to `claims`.' - name: plan_id in: query description: The UUID of the insurance plan to use when fetching negotiated rates with providers. Necessary only if searching for estimates using the 'price_transparency' `type`. required: false style: form explode: true schema: type: string format: uuid example: a5a0c8ff-c62b-4a9e-af86-55e52bd7dc55 responses: '200': description: Estimated costs for the given procedures content: application/json: schema: type: object properties: parameters: type: object properties: procedures: type: array description: '' items: type: object properties: uuid: type: string description: A UUID uniquely identifying this procedure format: uuid example: 0a9a245f-2f52-4cc0-a5c3-77a811acc6f7 display: type: string example: MRI, arm procedure_code_count: type: integer format: int32 example: 7 procedure_codes: type: array description: '' items: type: object properties: code: type: string example: '73222' type: type: string example: CPT description: type: string example: MRI, arm member_zip: type: string example: '60606' data: type: object properties: cost_estimates: type: object properties: minimum: type: number description: Minimum cost for all of the given procedures combined. example: 100 median: type: number description: Median cost for all of the given procedures combined. example: 300 maximum: type: number description: Maximum cost for all of the given procedures combined. example: 500 deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /procedure_cost_estimate?procedure_ids=9f3fd9e8-96b0-4cc7-ab2c-8d538e9164ae%2Cfbb223e6-9806-45b5-95b1-4d7a36cc9164&member_zip=60606&type=claims&plan_id=a5a0c8ff-c62b-4a9e-af86-55e52bd7dc55 expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getProcedureCostEstimate x-testDescription: 'Calculates estimated costs for a given procedure based on a user''s location. #### Example Use Case Estimate the cost of a knee replacement surgery for a user in Boston so they can plan their personal finances accordingly. ' /network_analysis: get: tags: - Networks summary: getNetworkAnalysis description: 'View a provider network across different geographies (i.e. counties). #### Example Use Case In looking to expand to a new region, analyze existing provider networks in the region to understand how best to construct your own. ' operationId: getNetworkAnalysis parameters: - name: insurance_id in: query description: A unique identifier for a single provider network from the Insurances reference endpoint. required: true style: form explode: true schema: type: string format: uuid example: 000912ad-5674-4c23-9b00-dca4e76aaa07 - name: ssa_codes in: query description: "SSA codes of the counties to run a network analysis on. \n\n\ A maximum of 50 codes may be included in a single request." required: true style: form explode: true schema: type: string example: 14141,14150 - name: exclude_npis in: query description: 'When set to `true` the response will not list specific NPIs in the network but will continue to include the `npi_count` fields to let you know how many there are. This parameter can be used to greater lower the amount of data sent back when specific NPIs are not necessary.' required: false style: form explode: true schema: type: boolean example: true default: false responses: '200': description: Returns the size of the provider network for the given insurance in the given counties. content: application/json: schema: required: - data - parameters type: object properties: parameters: required: - insurance_id - npi_count - ssa_codes type: object properties: insurance_id: type: string description: A unique identifier for a single provider network from the Insurances reference endpoint. format: uuid example: 000912ad-5674-4c23-9b00-dca4e76aaa07 ssa_codes: type: array description: The SSA codes the network analysis was run on. example: - '14141' - '14150' items: type: string npi_count: type: integer description: How many unique NPIs accept the given insurance across all requested counties. format: int32 example: 2999 data: type: array description: '' items: required: - display - npi_count - ssa_code type: object properties: ssa_code: type: string description: The SSA code of the county this data is for. example: '14141' display: type: string description: The display name of the county this data is for. example: Cook, IL npi_count: type: integer description: How many unique NPIs accept the given insurance in this county. format: int32 example: 2103 npis: type: array description: 'The NPIs of providers who accept the given insurance in this county. If the `exclude_npis` parameter was set to true, this key will not be present.' items: type: string '400': description: The given request was invalid - the required parameters were missing or invalid, or it specified too many SSA codes. content: application/json: schema: required: - error type: object properties: error: required: - code - message - status type: object properties: status: type: integer description: The HTTP error code associated with this error format: int32 example: 400 code: type: string enum: - invalid_query_params - bad_request x-enum-elements: - name: invalid_query_params description: '' - name: bad_request description: '' message: description: An object representing what exactly went wrong. The keys available in this object vary with the type of error returned. example: query: _schema: - parameters 'npis' and 'location_ids' cannot be used together oneOf: - type: object - type: string description: An error returned from the API deprecated: false x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false ErrorTemplates: {} SkipAdditionalHeaders: false x-unitTests: - request: method: GET uri: /network_analysis?insurance_id=000912ad-5674-4c23-9b00-dca4e76aaa07&ssa_codes=14141%2C14150&exclude_npis=false expectedResponse: x-allowExtraHeaders: true x-bodyMatchMode: NONE x-arrayOrderedMatching: false x-arrayCheckCount: false x-matchResponseSchema: true statusCode: '200' headers: Content-Type: application/json x-testShouldPass: true x-testEnabled: true x-testName: Test getNetworkAnalysis x-testDescription: 'View a provider network across different geographies (i.e. counties). #### Example Use Case In looking to expand to a new region, analyze existing provider networks in the region to understand how best to construct your own. ' components: securitySchemes: BearerAuth: type: http scheme: bearer