Canada Vigilance Product (CVP) API Guide

Table of contents

Introduction

The Canada Vigilance Adverse Reaction Online Database contains information about suspected adverse reactions (also known as side effects) to health products.

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 Canada Vigilance Product (CVP) is https://health-products.canada.ca/api/canada-vigilance/ and you can add parameters to it. Any requests are made relative to this URI.

Drug Product Ingredient

Provides the information about the active ingredients associated with all drugs.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/drugproductingredient/?id= Returns drug product ingredient according to the drug product active ingredient identifier specified in the request.
    ##### - Drug Product - Active Ingredient Identifier
Yes
api/canada-vigilance/drugproductingredient/?lang=en Changes the 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/canada-vigilance/drugproductingredient/?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 Product Ingredients 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 ingredient object consists of the following values:

Drug Product Ingredient object values
Key Value
drug_product_ingredient_id Drug Product - Active Ingredient Identifier.
drug_product_id Drug Product Identifier.
drug_name Brand Name.
active_ingredient_id Active Ingredient Identifier.
active_ingredient_name Active Ingredient Name.

Sample response

{"drug_product_ingredient_id":242002322,"drug_product_id":2420,"product_id":14208,"drug_name":"INTROPIN INJECTION 40MG/ML","active_ingredient_id":2322,"active_ingredient_name":"dopamine hydrochloride"}

jQuery example

Example of a function that search for drug product ingredient given a drug product active ingredient identifier and language selection:

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

Drug Product

Provides the information about all drug names and their codes.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/drugproduct/?id= Returns drug product according to the drug product identifier specified in the request.
    ##### - Drug Product Identifier
Yes
api/canada-vigilance/drugproduct/?lang=en Changes the 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/canada-vigilance/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
drug_product_id Drug Product Identifier.
drug_name Brand Name.

Sample response

{"drug_product_id":1,"product_id":1643,"drug_name":"HERISAN ONT 150MG","cpd_flag":1}

jQuery example

Example of a function that search for a drug product given a drug product identifier and language selection:

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

Gender

Provides the information about the gender presentation text associated with the gender code.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/gender/?id= Returns gender according to the gender identifier specified in the request.
    ##### - Gender Identifier
Yes
api/canada-vigilance/gender/?lang=en Changes the 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/canada-vigilance/gender/?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.

Genders can be accessed via these URIs:

Contents of the response

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

Each gender object consists of the following values:

Gender object values
Key Value
gender_id Gender Identifier.
gender_code Gender Code.
gender_name Gender.

Sample response

{"gender_id":41,"gender_code":"1","gender_name":"Male"}

jQuery example

Example of a function that search for a gender given a gender identifier and language selection:

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

Outcome

Provides the information about the outcome presentation text associated with the outcome code.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/outcome/?id= Returns outcome according to the outcome identifier specified in the request.
    ##### - Outcome Identifier
Yes
api/canada-vigilance/outcome/?lang=en Changes the 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/canada-vigilance/outcome/?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.

Outcomes can be accessed via these URIs:

Contents of the response

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

Each outcome object consists of the following values:

Outcome object values
Key Value
outcome_id Outcome Identifier.
outcome_code Report Outcome Code.
outcome_name Report Outcome.

Sample response

{"outcome_id":1906,"outcome_code":"06","outcome_name":"Unknown"}

jQuery example

Example of a function that search for an outcome given an outcome identifier and language selection:

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

Reaction

Provides the information about the reaction terms associated with report.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/reaction/?id= Returns reaction according to the reaction identifier specified in the request.
    ##### - Reaction Identifier
Yes
api/canada-vigilance/reaction/?lang=en Changes the 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/canada-vigilance/reaction/?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.

Reactions can be accessed via these URIs:

Contents of the response

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

Each reaction object consists of the following values:

Reaction object values
Key Value
reaction_id Reaction Identifier.
report_id Adverse Reaction Report (AER) Number (6 digits).
duration Reaction Duration.
duration_unit Reaction Duration Unit.
pt_name Adverse Reaction Term.
soc_name System Organ Class.
meddra_version MedDRA Version.

