Clinical Trials Database (CTA) API Guide
Table of contents
Introduction
The Clinical Trials Database provides to the public a listing of specific information relating to phase I, II and III clinical trials in patients. The database is managed by Health Canada and provides a source of information about Canadian clinical trials involving human pharmaceutical and biological drugs.
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/clinical-trial/ and you can add parameters to it. Any requests are made relative to this URI.
Sponsor
A clinical trial sponsor is an individual, corporate body, institution or organization that conducts a clinical trial. The sponsor is responsible for every aspect of a clinical trial, including ensuring that the trial is carried out under good clinical practices at each clinical trial site.
Each clinical trial site must have a Qualified Investigator, i.e., a licensed physician or dentist. The Qualified Investigator is the person responsible to the sponsor for the conduct of the clinical trial at the clinical trial site.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/clinical-trial/sponsor/?id= | Returns sponsor according to the sponsor identification number specified in the request. |
|
Yes | |
api/clinical-trial/sponsor/?lang=en | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/clinical-trial/sponsor/?type=json | 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. |
Sponsors can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each sponsor object consists of the following values:
Key | Value |
---|---|
manufacturer_id | The identification number assigned to a sponsor. |
manufacturer_name | The name of the sponsor. |
Sample response
{"manufacturer_id":1118,"manufacturer_name":"ST JOSEPHS HEALTH CENTRE LONDON"}
jQuery example
Example of a function that search for a sponsor given a sponsor identification number and language selection:
function getSponsor(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/clinical-trial/sponsor/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.manufacturer_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var Sponsor = document.createTextNode(data.manufacturer_name); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(Sponsor); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Medical Condition
The disease or a description of the intended indication that is being investigated in the clinical trial.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/clinical-trial/medicalcondition/?id= | Returns medical condition according to the medical condition identification number specified in the request. |
|
Yes | |
api/clinical-trial/medicalcondition/?lang=en | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/clinical-trial/medicalcondition/?type=json | 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. |
Medical Conditions can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each medical condition object consists of the following values:
Key | Value |
---|---|
med_condition_id | The identification number assigned to a medical condition. |
med_condition | The medical condition. |
Sample response
{"med_condition_id":154,"med_condition":"MELANOMA"}
jQuery example
Example of a function that search for a medical condition given a medical condition identification number and language selection:
function GetAllMedicalCondition(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/clinical-trial/medicalcondition/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.med_condition); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var MedicalCondition = document.createTextNode(data.med_condition); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(MedicalCondition); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Drug Product
Basic information about the drug product, such as the name given to the drug used in the clinical trial. This may be a code name, the chemical name of the active ingredient, the non-proprietary name, or a brand name.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/clinical-trial/drugproduct/?id= | Returns drug product according to the brand identification number specified in the request. |
|
Yes | |
api/clinical-trial/drugproduct/?lang=en | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/clinical-trial/drugproduct/?type=json | 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 |
---|---|
protocol_id | The identification number assigned to a protocol. |
submission_no | The control number. |
brand_id | The identification number assigned to a brand. |
manufacturer_id | The identification number assigned to a sponsor. |
manufacturer_name | The name of the sponsor. |
brand_name | The brand name for the drug product. |
Sample response
{"protocol_id":35778,"submission_no":"173436","brand_id":155817,"manufacturer_id":4794,"manufacturer_name":"GOVERNORS OF THE UNIVERSITY OF ALBERTA","brand_name":"FECAL MICROBIOTA TRANSPLANTATION"}
jQuery example
Example of a function that search for a drug product given a brand identification number and language selection:
function getDrugProduct(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/clinical-trial/drugproduct/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.brand_name); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var DrugProduct = document.createTextNode(data.brand_name); 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; };
Protocol
A document that describes the objective(s), design, methodology, statistical considerations and organization of a trial.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/clinical-trial/protocol/?id= | Returns protocol according to the protocol identification number specified in the request. |
|
Yes | |
api/clinical-trial/protocol/?lang=en | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/clinical-trial/protocol/?type=json | 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. |
Protocols can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each protocol object consists of the following values:
Key | Value |
---|---|
protocol_id | The identification number assigned to a protocol. |
protocol_no | The protocol number. |
submission_no | The control number. |
status_id | The identification number assigned to a status. |
start_date | The study start date. |
end_date | The study end date. |
nol_date | The date of the No Objection Letter. |
protocol_title | The protocol title. |
medConditionList | The consolidated list of medical conditions for a clinical trial protocol. |
med_condition_id | The identification number assigned to a medical condition. |
med_condition | The medical condition. |
studyPopulationList | The consolidated list of study populations for a clinical trial protocol. |
study_population_id | The identification number assigned to a study population. |
study_population | The study population. |
Sample response
{"protocol_id":27351,"protocol_no":"AMB116457","submission_no":"165540","status_id":1,"start_date":"2013-10-30","end_date":null,"nol_date":"2013-07-05", "protocol_title":"AN OPEN-LABEL EXTENSION STUDY OF THE LONG-TERM SAFETY, TOLERABILITY AND EFFICACY OF AMBRISENTAN IN SUBJECTS WITH INOPERABLE CHRONIC THROMBOEMBOLIC PULMONARY HYPERTENSION (CTEPH).", "medConditionList":[{"med_condition_id":326,"med_condition":"CHRONIC THROMBOEMBOLIC PULMONARY HYPERTENSION (CTEPH)"}, {"med_condition_id":260,"med_condition":"PULMONARY DISORDERS"}], "studyPopulationList":[{"study_population_id":1,"study_population":"ADULT MALE"}, {"study_population_id":2,"study_population":"ADULT FEMALE"}]}
jQuery example
Example of a function that search for a protocol given a protocol identification number and language selection:
function getProtocol(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/clinical-trial/protocol/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.protocol_title); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var Protocol = document.createTextNode(data.protocol_title); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(Protocol); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Trial Status
A "PENDING" status means Health Canada is pending the receipt of information from the sponsor indicating that the trial started. An "ONGOING" status means Health Canada has received information from the sponsor indicating the proposed study start date, and an "ENDED" status means Health Canada has received information from the sponsor indicating that the clinical trial has ended.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/clinical-trial/status/?id= | Returns the trial status according to the status identification number specified in the request. |
|
Yes | |
api/clinical-trial/status/?lang=en | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/clinical-trial/status/?type=json | Changes the format of the result. |
|
No, but defaults to Json if not specified. | Determines whether the result will be of type JSON or XML. |
Trial Status can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each trial status object consists of the following values:
Key | Value |
---|---|
status_id | The identification number assigned to a status. |
status | The status of the trial. |
Sample response
{"status_id":1,"status":"ONGOING"}
jQuery example
Example of a function that search for a trial status given a status identification number and language selection:
function getStatus(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/clinical-trial/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 Status = document.createTextNode(data.status); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(Status); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Study Population
Characteristics of subjects that are eligible to participate in the clinical trial, e.g., adult males and females, children, etc.
Parameters
There are three parameters in the request: id, lang and type.
Parameter | Meaning | Value | Required? | Note |
---|---|---|---|---|
api/clinical-trial/studypopulation/?id= | Returns study population according to the study population identification number specified in the request. |
|
Yes | |
api/clinical-trial/studypopulation/?lang=en | Changes the language of the response. |
|
No, but defaults to English if not specified. | Determines whether the response is in English or French. |
api/clinical-trial/studypopulation/?type=json | 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. |
Population Studies can be accessed via these URIs:
Contents of the response
The response consists of a result that contains one or multiple objects.
Each study population object consists of the following values:
Key | Value |
---|---|
study_population_id | The identification number assigned to a study population. |
study_population | The study population. |
Sample response
{"study_population_id":3,"study_population":"PEDIATRIC"}
jQuery example
Example of a function that search for a study population given a study population identification number and language selection:
function getStudyPopulation(id, lang) { var base = 'https://health-products.canada.ca'; var uri = base + '/api/clinical-trial/studypopulation/?lang=' + lang + '&id=' + id; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.study_population); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var StudyPopulation = document.createTextNode(data.study_population); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(StudyPopulation); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };