Search for Providers Based on Overall Cost and Quality scores


Description: Ribbon provides aggregate measures of cost efficiency and outcomes quality at the provider level. Users can filter to just providers that meet a minimum score.

Endpoint: /v1/custom/providers

Status: Live

Methods: GET

Example use-cases:

  • Surface cost & quality scores on a provider's profile in an easily digestible way
  • Filter your provider search results with a minimum overall score

Diving In

Ribbon provides two scores for each provider - one for cost efficiency, and one for outcomes quality. Both scores range from 1 to 5, with a score of 5 being the best (higher quality or more cost-efficient) and a score of 1 being the worst (lower quality or less cost-efficient)

Unlike episode or procedure-specific scores, these metrics reflect the provider's overall performance across the different parts of their care for which we have data.

Outcomes Quality - A provider's overall outcomes quality score measures how the provider's outcomes are compared to those of clinicians treating similar types of patients. The score includes factors such as their readmission rates, patient mortality rates, avoidable ER visit rates, etc.

Cost efficiency - A provider's overall cost efficiency score measures how expensive they are compared to providers treating similar types of patients. This measure includes elements of both "unit price" (how much they charge for a particular service) and utilization (how many services they prescribe per patient, compared to what other providers do under similar circumstances).

Both scores account for differences in patient panels across providers through risk and case-mix adjustments. Please reach out to us for additional information about these scores.

min_outcomes_indexAccepts 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.
min_efficiency_indexAccepts 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.

Example Request and Response

As an example, suppose we wanted to only see providers with an outcomes score of 2 or higher. We would set the parameter min_outcomes_index to 2.

curl -X GET \
  '' \
  -H 'authorization: Bearer <your_token>'

This result would return doctors with scores over 2. Note that the JSON sample below has been truncated for readability.

  "parameters": {
    "page": 1,
    "page_size": 25,
    "total_count": 7109,
    "sort_by": "distance",
    "address": "33 Irving Pl, New York, NY 10003, USA",
    "distance": 10.0,
    "geo": {
      "latitude": 40.7351327,
      "longitude": -73.9903544
    "min_outcomes_index": 2
  "data": [
      "npi": "1912997776",
      "first_name": "Salvatore",
      "middle_name": "R",
      "last_name": "Lenzo",
      "status": "active",
      "age": 66,
      "gender": "m",
      "ratings_count": 266,
      "ratings_avg": 7.84,
      "degrees": [],
      "educations": [],
      "is_pcp": false,
      "specialties": [],
      "provider_types": [],
            "insurances": [],
      "locations": [],
      "online_profiles": [],
      "panel_demographics": {},
      "clinical_areas": [],
      "conditions": [],
      "treatments": [],
      "choices": [],
      "board_certifications": [],
      "procedures": [],
      "performance": {
        "aggregate": {
          "cost": {
            "efficiency_index": 2
          "quality": {
            "outcomes_index": 2
      "distance": 0.04
    ...24 more providers...