notebookvb

This commit is contained in:
Vladimir Buzalka
2026-05-10 07:53:38 +02:00
parent 93a9084c47
commit b59eb419dd
2 changed files with 130 additions and 100 deletions
+76
View File
@@ -0,0 +1,76 @@
# 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
```