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ètres de recherche sur les vaccins
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?&gtin=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
  • en - anglais
  • fr - français
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 :

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 :

Valeurs de l'objet d'un vaccin
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 + '&gtin=' + 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ètres des détails de vaccins
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
  • en - anglais
  • fr - français
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 :

Objets des détails de vaccins
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ètres de détails de lots
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
  • en - anglais
  • fr - français
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 :

Valeurs des objets des détails de lot
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ètres des notifications
Paramètre Définition Valeurs Requis? Notes
&lang=lang Change la langue
  • en - anglais
  • fr - français
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 :

Valeurs des objets de notifications
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ètres des détails de notifications
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
  • en - anglais
  • fr - français
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 :

Valeurs des objets de vaccins
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 :

Date de modification :