Drug Product Database (DPD) API Guide
Table of contents
Introduction
The DPD contains product specific information on drugs approved for use in Canada. The database is managed by Health Canada and includes human pharmaceutical and biological drugs, veterinary drugs, radiopharmaceutical drugs and disinfectant products. It contains approximately 47,000 products that are currently approved, marketed, dormant or cancelled.
Human, veterinary, disinfectants and Schedule C drugs (e.g. radiopharmaceutical products) approved products will be available in the DPD online at the time of authorization, with the exception of three monographed product groups under Division 1, Part C of the Food and Drug Regulations: sunscreen (sunscreens, lipstick making a SPF claim, cosmetic-like products with sunscreen claims, etc.), anti-dandruff shampoo, and hard surface disinfectants. For these products, applications filed after June 15, 2015, there may be a six month delay after approval for the inclusion in the DPD online.
Health Canada is the federal regulator of therapeutic products and does not provide medical advice on the use of the products identified in this database. For information related to treatment options, choices of medications and their uses, illnesses, side effects or drug interactions, please contact your health care professional. For information on where these products are sold, please contact the individual company directly.
This Application Programming Interface (API) allows developers to access that information in JSON and XML format for reuse in their own applications. The base URI for the Drug Product Database is https://health-products.canada.ca/api/drug/ and you can add parameters to it. Any requests are made relative to this URI.
Active Ingredient
An Active Ingredient is any component that has medicinal properties, and supplies pharmacological activity or other direct effect in the diagnosis, cure, mitigation, treatment or prevention of disease, or to affect the structure or any function of the body of a human or an animal.
The name and strength of each active ingredient contained in the product is listed. Information enclosed within brackets represents the salt and identifies how the ingredient is supplied. This information is only included for some ingredients. The number in the strength field refers to the active portion of the drug. For example, for calcium (calcium carbonate) 200 milligram (mg) - 200 mg is the strength of elemental calcium, not calcium carbonate.
Health Canada has a reference text hierarchy for ingredient nomenclature. The International Non Proprietary Names (INN) is used as Health Canada's standard to assign the preferred name to ingredients. There are other standards such as the United States Adopted Names (USAN), Martindale, Merck Index, etc., that are used to code ingredients if they are not listed in the INN.
Parameters
There are four parameters in the request: id, ingredientname, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/activeingredient/?id= | Returns active ingredient(s) according to the drug product code specified in the request. |
|
Yes | |
api/drug/activeingredient/?ingredientname= | Returns a list of active ingredients according to the text string specified in the request. |
|
No, but default to all if not specified. | Determines whether the response is for a specific ingredient name. |
api/drug/activeingredient/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/activeingredient/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Active Ingredients can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each active ingredient object consists of the following values:
Key | Value |
---|---|
dosage_unit | The active ingredient dosage unit. |
dosage_value | The quantitative value of the active ingredient dosage. |
drug_code | The code assigned to each drug product. |
ingredient_name | The ingredient name. |
strength | The quantitative value of the active ingredient strength. |
strength_unit | The active ingredient strength unit. |
Sample response
[{"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN A","strength":"1250","strength_unit":"UNIT"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN C","strength":"125","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"CHROMIUM","strength":"0.5","strength_unit":"MCG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"MOLYBDENUM (MOLYBDENUM PROTEINATE)","strength":"2.5","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"MANGANESE (MANGANESE GLUCONATE)","strength":"1.25","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN B6","strength":"5","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"POTASSIUM (POTASSIUM CHLORIDE)","strength":"15","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"ZINC (ZINC GLUCONATE)","strength":"7.5","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"FOLIC ACID","strength":"0.2","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN B12","strength":"9","strength_unit":"MCG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"SELENIUM","strength":"100","strength_unit":"MCG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"IODINE (POTASSIUM IODIDE)","strength":"0.075","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"NICOTINAMIDE","strength":"20","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"D-PANTOTHENIC ACID","strength":"10","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"CHOLINE","strength":"5","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"INOSITOL","strength":"5","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"BIOTIN","strength":"75","strength_unit":"MCG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN D2 (VITAMIN D2)","strength":"200","strength_unit":"UNIT"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN B1","strength":"2.25","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN B2","strength":"3.75","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"BETA-CAROTENE (PROVITAMIN A)","strength":"2916","strength_unit":"UNIT"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"COPPER (CUPRIC OXIDE)","strength":"1.5","strength_unit":"MG"}, {"dosage_unit":"","dosage_value":"","drug_code":48905,"ingredient_name":"VITAMIN E","strength":"200","strength_unit":"UNIT"}]
jQuery example
Example of a function that search for active ingredient(s) given a drug product code and language selection:
function getActiveIngredient(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/activeingredient/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.ingredient_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var Ingredient = document.createTextNode(data.ingredient_name); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(Ingredient); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Company
In the DPD, a product may have several companies associated with them. Each product will have a DIN Owner associated with it. If a DIN Owner has designated another company to receive their mailing, their name and address will also be included and can be identified with a 'Y' flag in the ADDRESS_MAILING_FLAG field.
The company contact information is not included in the API (ATTENTION_TO, LANGUAGE, TELEPHONE_NUMBER, FAX_NUMBER, EMAIL_ADDRESS). The contact information in the database is generally a representative from the Regulatory Affairs department. It has come to our attention that some users are contacting these individuals to make general inquiries, we would like to recommend not doing so.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/company/?id= | Returns the company according to the company code specified in the request. |
|
Yes | |
api/drug/company/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/company/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Companies can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each company object consists of the following values:
Key | Value |
---|---|
city_name | The city name. |
company_code | The code assigned to a company. |
company_name | The company name. |
company_type | The company type. |
country_name | The country name. |
post_office_box | The P.O. box number (if applicable). |
postal_code | The postal code. |
province_name | The province name. |
street_name | The street name. |
suite_number | The suite number. |
Sample response
{"city_name":"Mississauga","company_code":10825,"company_name":"PAX-ALL MANUFACTURING INC.","company_type":"DIN OWNER","country_name":"Canada","post_office_box":"","postal_code":"L5S 1R7","province_name":"Ontario","street_name":"7115 Tomken Road","suite_number":""}
jQuery example
Example of a function that search for a company given a company code and language selection:
function getCompany(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/company/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.company_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var CompanyName = document.createTextNode(data.company_name); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(CompanyName); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Drug Product
Basic information about the product, such as brand name and Drug Identification Number.
Parameters
There are five parameters in the request: id, din, brandname, status, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/drugproduct/?id= | Returns the drug product according to the drug product code specified in the request. |
|
Yes | |
api/drug/drugproduct/?din= | Returns a drug product according to the Drug Identification Number specified in the request. |
|
No, but default to all if not specified. | Determines whether the response is for a specific Drug Identification Number. |
api/drug/drugproduct/?brandname= | Returns a list of drug products according to the text string specified in the request. |
|
No, but default to all if not specified. | Determines whether the response is for a specific brand name. |
api/drug/drugproduct/?status= | Returns drug products for a specific status. |
|
No, but defaults to all if not specified. | Determines whether the response is for a specific status. |
api/drug/drugproduct/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/drugproduct/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Drug Products can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each drug product object consists of the following values:
Key | Value |
---|---|
ai_group_no | The Active Ingredient Group Number. |
brand_name | The brand name for the drug product. |
class_name | The therapeutic class of a drug product. |
descriptor | Additional details or descriptions for a product, if applicable. |
drug_code | The code assigned to each drug product. |
drug_identification_number | The Drug Identification Number. |
number_of_ais | The number of Active Ingredients in a drug product. |
company_name | The company name. |
last_update_date | This date is updated any time certain, but not all, key fields are changed. |
Sample response
{"drug_code":2049,"class_name":"Human","drug_identification_number":"00326925","brand_name":"SINEQUAN","descriptor":"","number_of_ais":"1","ai_group_no":"0107703005","company_name":"ASPRI PHARMA CANADA INC", "last_update_date": "2019-03-05"}
jQuery example
Example of a function that search for a drug product given a drug product code and language selection:
function getDrugProduct(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/drugproduct/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.drug_identification_number); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var DIN = document.createTextNode(data.drug_identification_number); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(DIN); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Dosage Form
The dosage form is the form of presentation in which the product is supplied, for example, tablet, capsule, powder, etc.
A product can have more than one dosage form when it is a kit (e.g. tablet, capsule).
Parameters
There are four parameters in the request: id, active, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/form/?id= | Returns dosage form(s) according to the drug product code specified in the request. |
|
Yes | |
api/drug/form/?active= | Returns dosage forms that are active. |
|
No, but defaults to all if not specified. | Determines whether the response is returning all the dosage form(s) or only the one with a date that is greater than today or no date identified. |
api/drug/form/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/form/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Dosage Forms can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each dosage form object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
pharmaceutical_form_code | The code assigned to a dosage form. |
pharmaceutical_form_name | The dosage form. |
Sample response
[{"drug_code":10846,"pharmaceutical_form_code":34,"pharmaceutical_form_name":"Liquid"}, {"drug_code":10846,"pharmaceutical_form_code":43,"pharmaceutical_form_name":"Ointment"}]
jQuery example
Example of a function that search for dosage form(s) given a drug product code and language selection:
function getForm(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/form/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.pharmaceutical_form_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var PharmaceuticalFormName = document.createTextNode(data.pharmaceutical_form_name); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(PharmaceuticalFormName); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Packaging
Information about available package sizes for each drug product.
Parameters
There are two parameters in the request: id and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/packaging/?id= | Returns the package(s) according to the drug product code specified in the request. |
|
Yes | |
api/drug/packaging/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Packaging can be accessed via that URI:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each packaging object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
package_size | The size of package. |
package_size_unit | The unit for package size. |
package_type | The type of package. |
product_information | Additional product information. |
upc | The Universal Product Code. |
Sample response
{"drug_code":11685,"upc":"055599047240","package_size_unit":"24","package_type":"Blister Pack","package_size":"Ea","product_information":""}
jQuery example
Example of a function that search for package(s) given a drug product code:
function getPackaging(id) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/packaging/?id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.package_type); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var PackagingType = document.createTextNode(data.package_type); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(PackagingType); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Pharmaceutical Standard
The standard to which a drug product is manufactured and represented.
Parameters
There are two parameters in the request: id and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/pharmaceuticalstd/?id= | Returns pharmaceutical standard according to the drug product code specified in the request. |
|
Yes | |
api/drug/pharmaceuticalstd/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Pharmaceutical Standards can be accessed via that URI:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each pharmaceutical standard object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
pharmaceutical_std | The pharmaceutical standard. |
Sample response
{"drug_code":11534,"pharmaceutical_std":"MFR"}
jQuery example
Example of a function that search for pharmaceutical standard given a drug product code:
function getPharmaceuticalStd(id) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/pharmaceuticalstd/?id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.pharmaceutical_std); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var PharmaceuticalStd = document.createTextNode(data.pharmaceutical_std); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(PharmaceuticalStd); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Route of Administration
Indicates the part of the body on which, through which or into which the product is to be introduced (e.g. oral, topical, intramuscular, rectal).
A product can have more than one route of administration (e.g. intravenous, intramuscular, intra articular).
Parameters
There are four parameters in the request: id, active, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/route/?id= | Returns route(s) of administration according to the drug product code specified in the request. |
|
Yes | |
api/drug/route/?active= | Returns routes of administration that are active. |
|
No, but defaults to all if not specified. | Determines whether the response is returning all the routes of administration or only the one with a date that is greater than today or no date identified. |
api/drug/route/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/route/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Routes of administration can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each route of administration object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
route_of_administration_code | The code assigned to a route of administration. |
route_of_administration_name | The route of administration. |
Sample response
[{"drug_code":3,"route_of_administration_code":10,"route_of_administration_name":"Intra-Articular"}, {"drug_code":3,"route_of_administration_code":33,"route_of_administration_name":"Intraperitoneal"}, {"drug_code":3,"route_of_administration_code":34,"route_of_administration_name":"Intrapleural"}, {"drug_code":3,"route_of_administration_code":31,"route_of_administration_name":"Intrathecal"}, {"drug_code":3,"route_of_administration_code":49,"route_of_administration_name":"Intravenous"}]
jQuery example
Example of a function that search for route(s) of administration given a drug product code and language selection:
function getRoute(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/route/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.route_of_administration_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var RouteOfAdministrationName = document.createTextNode(data.route_of_administration_name); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(RouteOfAdministrationName); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Schedule
Each drug is assigned one or more schedules, according to the Food and Drug Regulations, and the Controlled Drugs and Substances Act.
- Prescription (prescription drugs included in the Prescription Drug List)
- Prescription Recommended (drugs that are recommended to be listed on the Prescription Drug List)
- Schedule G (control drugs)
- Schedule G (Controlled Drugs and Substances Act [CDSA] III)
- Schedule G (CDSA IV)
- Schedule C (drugs listed in Schedule C of the Food and Drugs Act, for example, radiopharmaceutical drugs)
- Schedule D (drugs listed in Schedule D of the Food and Drugs Act, ie. biological products)
- Narcotic (Narcotic Control Act)
- Narcotic (CDSA I)S
- Narcotic (CDSA II)
- Targeted (CDSA IV)
- CDSA Recommended- Undergoing Regulatory Amendment to add this new substance to Controlled Drugs Substances Act
- OTC (over the counter drugs that do not appear on a schedule or are not recommended to appear on any schedule)
- Ethical: a drug that, in accordance with Federal Legislation, does not require a prescription, but that is generally prescribed by a medical practitioner. Ethical products are unscheduled non-prescription professional use products (e.g. MRI contrast agents, hemodialysis solutions) and a few emergency use products (e.g. nitroglycerine)
Parameters
There are four parameters in the request: id, active, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/schedule/?id= | Returns schedule(s) according to the drug product code specified in the request. |
|
Yes | |
api/drug/schedule/?active= | Returns schedules that are active. |
|
No, but defaults to all if not specified. | Determines whether the response is returning all the schedules or only the one with a date that is greater than today or no date identified. |
api/drug/schedule/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/schedule/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Schedules can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each schedule object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
schedule_name | The drug schedule according to the Food and Drug Regulations and the Controlled Drugs and Substances Act. |
Sample response
[{"drug_code":10687,"schedule_name":"Prescription"},{"drug_code":10687,"schedule_name":"Schedule D"}]
jQuery example
Example of a function that search for schedule(s) given a drug product code and language selection:
function getSchedule(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/schedule/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.schedule_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var ScheduleName = document.createTextNode(data.schedule_name); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(ScheduleName); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Product Status
The statuses listed below are a direct representation of the status available in DPD Online Query and the description of each status is summarized below.
- Approved: refers to an active DIN that has been reviewed and authorized for sale in Canada but has not yet been marketed in Canada.
- Cancelled Post-Market: refers to a DIN that is cancelled further to the discontinuation of the sale by the manufacturer pursuant to Section C.01.014.6 (1) (a) of the Regulations.
- Cancelled Pre-Market: refers to a DIN that is cancelled before it was ever marketed in Canada.
- Cancelled (Safety Issue): refers to a DIN that is cancelled following the suspension of a Notice of Compliance pursuant to Section C.01.014.6 (1) (b) of the Regulations or to Section C.01.014.6 (2) (b) of the Regulations due to failure to provide evidence regarding the safety and effectiveness of a drug, pursuant to Section C.01.013 of the Regulations.
- Cancelled (Unreturned Annual): refers to a DIN that is cancelled due to failure to provide the Annual Notification pursuant to Section C.01.014.6 (2) (a) of the Regulations.
- Dormant: refers to an active DIN that was previously marketed in Canada but for which the manufacturer has suspended sale for period of at least 12 months.
- Marketed: refers to an active DIN that is currently being sold in Canada.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/status/?id= | Returns product status according to the drug product code specified in the request. |
|
Yes | |
api/drug/status/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/status/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Product Statuses can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each product status object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
expiration_date | The latest expiry date of a product distributed in Canada, where the product has since been discontinued by the company. |
external_status_code | The code assigned to an external drug status. |
history_date | The historical date associated with a drug's status. |
lot_number | The latest lot number of a product distributed in Canada, where the product has since been discontinued by the company. |
original_market_date | The original market date of a product. |
status | The status name. |
Sample response
[{"drug_code":10229,"status":"Cancelled Post Market","history_date":"1997-10-15","original_market_date":"1989-12-31","external_status_code":4,"expiration_date":null,"lot_number":0}]
jQuery example
Example of a function that search for a product status given a drug product code and language selection:
function getStatus(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/status/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.status); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var StatusName = document.createTextNode(data.status); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(StatusName); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Therapeutic Class
A drug's Therapeutic Classification (Class) is assigned according to its main therapeutic use.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/therapeuticclass/?id= | Returns therapeutic class(es) according to the drug product code specified in the request. |
|
Yes | |
api/drug/therapeuticclass/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/therapeuticclass/?type= | Changes the format of the result. |
|
No, but defaults to JSON if not specified. | Determines whether the format of the result will be in JSON or XML. |
Therapeutic Classes can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each therapeutic class object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
tc_ahfs | The description of the American Hospital Formulary Service is no longer available. |
tc_ahfs_number | The American Hospital Formulary Service code is no longer available. |
tc_atc | The description of the Anatomical Therapeutic Chemical Code. |
tc_atc_number | The Anatomical Therapeutic Chemical Code. |
Sample response
{"drug_code":10564,"tc_atc_number":"V07AV","tc_atc":"TECHNICAL DISINFECTANTS","tc_ahfs_number":"","tc_ahfs":""}
jQuery example
Example of a function that search for therapeutic classes given a drug product code and language selection:
function getTherapeuticClass(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/therapeuticclass/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.tc_atc); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var TcAtcDescName = document.createTextNode(data.tc_atc); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(TcAtcDescName); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Veterinary Species
The type of species for a certain veterinary product (e.g. sheep, dog, cattle, and poultry).
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/drug/veterinaryspecies/?id= | Returns veterinary specie(s) according to the drug product code specified in the request. |
|
Yes | |
api/drug/veterinaryspecies/?lang= | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/drug/veterinaryspecies/?type= | Changes the format of the result. |
|
No, but defaults to Json if not specified. | Determines whether the format of the result will be in JSON or XML. |
Veterinary Species can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each veterinary species object consists of the following values:
Key | Value |
---|---|
drug_code | The code assigned to each drug product. |
vet_species_name | The animal species. |
Sample response
[{"drug_code":13755,"vet_species_name":"Horses"}, {"drug_code":13755,"vet_species_name":"Cats"}, {"drug_code":13755,"vet_species_name":"Dogs"}]
jQuery example
Example of a function that search for veterinary specie(s) given a drug product code and language selection:
function getVeterinarySpecies(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/drug/veterinaryspecies/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.vet_species_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var VetSpeciesName = document.createTextNode(data.vet_species_name); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(VetSpeciesName); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };