Files
ScanOGC_extract/README.md
2026-04-24 10:39:05 +02:00

83 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Extraction OGC — Qwen3-VL 235B
Extraction automatique des fiches OGC (Organisme de Gestion du Contrôle) vers Excel.
Modèle : **qwen3-vl:235b-cloud** (vision multimodal via Ollama).
---
## Structure du dossier
```
testExtraction2/
├── extraction.py ← script principal
├── README.md ← ce fichier
├── PLAN_EXTRACTION.md ← documentation technique détaillée
├── scanOgc/ ← 12 PDFs source (OGC 358 à 429)
└── output/
├── extraction_ogc.xlsx ← résultat (4 onglets)
└── extraction_ogc_raw.json ← données brutes pour debug
```
---
## Lancement
```bash
cd testExtraction2
# Tous les fichiers
python3 extraction.py
# Un seul fichier (relance partielle — fusionne avec le cache)
python3 extraction.py "358"
```
---
## Ce que fait le script
1. Convertit chaque page PDF en image (200 DPI)
2. Envoie l'image à **qwen3-vl:235b-cloud** pour identifier le type de page
3. Ignore la page "Séjour d'hospitalisation complète" (bloc manuscrit — phase 2)
4. Pour chaque autre page, extrait les données en JSON via un prompt dédié
5. Assemble tout en Excel (4 onglets)
### Types de pages traités
| Type | Action |
|---|---|
| FICHE_RECUEIL | Extrait (données séjour, codages, GHM/GHS) |
| ELEMENTS_PREUVE | Extrait (tableau 17 documents) |
| FICHE_ADMIN_2_2 | Extrait (GHS final, décision concertation) |
| FICHE_ADMIN_1_2 | Extrait (argumentaire imprimé complet) |
| SEJOUR_MANUSCRIT | **Ignoré** — commentaires manuscrits (phase 2) |
| FICHE_CONCERTATION_VIDE | Ignoré — page vide |
---
## Sortie Excel (4 onglets)
**Données principales** — 1 ligne par OGC, tous les champs scalaires
**Diagnostics** — 1 ligne par code (DP/DR/DAS), établissement + recodage
**Actes** — 1 ligne par acte CCAM, établissement + recodage
**Eléments de preuve** — 1 ligne par type de document × OGC
---
## Particularités techniques
- **Thinking mode** : qwen3-vl génère ~4000 tokens de réflexion interne avant la réponse. `num_predict=8192` est obligatoire pour avoir assez de budget tokens.
- **Rate limit** : pause de 2s entre chaque requête + retry automatique sur 429 (attente 60s × tentative).
- **Ordre des pages variable** : identification par titre, pas par numéro de page.
- **Relance partielle** : `python3 extraction.py "XXX"` charge le cache JSON existant et ne réécrase que le fichier relancé.
---
## Prérequis
```bash
pip install pdf2image pillow pandas openpyxl requests
# Ollama doit tourner (ollama serve)
# Modèle requis : qwen3-vl:235b-cloud
```