Notice of Compliance Database (NOC) API Guide

Table of contents

Introduction

A Notice of Compliance (NOC) is issued to a manufacturer following the satisfactory review of a submission for a new drug, and signifies compliance with the Food and Drug Regulations.

The database is updated nightly and contains NOC information on human drugs from January 1, 1994 to date. It also contains NOC information on Veterinary drugs from September 19, 2000 to date. Through a phased in approach Health Canada will populate the remaining NOCs for Veterinary drugs from January 1, 1994 to September 18, 2000.

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 Notice of Compliance Database is https://health-products.canada.ca/api/notice-of-compliance/ and you can add parameters to it. Any requests are made relative to this URI.

Drug Product

Basic information about the product, such as brand name and Drug Identification Number. The brand name is the unique name under which the manufacturer of a drug product advertises and sells it.

Parameters

There are three parameters in the request: id, lang and type.

Request parameters
Parameter Meaning Value Required? Note
api/notice-of-compliance/drugproduct/?id= Returns drug product(s) according to the Notice of Compliance number specified in the request.
    ##### - number of the Notice of Compliance
Yes
api/notice-of-compliance/drugproduct/?lang=en Changes language of the response.
  • en - English
  • fr - French
No, but defaults to English if not specified. Determines whether the response is in English or French.
api/notice-of-compliance/drugproduct/?type=json Changes the format of the result.
  • json - JSON
  • xml - XML
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:

Drug Product object values
Key Value
noc_number The number assigned to the Notice of Compliance.
noc_br_brand_id The identification number assigned to the brand.
noc_br_brandname The brand name for the drug product.
noc_br_product_id The identification number assigned to the DIN product.
noc_br_din The Drug Identification Number.

Sample response

[{"noc_number":3369,"noc_br_brand_id":3567,"noc_br_brandname":"NORINYL 1/50 21DAY","noc_br_din":"02188724","noc_br_product_id":6363},
    {"noc_number":3369,"noc_br_brand_id":3568,"noc_br_brandname":"NORINYL 1/50 28DAY","noc_br_din":"02188732","noc_br_product_id":6364}]

jQuery example

Example of a function that search for drug products given a Notice of Compliance number and language selection:

function getDrugProduct(id, lang) {
      var base = 'https://health-products.canada.ca';
      var uri = base + '/api/notice-of-compliance/drugproduct/?lang=' + lang + '&id=' + id;
      $.ajax({
              url:uri,
              type:'GET',
              Accept:"application/json",
              dataType: 'json',
              success:function(data){
                           console.log(data.noc_br_brandname);
                           var frag = document.createDocumentFragment();
                           var h2 = document.createElement("h2");
                           var DrugProduct = document.createTextNode(data.noc_br_brandname);
                           var p = document.createElement("p");
                           var text = document.createTextNode(data.panels[0].text);
                           h2.appendChild(DrugProduct);
                           p.appendChild(text);
                           frag.appendChild(h2);
                           frag.appendChild(p);
                           $("#responses")[0].appendChild(frag);
              },
              error:function(error){
              },
      });
      return;
 };			

Notice of Compliance

A Notice of Compliance is a notification, issued pursuant to paragraph C.08.004(1)(a), indicating that a manufacturer has complied with sections C.08.002 or C.08.003 and C.08.005.1 of the Food and Drug Regulations. Notices of Compliance are issued to a manufacturer following the satisfactory review of a submission.

An NOC/c is the authorization to market a drug ([such as (i.e.)] a Notice of Compliance (NOC)), with the condition that the manufacturer carries out more studies to verify the clinical benefit. The NOC, qualifying under the NOC/c policy (Notice of Compliance with Conditions: Revised Policy), is issued under section C.08.004 of the Food and Drug Regulations.

Parameters

There are three parameters in the request: id, lang and type.

Request parameters
Parameter Meaning Value Required? Note
api/notice-of-compliance/noticeofcompliancemain/?id= Returns a Notice of Compliance according to the Notice of Compliance number specified in the request.
    ##### - number of the Notice of Compliance
Yes
api/notice-of-compliance/noticeofcompliancemain/?lang=en Changes language of the response.
  • en - English
  • fr - French
