FR 3097670 A1 20201225 FR 1906759 A 20190621 Description Titre de l'invention : Système de gestion d'opérations de pré- lèvement de fluides humains pour laboratoire de biologie médicale [0001] L'invention concerne le domaine des tests sanguins, et en particulier le domaine des laboratoires de prélèvements et de tests sanguins et/ou d'autres fluides et/ou tests à visée médicale. [0002] Les laboratoires ont connu un essor particulièrement important dans les trois dernières décennies. Les prélèvements sanguins sont devenus un outil de base de la médecine moderne, ce qui a guidé un développement en plusieurs phases de cette industrie. [0003] Dans un premier temps, les laboratoires se sont développés localement pour devenir des entreprises particulièrement florissantes. Ensuite, sous la pression des pouvoirs publics et comme dans tout marché atteignant une certaine maturité, de nombreux rapprochements ont été réalisés afin de créer des groupements de laboratoires de plus en plus grands, cela permettant de mutualiser certains tests complexes et donc difficiles à rentabiliser à l'échelle de laboratoires isolés. [0004] Cette deuxième phase de développement est encore en cours, et il n'est plus rare de rencontrer des groupes regroupant plusieurs dizaines de laboratoires, avec des capacités de prélèvements journalières de plusieurs dizaines de milliers de patients. [0005] Ces regroupements posent de formidables défis organisationnels, chaque laboratoire ayant traditionnellement ses outils et méthodes, en particulier informatiques. De cc fait, les regroupements sont classiquement axés autour de la mutualisation des services, coûts et structures communes, les laboratoires au sein d'un même groupe restant en général « aveugles » en cc qui concerne l'activité des autres laboratoires, en particulier du point de vue informatique. [0006] La Demanderesse a apporté une solution radicalement nouvelle dans le domaine, dont une partie a fait l'objet de la demande de brevet français FR1755364, et qui porte sur la mutualisation des capacités de prélèvements journalières afin de changer l'approche du recrutement des patients pour les études cliniques. [0007] Cette solution repose sur une mutualisation de l'outil informatique de gestion des la- boratoires, dont le traitement est centralisé dans un centre informatique. Ce type de paradigme client/serveur sur un réseau privé était relativement courant à l'échelle locale il y a quelques décennies, mais était bien évidemment inadapté à des échelles de plusieurs centaines de kilomètres, et en particulier pour traiter des données hautement confidentielles comme des données de santé. [0008] Les progrès des télécommunications et informatiques ont remis à la mode ces ap- 2 plications client/serveur. Néanmoins, à l'échelle d'un groupe ayant une capacité de prélèvement de plusieurs dizaines de milliers de patients par jour, ce type de paradigme pose de nombreux problèmes de disponibilité, de latence et d'accessibilité. [0009] L'invention vient améliorer la situation. [0010] A cet effet, l'invention propose un système de gestion d'opérations de prélèvement de fluides humains pour laboratoire de biologie médicale, caractérisé en ce qu'il comprend une pluralité d'unités mobiles d'instructions médicales pour une pluralité d'opérateurs de prélèvement présents sur une pluralité de lieux de prélèvement, les instructions médicales de chaque patient étant regroupées en une opération, une application de gestion d'opérations dans chaque lieu de prélèvement, et un serveur agencé pour déterminer un ordonnancement d'opérations pour la pluralité d'unités mobiles d'instructions médicales et pour regrouper ensemble les opérations de chaque lieu de prélèvement dans un jeu de données respectif Chaque unité mobile d'instructions médicales est agencée pour communiquer avec le serveur pour indiquer un état de complétion d'une opération, pour recevoir le jeu de données du lieu de prélèvement dans lequel elle est située, et pour accéder individuellement au serveur de manière périodique pour déterminer si ce jeu de données a été modifié par rapport au jeu de données qu'elle reçoit, et, lorsque c'est le cas, pour commander une opération de synchronisation entre le jeu de données qu'elle reçoit et le jeu de données situé sur le serveur. L'application de gestion d'opérations de prélèvement est agencée pour modifier un jeu de données d'opérations de prélèvement pour ajouter une ou plusieurs opérations de prélèvement à réaliser, et pour synchroniser le jeu de données du lieu de l'application de gestion d'opérations de prélèvement présent sur le serveur sur la base de ces modifications. [0011] Ce système informatique est particulièrement avantageux car il permet d'optimiser les évènements de mise à jour pour chaque laboratoire, ce qui diminue la charge du serveur et optimise la consommation de bande-passante. [0012] Dans diverses variantes, le système selon l'invention pourra comprendre une ou plusieurs des caractéristiques suivantes : [0013] - chaque unité mobile d'instructions médicales est agencée pour envoyer de manière périodique une requête http contenant un marqueur de temps du jeu de données qu'elle contient, et est agencée pour surveiller en retour l'émission d'un code http 200 vers par le serveur, et, pour commander une opération de synchronisation entre le jeu de données qu'elle reçoit et le jeu de données situé sur le serveur en réponse à la détection dudit code http 200; [0014] - l'application de gestion d'opérations de prélèvement est agencée pour accéder indi- viduellement au serveur de manière périodique pour déterminer si ce jeu de données a été modifié par rapport au jeu de données qu'elle reçoit, et, lorsque c'est le cas, pour 3 commander une opération de synchronisation entre le jeu de données qu'elle reçoit et le jeu de données situé sur le serveur ; [0015] - l'application de gestion d'opérations de prélèvement est agencée pour envoyer de manière périodique une requête http contenant un marqueur de temps du jeu de données qu'elle contient, et est agencée pour surveiller en retour l'émission d'un code http 200 vers par le serveur, et, pour commander une opération de synchronisation entre le jeu de données qu'elle reçoit et le jeu de données situé sur le serveur en réponse à la détection dudit code http 200 ; et [0016] - le serveur est agencé pour déclencher une synchronisation entre le jeu de données d'un lieu de prélèvement et le jeu de données de l'application de gestion d'opérations de prélèvement de ce lieu de prélèvement lorsqu'un changement est détecté. [0017] L'invention concerne également un laboratoire de biologie médicale équipé d'un système selon l'invention. [0018] D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui suit, tirée d'exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels : [0019] - [fig.1] représente un diagramme schématique du système selon l'invention, [0020] - [fig.2] représente un exemple d'une fonction mise en oeuvre par un élément de la figure Let [0021] - [fig.3] représente un exemple d'une fonction mise en oeuvre par un autre élément de la figure 1. [0022] Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant. [0023] La figure 1 représente un diagramme schématique du système de l'invention. Ce système comprend une pluralité de lieux de prélèvement dont deux sont désignés par les références numérique 10 et 12. [0024] Chaque lieu de prélèvement comprend une pluralité d'unités mobiles d'instructions médicales 14 reliées à une application de gestion d'opérations 16. Dans l'exemple décrit ici, les unités mobiles d'instructions médicales 14 communiquent avec l'application de gestion d'opérations 16 par un ou plusieurs réseaux sans-fil du lieu de prélèvement dans lequel elles sont situées. Par réseau sans fil, on entend tout réseau mis en oeuvre par des moyens de communication sans fil connus : WiFi, LiFi, Bluetooth, radio, optique, ultrasons, etc. En variante, le réseau peut être filaire. Ce réseau peut être qualifié de « local », par opposition au réseau qualifié de « global » pour le serveur 18 ci-dessous, car il met en communication des dispositifs tous présents localement sur un lieu de prélèvement donné. [0025] Dans l'exemple décrit ici, le système comprend également un serveur 18 qui est agencé pour communiquer avec chaque lieu de prélèvement afin de déterminer un ordonnancement d'opérations pour la pluralité d'unités mobiles d'instructions médicales 14. Dans l'exemple décrit ici, les dispositifs sur un lieu de prélèvement donné peuvent communiquer avec le serveur 18 par un ou plusieurs réseaux privés à grande échelle. En effet, afin de préserver la sécurité, il est souhaitable que les données ne soient pas partagées par Internet. Néanmoins, dans le cas où une sécurité suffisante pourrait être assurée, cela serait envisageable. Comme expliqué plus haut, ce réseau peut être qualifié de « global » car il relie le serveur 18 à des dispositifs sur des réseaux locaux distincts entre eux. [0026] Le système selon l'invention est prévu pour gérer un grand nombre de lieux de pré- lèvement, et jusqu'à plus de 1000 unités mobiles d'instructions médicales 14 simultanément. En effet, la centralisation du système offre de nombreux avantages, et en particulier une compatibilité avec le système décrit dans la demande de brevet FR1755364 déposée par la Demanderesse. [0027] Afin d'assurer le meilleur fonctionnement possible, la Demanderesse a organisé la circulation d'informations suivante : [0028] - les opérations de prélèvement de chaque lieu de prélèvement dans un jeu de données 20, c'est-à-dire qu'il y a autant de jeux de données 20 pour chaque lieu de prélèvement, [0029] - chaque unité mobile d'instructions médicales 14 et chaque application de gestion d'opérations 16 reçoit une version locale du jeu de données 20 du lieu de prélèvement dans lequel elle est située, [0030] - chaque unité mobile d'instructions médicales 14 reçoit le jeu de données 20 de son lieu de prélèvement du serveur 18, et émet vers l'application de gestion d'opérations 16 les données de complétion d'opération de prélèvement, [0031] - l'application de gestion d'opérations 16 reçoit les opérations de prélèvement de nouveaux patients entrant dans le lieu de prélèvement et les données de complétion d'opération de prélèvement, et les transmet immédiatement au serveur 18, [0032] - le serveur 18 met à jour le jeu de données 20 de chaque lieu à réception de données d'une application de gestion de données 16. [0033] Cette organisation des données est optimale car elle permet à chaque élément d'avoir un rôle fonctionnel optimisé : [0034] - l'application de gestion d'opérations 16 gère le flux d'entrée et de sortie de patients au niveau de chaque lieu, et permet d'avoir une vue globale des unités mobiles d'instructions médicales 14 de chaque lieu, [0035] - les unités mobiles d'instructions médicales 14 permettent un suivi poussé et efficace des opérations de prélèvement à réaliser pour chaque patient, et [0036] - le serveur 18 permet d'optimiser la répartition des patients entre les opérateurs de chaque lieu à partir du jeu de données 20 de chaque lieu. [0037] Dans l'exemple décrit ici, les unités mobiles d'instructions médicales 14 sont des tablettes qui permettent aux opérateurs de prélèvement de connaître le prochain patient à prélever, et, pour un patient en cours de prélèvement, de connaître les opérations de prélèvement à effectuer pour ce patient, leur ordre, les ressources nécessaires, etc. Une fois une opération de prélèvement réalisée, l'opérateur de prélèvement interagit avec la tablette afin d'indiquer que cette opération de prélèvement a été réalisée. En réponse, la tablette peut interagir avec l'application de gestion d'opérations 16 pour indiquer la complétion de cette opération de prélèvement, et l'application de gestion d'opérations 16 met à jour le jeu de données 20 local, puis synchronise celui-ci avec le serveur 18. Les unités mobiles d'instructions médicales 14 pourraient également être mises en oeuvre sur des téléphones portables ou des ordinateurs portables, ou tout appareil mobile capable de communication réseau et pouvant être interface avec l'application de gestion d'opérations 16 d'une part, et le serveur 18 d'autre part. [0038] Dans l'exemple décrit ici, l'application de gestion d'opérations 16 peut être tout logiciel mis en oeuvre par ordinateur interface avec le serveur 18 sur le réseau global qui les relie. De même le serveur 18 peut être tout serveur adapté à mettre en oeuvre l'organisation décrite ci-dessus. Par ordinateur et serveur, on entend toute ressource de calcul, qu'elle soit sous la forme d'un ordinateur classique, de cartes électroniques spécialisées ou de ressources de calculs distribuées qui sont adaptées pour réaliser les calculs et les communications liées aux opérations déciites plus haut [0039] La figure 2 représente un exemple d'une fonction de mise à jour du jeu de données 20 pour l'application de gestion d'opérations 16. [0040] Cette mise à jour est réalisée par une boucle d'attente d'interruption. Ainsi, dans une opération 200, une fonction Event() attend l'apparition d'un évènement. Cet évènement peut être l'ajout d'une ou plusieurs opérations de prélèvement à réaliser suite à la réception d'un patient, ou la réception d'informations de mise à jour du jeu de données 20 par le serveur 18. [0041] Lorsqu'un tel évènement est détecté, alors le jeu de données 20 local est synchronisé avec le jeu de données 20 sur le serveur 18 au moyen d'une fonction Sync() dans une opération 210, et la boucle reprend avec l'opération 200. [0042] Dans cette fonction, le serveur 18 peut « pousser » systématiquement l'information de mise à jour du jeu de données 20 vers l'application de gestion d'opérations 16 car celles-ci sont en nombre restreint, par opposition aux unités mobiles d'instructions médicales 14. [0043] La figure 3 représente un exemple d'une fonction de mise à jour du jeu de données 20 pour une unité mobile d'instructions médicales 14. [0044] Cette mise à jour est réalisée par une boucle d'attente de synchronisation. Ainsi, dans 6 une opération 300, une fonction Paus() attend l'expiration d'un délai choisi. [0045] A l'expiration de ce délai, une fonction Upd() est lancée dans une opération 310 afin de déterminer si le jeu de données 20 a été mis à jour côté serveur 18. Afin d'optimiser les coûts sur le réseau global, la fonction Upd() envoie une requête http contenant un marqueur de temps de son jeu de données 20. Si le jeu de données 20 du serveur 18 est plus récent que le marqueur de temps, alors le serveur 18 émet un code http 200 vers l'unité mobile d'instructions médicales 14 et la fonction de synchronisation Sync() entre le jeu de données 20 du serveur 18 et celui de l'unité mobile d'instructions médicales 14 est lancée dans une opération 320, puis la boucle reprend avec l'opération 300. Sinon, le serveur 18 retourne un code http 304vcrs l'unité mobile d'instructions médicales 14 et la boucle reprend avec l'opération 300. [0046] Lorsqu'un tel évènement est détecté, alors le jeu de données 20 local est synchronisé avec le jeu de données 20 sur le serveur 18 au moyen d'une fonction Syncl() dans une opération 210, et la boucle reprend avec l'opération 200. [0047] -Ici, la mise à jour conditionnée du jeu de données 20 permet de contrôler les coûts sur le réseau global liés à la mise à jour des nombreuses unités mobiles d'instructions médicales 14. 7 [Revendication 1] [Revendication 2] REVENDICATIONSSystème de gestion d'opérations de prélèvement de fluides humains pour laboratoire de biologie médicale, caractérisé en ce qu'il comprend une pluralité d'unités mobiles d'instructions médicales (14) pour une pluralité d'opérateurs de prélèvement présents sur une pluralité de lieux de prélèvement (10), les instructions médicales de chaque patient étant regroupées en une opération, une application de gestion d'opérations (16) dans chaque lieu de prélèvement (10), et un serveur (18) agencé pour déterminer un ordonnancement d'opérations pour la pluralité d'unités mobiles d'instructions médicales et pour regrouper ensemble les opérations de chaque lieu de prélèvement dans un jeu de données respectif, dans lequel chaque unité mobile d'instructions médicales (14) est agencée pour communiquer avec le serveur (18) pour indiquer un état de complétion d'une opération, pour recevoir le jeu de données (20) du lieu de prélèvement (10) dans lequel elle est située, et pour accéder individuellement au serveur (18) de manière périodique pour déterminer si ce jeu de données a été modifié par rapport au jeu de données (20) qu'elle reçoit, et, lorsque c'est le cas, pour commander une opération de synchronisation entre le jeu de données (20) qu'elle reçoit et le jeu de données (20) situé sur le serveur (18), dans lequel l'application de gestion d'opérations de prélèvement (16) est agencée pour modifier un jeu de données (20) d'opérations de prélèvement pour ajouter une ou plusieurs opérations de prélèvement à réaliser, et pour synchroniser le jeu de données (20) du lieu (10) de l'application de gestion d'opérations de prélèvement (16) présent sur le serveur (18) sur la base de ces modifications. Système selon la revendication 1, dans lequel chaque unité mobile d'instructions médicales (14) est agencée pour envoyer de manière périodique une requête http contenant un marqueur de temps du jeu de données (20) qu'elle contient, et est agencée pour surveiller en retour l'émission d'un code http 200 vers par le serveur (18), et, pour commander une opération de synchronisation entre le jeu de données (20) qu'elle reçoit et le jeu de données (20) situé sur le serveur (18) en 8 [Revendication 3] [Revendication 4] [Revendication 5] [Revendication 6] réponse à la détection dudit code http 200. Système selon la revendication 1 ou 2, dans lequel l'application de gestion d'opérations de prélèvement (16) est agencée pour accéder individuellement au serveur (18) de manière périodique pour déterminer si ce jeu de données a été modifié par rapport au jeu de données (20) qu'elle reçoit, et, lorsque c'est le cas, pour commander une opération de synchronisation entre le jeu de données (20) qu'elle reçoit et le jeu de données (20) situé sur le serveur (18). Système selon la revendication 3, dans lequel l'application de gestion d'opérations de prélèvement (16) est agencée pour envoyer de manière périodique une requête http contenant un marqueur de temps du jeu de données (20) qu'elle contient, et est agencée pour surveiller en retour l'émission d'un code http 200 vers par le serveur (18), et, pour commander une opération de synchronisation entre le jeu de données (20) qu'elle reçoit et le jeu de données (20) situé sur le serveur (18) en réponse à la détection dudit code http 200. Système selon la revendication 1 ou 2, dans lequel le serveur (18) est agencé pour déclencher une synchronisation entre le jeu de données (20) d'un lieu de prélèvement (10) et le jeu de données (20) de l'application de gestion d'opérations de prélèvement (16) de ce lieu de prélèvement lorsqu'un changement est détecté. Laboratoire de biologie médicale équipé d'un système selon l'une des revendications 1 à 5.