← Retour aux offres

Stage M2: Conception d’une base de données et d’une architecture logicielle pour l’exploitation des Event Logs des accélérateurs Halcyon (Varian)

Postée le 12 nov.

Lieu : Institut Daniel Hollard · Contrat : Stage · Rémunération : Gratification minimale €

Société : Groupe Hospitalier Mutualiste

Le Groupe Hospitalier Mutualiste de Grenoble est un Établissement de Santé Privé d’Intérêt Collectif (ESPIC) à but non lucratif, participant au service public hospitalier depuis plus de 60 ans. Deuxième acteur de santé en Isère, il offre environ 436 lits et places, répartis dans les 6 instituts qui composent le groupement hospitalier : chirurgie, médecine, cardiovasculaire, soins non programmés, urgences, femme et nouveau-né.

Description du poste

Contexte et description générale:
Les accélérateurs Varian Halcyon sont des machines de radiothérapie de dernière génération intégrant un système
complet de contrôle et d’auto-supervision.
Chaque session de traitement ou de vérification produit des Event Logs, c’est-à-dire des journaux internes répertoriant
tous les événements techniques : déclenchements, interlocks, erreurs, corrections automatiques, ou interruptions de
faisceau.
Malgré leur richesse, ces données restent inaccessibles aux utilisateurs cliniques, car verrouillées par le constructeur.
Le Data Act européen (UE 2023/2854) rendra prochainement obligatoire la mise à disposition de ces logs pour les
exploitants.
En anticipation, l’Institut Daniel Hollard dispose déjà d’échantillons d’Event Logs Halcyon et d’une documentation
partielle des interlocks, permettant de cartographier les fautes aux composants machine.
L’objectif du projet est de concevoir une architecture logicielle et une base de données relationnelle capable de stocker,
organiser et visualiser ces informations afin de faciliter l’analyse des événements et leur lien avec les patients ou les
plans de traitement.
Objectifs du stage :
Le stage a pour but de créer un socle technique réutilisable pour l’analyse des Event Logs Halcyon.
Le travail s’articulera autour de trois axes principaux :
1. Modélisation des données :
 Analyse de la structure des fichiers Event Logs et définition d’un modèle objet Python hiérarchique
(héritage de classes : Event, SubsystemEvent, InterlockEvent, etc.).
 Conception du schéma de base de données relationnelle (PostgreSQL ou SQLite) assurant la traçabilité
entre événements, patients et machines.
2. Développement logiciel :
 Implémentation des classes Python et de la couche ORM (SQLAlchemy).
 Création d’un pipeline d’import automatique des fichiers Event Logs.
 Ajout d’un module de recherche et de filtrage multicritère (type, date, patient, composant).
3. Visualisation et analyse :
 Génération de tableaux de bord (Dash, Plotly, Streamlit) pour suivre les tendances, les fréquences de pannes,
et les corrélations entre événements.
 Intégration future possible avec les données de traitement (TrajectoryLogs, MPC, TOP).
Les jeux de données, les spécifications des interlocks et les outils Python existants seront fournis.
Compétences développées au cours du stage :
 Conception et modélisation de bases de données relationnelles.
 Programmation orientée objet en Python et utilisation d’ORM.
 Data visualization interactive.
 Analyse et structuration de fichiers techniques (Event Logs, XML, JSON).
 Découverte du domaine de la radiothérapie et de la maintenance prédictive.
Perspectives :
Le travail servira de fondation à une future base de données “Event Intelligence Halcyon”, interfaçable avec les
contrôles qualité et les mesures de performance (MPC, TOP, Kalman).
Il s’inscrit dans la perspective d’un accès élargi aux données industrielles prévu par le Data Act européen, et contribuera
à renforcer l’autonomie analytique des centres de radiothérapie face aux constructeurs.

Profil recherché

Profil Ingénieur M2 Recherché
1. Maîtrise Technique (Le Cœur du Stage)
Python POO (Orienté Objet) et ORM : Doit être à l'aise avec la programmation orientée objet (héritage de classes) et l'utilisation d'un ORM (type SQLAlchemy) pour interagir avec la base de données sans écrire de SQL brut.

Modélisation Relationnelle : Compétence essentielle dans la conception de schémas de bases de données (PostgreSQL/SQLite) et compréhension des notions de traçabilité, de normalisation et des relations entre tables.

Architecture Logicielle : Capacité à concevoir un pipeline d'ingestion (import automatique) et à structurer un socle technique réutilisable (non juste un script jetable).

2. Analyse & Visualisation (La Finalité)
Data Visualization Interactive : Expérience avec des librairies modernes pour créer des tableaux de bord permettant une analyse facilitée (recherche/filtrage multicritère).

Ingénieur Data : Savoir transformer des données brutes (Event Logs, XML, JSON) en informations exploitables pour l'analyse des tendances et des corrélations (maintenance prédictive).

3. Qualités Cognitives (Le Niveau M2)
Autonomie et Initiative : Capacité à prendre en charge les trois phases (Modélisation, Développement, Visualisation) et à proposer des solutions techniques.

Rigueur et Méthode : Essentielle pour l'analyse de structures de fichiers techniques complexes et la création de schémas de données robustes garantissant la traçabilité.

Curiosité (Domaine) : Intérêt pour l'interfaçage des données industrielles et le domaine d'application (radiothérapie, maintenance prédictive).

Le stagiaire idéal est celui qui modélise avant de coder et qui est capable de voir le projet non pas comme une tâche, mais comme la fondation d'une future base de données "Event Intelligence"

Voir le fichier joint

Pour postuler :

Envoyer un CV à dimitri.reynard@avec.fr avec un petit mail de présentation.