Files
ordinaceprojekt/Insurance/StahováníSeznamuPojištěnců/201 VoZP/NOTES.md
T
Vladimir Buzalka 19036b58cc notebookvb
2026-06-18 05:32:36 +02:00

3.8 KiB

VoZP (201) — Stahování seznamu registrovaných pojištěnců

Co skript dělá

StahniSeznamPojistencuVoZP.py provede v jednom spuštění:

  1. Přihlásí se certifikátem na portál VoZP (čistý Python, bez NMSigneru) — uloží cookies do sdíleného StahováníZpráv/201 VoZP/vozp_cookies.json
  2. Stáhne nové výpisy ze schránky vypis-registrovanych-pacientu-praktickeho-lekare — stahuje soubory s hlavičkou H09305001 (PDF protokoly se přeskočí) — ukládá do …\Zúčtovací zprávy\SeznamyPojištěnců\ (Dropbox) — po stahování se znovu přihlásí (Playwright invaliduje requests session)
  3. Podá žádost o aktuální výpis (datové rozhraní)

Platforma

VoZP běží na stejné platformě jako ZPŠ, OZP, RBP (portalzp.cz / json-api). Login identický, jen BASE_URL = https://portal.vozp.cz.

Schránka a stažení

Schránka má vlastní URL (ne schranky-vypis-pojistencu-v-kapitaci jako OZP/RBP): /app/vypis-registrovanych-pacientu-praktickeho-lekare

Stažení přílohy: GET /html/prehled-zprav-ve-schrankach/zobrazit-prilohu?zprava_id={fileId} fileId z onclick="SchrPolOpenFile(<id>)". Datové soubory f201MMRR.001, hlavička H09305001. Ve schránce bývá i PDF protokol — header checkem se přeskočí.

Podání žádosti

Formulář 106-zadost-o-vypis je nejjednodušší — jen IČZ + Třídění, žádné datum ani typ. Výpis je aktuální snímek registrovaných pacientů. Pro datový soubor se volí třídění = d (Datové rozhraní). Žádný stav.json.

POST https://portal.vozp.cz/json-api/formular-schranky/106-zadost-o-vypis/ulozit-formular Body: {"schrXml": "...", "schrSign": "-----BEGIN PKCS7-----...", "schrFiles": []}

XML žádosti (řádky \r\n)

<SchrankaZadost NazevSchranky="SEZNAM_KAP" NazevFiltru="SEZNAM_KAP">
<PolozkaFiltru Nazev="nicoz">-109305000</PolozkaFiltru>
<PolozkaFiltru Nazev="trideni">d</PolozkaFiltru>
</SchrankaZadost>
Položka Hodnota Význam
nicoz -109305000 interní ID položky IČZ (zobrazené IČZ = 09305000). Pozor: záporné! Ověřeno.
trideni d p=příjmení, i=IČP+příjmení, r=rodná čísla, d=Datové rozhraní (datový soubor)

Podpis XML

PKCS7/SHA-256, bez certifikátu (NoCerts) — stejně jako ZPŠ/OZP/RBP.

Jak byly endpointy zjištěny

Odposlechem reálného podání v Chrome (MCP) — data-xml-* atributy + odchycený XHR na ulozit-formular. První ostré podání: ref. 179776197 (17.06.2026).

Srovnání platformy portalzp.cz

ZPŠ (209) OZP (207) RBP (213) VoZP (201)
Schránka schranka-vypis-… schranky-vypis-… schranky-vypis-… vypis-registrovanych-pacientu-…
Formulář 29-… 108-… 110-… 106-…
Schránka/filtr VypisPojKap / ZZ_VYP_REG SEZNAM_KAP VypisPojKap / ZZ_VYP_REG SEZNAM_KAP
IČZ položka icz=25520 nicoz=13074913 icz=933189 nicoz=-109305000
datum poslední den měsíce Ke dni (dnešek)
typ/trideni razeni+typ=soubor trideni=p+typ=soubor razeni+typ=soubor trideni=d (Datové rozhraní)

Soubory

Soubor Popis
StahniSeznamPojistencuVoZP.py Hlavní skript — stažení výpisů + podání žádosti
log_podani.json Historie podání s referenčními čísly

Parametry

  • IČZ: 09305000 (IČP: 09305001, MUDr. Michaela Buzalková), interní ID -109305000
  • Certifikát: Insurance/Certificates/MBQualifiedCert.pfx

Stav

Hotovo a otestováno (17.06.2026): login ✓, stažení ✓ (3 datové soubory, PDF přeskočeno), podání ✓ (ref. 179776197). Výpis z prvního podání dorazí do schránky.