| Title: | Interface to Health Canada Drug Product Database API |
|---|---|
| Description: | A programmatic interface to Health Canada's Drug Product Database (DPD) REST API for querying information about drugs approved for use in Canada. More information on the DPD can be found in the API guide (<https://health-products.canada.ca/api/documentation/dpd-documentation-en.html>). |
| Authors: | Matthew T. Warkentin [aut, cre, cph] (ORCID: <https://orcid.org/0000-0001-8730-3511>) |
| Maintainer: | Matthew T. Warkentin <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.0.9000 |
| Built: | 2026-06-02 08:44:51 UTC |
| Source: | https://github.com/mattwarkentin/dpdr |
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.
dpd_active_ingredient(id, name, lang = c("en", "fr"))dpd_active_ingredient(id, name, lang = c("en", "fr"))
id |
Drug product code. |
name |
Ingredient name. |
lang |
Language of the response. One of |
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.
A tibble with columns:
dosage_unit: Active ingredient dosage unit.
dosage_value: Quantitative value of the active ingredient dosage.
drug_code: Code assigned to each drug product.
ingredient_name: Ingredient name.
strength: Quantitative value of the active ingredient strength.
strength_unit: Active ingredient strength unit.
dpd_active_ingredient(id = 48905) dpd_active_ingredient(name = "afatinib")dpd_active_ingredient(id = 48905) dpd_active_ingredient(name = "afatinib")
Company information associated with a company code.
dpd_company(id, lang = c("en", "fr"))dpd_company(id, lang = c("en", "fr"))
id |
Company code. |
lang |
Language of the response. One of |
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.
A tibble with columns:
city_name: City name.
company_code: Code assigned to a company.
company_name: Company name.
company_type: Company type.
country_name: Country name.
post_office_box: P.O. box number (if applicable).
postal_code: Postal code.
province_name: Province name.
street_name: Street name.
suite_number: Suite number.
dpd_company(10825)dpd_company(10825)
The dosage form is the form of presentation in which the product is supplied, for example, tablet, capsule, powder, etc.
dpd_dosage_form(id, active = FALSE, lang = c("en", "fr"))dpd_dosage_form(id, active = FALSE, lang = c("en", "fr"))
id |
Drug product code. |
active |
Only return dosage forms that are active? Default is |
lang |
Language of the response. One of |
A product can have more than one dosage form when it is a kit (e.g. tablet, capsule).
A tibble with columns:
drug_code: Code assigned to each drug product.
pharmaceutical_form_code: Code assigned to a dosage form.
pharmaceutical_form_name: Dosage form.
dpd_dosage_form(10846)dpd_dosage_form(10846)
Basic information about the product, such as brand name and Drug Identification Number.
dpd_drug_product(id, din, brandname, status, lang = c("en", "fr"))dpd_drug_product(id, din, brandname, status, lang = c("en", "fr"))
id |
Drug product code. |
din |
Drug Identification Number (DIN). |
brandname |
Brand name. |
status |
Drug product status. See Details section. |
lang |
Language of the response. One of |
status must be an integer, corresponding to the following statuses:
1: Approved
2: Marketed
3: Cancelled Pre Market
4: Cancelled Post Market
6: Dormant
9: Cancelled (Unreturned Annual)
10: Cancelled (Safety Issue)
11: Authorized By Interim Order
12: Authorization By Interim Order Revoked
13: Restricted Access
14: Authorization By Interim Order Expired
15: Cancelled (Transitioned to Biocides)
A tibble with columns:
ai_group_no: Active Ingredient Group Number.
brand_name: Brand name for the drug product.
class_name: Therapeutic class of a drug product.
descriptor: Additional details or descriptions for a product,
if applicable.
drug_code: Code assigned to each drug product.
drug_identification_number: Drug Identification Number.
number_of_ais: Number of Active Ingredients in a drug product.
company_name: Company name.
last_update_date: Date is updated any time certain, but not all, key
fields are changed.
dpd_drug_product(id = 2049) dpd_drug_product(din = '00326925') dpd_drug_product(brandname = "cidyl") dpd_drug_product(status = 1)dpd_drug_product(id = 2049) dpd_drug_product(din = '00326925') dpd_drug_product(brandname = "cidyl") dpd_drug_product(status = 1)
Information about available package sizes for each drug product.
dpd_packaging(id, lang = c("en", "fr"))dpd_packaging(id, lang = c("en", "fr"))
id |
Drug product code. |
lang |
Language of the response. One of |
A tibble with columns:
drug_code: Code assigned to each drug product.
package_size: Size of package.
package_size_unit: Unit for package size.
package_type: Type of package.
product_information: Additional product information.
upc: Universal Product Code.
dpd_packaging(11685)dpd_packaging(11685)
The standard to which a drug product is manufactured and represented.
dpd_pharm_standard(id, lang = c("en", "fr"))dpd_pharm_standard(id, lang = c("en", "fr"))
id |
Drug product code. |
lang |
Language of the response. One of |
A tibble with columns:
drug_code: code assigned to each drug product.
pharmaceutical_std: Pharmaceutical_std
dpd_pharm_standard(11534)dpd_pharm_standard(11534)
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.
dpd_product_status(id, lang = c("en", "fr"))dpd_product_status(id, lang = c("en", "fr"))
id |
Drug product code. |
lang |
Language of the response. One of |
A tibble with columns:
drug_code: Code assigned to each drug product.
expiration_date: Latest expiry date of a product distributed in Canada,
where the product has since been discontinued by the company.
external_status_code: Code assigned to an external drug's status.
history_date: Historical date associated with a drug's status.
lot_number: Latest lot number of a product distributed in Canada, where
the product has since been discontinued by the company.
original_market_date: Original market date of a product.
dpd_product_status()dpd_product_status()
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).
dpd_route_of_admin(id, active = FALSE, lang = c("en", "fr"))dpd_route_of_admin(id, active = FALSE, lang = c("en", "fr"))
id |
Drug product code. |
active |
Only return dosage forms that are active? Default is |
lang |
Language of the response. One of |
A product can have more than one route of administration (e.g. intravenous, intramuscular, intra-articular).
A tibble with columns:
drug_code: Code assigned to each drug product.
route_of_administration_code: Code assigned to a route of
administration.
route_of_administration_name: Route of administration.
dpd_route_of_admin(3)dpd_route_of_admin(3)
Each drug is assigned one or more schedules, according to the Food and Drug Regulations, and the Controlled Drugs and Substances Act.
dpd_schedule(id, lang = c("en", "fr"))dpd_schedule(id, lang = c("en", "fr"))
id |
Drug product code. |
lang |
Language of the response. One of |
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)
A tibble with columns:
drug_code: Code assigned to each drug product.
schedule_name: Drug schedule according to the Food and Drug Regulations
and the Controlled Drugs and Substances Act.
dpd_schedule(10687)dpd_schedule(10687)
A drug's Therapeutic Classification (Class) is assigned according to its main therapeutic use.
dpd_therapeutic_class(id, lang = c("en", "fr"))dpd_therapeutic_class(id, lang = c("en", "fr"))
id |
Drug product code. |
lang |
Language of the response. One of |
A tibble with columns:
drug_code: Code assigned to each drug product.
tc_atc_number: Anatomical Therapeutic Chemical Code.
tc_atc: Description of the Anatomical Therapeutic Chemical Code.
tc_ahfs_number: American Hospital Formulary Service code.
tc_ahfs: Description of the American Hospital Formulary Service.
dpd_therapeutic_class(10564)dpd_therapeutic_class(10564)
The type of species for a certain veterinary product (e.g. sheep, dog, cattle, and poultry).
dpd_vet_species(id, lang = c("en", "fr"))dpd_vet_species(id, lang = c("en", "fr"))
id |
Drug product code. |
lang |
Language of the response. One of |
A tibble with columns:
drug_code: Code assigned to each drug product.
vet_species_name: Animal species.
dpd_vet_species(13755)dpd_vet_species(13755)