DrugBank Product Concepts (DBPC) are a vocabulary of drug products with a hierarchical structure that enables easy navigation, and the comparison of products (even across regulatory jurisdictions).
At the highest level the concepts only specify the ingredients, at each level more information is captured about the drug products. Each product concept has an identifier that looks like this: DBPC0005263.
In our example below DBPC0005263 represents Lidocaine and DBPC0005267 is a child of DBPC0005263 that represents Lidocaine with the “Oral; Topical” route specified.
The hierarchical structure makes it easy to drill down to a specific concept. The Product Concept API is designed to make it easy to implement a drill down feature in your application. This tutorial will guide you through the process with examples using the API to demonstrate the API calls needed to implement this feature.
Step 1: Drug name autocomplete
To implement the first step in the autocomplete we would send a GET request to the product concepts API at
/product_concepts?q=lido with the input sent in the
q parameter. After each letter press the query can be sent and the results updated.
Step 2: Select a route
Once a named concept is selected you can specify the route that you are looking at by getting the available routes back from the DrugBank Product Concept.
To get the available routes you provide the Product Concept ID and use the
/routes path in a GET request like:
The user can then select the route that they are looking for based on the routes that are available. The following is an example of what the interface could like like for this step in the process.
Step 3: Select a strength
If you are tracking medications using the Product Concepts then you can select a strength in step 3 and use that identifier, or alternatively you can specify a jurisdiction specific product like an NDC code for FDA approved drugs.
Step 4: Select a specific product code
In the final step you can also select a specific product code from products available in a specific jurisdiction. This selection will be much simpler now that you have narrowed down the results. You can make a GET request like
/us/product_concepts/DBPC0005269/products to get the products matching any DBPC.