50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
# 60 ScansProcessing
|
|
|
|
Agent pro zpracování naskenovaných lékařských zpráv (PDF i JPG/PNG).
|
|
|
|
## Hlavní skript
|
|
|
|
### `Extract_pacient_info_v1.0.py`
|
|
Verze: 1.0 | Datum: 2026-06-02 | Autor: Vladimír Bužalka
|
|
|
|
Spuštění: `python Extract_pacient_info_v1.0.py` (bez argumentů = celá složka KeZpracování)
|
|
|
|
**Workflow:**
|
|
1. Načte soubory z `KeZpracování/`
|
|
2. Claude Vision API (sonnet-4-6) — 1. volání s obrázkem: extrahuje jméno, RČ, datum, typ dokumentu, poznámku, navržený název, rotaci
|
|
3. Claude API — 2. volání (jen text): vygeneruje 5 variant názvu dle naming_rules.md, deduplikuje vůči 1. návrhu
|
|
4. Ověří pacienta v Medicus Firebird (tabulka KAR); fuzzy matching RČ + fallback na jméno
|
|
5. Zkontroluje duplicity v archivu `Dokumentace_zpracovaná/`
|
|
6. Zobrazí hlavní viewer (tkinter, celá šířka monitoru):
|
|
- Horní část: náhled originálu | náhled vybrané duplicity | seznam duplicit (Text widget s wrappingem)
|
|
- Spodní panel: info o pacientovi | textbox pro název (multiline, bílý) | návrhy pojmenování
|
|
7. Po schválení názvu nabídne 5 kompresních variant (300/200/150/120/96 DPI) k výběru
|
|
8. Uloží vybranou variantu do `Zpracováno/`, smaže originál
|
|
9. Opravy názvů se ukládají do `corrections.json` jako few-shot příklady (jen pokud se liší od všech navržených variant)
|
|
|
|
**EKG větev:** PDFCreator metadata → rotace o 90° → Tesseract OCR → Medicus ověření
|
|
|
|
**Formát názvu souboru:** viz `naming_rules.md`
|
|
|
|
## Konfigurační soubory
|
|
|
|
| Soubor | Účel |
|
|
|---|---|
|
|
| `naming_rules.md` | Pravidla pro pojmenování — předávají se Claudovi v každém volání |
|
|
| `corrections.json` | Few-shot příklady korekcí názvů z minulých běhů |
|
|
| `layout_settings.json` | Pozice a rozměry oken podle hostname počítače |
|
|
|
|
## Složky
|
|
|
|
| Složka | Účel |
|
|
|---|---|
|
|
| `KeZpracování/` | Vstupní skeny (PDF, JPG, PNG) |
|
|
| `Zpracováno/` | Správně pojmenované PDF po schválení |
|
|
| `Dokumentace_zpracovaná/` | Finální archiv (Dropbox) — prohledává se kvůli duplicitám |
|
|
| `Testy/` | Archiv starších verzí skriptů |
|
|
|
|
## Konfigurace
|
|
- API klíč: `Medevio/.env` → `ANTHROPIC_API_KEY`
|
|
- Medicus Firebird: `reporter:c:\medicus\medicus.fdb` (SYSDBA)
|
|
- Layout oken: `layout_settings.json` — klíč = hostname.upper() (aktuálně: `Z230`)
|