47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
# 60 ScansProcessing
|
|
|
|
Agent pro zpracování naskenovaných lékařských zpráv (PDF i JPG/PNG).
|
|
|
|
## Skripty
|
|
|
|
### `extract_patient_info.py` — hlavní agent
|
|
Spuštění: `python extract_patient_info.py` (bez argumentů = celá složka ToProcess)
|
|
|
|
**Workflow:**
|
|
1. Načte soubory z `ToProcess/`
|
|
2. Claude Vision API (sonnet-4-6) extrahuje: jméno, RČ, datum, typ dokumentu, poznámku, navržený název, rotaci
|
|
3. Ověří pacienta v Medicus Firebird (tabulka KAR, pole RODCIS/PRIJMENI/JMENO)
|
|
4. Fuzzy matching RČ při nenalezení: vynechání cifry + záměna podobných (0↔8, 1↔7, 5↔6, 3↔8) + checksum /11
|
|
5. Upozorní na duplicitu v `U:\Dropbox\Ordinace\Dokumentace_zpracovaná\`
|
|
6. Interaktivní schválení / oprava názvu
|
|
7. JPG/PNG → skutečné PDF (správná orientace, DPI=150, quality=80)
|
|
8. Přesun do `Processed/`, smazání z `ToProcess/`
|
|
9. Opravy názvů se ukládají do `corrections.json` jako few-shot příklady
|
|
|
|
**Formát názvu souboru:**
|
|
`{RČ} {YYYY-MM-DD} {Příjmení}, {Jméno} [{typ dokumentu}] [{poznámka}].pdf`
|
|
|
|
Příklady typů: `LZ chirurgie`, `LZ kardiologie`, `Laboratoř`, `CT břicha`, `kolonoskopie`, `poukaz FT`
|
|
|
|
### `jpg_to_pdf.py` — konverze obrázku na PDF
|
|
```
|
|
python jpg_to_pdf.py soubor.jpg [vystup.pdf] [rotace_ccw]
|
|
```
|
|
- Opravuje EXIF orientaci
|
|
- Rotace: 0 / 90 / 180 / 270 (CCW)
|
|
- A4, DPI=150, quality=80, bez okrajů
|
|
- Používá se i interně z `extract_patient_info.py`
|
|
|
|
## Složky
|
|
|
|
| Složka | Účel |
|
|
|---|---|
|
|
| `ToProcess/` | Sem se házejí nové skeny (PDF, JPG, PNG) |
|
|
| `Processed/` | Správně pojmenované PDF po schválení |
|
|
| `U:\Dropbox\Ordinace\Dokumentace_zpracovaná\` | Finální archiv |
|
|
|
|
## Konfigurace
|
|
- API klíč: `U:\Medevio\.env` → `ANTHROPIC_API_KEY`
|
|
- Medicus: `localhost:c:\medicus 3\data\medicus.fdb` (Firebird, SYSDBA)
|
|
- Few-shot korekce: `corrections.json`
|