FR 3136575 A1 20231215 FR 2205605 A 20220610 La présente description propose une vérification d’une livraison d’un colis de boites de médicaments, le colis étant acheminé vers un point de dispensation selon un parcours comportant des tronçons successifs, le colis étant reconditionné après chaque tronçon parcouru. Le reconditionnement comporte au moins : - une vérification d’une première étiquette apposée sur le colis et comportant un premier code à usage unique, affecté pour le colis et pour le tronçon parcouru, et - une fourniture d’une deuxième étiquette à apposer sur le colis et comportant un deuxième code à usage unique, différent du premier code, et affecté pour le colis et pour le tronçon futur à parcourir. Le procédé comporte au moins : - stocker auprès d’un serveur le premier code, - sur réception de données du premier code issues d’un terminal, vérifier auprès du serveur que le premier code a préalablement été stocké et n’a pas été reçu précédemment, * si la vérification est positive, générer, enregistrer auprès du serveur et envoyer audit terminal des données du deuxième code, en vue d’une utilisation du deuxième code pour un reconditionnement du colis, * si la vérification est négative, générer une alerte. Contrôle d’un acheminement d’un lot de médicaments La présente description concerne des moyens de contrôle antifraude d’un acheminement d’un lot de médicaments. Malgré de nombreuses actions efficaces entreprises pour améliorer l’accès à des médicaments authentiques pour des patients, il existe néanmoins un marché parallèle utilisé par des fraudeurs qui n'hésitent pas à introduire de faux médicaments en les vendant moins chers que les vrais. Il existe une définition de faux médicaments comme suit : Un médicament falsifié, selon la directive européenne 2011/62/UE, est un "médicament comportant une fausse présentation de : - son identité, y compris de son emballage et de son étiquetage, de sa dénomination ou de sa composition s’agissant de l’un de ses composants, y compris les excipients, et du dosage de ces composants ; - sa source, y compris de son fabricant, de son pays de fabrication, de son pays d’origine ou du titulaire de son autorisation de mise sur le marché ; ou - son historique, y compris des enregistrements et des documents relatifs aux circuits de distribution utilisés. La présente définition n’inclut pas les défauts de qualité non intentionnels et s’entend sans préjudice des violations des droits de propriété intellectuelle". Les composants présents dans ces médicaments, y compris les substances actives, sont habituellement de qualité insuffisante, falsifiés, mal dosés ou encore absents, et représentent ainsi une grave menace pour la santé publique. Le trafic de faux médicaments représenterait au minimum 10 à 15 % du marché pharmaceutique mondial (soit 100 à 150 milliards de dollars) et augmente ces dernières années. L’Afrique est un des continents le plus en proie à une telle contrefaçon : en moyenne 30% des médicaments en circulation en Afrique sont faux (jusqu’à 70% dans certains pays). La conséquence en est une mortalité accrue, de l’ordre de 700 000 à 2 000 0000 décès par an selon les études. Selon l’Organisation Mondiale de la Santé, 150 000 enfants africains de moins de 5 ans sont morts de ce trafic en 2013. En Afrique, surtout les traitements des maladies les plus impactantes en termes de santé publique sont concernés (paludisme, sida, tuberculose) tandis que les médicaments les plus coûteux sont ceux les plus contrefaits en Amérique latine. Le fléau de la contrefaçon de médicaments représente une activité très lucrative pour les trafiquants, bien plus que le trafic de drogue : il est estimé que 1000 $ investis pour la contrefaçon de médicaments rapportent 500 000 $ contre 20 000$ pour la drogue. Pour tenter de lutter contre cette contrefaçon, la directive (UE) 2016/161 du parlement européen, dite « directive de médicaments falsifiés », est entrée pleinement en vigueur depuis Février 2019. Parmi les outils technologiques disponibles pour réaliser cette traçabilité, l’usage du « Datamatrix » (code barre matriciel bidimensionnel (2D) à haute densité) permet de faire figurer de nombreuses informations sur un espace réduit d’une boite de médicaments (code produit, numéro de lot, date de péremption, numéro de série, etc.). Un tel outil permet de vérifier a posteriori qu'une boite de médicaments, individuelle, a éventuellement fait l'objet d'une contrefaçon. Toutefois, le contrôle de chaque boite est fastidieux et la proposition d’un tel outil méconnait les mécanismes habituels de trafic des contrefacteurs. En effet, le problème essentiel réside dans le suivi du processus de distribution et d’acheminement des médicaments. Le trafic de contrefaçon consiste souvent à intercepter un colis d’un lot de médicaments authentiques à livrer en pharmacie et à le remplacer par un lot de médicaments contrefaits (moins chers, non conformes, etc.). Le lot authentique est revendu dans un autre circuit. Il est donc recherché un moyen de garantir la traçabilité d’un lot de boites de médicaments depuis sa mise en colis en sortie d’usine jusqu’à sa livraison en officine. Sur une chaine de distribution, un lot sorti d’usine et mis en colis transite par transport vers un distributeur. Chez le distributeur, le lot peut être reconditionné et transporté à nouveau vers un grossiste. Chez le grossiste, le lot peut être reconditionné et transporté encore vers au moins un revendeur. Ce mécanisme peut être poursuivi plusieurs fois selon la destination du lot, lequel peut être reconditionné et transporté ainsi plusieurs fois jusqu’à sa destination finale : une pharmacie, un hôpital ou une clinique. On comprendra qu’un faux lot de médicaments peut pénétrer en un point de cette chaine de distribution qui devient poreuse notamment en fin de distribution. Un moyen efficace de lutte contre les faux médicaments doit donc faciliter le suivi du médicament lors de son passage d’une entité à une autre (du fabricant au distributeur, etc.). Il est donc recherché des moyens techniques : - robustes pour lutter efficacement contre le remplacement d’un lot sur son parcours, - peu onéreux pour ne pas grever considérablement le prix des médicaments authentiques par rapport aux contrefaçons, et - simples pour ne pas décourager un contrôle rigoureux des lots de médicaments sur l’ensemble des tronçons de leur parcours. Résumé La présente description vient améliorer la situation. Elle propose à cet effet un procédé mis en œuvre par des moyens informatiques, de vérification d’une livraison d’un colis de boites de médicaments, le colis étant acheminé vers un point de dispensation selon un parcours comportant des tronçons successifs, le colis étant reconditionné après chaque tronçon parcouru. En particulier, le reconditionnement comporte au moins : - une vérification d’une première étiquette apposée sur le colis et comportant un premier code à usage unique, affecté pour le colis et pour le tronçon parcouru, et - une fourniture d’une deuxième étiquette à apposer sur le colis et comportant un deuxième code à usage unique, différent du premier code, et affecté pour le colis et pour le tronçon futur à parcourir. Le procédé peut alors comporter au moins les étapes visant à : - stocker auprès d’un serveur le premier code, - sur réception de données du premier code issues d’un terminal, vérifier auprès du serveur que le premier code a préalablement été stocké et n’a pas été reçu précédemment, * si la vérification est positive, générer, enregistrer auprès du serveur et envoyer audit terminal des données du deuxième code, en vue d’une utilisation du deuxième code pour un reconditionnement du colis, * si la vérification est négative, générer une alerte. Ainsi, on comprendra qu’à chaque fin de tronçon, dans le parcours prévu pour le colis, un reconditionnement du colis occasionne alors les étapes du procédé ci-avant. Il est prévu en particulier un code à usage unique à chaque reconditionnement du colis. Ce code peut être typiquement imprimé sur une étiquette collante apposée sur le colis. Bien entendu, une fois le colis parvenu à son point de dispensation, l’étape de vérification du code à usage unique, mise en œuvre par le serveur et présentée ci-avant peut être menée une dernière fois. Dans une forme de réalisation, le terminal peut exécuter une application pour : - transmettre des données du premier code au serveur, et - sur réception des données du deuxième code, éditer un ordre d’impression de la deuxième étiquette comportant le deuxième code et à apposer sur le colis pour son reconditionnement. Le terminal peut en effet émettre un ordre d’impression destiné à une imprimante pour imprimer l’étiquette avec le nouveau code (deuxième code à usage unique précité), à apposer sur le colis. Dans un exemple de réalisation, les première et deuxième étiquettes peuvent comporter un revêtement opaque à gratter pour découvrir respectivement les premier et deuxième codes. Le terminal peut alors exécuter une application pour : - animer une interface homme-machine du terminal permettant à un utilisateur de saisir le premier code après grattage de la première étiquette, et - transmettre au serveur des données issues de la saisie du premier code par l’utilisateur. Dans une telle réalisation, les étiquettes sont imprimées avec un revêtement opaque à gratter. Si un utilisateur de confiance recevant le colis à reconditionner constate typiquement que l’étiquette a déjà été grattée, il peut transmettre une alerte au serveur via son terminal. Sinon, il peut gratter l’étiquette et saisir sur son terminal le code qu’il visualise, pour une transmission de ce code au serveur. En complément ou en variante, les première et deuxième étiquettes peuvent comporter respectivement des premier et deuxième codes à barres, le terminal peut exécuter une application pour : - effectuer une lecture optique par le terminal du premier code à barres, et - transmettre au serveur des données issues de la lecture optique du premier code à barres. Ce code à barres peut être par exemple un QR-code imprimé sur l’étiquette. L’étiquette peut comporter à la fois le code à barres et le code à usage unique revêtu du matériau opaque précité. Alternativement, un jeu de plusieurs étiquettes peut être prévu, comportant une étiquette pour le code à barres et une étiquette revêtue par le matériau opaque. Ainsi, on entend ici par « étiquette » aussi bien une étiquette unique qu’un jeu de plusieurs étiquettes. Dans une réalisation où les étiquettes comportent un code à barres, les premier et deuxième codes à barres peuvent comporter au moins des données de lieux respectifs, présumés, de livraisons du colis pour un reconditionnement. Dans une telle réalisation, il est avantageux que l’exécution de l’application auprès du terminal provoque : - une récupération d’une donnée de localisation courante du terminal, et - une transmission au serveur de ladite donnée de localisation courante, avec les données issues de la lecture optique du premier code à barres, Le serveur peut alors vérifier une cohérence entre : - la donnée de localisation courante du terminal, et - la donnée du lieu présumé de livraison du colis, issue de la lecture optique du premier code à barres. Cette vérification de cohérence peut s’effectuer avec une tolérance de quelques dizaines de mètres par exemple. En complément ou en variante, les premier et deuxième codes à barres peuvent comporter au moins des données respectives d’horodates attendues de livraisons du colis pour un reconditionnement. Dans une telle réalisation, le serveur, sur réception des données du premier code à barres, peut alors vérifier une cohérence entre : - une horodate courante, et - une horodate issue de la lecture optique du premier code à barres. Cette vérification de cohérence peut s’effectuer avec une tolérance de quelques dizaines de minutes par exemple. Dans une réalisation où le colis comporte une pluralité de boites de médicaments, comportant chacune un code à barres propre à chaque boite, le terminal peut exécuter une application pour : - effectuer une lecture optique par le terminal de chaque code à barres de chaque boite, et - transmettre au serveur des données issues de la lecture optique de chaque code à barres de chaque boite. Ainsi, le serveur, stockant des données propres à chaque boite de médicaments, peut vérifier une validité des données reçues et issues de la lecture optique de chaque code à barres de chaque boite. Ainsi, la mise en œuvre d’un tel mode de réalisation permet d’assurer une compatibilité des vérifications réalisées par le serveur avec le système Datamatrix® précité. Dans une réalisation, le colis étant conditionné dans un emballage à carton comprenant au moins deux pans adjacents, les première et deuxième étiquettes sont autocollantes, et configurées pour être apposées sur les deux pans du carton. Ainsi, si le colis a été ouvert sur son tronçon de parcours par une personne non habilitée, une étiquette comportant le code à barres ou le revêtement opaque apparait découpée, ce qui détériore l’étiquette et rend par exemple impossible la lecture du code à barres. En complément, il est possible de prévoir en outre un sticker à hologramme pour être apposé sur les deux pans du carton. L’ouverture du carton provoque alors la déformation du sticker et l’hologramme n’est alors plus visible sous sa forme attendue. Une personne de confiance recevant le colis avec le sticker dans cet état peut alors générer une alerte. Dans une réalisation, les premier et deuxième codes à usage unique sont fonctions de données respectives d’une blockchain vérifiée par le serveur. Ainsi, le serveur peut vérifier sur l’ensemble du parcours du colis jusqu’à son point de dispensation, si les données de la blockchain sont cohérentes et valides. Dans une réalisation, il est mis en œuvre une intelligence artificielle programmée pour apprendre, dans une phase d’apprentissage, des situations relatives à des générations d’alerte, et pour détecter, dans une phase d’utilisation courante, des situations à anomalies. Une telle réalisation permet de générer des alertes quand bien même un utilisateur recevant un colis n’en génère pas. Par exemple, malgré la tolérance de retard de livraison de quelques dizaines de minutes, précitée, si tous les colis parviennent à un même point de livraison avec un retard systématique mais inférieur toutefois à la tolérance maximale, l’intelligence artificielle peut détecter une anomalie systématique et générer une alerte. La présente description vise aussi un système comportant : - un serveur configuré pour mettre en œuvre les étapes du procédé ci-avant, lorsque ces étapes impliquent un serveur, et - au moins un terminal configuré pour mettre en œuvre les étapes du procédé lorsque ces étapes impliquent un terminal. La présente description vise aussi un serveur d’un tel système et un terminal d’un tel système (exécutant une application spécifique pour être en lien avec le serveur via un réseau de communication). La présente description vise un programme informatique comportant des instructions pour la mise en œuvre du procédé ci-avant, lorsqu’elles sont exécutées par un processeur (d’un serveur et/ou d’un terminal du type ci-avant). Ces instructions peuvent être réparties dans des mémoires respectives d’un serveur et/ou d’un terminal du type ci-avant. La présente description vise aussi un support mémoire non-transitoire stockant de telles instructions de programme informatique. D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : Fig. 1 illustre un exemple d’étapes d’un procédé du type défini ci-avant. Fig. 2 détaille des sous-étapes d’une étape S9 de la , de génération d’une deuxième étiquette à apposer sur le colis à la fin de son reconditionnement. Fig. 3 détaille des sous-étapes d’une étape S2 de la , de vérification d’une première étiquette apposée sur le colis lors de sa réception. Fig. 4 illustre schématiquement un modèle possible d’algorithme mettant en œuvre notamment une intelligence artificielle. Fig. 5 illustre schématiquement un système pour la mise en œuvre du procédé défini ci-avant. Pour lutter contre la contrefaçon de médicaments, la solution proposée est destinée : - à toutes les parties prenantes du fabricant au dispensateur (le dernier maillon avant le patient : pharmacies, hôpitaux, cliniques, etc.), - aux patients, - aux autorités administratives des pays : douane, inspection de santé, police, justice. Cette solution repose sur une plateforme logicielle en SaaS (pour Software-as-a-Service) qui peut être composée, comme on le verra en détails plus loin, d’utilisations de : - « smart token » (code à usage unique précité), - Blockchain (solution dite plus loin de « smart contract »), et - Intelligence artificielle. Cette plateforme permet d’assurer la traçabilité, l’authentification, la sécurisation et la surveillance des médicaments de bout en bout dans la chaîne de distribution. Les pharmaciens et les patients disposent ainsi d’une solution selon laquelle ils n’ont qu’à scanner un identifiant unique enregistré sur la blockchain pour en vérifier son authenticité. Par exemple, quand un lot de boites de médicaments est produit, il est relié à un identifiant unique généré au moyen d’un code matriciel 2D de sérialisation contenant toutes les informations essentielles sur le produit. Ce code 2D (type QR-Code) contenant toutes les informations du médicament, est ajouté dans la blockchain de sorte à faciliter le suivi à chaque fois que le médicament passe d’une entité à une autre. Dans un mode de réalisation, il peut être prévu la combinaison de trois moyens ci-dessous permettant de tracer, authentifier, sécuriser et surveiller le circuit de distribution afin d’assurer et de garantir que le faux lot de médicaments n’atteint pas le patient : - un « Smart token » permettant de sécuriser des colis en transit, - un « Smart contract » assurant la traçabilité des colis tout au long du parcours, - une « Intelligence artificielle » programmée pour détecter des anomalies sur l’ensemble du parcours. Une telle solution présente l’avantage de protéger un circuit de distribution à moindre coût sans changer le modèle de fabrication de médicament et sans générer l’utilisation d’objets supplémentaires qui peuvent être coûteux, tel que l’emploi de la technologie IoT (internet des objets), d’étiquettes RFID, etc. Durant les étapes de préparation, de transport et de réception des colis, de vrais médicaments peuvent être remplacés par des faux. Le concept de Smart Token permet d’assurer les colis tout en protégeant les médicaments qui se trouvent à l’intérieur. La illustre à titre d’exemple les étapes possibles d’un tel traitement. La première étape S1 consiste à déployer des applications informatiques pour la mise en œuvre du procédé auprès de terminaux mobiles TER1, TER2, …, TERi, TERi+1, … (par exemple des smartphones, des tablettes, ou autres) qui sont à disposition d'utilisateurs humains, acteurs dans la chaîne de distribution. Chacun de ces terminaux est supposé disposer de moyen de lecture optique (notamment d’un QR-code). En outre, chacun de ces terminaux est supposé être connecté à un réseau de télécommunication (en protocole IP typiquement). Cette connexion peut être directe, via un réseau GSM ce qui permet de déterminer une localisation courante du terminal (par exemple par trilatération) ou via une passerelle dont la localisation peut également être détectée. Ainsi, chaque terminal peut donner à l’application des données lues par scan d’un QR-code, ainsi qu’une coordonnée de localisation courante du terminal (par GPS ou par les moyens précités), ainsi qu’une adresse IP de connexion au réseau étendu. L’application installée dans le terminal est programmée pour récupérer l’ensemble de ces données (y compris donc les coordonnées GPS et d’adresse IP) sans contrôle de l’utilisateur du terminal. Parallèlement, un module informatique de supervision est installé auprès du serveur SER de la , ce serveur étant en charge du contrôle des données que remontent les terminaux grâce à l’exécution de l’application auprès de chaque terminal. Ainsi, après l'étape S10 d'application d'un premier QR code QRC1 sur un colis en sortie d'usine, ce colis est acheminé selon différents tronçons d’un parcours. À réception du colis en l'un de ces tronçons, le colis porte un code courant QRCi, à l’étape S2. Un utilisateur scanne ce code QRCi à l’étape S3 à l’aide de son terminal TERi. À l'étape S4, l'application installée sur le terminal TERi s'active pour transmettre les données du code QRCi avec une donnée de localisation courante du terminal TERi, ainsi que son adresse IP de connexion. Ces données sont transmises via le réseau étendu précité vers le serveur SER de vérification. À l'étape S5, ces données sont vérifiées par le serveur SER comme suit : - un jeton unique est donné pour un seul lot et pour un seul parcours de ce lot : les données de ce jeton ne doivent pas avoir été utilisées précédemment, et donc pas remontées précédemment au serveur SER, - les données du code QRCi comportent une horodate de livraison programmée du colis (à une tolérance près) : l’instant de réception des données auprès du serveur ne doit ni anticiper, ni dépasser, l’horodate présente dans les données du code QRCi (à la tolérance près), - l’adresse IP remontée par le terminal TERi est celle du terminal sur lequel l’application a été précédemment installée et ne doit pas en différer. Le jeton unique peut être une donnée spécifique du code QRC, à vérifier auprès du serveur. En complément ou en variante, un code à usage unique peut en outre être collé sur le carton du colis avec un revêtement opaque à gratter comme on le verra plus loin (code « invisible », comme appelé plus loin). En outre, toutes ces données doivent être cohérentes avec les tronçons précédents de parcours du colis, et les informations précédemment remontées par les terminaux TERi-1, TERi-2, etc. Une telle vérification peut s’appuyer sur un mécanisme de contrôle de blockchain que peut mettre en œuvre en outre le serveur SER à l’étape S61. Le serveur SER peut mettre en outre une intelligence artificielle à l’étape S62, pour analyser séquentiellement les pluralités de données qui sont remontées des différents terminaux, et détecter ainsi des situations semblant normales, mais caractérisant en réalité des fraudes possibles. Par exemple, quand bien même il est prévu une tolérance de l’instant de la remise du colis vis-à-vis de l’horodate, un terminal TERi qui remonte un instant de saisie systématiquement différent de l’horodate, toujours dans le même sens d'écart entre l'instant de remontée et l’horodate, peut être jugé comme suspect et peut être interprété comme étant à disposition d'un fraudeur. Ainsi, la mise en œuvre d'une intelligence artificielle permet ici de détecter des situations insoupçonnées par un humain, en fonction de situations apprises lors d'une étape préalable d'apprentissage. En pas de détection d'au moins une anomalie à l'étape S5 par rapport à l’un au moins des critères ci-dessus (flèche KO en sortie du test S5), il est généré une alerte auprès du serveur à l'étape S11 et le lot suspecté est déclaré aux autorités, ainsi que la localisation et l'adresse IP du terminal du présumé fraudeur. Sinon (flèche OK en sortie du test S5), le serveur SER transmet à l'étape S7 les données d'un nouveau code « QRCi+1 » au terminal TERi, de sorte que ce dernier peut piloter l'impression d’une étiquette autocollante (ou « sticker ») comportant ce nouveau code QRCi+1, à l'étape S8. Ainsi, lors du reconditionnement du colis dans un nouveau carton, l'étiquette du nouveau code QRCi+1 peut être collée par exemple à la jonction entre deux pans du carton, à l'étape S9. Une telle réalisation permet de faire en sorte que si le colis est ouvert à nouveau, le sticker comportant le nouveau QR-code doit être nécessairement déchiré, ce qui compromettra une lecture future, à la fin d’un parcours suivant. Une telle réalisation permet ainsi d’éviter que des fraudeurs n’ouvrent le colis, vident son contenu pour le remplacer par des faux, et referment le colis avec le même QR-code. En effet, une fois l’étiquette appliquée avec le nouveau QR-code à l’étape S9, le colis peut repartir pour un nouveau tronçon de parcours, le nouveau code QRCi+1 étant unique pour ce colis et ce prochain tronçon de parcours. Un nouveau code QRCi+2 pourra être généré à la destination de ce nouveau tronçon, et ainsi de suite jusqu’à la destination finale du lot. On a illustré à titre d'exemple sur la différentes sous-étapes de l'étape S9. A l’étape S91, avant de l’introduire dans un carton, chaque boîte de médicaments peut être scannée via la technologie 2D datamatrix à partir de l’application mobile sur terminal. L’application mobile doit là encore géolocaliser le périmètre où s’effectue la mise en colis de chaque boite et vérifier la cohérence de cette donnée de géolocalisation avec l’adresse IP du terminal. En cas d’incohérence, les fonctionnalités de scanner du terminal peuvent être désactivées. Une telle réalisation permet de restreindre et sécuriser la préparation du colis au seul point déclaré du fabricant ou du distributeur (pour du reconditionnement) et donc de garantir le circuit de distribution en empêchant l’introduction de faux médicaments depuis le site utilisateur. Une fois toutes les boîtes de médicaments scannées et mise à l’intérieur du colis, le carton peut être fermé par exemple avec une bande adhésive standard. A l’étape S92, un sticker holographique de sécurité d’authentification peut être apposé en haut du carton à un endroit spécifique pour vérifier la non-ouverture du carton durant le transport. Ce sticker, infalsifiable, offre en matière de sécurité, l’avantage d’une identification visuelle immédiate de tout sticker enlevé et réapposé qui est alors définitivement altéré de façon irrémédiable (la déformation du sticker provoquant la non-apparition définitive de l’hologramme), ce qui permet de garantir l’inviolabilité du colis. A l’étape S93, l’étiquette autocollante comprenant le QR-code unique QRCi est apposée également sur le dessus du carton fermé (entre les deux pans). Ce QR-code combine aussi bien la liste des médicaments commandés que les données vérifiées avec une identification des médicaments contenus dans le carton (par exemple le nom du fabricant/distributeur (départ/arrivé), la date d’expédition, le lieu d’expédition, etc.). Dans une étape complémentaire S94, une étiquette avec un code unique à nouveau, « invisible » (car recouverte d’un revêtement à gratter pour faire apparaitre le code par exemple), et combinant éventuellement mais non nécessairement les informations QR code généré précédemment, peut encore être apposée sur le dessus du carton entre ses deux pans de fermeture. Ici typiquement, le code unique est lié au colis et à son parcours et cette étiquette doit être détruite pour ouvrir le carton en vue de le reconditionner. Le rejeu de ce code unique est donc impossible. Par exemple, cette étiquette peut être utilisée au titre d’une contrevérification d’un colis en cas de suspicion de fraude par une administration, pour donner suite à une alerte auprès du serveur SER. Ainsi, le procédé peut comporter, à chaque préparation d’un colis avant la transmission dans le circuit de distribution, les éléments ci-dessous : - l’obtention des coordonnées GPS (latitude et longitude) combinée avec l’adresse IP du terminal d’utilisateur, - la génération d’un sticker holographique de sécurité pour authentification (ou « security tape »), - la génération d’un QR code unique, - la génération d’un code unique « invisible » à gratter. Réciproquement, à la réception d’un colis, des quatre éléments précités sont mis en œuvre : - vérification des coordonnées GPS combinée avec celle de l’adresse IP, - vérification de l’aspect du sticker holographique de sécurité d’authentification (« security tape »), - génération d’un nouveau QR code unique, - génération d’un nouveau code unique de parcours, invisible sur une bande adhésive. Ainsi, l’étape S2 de la , de réception d’un colis peut se décomposer en trois étapes illustrées sur la , en vue de la bonne réception et l’authentification d’un colis. Par exemple, à l’étape S21, le sticker holographique de sécurité est inspecté par l’utilisateur afin de visualiser si l’hologramme est apparent ou non. Si tel n’est pas le cas, il peut prévenir l’entité gérant le serveur pour générer une alerte. De même, l’état général du colis est inspecté pour identifier les éventuelles tentatives d’ouverture du colis. A l’étape S22, le QR code figurant sur l’étiquette du carton est scanné. Comme présenté ci-avant en référence à l’étape S3 de la , un scan d’un QRC propre au colis lui-même peut être effectué alors que le colis n’est pas encore ouvert, afin de vérifier les données du colis auprès du serveur (étape S5) et pour faire apparaitre ainsi sur l’écran du terminal de l’utilisateur une liste des boites de médicaments qui sont censées se trouver à l’intérieur du carton. L’utilisateur, en ouvrant ultérieurement le carton, pourra vérifier que toutes les boites annoncées par le serveur et qui figurent sur la liste qui s’affiche sur l’écran de son terminal, sont bien dans le carton. A l’étape S23, le grattage de l’étiquette à code « invisible » permet d’obtenir un code unique du parcours. L’utilisateur peut le visualiser après avoir gratté la bande et le saisir manuellement dans son terminal connecté au serveur SER pour vérifier l’authenticité du colis. Une fois ces étapes réalisées, l’utilisateur peut ouvrir le colis et vérifier son contenu. Il peut lui être requis de scanner chaque boite de médicaments en envoyant au serveur SER les données de chaque scan, de sorte que le serveur SER peut mettre en œuvre une routine de vérification et pointage de chaque boite constituant le contenu du colis. La solution de « Smart contrat » opère selon un mécanisme de blockchain de type « Hyperledger Fabric 2.0 »© de suivi et de traçabilité. Ce protocole d’échange permet d'exécuter efficacement et en toute sécurité le suivi des colis de la chaîne de distribution des médicaments dans un réseau distribué privé et autorisé pour les différents acteurs utilisant la plateforme SaaS (du fabricant à la pharmacie, y compris pour les patients lors de la consultation avec une application mobile ou par une plateforme SMS qui retourne des informations). Ce traitement met en œuvre le stockage de toutes les activités issues du circuit de distribution auprès du serveur, vérifiées dans la blockchain selon la version 2.0 du Hyperledger Fabric. Il est ainsi possible de stocker et fournir une transparence et une traçabilité optimale vis-à-vis des différents acteurs (laboratoires, distributeurs, douanes, pharmacies, hôpitaux, cliniques et patients, etc.). L’outil d’intelligence artificielle met en œuvre une analyse prédictive et un apprentissage continu pour identifier les anomalies dans une circuit de distribution. Une surveillance sans interruption de bout en bout du circuit détecte également les anomalies les plus difficiles à repérer. Par exemple, des modèles d’algorithmes de type « machine learning » peuvent être prévus pour détecter notamment les anomalies suivantes dans une circuit de distribution: - la non distribution d’un colis dans un délai, - un colis reçu, mais endommagé ou ouvert, - un nouvel arrivage non contrôlé (par croisement des données liées aux médicaments vendus dans les pharmacies, cliniques, hôpitaux, etc.) - un modèle d’entrainement de détection de fraudes entre deux points comme introduit précédemment, - des alertes sur de faux positifs (déclenchement d’alertes intempestives sur une distribution de médicaments authentiques). La est une illustration schématique d’un modèle possible d’algorithme simplifié pour identifier les faux médicaments dans un circuit de distribution. La partie de gauche de la illustre en particulier l’enrichissement du traitement par l’intelligence artificielle et son apprentissage. Le modèle combine notamment l’usage du « smart token » (code à usage unique et son tracement) à l’usage du « smart contract » (cohérence des données globales concernant un lot). L’environnement pharmaceutique est l’un des plus réglementés au niveau international, et ce double traitement s’avère adapté à ses récentes évolutions. Enfin, l’intelligence artificielle vient vérifier en outre la cohérence de cette combinaison, de sorte qu’en combinant les trois concepts : - « smart token », - « smart contract » - et « intelligence artificielle », il est possible de parvenir à une architecture compacte et centralisée par exemple auprès du serveur SER, pour : - tracer - authentifier - sécuriser - surveiller le parcours des colis sur un territoire dans le but de lutter efficacement contre la pénétration frauduleuse de faux médicaments dans les circuits officiels de distribution des médicaments dans ce territoire. En outre, l’intelligence artificielle exploite les données d’entrée et de sortie dans un réseau de neurones pour réaliser un jeu de tests donnant une projection des anomalies dans un circuit de distribution susceptible d’évoluer. Par ailleurs, l’usage de l’intelligence artificielle permet d’ajuster les programmes informatiques de contrôle, par exemple en affectant plus de poids à un type de contrôle qu’à un autre. Ainsi, dans une application de la description ci-dessus, chaque laboratoire prépare un colis contenant des médicaments authentiques en utilisant l’application mobile sur un terminal relié au serveur SER. Les boites de médicaments sont alors enregistrées chacune dans une base de données du serveur SER. En effet, le serveur SER est agencé en outre pour répertorier chaque boite de médicaments du colis en utilisant la lecture initiale datamatrix 2D de chaque boite de médicaments, affectant un code unique de la boite, son numéro de série (code CIP), le numéro de lot et la date d’expiration du médicament et les autres informations (nom de marque société, nom de la substance) en provenance de la base ANSM et Européenne de médicament. Le colis prêt au départ d’usine est ensuite conditionné et sécurisé avec les moyens présentés ci-avant, puis transporté successivement jusqu’à son point de dispensation. Une fois la vérification du colis faite au point de dispensation comme illustré sur les figures 1 et 3 précédemment présentées, et ce à chaque étape du parcours, à l’ouverture du colis au point de dispensation, chaque boite du colis est encore scannée afin d’obtenir les informations propres à chaque boite. Ces informations sont remontées au serveur SER. L’utilisateur final (l’hôpital, le pharmacien, le patient, etc.) peut vérifier l’authenticité du médicament et son degré de confiance en scannant le 2D datamatrix. Les informations scannées sont remontées au serveur SER pour vérification. Une situation normale se présente sous la forme d’un « feu vert » par exemple sur le terminal de l’utilisateur : cela signifie que la boite de médicaments est bien enregistrée initialement par un laboratoire auprès du serveur SER et que ses conditions de livraison ne présentent aucune anomalie. Une situation ambigüe se présente sous la forme d’un « feu orange » sur le terminal de l’utilisateur : cela signifie que le produit est inconnu du serveur mais que les conditions de sa livraison semblent normales. Le niveau d’authenticité et de confiance du médicament est donc inconnu. Le terminal de l’utilisateur affiche une recommandation de se rapprocher d’une pharmacie proche pour avoir plus d’informations. Une situation d’alerte se présente sous la forme d’un « feu rouge » : cela signifie qu’une alerte est en cours sur le produit connu du serveur SER comme étant frauduleux. L’écran du terminal peut afficher alors les détails suivants : - produit périmé, - rappel de lot, - problème de sécurité pour le patient, - retrait de produit nécessaire. Ainsi, la présente description propose l'attribution d'un code à usage unique pour un parcours d’un lot de médicaments sur un tronçon de trajet entre deux points A et B, sans reconditionnement de ce lot sur ce tronçon de trajet. Dans une forme de réalisation particulière, il peut être prévu en outre que la forme que prend ce code à usage unique est un code à barres (par exemple un QRC ou autre), les informations de ce code à barres étant acquises par lecture optique (par la caméra d’un smartphone par exemple) pour vérifier la validité du code, auprès d'un serveur au sens de la présente description. Par exemple, la vérification du code à usage unique peut consister ici à prévoir que les données du code à barres comportent une information d’horodate donnant une date limite de validité du code. Typiquement, si cette date est passée, alors le code à barres présenté n'est pas validé par le serveur et le lot est suspect. La date limite de validité peut prendre en compte une durée nécessaire pour le parcours du point A au point B, et correspondre ainsi à une date attendue d'arrivée au point B (à quelques dizaines de minutes près). Dans une réalisation particulière, il est prévu de récupérer, de l'appareil qui effectue la lecture optique du code à barres, une donnée de géolocalisation de cette lecture optique. Typiquement, dans le cas d'un smartphone, l'application qui doit être installée sur ce smartphone peut coopérer avec les moyens usuels de localisation du smartphone pour récupérer cette donnée de localisation et l'envoyer avec les données du code à barres au serveur de vérification. Dans ce cas, le serveur peut déterminer si la donnée de géolocalisation de la lecture optique correspond bien au point B auquel est attendue la livraison du lot de médicaments. Cette réalisation permet alors de déterminer avec certitude que le lot de médicaments n'est pas détourné vers une destination autre que le point B. Le code à barres peut être imprimé sur une étiquette collante à disposer à la jonction de deux pans de carton constituant l’emballage dans lequel est placé le lot de médicaments. Ainsi, un fraudeur doit déchirer l'étiquette à la jonction des deux pans de sorte que le code ne puisse plus être lu par la lecture optique. Par exemple, les cartons peuvent être préimprimés avec une indication de la position dans laquelle l'étiquette doit être collée (indication d’une case dans laquelle l’étiquette doit être collée par exemple). Par exemple, la couche sur laquelle est imprimée le code à barres peut être fragile et se déchirer latéralement, tandis que la couche sous-jacente est plus difficile à déchirer. Ainsi, même en utilisant un cutter, le code à barres peut être très endommagé. En complément ou en variante d’une utilisation d’un code à usage unique sous la forme d’un code à barres, un code à usage unique (par exemple une suite de caractères et/ou de chiffres) peut être imprimé sur une étiquette à coller sur le carton, cette étiquette étant revêtue d’une couche d’un matériau opaque à gratter. Ainsi, seule la personne recevant le colis peut gratter cette couche et saisir sur son terminal le code qui apparait pour le transmettre au serveur de vérification. Le serveur peut alors vérifier que ce code est valable (non utilisé précédemment et prévu spécifiquement pour ce parcours), et envoyer un message de validation (ou non) de ce code à l’utilisateur du terminal. En complément, une étiquette sur laquelle est imprimée un hologramme peut être disposée également à la jonction des deux pans du carton. Ainsi, si une ouverture du carton a été tentée, l’hologramme n’est plus visible de la même manière et le récepteur d’un colis peut constater cette différence et signaler une alerte auprès du serveur. Dans un mode de réalisation, il peut être prévu d’utiliser une intelligence artificielle au niveau du serveur pour lui apprendre les situations normales de livraisons réussies de colis, sans fraude, et les situations de livraison ayant occasionné une alerte. Une telle mesure permet ensuite d’utiliser l’intelligence artificielle pour détecter des situations anormales (alertant d’une fraude éventuelle) dans les données remontées par les moyens de lecture optique. Une telle intelligence artificielle peut par exemple alerter quand elle détecte qu’en un point B, des erreurs sur l’horodate envoyée sont souvent constatées, ou encore que les données lues du code à barres comportent souvent des erreurs (par exemple dues à un léger déchirement de l’étiquette qui porte ce code), ce qui peut signifier qu’un réseau de trafic local opère au point B, même si aucune alerte n’y est générée. Il peut être prévu aussi un mécanisme de blockchain pour s’assurer de l’inviolabilité des données remontées par les moyens successifs de lecture optique sur un trajet constitué de plusieurs tronçons d’un point A au point B, puis du point B à un point C, etc., la blockchain et sa cohérence étant vérifiées par le serveur précité. Ainsi, la présente description propose un outil intégré à la fois de traçabilité et d’authentification, permettant l’identification formelle d’un lot, de collecter et enregistrer les données de son parcours, et de les restituer à la demande. On a illustré sur la un système pour la mise en œuvre du procédé ci-avant et comportant typiquement le serveur de vérification SER et au moins un terminal TER (ou plusieurs terminaux, en pratique, en chaque fin de tronçon de parcours d’un colis, ce qui est illustré par des points de suspension à gauche de la ). Le terminal TER peut se présenter sous la forme d’un smartphone, d’une tablette, ou autre, et peut comporter typiquement un moyen de lecture optique LO (par exemple un appareil photo d'un smartphone) coopérant avec un processeur PROC1 pour lire les données d'étiquettes reçues dans les colis. Le processeur PROC1 peut coopérer lui-même avec : - une mémoire MEM1 stockant notamment des données d'instructions d'un programme informatique d'une application du type défini ci-avant, - une interface d'impression PR, pour piloter une imprimante capable d'imprimer des étiquettes comportant un code à usage unique, et - une interface de communication COM1 reliée au serveur SER par un réseau de communication RES. Alternativement à une réalisation sous la forme d’un smartphone, le terminal TER peut comporter un ordinateur connecté, et un scanneur de code à barres (par exemple un scanner infrarouge ou « douche ») relié à l’ordinateur. Le serveur SER peut comporter lui-même un processeur PROC2 coopérant avec une interface de communication COM2 reliée au réseau RS, ainsi qu'avec une mémoire MEM2 stockant un programme informatique du type présenté ci-avant, notamment pour la vérification des codes à usage unique reçus des terminaux et pour la génération de nouveaux codes à usage unique pour de futurs tronçons de parcours. 1. Procédé mis en œuvre par des moyens informatiques, de vérification d’une livraison d’un colis de boites de médicaments, le colis étant acheminé vers un point de dispensation selon un parcours comportant des tronçons successifs, le colis étant reconditionné après chaque tronçon parcouru, Caractérisé en ce que le reconditionnement comporte au moins : - une vérification d’une première étiquette apposée sur le colis et comportant un premier code à usage unique, affecté pour le colis et pour le tronçon parcouru, et - une fourniture d’une deuxième étiquette à apposer sur le colis et comportant un deuxième code à usage unique, différent du premier code, et affecté pour le colis et pour le tronçon futur à parcourir, Et en ce que le procédé comporte au moins : - stocker auprès d’un serveur le premier code, - sur réception de données du premier code issues d’un terminal, vérifier auprès du serveur que le premier code a préalablement été stocké et n’a pas été reçu précédemment, * si la vérification est positive, générer, enregistrer auprès du serveur et envoyer audit terminal des données du deuxième code, en vue d’une utilisation du deuxième code pour un reconditionnement du colis, * si la vérification est négative, générer une alerte. 2. Procédé selon la revendication 1, dans lequel le terminal exécute une application pour : - transmettre des données du premier code au serveur, et - sur réception des données du deuxième code, éditer un ordre d’impression de la deuxième étiquette comportant le deuxième code et à apposer sur le colis pour son reconditionnement. 3. Procédé selon l'une des revendications précédentes, dans lequel les première et deuxième étiquettes comportent un revêtement opaque à gratter pour découvrir respectivement les premier et deuxième codes, et dans lequel le terminal exécute une application pour : - animer une interface homme-machine du terminal permettant à un utilisateur de saisir le premier code après grattage de la première étiquette, et - transmettre au serveur des données issues de la saisie du premier code par l’utilisateur. 4. Procédé selon l'une des revendications précédentes, dans lequel les première et deuxième étiquettes comportent respectivement des premier et deuxième codes à barres, et dans lequel le terminal exécute une application pour : - effectuer une lecture optique par le terminal du premier code à barres, et - transmettre au serveur des données issues de la lecture optique du premier code à barres. 5. Procédé selon la revendication 4, dans lequel les premier et deuxième codes à barres comportent au moins des données de lieux respectifs, présumés, de livraisons du colis pour un reconditionnement, dans lequel l’exécution de l’application auprès du terminal provoque : - une récupération d’une donnée de localisation courante du terminal, et - une transmission au serveur de ladite donnée de localisation courante, avec les données issues de la lecture optique du premier code à barres, et dans lequel le serveur vérifie une cohérence entre : - la donnée de localisation courante du terminal, et - la donnée du lieu présumé de livraison du colis, issue de la lecture optique du premier code à barres. 6. Procédé selon l'une des revendications 4 et 5, dans lequel les premier et deuxième codes à barres comportent au moins des données respectives d’horodates attendues de livraisons du colis pour un reconditionnement, et dans lequel le serveur, sur réception des données du premier code à barres, vérifie une cohérence entre : - une horodate courante, et - une horodate issue de la lecture optique du premier code à barres. 7. Procédé selon l'une des revendications précédentes, dans lequel le colis comporte une pluralité de boites de médicaments, comportant chacune un code à barres propre à chaque boite, dans lequel le terminal exécute une application pour : - effectuer une lecture optique par le terminal de chaque code à barres de chaque boite, et - transmettre au serveur des données issues de la lecture optique de chaque code à barres de chaque boite, et dans lequel le serveur stocke des données propres à chaque boite de médicaments et vérifie une validité desdites données reçues et issues de la lecture optique de chaque code à barres de chaque boite. 8. Procédé selon l'une des revendications précédentes, dans lequel, le colis étant conditionné dans un emballage à carton comprenant au moins deux pans adjacents, les première et deuxième étiquettes sont autocollantes, et configurées pour être apposées sur les deux pans du carton. 9. Procédé selon la revendication 8, dans lequel un sticker à hologramme est en outre prévu pour être apposé sur les deux pans du carton. 10. Procédé selon l'une des revendications précédentes, dans lequel les premier et deuxième codes à usage unique sont fonctions de données respectives d’une blockchain vérifiée par le serveur. 11. Procédé selon l'une des revendications précédentes, mettant en œuvre une intelligence artificielle programmée pour apprendre, dans une phase d’apprentissage, des situations relatives à des générations d’alerte, et pour détecter, dans une phase d’utilisation courante, des situations à anomalies. 12. Système comportant : - un serveur configuré pour mettre en œuvre les étapes du procédé selon l’une des revendications précédentes, lorsque lesdites étapes impliquent un serveur, et - au moins un terminal configuré pour mettre en œuvre les étapes du procédé selon l’une des revendications précédentes, lorsque lesdites étapes impliquent un terminal. 13. Serveur d’un système selon la revendication 12. 14. Terminal d’un système selon la revendication 12. 15. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 11, lorsqu’elles sont exécutées par un processeur.