Descriptif
Descriptif du poste :
L'unité d'Informatique et d'Archivistique Médicale (IAM), en lien étroit avec la Direction du Numérique (DNUM) du CHU de Bordeaux et la Direction de la Recherche Clinique et de l'Innovation (DRCI), met en place un Entrepôt de Données de Santé (EDS) basé sur les modèles i2b2 et OMOP pour faciliter l'utilisation secondaire des données à des fins de recherche, d'amélioration de la pertinence et de la qualité des soins et en support des activités de routine du CHU de Bordeaux (vigilance, PMSI, etc).
Le CHU de Bordeaux, au travers d'une réponse commune avec les CHU de Poitiers et de Limoges portée par le groupement de coopération sanitaire (GCS) NOVA, est l'un des lauréats de l'appel à projet national « accompagnement et soutien à la constitution d'entrepôts de données de santé hospitaliers ». Dans ce cadre, le CHU de Bordeaux va mettre en production son EDS dans un environnement technique et de gouvernance conforme au référentiel CNIL.
L'unité IAM est composée de quatre médecins spécialisés en informatique médicale, de trois data-scientist, d'un ingénieur data, d'un chef de projet, d'une attachée de recherche clinique et de deux à quatre stagiaires (internes en médecine, ingénieurs et externes en pharmacie). La gestion des flux de
données alimentant les EDS i2b2 et OMOP d'une part, et le développement de la couche applicative de l'EDS du CHU de Bordeaux d'autre part, est internalisé dans l'unité IAM :
Données : Intégration des données de l'EDS dans une base de données relationnelles (Oracle / PostgreSQL) et un index Elasticsearch (modèle i2b2) et standardisation des données au format OMOP ;
Back-end : interrogation / accès aux données de l'EDS au travers d'une couche d'API développée en Java (SpringBoot) dans une architecture de type microservice ;
Front-end : application web développée en JavaScript (React) ;
Authentification : OIDC (Keycloak) en lien avec le LDAP du CHU de Bordeaux ;
Déploiement : intégration continue (CI/CD) dans GitLab, déploiement via Docker-Swarm.
Cette couche applicative, développée initialement au CHU de Bordeaux, sera partagée aux deux autres établissements du GCS NOVA puis co-développée par les 3 établissements.
Outre le développement de l'EDS du CHU de Bordeaux, l'unité IAM est impliquée dans l'accompagnement des projets impliquant les données contenues dans l'EDS, notamment au niveau des projets de Recherche Hospitalo-Universitaire (RHU ; TALENT et ENVISAGE) et des Instituts Hospitalo-Universitaire (IHU ; Lyric et VBHI). En particulier, ces projets nécessitent la mise en place d'environnements d'analyse pour le traitement des données cliniques et des données d'imagerie (mobilisation des images, pseudonymisation et mise en place d'environnement avec du calcul).
Description de la mission
L'ingénieur devops jouera un rôle clé dans le développement de la couche applicative de l'EDS du CHU de Bordeaux ainsi que dans la mise en place des environnements d'analyse pour les projets le nécessitant.
Responsabilités principales :
Développement backend:
Concevoir et développer les environnements d'analyses pour les projets de recherche s'appuyant sur l'EDS du CHU de Bordeaux. En particulier, le développeur contribuera à la mise en place des pipelines de mobilisation et de pseudonymisation des images issues des PACS de production et la mise en place des environnement d'analyses pour les données cliniques et d'imagerie pseudonymisées ;
Concevoir et développer la couche d'API en Java (SpringBoot) dans une architecture de type microservice pour assurer un accès sécurisé et efficace aux données de l'EDS ;
Participer à l'optimisation et à la maintenance du code existant pour améliorer la scalabilité et la performance de l'application ;
Assurance qualité et tests:
Développer et maintenir des suites de tests automatisés pour assurer la qualité du code et la robustesse de l'application ;
Utiliser des outils modernes de CI/CD (GitLab) pour automatiser les tests et les déploiements ;
Déploiement et maintenance:
Participer à la supervision et la gestion du déploiement des espaces projets et de la couche applicative dans les environnements de pré-production et de production ;
Assurer la maintenance et l'optimisation continue de l'application pour améliorer la performance et la stabilité ;
Collaboration et communication:
Collaborer étroitement avec les équipes de data scientists et les autres ingénieurs pour aligner le développement avec les besoins d'analyse de données et de recherche médicale ;
Fournir une documentation technique claire et détaillée pour soutenir le développement et l'usage de l'application au sein des trois établissements du GCS NOVA.
Profil recherché :
Profil recherché
Formation :
Diplôme de niveau bac +5 en informatique ou domaine connexe ;
De préférence, une expérience significative de 3 ans ;
Compétences et qualités requises :
Expérience en développement backend (SpringBoot / Python) ;
Une connaissance en développement front-end JavaScript (React) est un plus ;
Une connaissance des architectures de microservice est un plus;
Solides compétences en tests automatisés et outils de CI/CD (GitLab) ;
Expérience avancée dans la gestion de conteneurs Docker et leur intégration dans les processus de CI/CD ;
Connaissances en gestion de bases de données relationnelles (Oracle, PostgreSQL) ;
Connaissances des normes de sécurité informatique spécifiques au secteur de la santé (GDPR) pour les données relatives aux patients ;
Qualités personnelles :
Rigueur, autonomie et sens de l'organisation ;
Fortes capacités de communication pour travailler efficacement au sein d'équipes multidisciplinaires ;
Capacité à innover et à proposer des solutions créatives pour améliorer l'expérience utilisateur ;
Proactivité et capacité à prendre des initiatives pour résoudre des problèmes complexes et améliorer continuellement les processus.
Aptitudes attendues :
Recueillir, analyser, formaliser et valider les besoins fonctionnels et non fonctionnels utilisateurs (y compris les interfaces avec les applications existantes et les compléments aux applications informatiques)
Rédiger la documentation technique (développement / déploiement)
Mettre en uvre les règles liées à la protection des données
Connaissances attendues :
Développement backend Java (SpringBoot)
Développement backend Python
Développement Front-end Javascript (React)
Gestion de version de code (Git)
Développement continu / intégration continue (CI/CD)
Déploiement dans Docker / Docker-Swarm
Déploiement dans Kubernetes
Interrogation de données (RDMBS et ElasticSearch)
Mécanismes d'authentification et de sécurité en particulier OIDC
Connaissance des normes de sécurité (RGPD)
Développement d'API robustes et sécurisées
UX/UI Design