# KdoJeLekarApp – Registrující lékař z VZP B2B ## Přehled Aplikace zobrazí registrujícího lékaře pacienta (praktický lékař, gynekolog, stomatolog a další) dotazem na VZP B2B API. Spouští se z Medicusu nad vybraným pacientem. ## Soubory | Soubor | Popis | |--------|-------| | `KdoJeLekarApp.py` | Hlavní skript (customtkinter GUI) | | `KdoJeLekarApp.spec` | PyInstaller konfigurace | | `KdoJeLekarApp.ico` | Ikona EXE (konvertována z icons8-physician-60.png) | | `dist/KdoJeLekarApp.exe` | Spustitelný EXE | ## Konfigurace v Medicusu V menu **Konfigurace > Externí programy**: | Položka | Hodnota | |---------|---------| | **Program** | `U:\OrdinaceProjekt\Medicus\Externi\KdoJeLekar\dist\KdoJeLekarApp.exe` | | **Příkazový řádek** | `"U:\OrdinaceProjekt\Medicus\Externi\KdoJeLekar\dist\KdoJeLekarApp.exe" %JMENO% %PRIJMENI% %RODCIS%` | | **Pacient** | ✓ | | **Menu** | Kdo je lékař | ## VZP B2B API - **Endpoint:** `https://prod.b2b.vzp.cz/B2BProxy/HttpProxy/RegistracePojistencePZSB2B` - **Certifikát:** `U:\OrdinaceProjekt\Insurance\Certificates\picka.pfx` / heslo viz `KdoJeLekarApp.py` - **Knihovna:** `Knihovny/vzpb2b_client.py` → metody `registrace_lekare()` a `parse_registrace_lekare()` - VZP B2B je **centrální endpoint pro všechny pojišťovny** — vrací pojištěnce VZP i ostatních pojišťoven (ČPZP, OZP atd.) na základě mezipojišťovnické dohody ## Důležité technické detaily ### Rodné číslo Medicus předává RC **s lomítkem** (např. `730928/104`). Skript lomítko automaticky odstraní před odesláním do API: ```python RODCIS = sys.argv[3].replace("/", "") ``` ### Cesta k certifikátu Cesta k PFX je **absolutní natvrdo** — PyInstaller při spuštění EXE mění `Path(__file__)` na temp adresář, relativní cesta by nefungovala: ```python PFX_PATH = Path(r"U:\OrdinaceProjekt\Insurance\Certificates\picka.pfx") ``` ### Argumenty z Medicusu ```python JMENO = sys.argv[1] PRIJMENI = sys.argv[2] RODCIS = sys.argv[3].replace("/", "") ``` ## Zobrazená data | Pole VZP | Zobrazeno jako | |----------|---------------| | `nazevSZZ` | Lékař | | `nazevICP` | Pracoviště | | `ICZ` + `ICP` | ICZ / ICP | | `datumRegistrace` | Registrace | | `datumZahajeni` | Platí od | | `datumUkonceni` | Platí do (3000-01-01 = bez omezení) | | `poj_zkratka` | Pojišťovna (zobrazena jednou v kartě pacienta) | ## Error handling Jakákoliv výjimka zobrazí dialog a pošle email na `vladimir.buzalka@buzalka.cz` s traceback a údaji pacienta. Implementováno přes `Knihovny/EmailMessagingGraph.py`. ## Rebuild EXE ``` cd U:\OrdinaceProjekt\Medicus\Externi\KdoJeLekar pyinstaller KdoJeLekarApp.spec ```