NacistPredpis — Funkční SOAP klient pro IS eRecept SÚKL
Pipeline pro stažení detailu jednotlivých receptů z eRecept SÚKL API.
Doplňuje existující hromadný lékový záznam (NacistLekovyZaznam) o údaje,
které hromadný dotaz nevrací.
Soubory
| Soubor |
Co dělá |
NacistPredpis_FUNKCNI.py |
Stáhne detail jednoho receptu dle hardcoded ID_Dokladu (ruční test) |
08StahnoutPredpisy.py |
Hlavní skript — načte ERP kódy z Medicusu, stáhne detaily, uloží XML |
Co NacistPredpis vrací navíc oproti NacistLekovyZaznam
Hromadný lékový záznam (NacistLekovyZaznam, endpoint /cuer/Lekar2)
vrací seznam předpisů a výdejů za pacienta, ale bez detailů o receptu jako celku.
NacistPredpis (endpoint /cuer/Lekar, namespace 201704) vrací detail
jednoho konkrétního receptu, včetně:
Údaje o receptu (dokladu)
| Pole |
Popis |
ID_Dokladu |
Alfanumerický kód receptu (např. PPIBVF93285E) |
Stav |
Stav receptu: PREDEPSANY, CASTECNE_VYDANY, PLNE_VYDANY, ZRUSENY… |
PlatnostDo |
Datum konce platnosti receptu |
VypisDo |
Prodloužení platnosti výpisem |
Akutni |
Příznak akutní péče |
Rodina |
„Pro potřebu rodiny" / ad usum proprium |
Opakovani |
Počet výdejů u opakovacích receptů |
DruhPojisteni |
VEREJNE / OSTATNI |
ModryPruh |
Omamné/psychotropní látky |
Pozn |
Poznámka na receptu (max 1000 znaků) |
ZapocitatelnyDoplatekZbyvaDoLimitu |
Zbývá do limitu doplatků pacienta |
Zmena / Zalozeni |
Datetime poslední změny / vytvoření |
Údaje o úhradě léku (per PLP)
| Pole |
Popis |
Uhrada |
ZAKLADNI / ZVYSENA / NEHRAZENY |
Prekroceni |
Překročení limitu |
Údaje o pacientovi
| Pole |
Popis |
CP |
Číslo pojištěnce (rodné číslo) |
ZP |
Zdravotní pojišťovna (kód + název) |
Adresa |
Kompletní adresa pacienta |
Pohlavi |
M / Z |
Telefon |
Telefonní číslo |
Notifikace |
SMS / Email |
Údaje o předepisujícím
| Pole |
Popis |
Odbornost |
Kód + název (např. 001 — všeobecné praktické lékařství) |
Email |
Email lékaře |
Zkrácený výdej
Odpověď obsahuje i sekci Vydej[] se zkrácenou informací o výdejích — název lékárny,
jméno lékárníka (často „skryto"), datum vydeje, vydané léky.
Porovnání operací
|
NacistPredpis |
NacistLekovyZaznam |
| Namespace |
201704 |
201912 |
| Endpoint |
/cuer/Lekar |
/cuer/Lekar2 |
| SOAPAction |
NacistPredpis |
NacistLekovyZaznam |
| Identifikace |
ID_Dokladu (alfanumerický kód receptu) |
jméno + datum narození pacienta |
| Výsledek |
detail jednoho receptu |
celý lékový záznam pacienta (roky) |
| Velikost odpovědi |
~3.5–4.5 KB |
~227 KB |
Autentizace (stejná jako u všech operací eReceptu)
| Parametr |
Hodnota |
| Endpoint |
https://lekar-soap.erecept.sukl.cz/cuer/Lekar |
| mTLS certifikát |
AMBSUKL214235369G_31DEC2024.pfx (platnost do 31. 12. 2026) |
| HTTP Basic user |
UUID lékaře e08c89c6-2b1a-4eba-8ed9-4e3e63618379 |
| SOAP operace |
NacistPredpis |
| XML namespace |
http://www.sukl.cz/erp/201704 |
| Verze zprávy |
202501A |
Zdroj ID_Dokladu — Medicus (Firebird)
Alfanumerický kód receptu (ID_Dokladu) není v hromadném lékovém záznamu.
Nachází se v tabulce RECEPT_EPODANI v Medicusu:
SQL dotaz
Statistika (duben 2026)
- 13 571 receptů s ERP kódem od 1. 1. 2025
- 13 578 receptů celkem (7 bez ERP kódu — papírové/neodeslané)
08StahnoutPredpisy.py — hlavní skript
Parametry (editovat přímo v souboru)
Co dělá
- Připojí se k Firebirdu, načte unikátní ERP kódy (deduplikované — jeden recept může mít více léků)
- Pro každý ERP kód zavolá
NacistPredpis přes SOAP API
- Uloží XML odpověď do
xml_archive/YYYY-MM-DD/{ERP_KOD}.xml
- Chybové odpovědi uloží jako
{ERP_KOD}_CHYBA.xml
- Pauza 5 sekund mezi voláními
Výstup v konzoli
Ošetření chyb
| Kód |
Popis |
Chování skriptu |
| D003 |
Předpis byl zrušen lékařem |
Uloží _CHYBA.xml, pokračuje dál |
| HTTP 500 |
SOAP Fault (obecný) |
Uloží _CHYBA.xml, pokračuje dál |
| Timeout / Exception |
Síťová chyba |
Vypíše EXCEPTION, pokračuje dál |
Ověřeno (14. 4. 2026)
Testovací běh na receptech pacienta Buzalka od 1. 1. 2025:
- 55 unikátních ERP kódů nalezeno v Medicusu
- 51 úspěšně staženo (OK)
- 4 chyby D003 (zrušené recepty)
- XML uloženy do
xml_archive/2026-04-14/
Další kroky (plán)
- MySQL tabulka
recept — uložit detail receptu (stav, platnost, úhrada, pojišťovna…)
- Parsování XML — extrakce dat z odpovědí do MySQL
- Inkrementální stahování — procházet jen nové recepty od posledního běhu
- Stažení všech 13 571 receptů od 1. 1. 2025 (odhad: ~19 hodin při 5s pauze)
XSD zdroje
Schéma verze 202501A, soubory v Dokumentace/2025-04-24/WSDL_XSD/:
| Soubor |
Obsah |
PRIORITNI_WEBOVE_SLUZBY/schema1.xsd |
NacteniPredpisuDotaz, identifikace_dokladu_type, nacteni_predpisu_erp_odpoved_type |
NEPRIORITNI_WEBOVE_SLUZBY/CuerSchema.xsd |
hvlp_type, zprava_type, jmeno_osoby_type |