Sample response

{"reaction_id":5801,"report_id":58,"duration":0.0,"duration_unit":"","pt_name":"Conjunctivitis","soc_name":"Infections and infestations","meddra_version":"v.18.1"}

jQuery example

Example of a function that search for a reaction given a reaction identifier and language selection:

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

Report Drug

Provides the information about drugs associated with specific reports.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/reportdrug/?id= Returns report drug according to the adverse reaction report number specified in the request.
    ##### - Adverse Reaction Report (AER) Number
Yes
api/canada-vigilance/reportdrug/?lang=en Changes the 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/canada-vigilance/reportdrug/?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.

Report Drugs can be accessed via these URIs:

Contents of the response

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

Each report drug object consists of the following values:

Report Drug object values
Key Value
report_drug_id Report Drug Identifier.
report_id Adverse Reaction Report (AER) Number (6 digits).
drug_product_id Drug Product Identifier.
drug_name Brand Name.
drug_involv_name Health Product role.
route_admin_name Route of Administration.
unit_dose_qty Dose.
dose_unit_name Dose Unit.
frequency Frequency.
freq_time Frequency Time.
frequency_time Frequency Time.
freq_time_unit Frequency Unit.
therapy_duration Therapy Duration.
therapy_duration_unit Therapy Duration Unit.
dosage_form Dosage Form.
indication_name Indication.

Sample response

{"report_drug_id":1106349,"report_id":50,"drug_product_id":16876,"drug_name":"FORTICILLIN","drug_involv_name":"Suspect","route_admin":null,"route_admin_name":"Intramuscular","unit_dose_qty":0.0,"dose_unit":"","dose_unit_name":null,"frequency":2,"freq_time":1.0,"frequency_time":"2 every 1 Day(s)","freq_time_unit":"Day(s)","therapy_duration":1.0,"therapy_duration_unit":"Day(s)","dosage_form":"NOT SPECIFIED","indication_name":null}

jQuery example

Example of a function that search for a report drug given an adverse reaction report number and language selection:

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

Report Link

Provides the information about the linked/duplicate reports presentation text associated with the code.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/reportlink/?id= Returns report link according to the report link identifier specified in the request.
    ##### - Report Link Identifier
Yes
api/canada-vigilance/reportlink/?lang=en Changes the 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/canada-vigilance/reportlink/?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.

Report Links can be accessed via these URIs:

Contents of the response

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

Each report link object consists of the following values:

Report Link object values
Key Value
report_link_id Report Link Identifier.
report_id Adverse Reaction Report (AER) Number (6 digits).
record_type Record Type.
report_link_no Duplicate or Linked Adverse Reaction Report (AER) Number.

Sample response

{"report_link_id":1531151,"report_id":153115,"record_type":"Linked","report_link_no":"000153114"}

jQuery example

Example of a function that search for a report link given a report link identifier and language selection:

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

Report Type

Provides the information about the report type presentation text associated with the report type code.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/reporttype/?id= Returns report type according to the report type identifier specified in the request.
    ##### - Report Type Identifier
Yes
api/canada-vigilance/reporttype/?lang=en Changes the 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/canada-vigilance/reporttype/?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.

Report Types can be accessed via these URIs:

Contents of the response

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

Each report type object consists of the following values:

Report Type object values
Key Value
report_type_id Report Type Identifier.
report_type_code Report Type Code.
report_type Report Type.

Sample response

{"report_type_id":70095007,"report_type_code":"5","report_type":"Published"}

jQuery example

Example of a function that search for a report type given a report type identifier and language selection:

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

Report

Provides the information about reports and patients.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/report/?id= Returns report according to the adverse reaction report number specified in the request.
    ##### - Adverse Reaction Report (AER) Number
Yes
api/canada-vigilance/report/?lang=en Changes the 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/canada-vigilance/report/?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.

Reports can be accessed via these URIs:

Contents of the response

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

Each report object consists of the following values:

Report object values
Key Value
report_id Adverse Reaction Report (AER) Number (6 digits).
report_no Adverse Reaction Report (AER) Number (9 digits).
version_no Adverse Reaction Report (AER) Version Number.
date_received Latest Received Date.
date_int_received Initial Received Date.
mah_no Market Authorisation Holder (MAH) Adverse Reaction Report (AER) Number.
report_type_code Type of Report Code.
report_type_name Type of Report.
gender_code Gender Code.
gender_name Gender.
age Age.
age_y Age in Years.
age_unit Age Unit.
outcome_code Report Outcome Code.
outcome Report Outcome.
weight Weight.
weight_unit Weight Unit.
height Height.
height_unit Height Unit.
seriousness_code Serious Adverse Reaction Code.
seriousness Serious Adverse Reaction.
death Death.
disability Disability.
congenital_anomaly Congenital Anomaly.
life_threatening Life Threatening.
hosp_required Hospitalization Required.
other_medically_imp_cond Other Medically Important Condition.
reporter_type_code Reporter Type Code.
reporter_type Reporter Type.
source_code Report Source Code.
source_name Report Source.
pt_name Adverse Reaction Term.
soc_name System Organ Class.
duration Reaction Duration.
duration_unit Reaction Duration Unit.
drug_name Brand Name.

Sample response

{"report_id":195,"report_no":"000000195","version_no":0,"date_received":"1973-06-21","date_int_received":"1973-06-21","mah_no":"","report_type_code":null,"report_type_name":"Spontaneous","gender_code":"2","gender_name":"Female","age":49.0,"age_y":49.0,"age_unit_code":"07","age_unit":"Years","age_group_code":"","age_group_name":"","outcome_code":"06","outcome":"Unknown","weight":0.0,"weight_unit_code":"","weight_unit":"","height":0.0,"height_unit_code":"","height_unit":"","seriousness_code":"01","seriousness":"Yes","death":"","disability":"","congenital_anomaly":"","life_threatening":"","hosp_required":"","other_medically_imp_cond":"","reporter_type_code":"","reporter_type":"","source_code":"03","source_name":"Hospital","report_link_flg":0,"aer_id":90100144001,"pt_name":"Chest pain, Dyspnoea","soc_name":"General disorders and administration site conditions, Respiratory, thoracic and mediastinal disorders","duration":0.0,"duration_unit":"","drug_name":"CODEINE","cpd_flag":0}

jQuery example

Example of a function that search for a report given an adverse reaction report number and language selection:

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

Seriousness

Provides the information about the report seriousness presentation text associated with the report seriousness code.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/seriousness/?id= Returns seriousness according to the serious report identifier specified in the request.
    ##### - Serious Report Identifier
Yes
api/canada-vigilance/seriousness/?lang=en Changes the 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/canada-vigilance/seriousness/?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.

Seriousness can be accessed via these URIs:

Contents of the response

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

Each seriousness object consists of the following values:

Seriousness object values
Key Value
seriousness_id Serious Report Identifier.
seriousness_code Serious Adverse Reaction Code.
seriousness Serious Adverse Reaction.

Sample response

{"seriousness_id":2001,"seriousness_code":"01","seriousness":"Yes"}

jQuery example

Example of a function that search for a seriousness given a serious report identifier and language selection:

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

Source

Provides the information about the report source presentation text associated with the report source code.

Parameters

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

Request parameters
Parameter Meaning Value Required? Note
api/canada-vigilance/source/?id= Returns source of report according to the report source identifier specified in the request.
    ##### - Report Source Identifier
Yes
api/canada-vigilance/source/?lang=en Changes the 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/canada-vigilance/source/?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.

Sources can be accessed via these URIs:

Contents of the response

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

Each source object consists of the following values:

Source object values
Key Value
source_id Report Source Identifier.
source_code Report Source Code.
source Report Source.

Sample response

{"source_id":1001,"source_code":"01","source":"Community"}

jQuery example

Example of a function that search for a source given a report source identifier and language selection:

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