No, but defaults to English if not specified. Determines whether the response is in English or French.
api/notice-of-compliance/noticeofcompliancemain/?type=json Changes the format of the result.
  • json - JSON
  • xml - XML
No, but defaults to JSON if not specified. Determines whether the format of the result will be in JSON or XML.

Notices of Compliance can be accessed via these URIs:

Contents of the response

The response consists of a result that contains one or multiple objects.

Each Notice of Compliance object consists of the following values:

Notice of Compliance object values
Key Value
noc_number The number assigned to the Notice of Compliance.
noc_date The date the Notice of Compliance was issued.
noc_manufacturer_name The name of the manufacturer.
noc_status_with_conditions Whether the product was authorized under the Notice of Compliance with Conditions Policy.
noc_on_submission_type The submission type.
noc_is_suppliment Whether the submission is a supplement.
noc_submission_class The submission class.
noc_is_admin Whether the submission was filed administratively.
noc_product_type The type of drug product.
noc_crp_product_name The name of the Canadian Reference Product.
noc_crp_company_name The company name for the Canadian Reference Product.
noc_crp_country_name The country name for the Canadian Reference Product.
noc_active_status Whether or not the Notice of Compliance is active or suspended.
noc_reason_supplement If the submission is a supplement, the reason for the supplement.
noc_reason_submission The reason for the submission.
noc_therapeutic_class The therapeutic class of a drug product.
noc_last_update_date The date that the Notice of Compliance was last updated.

Sample response

{"noc_number":403,"noc_date":"2002-03-13","noc_manufacturer_name":"AVENTIS PASTEUR LIMITED","noc_status_with_conditions":"N","noc_on_submission_type":"Supplement to a New Drug Submission (SNDS)","noc_is_suppliment":"Y","noc_submission_class":"Other","noc_is_admin":"N","noc_product_type":"Biologic","noc_crp_product_name":"","noc_crp_company_name":"","noc_crp_country_name":"","noc_active_status":"1","noc_reason_supplement":"NEW MANUFACTURING FACILITY","noc_reason_submission":"","noc_therapeutic_class":"ACTIVE IMMUNIZING AGENT","noc_last_update_date":"1111-11-11"}

jQuery example

Example of a function that search for a Notice of Compliance given a Notice of Compliance number and language selection:

