Contexte et contraintes
Un CHU (Centre Hospitalier Universitaire) cumule toutes les contraintes d'un environnement IT sécurisé : EDR Cortex XDR actif sur tous les postes, réseau cloisonné, données de santé soumises à HDS (Hébergement de Données de Santé), systèmes applicatifs propriétaires (MAGH2, HOSPILOG, PASTEL, Chronotime), et bases Oracle sans accès direct depuis les postes standard.
AutomationSequence V8 a été déployé à la DSN (Direction des Systèmes Numériques) pour automatiser trois processus mensuels précédemment réalisés manuellement par les techniciens : export PMSI, rapprochement comptable MAGH2/Oracle, et audit des présences Chronotime.
En milieu hospitalier, une automatisation non auditée est une automatisation refusée. Le journal HMAC d'AutomationSequence V8 a été l'argument décisif pour l'accord de la RSSI.
Systèmes d'information concernés
- MAGH2 — système de gestion administrative et financière. Base Oracle propriétaire, connexion via tnsnames.ora spécifique.
- HOSPILOG — logistique hospitalière. Exports via répertoire réseau partagé (fichiers CSV horodatés).
- PASTEL — gestion des ressources humaines. API REST interne avec authentification Basic sur HTTPS.
- Chronotime Workplace — gestion des temps de présence. Export via SQL Server et interface web scraping.
- Oracle DWH — entrepôt de données hospitalier. Requêtes PL/SQL complexes avec vues PMSI.
Séquence 1 : export PMSI mensuel
Le PMSI (Programme de Médicalisation des Systèmes d'Information) requiert un export mensuel formaté. Auparavant : 3h de travail manuel, risque d'erreur de calcul.
# export_pmsi_mensuel.asenc (séquence chiffrée)
[
{
"type": "oracle_connect",
"dsn_vault_key": "ORACLE_DWH_DSN",
"output_var": "conn_dwh"
},
{
"type": "oracle_query",
"connection": "{{conn_dwh}}",
"query": "SELECT * FROM V_PMSI_RSA WHERE mois_sort = :mois",
"bind": {"mois": "{{date_YYYYMM}}"},
"output_var": "rsa_data"
},
{
"type": "llm_analyze",
"model": "llama3:8b",
"prompt": "Vérifie la cohérence de ces données PMSI. Signale les anomalies (GHM manquant, durée séjour aberrante, DP invalide). Données : {{rsa_data|sample:50}}",
"output_var": "pmsi_anomalies"
},
{
"type": "file_write_csv",
"data": "{{rsa_data}}",
"path": "\\srv-pmsi\exports\RSA_{{date_YYYYMM}}.csv"
},
{
"type": "smtp_send",
"to": "drg@chu-exemple.fr",
"subject": "Export PMSI {{date_YYYYMM}} — {{rsa_data|length}} RSA",
"body": "Export disponible sur \\srv-pmsi\exports\. Anomalies détectées : {{pmsi_anomalies}}"
}
]
Résultat : 3h → 8 minutes, zéro erreur de calcul, rapport d'anomalies IA automatique.
Séquence 2 : rapprochement MAGH2/Oracle
Le rapprochement mensuel entre les dépenses MAGH2 et les engagements Oracle DWH nécessitait deux exports manuels et un tableur Excel complexe. La séquence V8 :
- Connecte MAGH2 via Oracle (tnsnames spécifique DSN_MAGH2).
- Connecte le DWH Oracle (DSN_DWH).
- Exécute les deux requêtes en parallèle (
oracle_query_async). - Joint les deux datasets en mémoire Python.
- Identifie les écarts supérieurs à un seuil configurable.
- Génère un rapport Excel formaté avec couleurs et totaux.
- Envoie le rapport par SMTP avec pièce jointe.
Résultat : 4h → 12 minutes, détection automatique des écarts, historique conservé 7 ans dans SQLite (conformité comptable).
Séquence 3 : audit Chronotime
Chronotime expose les données de présence via SQL Server. La séquence consolide les présences mensuelles par service et détecte les anomalies :
{
"type": "sqlserver_query",
"dsn_vault_key": "CHRONOTIME_DSN",
"query": "SELECT agent_id, service, SUM(duree_min)/60.0 as heures FROM presences WHERE mois = :mois GROUP BY agent_id, service",
"bind": {"mois": "{{date_YYYYMM}}"},
"output_var": "presences"
}
Conformité HDS
Trois exigences HDS couvertes nativement par AutomationSequence V8 :
- Traçabilité des accès aux données — chaque action Oracle/SQL Server est enregistrée dans le journal HMAC immuable avec timestamp, utilisateur, requête hashée et résultat.
- Chiffrement des données au repos — les séquences
.asencchiffrent les credentials et la logique de traitement. Aucune donnée patient en clair dans les fichiers de configuration. - Cloisonnement des accès — le vault utilise des comptes Oracle dédiés par séquence, avec uniquement les droits SELECT nécessaires. Pas de compte DBA dans les séquences automatisées.
Chiffres clés après 8 mois
- Temps économisé : ~7h/mois pour 3 techniciens → 40 minutes/mois total.
- Erreurs de traitement : 0 depuis la mise en production (vs 2-3/mois avec le processus manuel).
- Alertes Cortex XDR : 2 faux positifs au démarrage (résolus par whitelisting sur hash SHA-256), 0 depuis.
- Anomalies détectées par IA : 14 en 8 mois (dont 9 erreurs de saisie et 5 anomalies réelles signalées au DIM).
- Audit RSSI : journal HMAC accepté comme preuve de traçabilité conforme HDS.
Conclusion
Le SI hospitalier est l'un des environnements les plus exigeants pour l'automatisation : EDR actif, données sensibles, systèmes propriétaires, conformité HDS obligatoire. AutomationSequence V8 répond à ces contraintes par conception — pas par contournement. Le journal HMAC, le chiffrement des séquences, la compatibilité EDR et les connecteurs Oracle/SQL Server natifs en font l'outil adapté à ce contexte. Le retour sur investissement est mesurable dès le premier mois.