Sovereign OS est une application desktop native conçue pour la station DIM du GHT Sud Paris. Elle permet de traiter, réconcilier et exporter les données PMSI (Programme de Médicalisation des Systèmes d'Information) conformément aux normes ATIH.
- ✅ Scan multi-dossiers — Détection automatique des fichiers
.txtet.csvPMSI - ✅ 23 formats ATIH — Couverture complète des 4 champs PMSI (PSY, MCO, SSR/SMR, HAD)
- ✅ Variantes de format 2021 — Auto-détection des anciens formats (Fondation Vallée)
- ✅ Normalisation IPP — Cohérence des numéros de dossier entre années (BigQuery compat)
- ✅ Traitement parallèle — ThreadPoolExecutor multi-cœur pour le parsing
- ✅ Master Patient Index (MPI) — Croisement automatique des couples (IPP, DDN)
- ✅ Identitovigilance — Détection et résolution des collisions d'identité
- ✅ Auto-résolution bayésienne — Choix automatique de la DDN pivot par fréquence
- ✅ Export CSV Pilot — Export normalisé avec DDN pivot injectée
- ✅ Export .txt purifié — Fichier nettoyé prêt pour e-PMSI
- ✅ Import CSV — Lecture et affichage de fichiers CSV externes
- ✅ Inspector Terminal — Analyse ligne par ligne avec auto-repair
- ✅ Dark Mode — Thème sombre complet
- ✅ Raccourcis clavier — Navigation rapide (Ctrl+1→6)
- ✅ EXE Portable — Standalone 11 MB, aucune installation requise
| Champ | Formats | Depuis |
|---|---|---|
| PSY | RPS, RAA, RPSA, R3A, FICHSUP-PSY, EDGAR, FICUM-PSY, RSF-ACE-PSY | 2007 |
| MCO | RSS/RUM, RSFA, RSFB, RSFC | 1991 |
| SSR/SMR | RHS, SSRHA, RAPSS, FICHCOMP-SMR | 2003 |
| HAD | RPSS, RAPSS-HAD, FICHCOMP-HAD, SSRHA-HAD | 2005 |
| Transversal | VID-HOSP, ANO-HOSP, FICHCOMP | 2009 |
# Cloner le dépôt
git clone https://github.com/Adam-Blf/sovereign_os_dim.git
cd sovereign_os_dim
# Créer un environnement virtuel
python -m venv .venv
.venv\Scripts\activate
# Installer les dépendances
pip install -r requirements.txt# Lancer l'application
python main.py- Modo Files — Déposez vos dossiers contenant les fichiers ATIH
- Scanner & Traiter — Le moteur identifie, parse et croise les données
- Identitovigilance — Résolvez les collisions IPP/DDN (manuel ou auto)
- Export PMSI-Pilot — Générez les CSV normalisés avec DDN pivot injectée
# Lancer tous les tests
python -m pytest tests/ -v
# Avec couverture de code
python -m pytest tests/ -v --cov=backend --cov-report=term-missing147 tests couvrant :
- Identification des 23 formats ATIH (PSY, MCO, SSR, HAD, transversal)
- Validation de ligne (padding, artefacts d'export)
- Normalisation IPP (cohérence BigQuery 2022-2025)
- Auto-détection variantes de format 2021
- Collisions MPI et résolution bayésienne
- Export CSV et .txt purifié
- Intégrité de la matrice ATIH
sovereign_os_dim/
├── main.py # Point d'entrée pywebview
├── backend/
│ ├── __init__.py # Package init
│ ├── api.py # API exposée au frontend (js_api)
│ └── data_processor.py # Moteur ATIH (scan, MPI, export)
├── frontend/
│ ├── index.html # Interface principale
│ ├── css/style.css # Design system premium
│ └── js/app.js # Logique frontend
├── tests/
│ ├── conftest.py # Fixtures partagées (10 fixtures)
│ └── test_data_processor.py # 147 tests unitaires
├── build.bat # Script de compilation PyInstaller
├── requirements.txt # Dépendances Python
└── README.md # Ce fichier
- Backend : Python 3.12+, pywebview 5.3+, pythonnet 3.0+
- Frontend : HTML5, Tailwind CSS (CDN), Lucide Icons, Chart.js, Anime.js
- Tests : pytest 9.0+, pytest-cov
- Build : PyInstaller 6.11+
- Fonts : Plus Jakarta Sans, JetBrains Mono
# Compiler en exécutable Windows (dossier + standalone)
build.bat| Raccourci | Action |
|---|---|
Ctrl+1 |
Dashboard |
Ctrl+2 |
Modo Files |
Ctrl+3 |
Identitovigilance |
Ctrl+4 |
Export PMSI |
Ctrl+5 |
Tutoriel |
Echap |
Fermer les modales |
Adam Beloucif — Station DIM, GHT Sud Paris
- ✅ Fix erreur
WebViewException(ajoutpythonnetdans les dépendances) - ✅ Vérification gracieuse des dépendances au démarrage
- ✅ Normalisation IPP pour cohérence BigQuery (2021 Fondation Vallée)
- ✅ Variantes de format 2021 RPS/RAA (auto-détection par longueur de ligne)
- ✅ Suite de tests unitaires complète (147 tests, 11 classes)
- ✅ Fixtures de test pour PSY, MCO, variantes 2021, collisions
- ✅
_variant_cachedans__slots__pour optimisation mémoire
- ✅ Réécriture complète du backend avec documentation métier
- ✅ Support import CSV avec auto-détection du séparateur
- ✅ Dark mode complet (CSS + UI)
- ✅ Nettoyage du projet (suppression des builds obsolètes)
- ✅ Header ASCII professionnel sur tous les fichiers Python
- ✅ Commentaires métier expliquant le POURQUOI
Par Adam Beloucif · Data Engineer & Fullstack Developer · GitHub