function GetNoticeOfComplianceMain(id, lang) {
      var base = 'https://health-products.canada.ca';
      var uri = base + '/api/notice-of-compliance/noticeofcompliancemain/?lang=' + lang + '&id=' + id;
      $.ajax({
              url:uri,
              type:'GET',
              Accept:"application/json",
              dataType: 'json',
               success:function(data){
                            console.log(data.noc_reason_submission);
                            var frag = document.createDocumentFragment();
                            var h2 = document.createElement("h2");
                            var NoticeOfCompliance = document.createTextNode(data.noc_reason_submission);
                            var p = document.createElement("p");
                            var text = document.createTextNode(data.panels[0].text);
                            h2.appendChild(NoticeOfCompliance);
                            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 in which the product is supplied. It is the combination of the form in which a product is presented [for example (e.g.)] in tablet, capsule or powder form, and the physical form in which it is administered, [for example, (e.g.)] in a powder to be administered in solution.

Parameters

There are three parameters in the request: id, lang and type.

Request parameters
Parameter Meaning Value Required? Note
api/notice-of-compliance/dosageform/?id= Returns dosage forms according to the Notice of Compliance number specified in the request.
    ##### - number of the Notice of Compliance
Yes
api/notice-of-compliance/dosageform/?lang=en Changes language of the response.
  • en - English
  • fr - French
No, but defaults to English if not specified. Determines whether the response is in English or French.
api/notice-of-compliance/dosageform/?type=json Changes the format of the result.
  • json - JSON
  • xml - XML
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:

Dosage Form object values
Key Value
noc_number The number assigned to the Notice of Compliance.
noc_pf_din_product_id The identification number assigned to the DIN product.
noc_pf_form_name The dosage form.

Sample response

[{"noc_number":3369,"noc_pf_din_product_id":6363,"noc_pf_form_name":"Tablet"},
    {"noc_number":3369,"noc_pf_din_product_id":6364,"noc_pf_form_name":"Tablet"}]

jQuery example

Example of a function that search for dosage forms given a Notice of Compliance number and language selection:

function getDosageForm(id, lang) {
     var base = 'https://health-products.canada.ca';
     var uri = base + '/api/notice-of-compliance/dosageform/?lang=' + lang + '&id=' + id;
     $.ajax({
             url:uri,
             type:'GET',
             Accept:"application/json",
             dataType: 'json',
             success:function(data){
                          console.log(data.noc_pf_form_name);
                          var frag = document.createDocumentFragment();
                          var h2 = document.createElement("h2");
                          var DosageForm = document.createTextNode(data.noc_pf_form_name);
                          var p = document.createElement("p");
                          var text = document.createTextNode(data.panels[0].text);
                          h2.appendChild(DosageForm);
                          p.appendChild(text);
                          frag.appendChild(h2);
                          frag.appendChild(p);
                          $("#responses")[0].appendChild(frag);
              },
              error:function(error){
              },
     });
     return;
 };			

Medicinal Ingredient

A medicinal 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 man or other animals.

Parameters

There are three parameters in the request: id, lang and type.

Request parameters
Parameter Meaning Value Required? Note
api/notice-of-compliance/medicinalingredient/?id= Returns medicinal ingredients according to the Notice of Compliance number specified in the request.
    ##### - number of the Notice of Compliance
Yes
api/notice-of-compliance/medicinalingredient/?lang=en Changes language of the response.
  • en - English
  • fr - French
No, but defaults to English if not specified. Determines whether the response is in English or French.
api/notice-of-compliance/medicinalingredient/?type=json Changes the format of the result.
  • json - JSON
  • xml - XML
No, but defaults to JSON if not specified. Determines whether the format of the result will be in JSON or XML.

Medicinal Ingredients can be accessed via these URIs:

Contents of the response

The response consists of a result that contains one or multiple objects.

Each medicinal ingredient object consists of the following values:

Medicinal Ingredient object values
Key Value
noc_number The number assigned to the Notice of Compliance.
noc_pi_din_product_id The identification number assigned to the DIN product.
noc_pi_medic_ingr_name The medicinal ingredient name.
noc_pi_strength The strength of the medicinal ingredient.
noc_pi_unit The medicinal ingredient unit.
noc_pi_basic_unit The medicinal ingredient dosage unit.

Sample response

[{"noc_number":3369,"noc_pi_din_product_id":6363,"noc_pi_medic_ingr_name":"NORETHINDRONE","noc_pi_strength":1,"noc_pi_unit":"MG","noc_pi_basic_unit":"TAB"},
    {"noc_number":3369,"noc_pi_din_product_id":6363,"noc_pi_medic_ingr_name":"MESTRANOL","noc_pi_strength":0.05,"noc_pi_unit":"MG","noc_pi_basic_unit":"TAB"},
    {"noc_number":3369,"noc_pi_din_product_id":6364,"noc_pi_medic_ingr_name":"NORETHINDRONE","noc_pi_strength":1,"noc_pi_unit":"MG","noc_pi_basic_unit":"TAB"},
    {"noc_number":3369,"noc_pi_din_product_id":6364,"noc_pi_medic_ingr_name":"MESTRANOL","noc_pi_strength":0.05,"noc_pi_unit":"MG","noc_pi_basic_unit":"TAB"}]

jQuery example

Example of a function that search for medicinal ingredients given a Notice of Compliance number and language selection:

function getMedicinalIngredient(id, lang) {
      var base = 'https://health-products.canada.ca';
      var uri = base + '/api/notice-of-compliance/medicinalingredient/?lang=' + lang + '&id=' + id;
      $.ajax({
              url:uri,
              type:'GET',
              Accept:"application/json",
              dataType: 'json',
              success:function(data){
                           console.log(data.noc_pi_medic_ingr_name);
                           var frag = document.createDocumentFragment();
                           var h2 = document.createElement("h2");
                           var MedicinalIngredient = document.createTextNode(data.noc_pi_medic_ingr_name);
                           var p = document.createElement("p");
                           var text = document.createTextNode(data.panels[0].text);
                           h2.appendChild(MedicinalIngredient);
                           p.appendChild(text);
                           frag.appendChild(h2);
                           frag.appendChild(p);
                           $("#responses")[0].appendChild(frag);
               },
               error:function(error){
               },
      });
      return;
 };			

Route of Administration

This term 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, etc.)

A product can have more than one route of administration (e.g. intravenous, intramuscular, intra-articular, etc.).

Parameters

There are three parameters in the request: id, lang and type.

Request parameters
Parameter Meaning Value Required? Note
api/notice-of-compliance/route/?id= Returns routes of administration according to the Notice of Compliance number specified in the request.
    ##### - number of the Notice of Compliance
Yes
api/notice-of-compliance/route/?lang=en Changes language of the response.
  • en - English
  • fr - French
No, but defaults to English if not specified. Determines whether the response is in English or French.
api/notice-of-compliance/route/?type=json Changes the format of the result.
  • json - JSON
  • xml - XML
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:

Route of Administration object values
Key Value
noc_number The number assigned to the Notice of Compliance.
noc_pr_din_product_id The identification number assigned to the DIN product.
noc_pr_route The route of administration.

Sample response

[{"noc_number":3369,"noc_pr_din_product_id":6363,"noc_pr_route":"Oral"},
    {"noc_number":3369,"noc_pr_din_product_id":6364,"noc_pr_route":"Oral"}]

jQuery example

Example of a function that search for routes of administration given a Notice of Compliance number and language selection:

function getRouteAdministration(id, lang) {
      var base = 'https://health-products.canada.ca';
      var uri = base + '/api/notice-of-compliance/route/?lang=' + lang + '&id=' + id;
      $.ajax({
              url:uri,
              type:'GET',
              Accept:"application/json",
              dataType: 'json',
              success:function(data){
                           console.log(data.noc_pr_route);
                           var frag = document.createDocumentFragment();
                           var h2 = document.createElement("h2");
                           var Route = document.createTextNode(data.noc_pr_route);
                           var p = document.createElement("p");
                           var text = document.createTextNode(data.panels[0].text);
                           h2.appendChild(Route);
                           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 products (e.g. sheep, dog, cattle, and poultry).

Parameters

There are three parameters in the request: id, lang and type.

Request parameters
Parameter Meaning Value Required? Note
api/notice-of-compliance/vetspecies/?id= Returns veterinary species according to the Notice of Compliance number specified in the request.
    ##### - number of the Notice of Compliance
Yes
api/notice-of-compliance/vetspecies/?lang=en Changes language of the response.
  • en - English
  • fr - French
No, but defaults to English if not specified. Determines whether the response is in English or French.
api/notice-of-compliance/vetspecies/?type=json Changes the format of the result.
  • json - JSON
  • xml - XML
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:

Veterinary Species object values
Key Value
noc_number The number assigned to the Notice of Compliance.
vet_species_desc The animal species description.

Sample response

[{"noc_number":6981,"vet_species_desc":"CATTLE"},
    {"noc_number":6981,"vet_species_desc":"DOGS"},
    {"noc_number":6981,"vet_species_desc":"HORSES"},
    {"noc_number":6981,"vet_species_desc":"SWINE"},
    {"noc_number":6981,"vet_species_desc":"TURKEYS"}]

jQuery example

Example of a function that search for veterinary species given a Notice of Compliance number and language selection:

function getVeterinarySpecies(id, lang) {
      var base = 'https://health-products.canada.ca';
      var uri = base + '/api/notice-of-compliance/vetspecies/?lang=' + lang + '&id=' + id;
      $.ajax({
              url:uri,
              type:'GET',
              Accept:"application/json",
              dataType: 'json',
              success:function(data){
                           console.log(data.vet_species_desc);
                           var frag = document.createDocumentFragment();
                           var h2 = document.createElement("h2");
                           var SpeciesName = document.createTextNode(data.vet_species_desc);
                           var p = document.createElement("p");
                           var text = document.createTextNode(data.panels[0].text);
                           h2.appendChild(SpeciesName);
                           p.appendChild(text);
                           frag.appendChild(h2);
                           frag.appendChild(p);
                           $("#responses")[0].appendChild(frag);
              },
              error:function(error){
              },
      });
      return;
 };