Sentinel = Transfert et migration de données

Importation personnalisée de données multi-fournisseurs avec tableau de bord de suivi

Hero Image
Client

Servier est un groupe pharmaceutique français ayant réalisé un chiffre d’affaires de 5,9 milliards d’euros sur l’exercice 2023–2024. Présent dans 150 pays, le groupe emploie plus de 22 000 collaborateurs à travers le monde. Plus de 20 % des revenus issus des médicaments Princeps sont réinvestis dans la recherche. Nous collaborons avec la filiale roumaine du groupe.

Servier Roumanie se distingue par une équipe dynamique de près de 300 collaborateurs et occupe une position de leader sur le marché national de la cardiologie. L’entreprise est numéro un sur le marché d’entrée (Entry Market) et se classe quatrième en valeur et en volume sur le marché pharmaceutique roumain.

Case Image
Le besoin

L’objectif était de consolider les données de vente issues de différentes sources et de les intégrer dans un datawarehouse.

Dans le secteur pharmaceutique, le processus de vente implique plusieurs acteurs : le fournisseur produit les médicaments, qui sont ensuite recommandés par les médecins et achetés dans les pharmacies. La promotion de ces médicaments se fait principalement auprès du corps médical.

Les données de vente proviennent de trois niveaux :

  • Données primaires issues de l’ERP du groupe
  • Données secondaires, regroupant les transactions entre les distributeurs et les pharmacies
  • Données tertiaires, concernant les ventes finales réalisées en pharmacie à partir des prescriptions médicales

Ce dernier niveau inclut également des données de marché provenant des concurrents, offrant ainsi une vue d’ensemble stratégique du secteur.

Les constraints

Les données proviennent de fournisseurs différents : CEGEDIM, IQVIA et Servier Chaque source utilise une codification propre pour désigner les mêmes produits et conditionnements La contrainte principale était de synchroniser l’ensemble des données autour d’un nomenclateur unifié des produits et packs, et ce à chaque import Une contrainte secondaire réside dans le caractère évolutif de ces données : ajout de propriétés, nouveaux conditionnements, retrait des anciens, etc.

Contraintes techniques

Les données sont ingestées depuis trois sources hétérogènes, chacune ayant un format spécifique et une fréquence mensuelle, mais avec des dates de disponibilité différentes.

Le système doit permettre aux utilisateurs autorisés d’exécuter manuellement certaines étapes du processus d’importation, en complément de l’exécution automatique. Cette fonctionnalité est nécessaire pour gérer des cas particuliers, déclencher des imports anticipés ou relancer des étapes en cas d'incident.

Une infrastructure robuste de gestion des erreurs et de journalisation doit être mise en place :

  • Chaque étape du pipeline d’importation doit générer des logs détaillés, horodatés et contextualisé.
  • Les anomalies (erreurs de format, incohérences métier, délais non respectés, interruptions) doivent être détectées, classifiées, et mises à disposition via une interface de diagnostic.
  • Le système doit également offrir la possibilité d’intervenir manuellement sur les tables de traduction des nomenclatures produits, ainsi que de visualiser les résultats intermédiaires et finaux des différentes étapes du processus d’importation.
Lucian Constantin Information Technology Business Partner - Servier Romania

Lucian Constantin

Information Technology Business Partner - Servier Romania

“Nous avons exploré plusieurs approches pour résoudre ce défi, mais à chaque fois, nous étions confrontés à des problèmes liés aux nomenclatures produits, différentes d’une source à l’autre, et aux évolutions constantes de ces structures dans le temps. Avant de pouvoir avancer sur le reste du projet, il a été crucial de stabiliser et harmoniser cet aspect.”

Case Image
La Solution

Sentinel

Nous avons mis en place un système d’importation personnalisée qui s’appuie sur les flux d’origine pour alimenter une base STAGE dans laquelle les données sont normalisées et consolidées.

Un puissant moteur de traduction et de journalisation (log) a été développé pour garantir la cohérence des données.

Une interface utilisateur, développée avec Blazor, permet aux équipes Servier de :

  • Visualiser à tout moment l’état des imports
  • Être alertées des éventuels problèmes survenus
  • Déclencher manuellement certaines étapes du processus
  • Gérer l’ensemble des correspondances produits
  • Disposer d'une vue synthétique et précise de l’état global des imports grâce à un tableau de bord intégré

Une fois consolidées dans la base STAGE, les données sont transmises au datawarehouse, sur lequel reposent les rapports de suivi d’entreprise.

Elles sont également utilisées par d’autres applications internes.

Lucian Constantin Information Technology Business Partner - Servier Romania

Lucian Constantin

Information Technology Business Partner - Servier Romania

"Grâce à ce projet, nous avons réussi à normaliser les données provenant de nos fournisseurs, ce qui nous a permis d’obtenir une uniformité et une cohérence dans les rapports de vente. Par ailleurs, l’interface de type tableau de bord a offert aux utilisateurs un meilleur contrôle sur les processus d’importation, réduisant ainsi la pression exercée sur le département IT."

Andrei Tesio - Responsable Développement - Amedeo

Andrei Tesio

Responsable Développement - Amedeo

"Bien que l’uniformisation des données provenant de plusieurs fournisseurs puisse sembler simple, l’utilisation d’un nomenclateur unique de produits a constitué le véritable défi de ce projet. L’interface, développée en Blazor Server App avec les composants Radzen, nous a permis de concevoir un outil robuste, intuitif et de haute qualité, parfaitement adapté aux exigences métier."

Technologies

Microsoft SQL SERVER, Blazor Server App, Radzen Components, Azure, .Net Core, C#

3d animation frame

Avez-vous des questions?

Nous avons la solution pour vous !