Guide de l'interface de programmation d’applications (API) du système d'identification des vaccins
De l'Agence de la santé publique du Canada
Table des matières
Introduction
Le système d'identification des vaccins réunit les renseignements importants sur les vaccins de Santé Canada afin d'offrir aux consommateurs canadiens un endroit unique où s'informer sur les différents vaccins.
Cette interface de programmation d'applications (API) permet aux concepteurs d'accéder à ces renseignements en format JSON afin de les utiliser dans leurs propres applications.
L'adresse URI de base du site Web du système d'identification des vaccins est https://vids-siv.phac-aspc.gc.ca/api/. Toute requête est effectuée par l'entremise de cette adresse URI.
Chercher un vaccin
L'API offre une fonctionnalité de recherche limitée.
Paramètres
Veuillez prendre note que ces paramètres sont passés dans la chaîne d'interrogation :
| Paramètre | Définition | Valeurs | Requis? | Notes |
|---|---|---|---|---|
/api/vaccine.php?&product_name=productName |
Recherche par le nom de produit du vaccin | productName - la chaîne de caractères à rechercher dans la base de données |
Optionnel. | La réponse contiendra les résultats de la recherche pour productName. |
/api/vaccine.php?&immunizing_agent=immunizingAgent |
Recherche par l’agent immunisant du vaccin | immunizingAgent - la chaîne de caractères à rechercher dans la base de données |
Optionnel. | La réponse contiendra les résultats de la recherche pour immunizingAgent. |
/api/vaccine.php?&manufacturer=manufacturer |
Recherche par fabricant du vaccin | manufacturer - la chaîne de caractères à rechercher dans la base de données |
Optionnel. | La réponse contiendra les résultats de la recherche pour manufacturer. |
/api/vaccine.php?&din=din |
Recherche par numéro d'identification du médicament (DIN) du vaccin | din - un DIN valide |
Optionnel. | La réponse contiendra les résultats de la recherche pour din. |
/api/vaccine.php?>in=gtin |
Recherche par le code article international (GTIN) du vaccin | gtin - un GTIN valide |
Optionnel. | La réponse contiendra les résultats de la recherche pour gtin. |
/api/vaccine.php?&lot=lot |
Recherche par le numéro de lot du vaccin | lot - un numéro de lot valide |
Optionnel. | La réponse contiendra les résultats de la recherche pour lot. |
/api/vaccine.php?gtin=############&lang=lang |
Change la langue |
|
Optionnel, l'anglais est la langue par défaut si elle n'est pas spécifiée. | La réponse contiendra les résultats de la recherche basée sur lang. |
/api/vaccine.php?limit=### |
Restreint le nombre de résultats retournés | limit - un numéro valide |
Optionnel, 50 par défaut. | La réponse contiendra les résultats de la recherche basée sur limit. |
/api/vaccine.php?offset=### |
Décale les résultats de la recherche | offset - un numéro valide |
Optionnel, pas de décale par défaut. | La réponse contiendra les résultats de la recherche basée sur offset. |
Exemple d'adresse URI d'une requête :
- https://vids-siv.phac-aspc.gc.ca/api/vaccine.php?product_name=INFANRIX&immunizing_agent=&manufacturer=GlaxoSmithKline&din=02253852>in=&lot=&limit=10&offset=&lang=en
- https://vids-siv.phac-aspc.gc.ca/api/vaccine.php?product_name=INFLUVAC&immunizing_agent=&manufacturer=&din=>in=055873035000&lot=&limit=10&offset=&lang=fr
Format de réponse
La réponse est en format JSON et contient un tableau qui comporte des objets composés de toutes les valeurs suivantes :
| Code | Valeur |
|---|---|
| gtin | le code article international du résultat du vaccin |
| product_name | le nom du produit du résultat du vaccin |
| manufacturer | le nom du fabricant ou fournisseur du résultat du vaccin |
| din | le numéro d'identification de médicament du résultat du vaccin |
Exemple de réponse
[
{"gtin": "055873035000", "product_name": "INFLUVAC", "manufacturer": "Abbott Laboratories Limited", "din": "02269562"},
{"gtin": "063601006451", "product_name": "Agriflu", "manufacturer": "Novartis Pharmaceuticals Canada Inc.", "din": "02346850"},
{"gtin": "063601040868", "product_name": "Fluad", "manufacturer": "Novartis Pharmaceuticals Canada Inc.", "din": "02362384"},
{"gtin": "621027070076", "product_name": "DIFLUCAN", "manufacturer": "Pfizer Canada Inc.", "din": "02141442"},
{"gtin": "621027070083", "product_name": "DIFLUCAN", "manufacturer": "Pfizer Canada Inc.", "din": "02024152"},
{"gtin": "621027070113", "product_name": "DIFLUCAN", "manufacturer": "Pfizer Canada Inc.", "din": "00891835"},
{"gtin": "621027070144", "product_name": "DIFLUCAN", "manufacturer": "Pfizer Canada Inc.", "din": "02141442"},
{"gtin": "621027070151", "product_name": "DIFLUCAN", "manufacturer": "Pfizer Canada Inc.", "din": "00891835"},
{"gtin": "00063601206455", "product_name": "Agriflu", "manufacturer": "Novartis Pharmaceuticals Canada Inc.", "din": "02346850"}
]
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute une liste de résultats de la recherche sur les vaccins à un élément avec l’identification "#vaccines", selon les paramètres de la recherche :
function search(productName, immunizingAgent, manufacturer, din, gtin, lang){
var base = "https://vids-siv.phac-aspc.gc.ca/api/vaccine.php";
var uri = base + '?product_name=' + productName + '&immunizing_agent=' + immunizingAgent + '&manufacturer=' + manufacturer + '&din=' + din + '>in=' + gtin + '&lang=' + lang;
$.ajax({
url: uri,
type: 'GET',
dataType: 'json',
success: function(data){
$.each(data, function(key, value) {
$("#vaccines").append("<strong>GTIN:</strong> " + value.gtin + "<br />");
$("#vaccines").append("<strong>Product Name:</strong> " + value.product_name + "<br />");
$("#vaccines").append("<strong>Manufacturer:</strong> " + value.manufacturer + "<br />");
$("#vaccines").append("<strong>DIN:</strong> " + value.din + "<br /><br />");
});
},
error: function(error){
console.log(error);
}
});
return;
}
Détails de vaccins
Lorsque vous faites une requête pour les détails de vaccins vous devez préciser deux paramètres dans l'appel API : le code article international du vaccin et la langue (en ou fr) dans laquelle vous aimeriez recevoir la réponse.
Paramètres
| Paramètre | Définition | Valeurs | Requis? | Notes |
|---|---|---|---|---|
/api/vaccineDetails.php?gtin=############ |
Affiche les détails du vaccin | ############ - Affiche le code article international GTIN du vaccin recherché |
Oui | les codes article international GTIN peuvent être trouvés dans la base de données de vaccins. |
/api/vaccineDetails.php?gtin=############&lang=value |
Change la langue |
|
Optionnel, l'anglais est la langue par défaut si elle n'est pas spécifiée | Détermine si la réponse est affichée en anglais ou en français. |
Exemple d'adresse URI d'une requête :
Format de réponse
La réponse est en format JSON et contient un objet qui comporte les objets suivants :
| Code | Valeur |
|---|---|
| basic_information | Renseignements de base du vaccin recherché |
| manufacturer_information | Renseignements du fabricant du vaccin recherché |
| ingredients | Ingrédients du vaccin recherché |
| measurements | Mesures du vaccin recherché |
| packaging_details | Détails de l'emballage du vaccin recherché |
| classifications | Classifications du vaccin recherché |
| other_information | Autres renseignements du vaccin recherché |
| lots | Lots du vaccin recherché |
Exemple de réponse
{
"basic_information": {
"vaccine_id": "434",
"product_name": "Havrix 1440 (single dose)",
"manufacturer": "GlaxoSmithKline Inc. (Pharmaceuticals)",
"gtin": "770933323025",
"din": "02187078",
"short_description": "Hepatitis A Vaccine",
"extended_description": "Active immunizing agent against infection by hepatitis A virus",
"generic_name": "n\/a",
"label_storage_condition": "Do not freeze. Discard if frozen. Store between 2-8",
"route_of_administration": "IH",
"discontinue_date": "",
"reinstatement_date": "",
"substituted_for_gtin": ""
},
"manufacturer_information": {
"name": "GlaxoSmithKline Inc. (Pharmaceuticals)",
"primary_address": "",
"secondary_address": "",
"city": "",
"province": "",
"country": "",
"website": ""
},
"ingredients": [{
"name": "HEPATITIS A VACCINE, INACTIVATED",
"strength": "1440",
"strength_uom": "UN",
"typical_dosage": "0",
"typical_dosage_uom": ""
}],
"measurements": {
"dosage_form": "SUSP",
"size": "1.00000",
"size_uom": "ML",
"temperature_control_range": "TCREF",
"temperature_control_range_other": "",
"strength_uom": "0.5 mL"
},
"packaging_details": [{
"name": "Each",
"gtin": "770933323025",
"total_units": "1"
}],
"classifications": {
"ahfs_code": "80:12.00",
"atc_code": "J07BC02",
"drug_type": "NA",
"eccnet_classification_code": "000310",
"global_product_classification_code": "10005845",
"handling_code": ""
},
"other_information": {
"package_inserts": "",
"package_inserts_link": "",
"product_monograph": "",
"product_monograph_link": "",
"contraindications": "",
"precautions": ""
},
"lots": [{
"lot_id": "393",
"lot_number": "AHAVB613BB",
"expiry_date": "2014-09-30 00:00:00",
"status": "Active, Expired"
}, {
"lot_id": "394",
"lot_number": "AHAVB613BF",
"expiry_date": "2014-09-30 00:00:00",
"status": "Active, Expired"
}, {
"lot_id": "457",
"lot_number": "AHAVB497ED",
"expiry_date": "2013-07-31 00:00:00",
"status": "Active, Expired"
}, {
"lot_id": "574",
"lot_number": "AHAVB727AN",
"expiry_date": "2015-11-30 00:00:00",
"status": "Active, Expired"
}]
}
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute les détails des vaccins à un élément avec l’identification "#vaccine-details", selon le code article international (GTIN) et la langue sélectionnée :
function getVaccineDetails(gtin, lang){
var base = "https://vids-siv.phac-aspc.gc.ca/api/vaccineDetails.php";
var uri = base + '?gtin=' + gtin + '&lang=' + lang;
$.ajax({
url: uri,
type: 'GET',
dataType: 'json',
success: function(data){
$.each(data, function(index, object) {
$("#vaccine-details").append("<p>");
$.each(object, function(key, value) {
$("#vaccine-details").append("<strong>" + key + ":</strong> " + value + "<br />");
});
$("#vaccine-details").append("</p>");
});
},
error: function(error){
console.log(error);
}
});
return;
}
Détails de lots
Lorsque vous faites une requête pour les détails de lot d’un vaccin, vous devez préciser deux paramètres dans l'appel API : le numéro de lot et la langue (en ou fr) dans laquelle vous aimeriez recevoir la réponse.
Paramètres
| Paramètre | Définition | Valeurs | Requis? | Notes |
|---|---|---|---|---|
/api/lotDetails.php?lot=### |
Affiche les détails de lot | ############ - Affiche le numéro de lot recherché |
Oui | Les numéros de lot peuvent être trouvés dans la base de données de vaccins. |
/api/lotDetails.php?lot=###&lang=value |
Change la langue |
|
Optionnel, l'anglais est la langue par défaut si elle n'est pas spécifiée | Détermine si la réponse est affichée en anglais ou en français. |
Exemple d'adresse URI d'une requête :
Format de réponse
La réponse est en format JSON et contient un objet qui comporte les valeurs suivantes :
| Code | Valeur |
|---|---|
| lot_id | Le numéro d'identification d’un lot |
| lot_name | Nom d’un lot |
| lot_number | Numéro d’un lot |
| description | Description d’un lot |
| reason_for_recall | Raison pour le rappel d’un lot |
| date_expired | Date le lot est expiré |
| date_created | Date le lot a été créé |
| date_modified | Date le lot a été modifié |
| state | État d’un lot (1 - activé, 0 - désactivé) |
| vaccine_id | Le numéro d'identification du vaccin associé |
| vaccine_gtin | Le code article international du vaccin associé |
| vaccine_name | Le nom du vaccin associé |
| vaccine_manufacturer | Le fabricant du vaccin associé |
| vaccine_din | Le numéro d'identification de médicament du vaccin associé |
Exemple de réponse
{
"lot_id": "400",
"lot_name": "AHAVB473CG",
"lot_number": "AHAVB473CG",
"description": "",
"reason_for_recall": "",
"date_expired": "2014-03-31 00:00:00",
"date_created": "2012-11-05 16:20:47",
"date_modified": "0000-00-00 00:00:00",
"state": "1",
"vaccine_id": "427",
"vaccine_gtin": "770933000025",
"vaccine_name": "Havrix 1440 vaccine (PFS)",
"vaccine_manufacturer": "GlaxoSmithKline Inc. (Pharmaceuticals)",
"vaccine_din": "02187078"
}
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute les détails de lot à un élément avec l’identification "#lot-details", selon le numéro de lot et la langue sélectionnée :
function getLotDetails(lot, lang){
var base = "https://vids-siv.phac-aspc.gc.ca/api/lotDetails.php";
var uri = base + '?lot=' + lot + '&lang=' + lang;
$.ajax({
url: uri,
type: 'GET',
dataType: 'json',
success: function(data){
$("#lot-details").append("<p>");
$.each(data, function(key, value) {
$("#lot-details").append("<strong>" + key + ":</strong> " + value + "<br />");
});
$("#lot-details").append("</p>");
},
error: function(error){
console.log(error);
}
});
return;
}
Notifications
Cette requête affiche une réponse avec toutes les notifications de vaccins de la base de données.
Paramètres
Il n'y a qu'un seul paramètre dans la requête : la langue.
| Paramètre | Définition | Valeurs | Requis? | Notes |
|---|---|---|---|---|
&lang=lang |
Change la langue |
|
Optionnel, l'anglais est la langue par défaut si elle n'est pas spécifiée. | Détermine si la réponse est affichée en anglais ou en français. |
Exemple d'adresse URI d'une requête :
Format de réponse
La réponse est en format JSON et contient un tableau qui comporte des objets composés de toutes les valeurs suivantes :
| Code | Valeur |
|---|---|
| id | Numéro d’identification d’une notification |
| name | Nom de la notification |
| source | Hyperlien à la notification |
| date_created | Date la notification a été créée |
| date_modified | Date la notification a été modifiée |
Exemple de réponse
[{
"id": "9",
"name": "Novartis Suspends Distribution of Seasonal Flu Vaccines Agriflu and Fluad in Canada as a Precaution",
"source": "http:\/\/www.hc-sc.gc.ca\/ahc-asc\/media\/advisories-avis\/_2012\/2012_162-eng.php",
"date_created": "2012-10-26 00:00:00",
"date_modified": "2012-10-29 00:00:00"
}, {
"id": "14",
"name": "Voluntary Suspension of Flu Vaccines (Agriflu and Fluad) Lifted",
"source": "http:\/\/www.hc-sc.gc.ca\/ahc-asc\/media\/advisories-avis\/_2012\/2012_164-eng.php",
"date_created": "2012-10-31 00:00:00",
"date_modified": "2012-10-31 00:00:00"
}, {
"id": "17",
"name": "Voluntary recall of GlaxoSmithKline (GSK) Infanrix Hexa\u00ae Vaccine Lot A21CB242A due to potential microbiological contamination",
"source": "",
"date_created": "2012-11-06 00:00:00",
"date_modified": "2012-11-06 00:00:00"
}, {
"id": "20",
"name": "Public Communication Agriflu and Fluad",
"source": "Novartis",
"date_created": "2012-11-08 00:00:00",
"date_modified": "2012-11-08 00:00:00"
}, {
"id": "21",
"name": "Dear Health Care Professional Health Canada Endorsed Important Information on",
"source": "Novartis",
"date_created": "2012-11-08 00:00:00",
"date_modified": "2012-11-08 00:00:00"
}, {
"id": "27",
"name": "New Immunization and Vaccines landing page",
"source": "http:\/\/www.phac-aspc.gc.ca\/im\/index-eng.php",
"date_created": "2014-05-22 00:00:00",
"date_modified": "2014-05-22 00:00:00"
}]
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute une liste de notifications à un élément avec l’identification "#notifications", selon la langue sélectionnée :
function getNotifications(lang){
var base = "https://vids-siv.phac-aspc.gc.ca/api/notification.php";
var uri = base + '?lang=' + lang;
$.ajax({
url: uri,
type: 'GET',
dataType: 'json',
success: function(data){
$.each(data, function(index, object) {
$("#notifications").append("<p>");
$.each(object, function(key, value) {
$("#notifications").append("<strong>" + key + ":</strong> " + value + "<br />");
});
$("#notifications").append("</p>");
});
},
error: function(error){
console.log(error);
}
});
return;
}
Détails de notifications
Lorsque vous faites une requête pour les détails de notifications de vaccins, vous devez préciser deux paramètres dans l'appel API : l’identification de la notification et la langue (en ou fr) dans laquelle vous aimeriez recevoir la réponse.
Paramètres
| Paramètre | Définition | Valeurs | Requis? | Notes |
|---|---|---|---|---|
&id=id |
Extrait les détails de notifications utilisant son numéro d’identification. | id - Numéro d’identification de la notification |
Oui | L’interrogation contiendra les détails d’une notification. |
&lang=lang |
Change la langue |
|
Optionnel, l'anglais est la langue par défaut si elle n'est pas spécifiée. | Détermine si la réponse est affichée en anglais ou en français. |
Exemple d'adresse URI d'une requête :
Format de réponse
La réponse est en format JSON et contient un objet qui comporte les valeurs suivantes :
| Code | Valeur |
|---|---|
| id | Numéro d’identification d’une notification |
| name | Nom de la notification |
| source | Hyperlien de la notification |
| description | Description de la notification |
| date_created | Date la notification a été créée |
| date_modified | Date la notification a été modifiée |
| attachments | Pièces jointes pour la notification |
| links | Liens pour la notification |
Exemple de réponse
{
"id": "27",
"name": "New Immunization and Vaccines landing page",
"source": "http:\/\/www.phac-aspc.gc.ca\/im\/index-eng.php",
"description": "The new Immunization and Vaccines landing page on the Agency website is now live.",
"date_created": "2014-05-22 00:00:00",
"date_modified": "2014-05-22 00:00:00",
"attachments": [],
"links": [{
"url": "http:\/\/www.phac-aspc.gc.ca\/im\/index-eng.php",
"date_created": "2014-05-22 13:31:25",
"date_modified": "2014-05-22 13:32:28"
}, {
"url": "http:\/\/www.phac-aspc.gc.ca\/im\/index-fra.php",
"date_created": "2014-05-22 13:31:25",
"date_modified": "2014-05-22 13:32:28"
}]
}
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute les détails de notifications à un élément avec l’identification "#notification-details", selon l’identification et la langue sélectionnée :
function getNotificationDetails(id, lang){
var base = "https://vids-siv.phac-aspc.gc.ca/api/notificationDetails.php";
var uri = base + '?id=' + id + '&lang=' + lang;
$.ajax({
url: uri,
type: 'GET',
dataType: 'json',
success: function(data){
$("#notification-details").append("<p>");
$.each(data, function(key, value) {
$("#notification-details").append("<strong>" + key + ":</strong> " + value + "<br />");
});
$("#notification-details").append("</p>");
},
error: function(error){
console.log(error);
}
});
return;
}
Extraire
L’API offre une fonction pour exporter tous les renseignements sur les vaccins de la base de donnée dans une feuille de calcul. Ces extraits de vaccins peuvent être accédés par les adresses URI suivantes :