Create a Boost Filter

Create and apply the filter

Let's say we want to Boost Filter by the languages field in a provider record. To create this Boost Filter, we simply create a new custom directory filter with "filter_type": "boost".

curl -X POST \
  https://api.ribbonhealth.com/v1/custom/providers/filters \
  -H 'Authorization: Bearer <Your Token>' \
  -d '{
  "filter_type": "boost",
  "value_type": "string",
  "parameter": "language_spoken",
  "field": "languages"
}'

Congrats! You've created your first Boost Filter. You'll probably have to wait a few minutes for the boost filter to be properly applied in the API. Now, we can perform the following GET request to boost Spanish-speaking providers to the top of our search results:

https://api.ribbonhealth.com/v1/custom/providers?language_spoken=Spanish&fields=languages

Interpreting results

At the top of the search results, we can see that the providers all speak Spanish, which is expected. The API is correctly boosting these providers to the top.

[{
  "npi": "1033143003",
  "languages": [
    "english",
    "chinese",
    "mandarin (chinese)",
    "cantonese",
    "spanish"
  ]
},
{
  "npi": "1245529155",
  "languages": [
    "english",
    "chinese",
    "mandarin (chinese)",
    "spanish"
  ]
}...

πŸ“˜

Your API Response will likely look different

Many of our data sources are updated on a monthly basis. So don't worry if the data doesn't look the same as the below example.

At the bottom of the search results, we can see that none of the providers speak Spanish. These less relevant providers are pushed to the bottom because they don't match the boost filter parameters.

{
  "npi": "1740646405",
  "languages": [
    "english"
  ]
},
{
  "npi": "1982928958",
  "languages": [
    "english"
  ]
}]

🚧

Limitations

There are a few current limitations of Boost Filters that you should be aware of. Specifically, the folllowing configurations will not work with Boost Filters:

  • Using our _excl_ keyword in front of a Boost Filter parameter
  • Creating a Boost Filter with the float data type
  • If a Boost Filter's field targets something a field embedded within a list, such as educations.education.name, we will not reorder the list to bring these items to the front. We will only boost records where there is an entry in the list that matches the filter. The only exception to this is thelocations field, which we will reorder to put matching locations first.