26 KiB
PrůzkumDatabáze – poznámky pro Clauda
Průzkum Medicus Firebird DB, doplněk k MedicusWithClaude/CLAUDE_NOTES.md.
Aktualizováno: 2026-05-16
Celkový přehled
- 993 tabulek (Firebird 2.5 HQbird, charset win1250)
- Přímý přístup přes MCP nástroje:
execute_query,get_table_columns,list_tables - Základní info o DB, RTF formátu a importu viz
MedicusWithClaude/CLAUDE_NOTES.md - SQL dotazy a schéma fakturace viz
MedicusWithClaudeSelects/
Správné připojení (MCP server U:\OrdinaceProjekt\mcp_firebird.py)
fdb.connect(
dsn=r'reporter:c:\medicus\medicus.fdb',
user='SYSDBA', password='masterkey', charset='win1250'
)
⚠️ Pozor: dříve chybně nastaveno na localhost:c:\medicus 3\data\medicus.fdb (port 3070) — to ukazovalo na starou zálohu s daty do 2026-04-20. Opraveno 2026-05-19.
Statistiky klíčových tabulek (stav 2026-05-16)
| Tabulka | Záznamů | Obsah |
|---|---|---|
| KAR | 6 319 | Kartotéka pacientů |
| DEKURS | 172 068 | Záznamy z návštěv (RTF blob) |
| RECEPT | 191 820 | E-recepty (od 1997) |
| DOKLADD | 98 321 | Výkony – detail |
| DOKLADH | 54 436 | Výkony – záhlaví |
| HISTDOC | 32 689 | Dokumenty (poukazy, posudky…) |
| OCKZAZ | 9 746 | Záznamy podaných vakcín |
| PREH | 11 885 | Preventivní prohlídky a měření |
| VZPARC | 1 954 | Výkonové dávky pojišťovnám |
| NES | 4 318 | Neschopenky (od 2008) |
| LECH | 4 247 | Lékový doklad – záhlaví |
| LECD | 4 413 | Lékový doklad – detail (léky) |
| OCKPRI | 1 397 | Plánovaná očkování |
| FAK | 844 | Faktury pojišťovnám |
| MEDIKACE | 252 | Aktuální medikace pacientů |
| DISPAC | 2 | Dispenzarizace pacientů |
| ICP | 11 | Pracoviště ordinace (IČP) |
| ICZ | 11 | Zdravotnické zařízení (IČZ) |
| LOG | 2 812 283 | Audit log — kdo, kdy, co otevřel/změnil |
| ZURNAL | 795 220 | Starší audit log (do 2019, nahrazen tabulkou LOG) |
| PZT | 600 341 | Číselník zdravotnických prostředků (ZP) — 46 151 platných, zbytek historické |
| LABVD | 526 500 | Laboratorní hodnoty – detail |
| DOCLIST | 466 837 | Univerzální index dokumentů — rozcestník přes DEKURS, RECEPT, HISTDOC, LABVH, LEKZPRAVY, NES, OCKZAZ, PREH, FILES, SPECVYS |
| LEKY | 429 658 | Číselník léků SÚKL |
| DEKLINK | 298 823 | Vazby dekurzů na jiné záznamy |
| RECEPT_EPODANI | 64 154 | Stav e-podání receptů |
| REGISTR | 1 999 | Registrace pacientů u pojišťovny |
| POU | 0 | Poukazy (prázdná) |
| SMS | 0 | SMS zprávy (prázdná) |
LOG – audit log
2 812 283 záznamů — každý přístup nebo změna záznamu v Medicusu se sem zapíše. Aktivně roste, poslední záznam 2026-05-15.
Roční objem
| Rok | Záznamů |
|---|---|
| 2024 | 325 435 |
| 2025 | 432 479 |
| 2026 | 146 377 (do 15.5.) |
Průměr ~380 000/rok. Za 10 let (do 2036) odhadem ~6,6M řádků, ~600–800 MB s indexy.
Struktura
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| DATUM | datum akce |
| CAS | čas akce |
| UZIVATEL | zkratka uživatele (JOU, SES, MBU, VBU…) |
| IDPAC | ID pacienta |
| TABULKA | číslo tabulky → mapování přes LOGTABLES |
| IDREC | ID záznamu v dané tabulce |
| AKCE | V = View (otevření), U = Update (změna) |
| DETAIL | detail akce (většinou NULL) |
LOGTABLES – mapování čísel na tabulky (výběr)
| ID | Tabulka | Popis |
|---|---|---|
| 1 | KAR | Identifikace |
| 2 | REGISTR | Registrace |
| 3 | KARUZIV | Ošetřující lékaři |
| 7 | DEKURS | Ambulantní záznamy |
| 8 | ANAMNEZA | Anamnéza |
| 9 | MEDIKACE | Medikace |
| 10 | RECEPT | Recepty |
| 11 | OCKZAZ | Očkování |
| 12 | NES | Neschopenky |
| 15 | PREH | Prohlídky |
| 16 | HISTDOC | Žádanky, Posudky, Formuláře |
| 10000 | (otevření karty pacienta) | speciální kód, není v LOGTABLES |
Pozor při dotazování
LOG timeoutuje bez filtru — vždy používat WHERE DATUM = '...' nebo WHERE ID BETWEEN x AND y. ORDER BY ID DESC na celé tabulce také timeoutuje.
PZT – číselník zdravotnických prostředků
600 341 záznamů celkem — z toho 46 151 platných (PLATIDO >= 2026-01-01), 554 190 historických. Data od 2007. Medicus stahuje aktualizace číselníku od pojišťoven/SÚKL.
Stejná logika jako tabulka LEKY — jen pro zdravotnické prostředky místo léků.
Klíčové sloupce (dle oficiální metodiky VZP, verze 1143, platnost 1.5.2026)
| Sloupec | Popis |
|---|---|
| KOD | kód ZP (7 znaků) |
| PKOD | původní kód ZP přidělený VZP ČR |
| NAZ | název ZP |
| DOP | doplněk názvu ZP |
| PRO | preskripční označení: P = předepisuje se na Poukaz, M = zvlášť účtovaný materiál (ZUM) |
| TYP | typ skupiny ZP (kódové označení skupiny) |
| MJD | počet měrných jednotek v balení |
| MJ | měrná jednotka |
| TBAL | typ balení (ks, bal…) |
| VYR | výrobce (zkratka) |
| ZEM | země výroby |
| OHL | název Ohlašovatele |
| MAXI | maximální úhrada pojišťovnou — odpovídá UHR1 (1. úhradová sazba) |
| LIM | příznak schválené úhrady (LIM1) — 'Z' = vyžaduje schválení pojišťovnou |
| OME | specializace předepisujícího lékaře (OME1) |
| UHR2 | 2. úhradová sazba |
| LIM2 | příznak schválené úhrady pro 2. sazbu |
| OME2 | specializace lékaře pro 2. sazbu |
| UHR3 | 3. úhradová sazba |
| LIM3 | příznak schválené úhrady pro 3. sazbu |
| OME3 | specializace lékaře pro 3. sazbu |
| MFC | maximální konečná cena ke spotřebiteli |
| DNC | písemné ujednání o ceně: prázdné = není DNC, 1 = DNC, 2 = DNC se závazkem, 3 = cenová soutěž |
| UHS | úhradová skupina |
| UPO | způsob úhrady pojišťovnou: I = plně hrazený, R = zapůjčovaný ZP, prázdné = nezapůjčovaný |
| UHP | úhrada v procentech |
| UDOKS | počet MJ za UDO |
| UDO | užitná doba (v měsících) |
| SKP | skupina postižení |
| DAT | datum změny záznamu |
| KAT | kategorie |
| PLATIOD / PLATIDO | platnost položky v číselníku |
| RP1–RP5 | dodatečné sloupce (pravděpodobně referenční ceny) |
| IS_CG | příznak (patrně IS_CGM — kontinuální monitorace glukózy) |
OME – zkratky odborností oprávněných předepsat ZP
91 různých kombinací. Výběr zkratek:
| Zkratka | Odbornost |
|---|---|
| PRL | Praktický lékař |
| LEKAR | Jakýkoliv lékař |
| DIA | Diabetologie |
| NEU | Neurologie |
| ORT | Ortopedie |
| REH | Rehabilitace |
| CHI | Chirurgie |
| GYN | Gynekologie |
| ONK | Onkologie |
| URN | Urologie |
| KAR | Kardiologie |
| PNE | Pneumologie |
| DER | Dermatologie |
| GER | Geriatrie |
| PED | Pediatrie |
| ORL | ORL |
| PSY | Psychiatrie |
| INT | Interna |
| S5 | Specifická kategorie (sestra/soc. péče?) |
| DLE ZÁKONA | Speciální režim (vozíky, lůžka…) |
Poznámka: PRL se vyskytuje pouze v kombinaci s dalšími odbornostmi — praktický lékař nikdy není jediným předepisujícím.
ZURNAL – starý audit log (nepoužívaná)
795 220 záznamů, data od 2012-02-22 do 2019-04-17 — poté se přestala plnit.
Starší verze tabulky LOG, stejná struktura (DATUM, CAS, TABULKA, UZIVATEL, AKCE, KEYFIELD, ID1…). Medicus ji nahradil tabulkou LOG někdy kolem roku 2019. Dnes je mrtvá, pouze historická data.
RECEPT – e-recepty
191 820 záznamů, od 1997-05-06 do současnosti. 1 261 stornovaných.
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| IDPAC | FK → KAR |
| DATUM | datum vystavení |
| KOD | kód léku (SÚKL, 7 znaků) |
| LEK | název léku |
| POJ | pojišťovna (111, 205, 207…) |
| DGN | diagnóza |
| TYP | typ receptu (1 = běžný) |
| STORNO | 'F' = platný, 'T' = stornovaný |
| CISRECEPT | číslo receptu (po e-podání) |
| IDUZI | kdo vystavil |
| ICP | IČP ordinace |
| UHRADA | způsob úhrady |
| PLATIDO | platnost do |
| ES_STAV | stav e-receptu (eRecept systém) |
Poznámka: Tabulka obsahuje jak tištěné, tak e-recepty. Pole CISRECEPT je NULL u starších papírových.
LECH / LECD – lékové doklady pro pojišťovnu
Dvojice podobná DOKLADH/DOKLADD — ale pro léky vykazované pojišťovně (oddělená agenda od receptů).
LECH – záhlaví (4 247 záznamů)
| Sloupec | Popis |
|---|---|
| IDLEC | primární klíč |
| POJ | pojišťovna |
| ICZ | IČZ ordinace (09305001) |
| RODCIS | rodné číslo pacienta |
| HODB | hlavní odbornost (001) |
| HDGN | hlavní diagnóza |
| TYP | typ ('A' = ambulantní) |
| STAV | stav (0 = otevřen) |
| DAVKA | číslo dávky |
LECD – detail / jednotlivé léky (4 413 záznamů)
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| IDLEC | FK → LECH |
| RODCIS | rodné číslo |
| DATOSE | datum ošetření |
| KOD | kód léku (SÚKL) |
| POCET | počet balení |
| CENA | cena (Kč) |
| KAT | kategorie ('I' = imunizace, NULL = běžný) |
| IDUZI | který lékař |
DOKLADH / DOKLADD – výkony
Hlavní záhlaví/detail pro výkony vykazované pojišťovnám.
DOKLADH – záhlaví (54 436 záznamů)
| Sloupec | Popis |
|---|---|
| IDHLAV | primární klíč |
| POJ | pojišťovna |
| ICZ | IČZ ordinace |
| RODCIS | rodné číslo pacienta |
| HODB | hlavní odbornost (001 = praktický lékař) |
| HDGN | hlavní diagnóza |
| VDGN1–6 | vedlejší diagnózy |
| TYP | typ dokladu ('A' = ambulantní) |
| STAV | stav (0 = otevřen) |
| ROK | rok |
| EICZ | IČZ odesílajícího lékaře (NULL = vlastní) |
| EODZ | odbornost odesílajícího |
| DAVKA | číslo dávky |
DOKLADD – detail výkony (98 321 záznamů)
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| IDHLAV | FK → DOKLADH |
| RODCIS | rodné číslo pacienta |
| DATOSE | datum ošetření |
| KOD | kód výkonu (5 znaků, např. '01022') |
| POCVYK | počet provedení výkonu |
| DDGN | diagnóza výkonu |
| ODB | odbornost |
| BODY | počet bodů výkonu |
| CENABOD | cena v bodech (Kč) |
| CENAMAT | cena materiálu (Kč) |
| CENAPAU | paušál (Kč) |
| KAT | kategorie ('N' = nevykazovat, 'K' = kapitace, 'A' = agregace) |
| IDUZI | který lékař |
| IDHLAV | FK → DOKLADH |
Schéma: DOKLADH ←IDHLAV→ DOKLADD (1:N)
PREH – preventivní prohlídky a měření
11 885 záznamů — ukládá měřené hodnoty při prohlídce (výška, váha, tlak, puls…).
Klíčové sloupce
| Sloupec | Popis |
|---|---|
| IDPRE | primární klíč |
| IDPAC | FK → KAR |
| IDUZI | kdo zaznamenal |
| IDPREINI | typ prohlídky (viz PREINIH) |
| DATUM | datum prohlídky |
| VYSKA | výška (cm) |
| VAHA | váha (kg) |
| TLAKSYS | systolický tlak (mmHg) |
| TLAKDIA | diastolický tlak (mmHg) |
| PULS | puls (tepy/min) |
| CHOLESTEROL | hladina cholesterolu |
| SATURACE | saturace kyslíkem |
| TEPLOTA | teplota |
| BRICHO | obvod břicha |
| TERMIN | plánovaný příští termín |
| TYP | typ záznamu (0 = standardní) |
PREINIH – typy prohlídek (7 záznamů)
| IDPREINI | NAZEV |
|---|---|
| 24 | Prohlídka (Dekurs) — 5 665 záznamů |
| 25 | Výška a váha — 3 813 záznamů |
| 26 | Tlak a puls — 2 062 záznamů |
| 27 | Prohlídka - tlak — 341 záznamů |
| 28 | Diabetologická prohlídka — 4 záznamy |
| 29 | Předoperační vyšetření — 0 |
| 30 | Předoperační vyšetření — 0 |
HISTDOC – dokumenty a doklady
32 689 záznamů — evidence vydaných dokladů, poukazů, posudků. Typ dokladu určuje sloupec TYP.
Typy TYP (nejčastější)
| TYP | Počet | Popis |
|---|---|---|
| POUV_1 | 15 861 | Poukaz na vyšetření – typ 1 |
| POUV_3 | 6 279 | Poukaz na vyšetření – typ 3 |
| MEDLAB | 2 396 | Laboratorní žádanka |
| MOTORVO | 1 535 | Posudek způsobilosti k řízení MV |
| ORTOP | 1 003 | Ortopedický poukaz |
| POTDPN | 901 | Potvrzení DPN (pracovní neschopnost) |
| Cov19Ts | 900 | Covid-19 test |
| ORTOPE | 891 | Ortopedický poukaz (e-verze) |
| COV19 | 595 | Covid-19 certifikát |
| LAZPEC | 517 | Žádost o lázeňskou péči |
| VYMLIST | 362 | Výměnný list |
| ZDRSTA5 | 340 | Zdravotní stav (typ 5) |
| PROHLAS | 151 | Prohlášení pacienta |
| ZPUPRN | 136 | Způsobilost (pracovní náplň?) |
| SANIT | 107 | Sanitní transport |
| ZBROJPR | 58 | Zbrojní průkaz |
| HlaOseL | 95 | Hlášení ošetřujícího lékaře |
Klíčové sloupce
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| TYP | typ dokladu (viz tabulka výše) |
| DATUM | datum vydání |
| IDPACI | FK → KAR (pacienti) |
| IDUZIV | FK → UZIVATEL (kdo vytvořil) |
| STAV | stav ('Z' = zpracován, NULL = otevřen) |
| DATA | blob – data dokladu |
| IDDOKLAD | vazba na DOKLADH (pro výkony) |
| IDHLAV | vazba na záhlaví dokladu |
DOCLIST – univerzální index dokumentů
466 837 záznamů (stav 2026-05-16) — aktivně se plní, průměr ~3 700 záznamů/měsíc. Slouží jako rozcestník: jeden řádek = jeden dokument v jiné tabulce. Neobsahuje samotná data, jen odkaz.
Poznámka: jeden záznam má datum 2029-11-21 (ID 566201, FILES, "PZ chirurgie.pdf") — patrně překlep při ručním zadání.
Klíčové sloupce
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| DATUM | datum záznamu |
| TABULKA | zdrojová tabulka (viz níže) |
| IDREC | ID záznamu v té zdrojové tabulce |
| TYP | typ dokumentu (kód, viz níže) |
| POPIS | popis (u DEKURS = čas uložení, u FILES = název souboru, u LEKZPRAVY = "Lékařská zpráva"…) |
| IDPAC | FK → KAR |
| IDODDEL | oddělení (2 = ordinace, -1 = vnější/bez oddělení) |
Kombinace TYP + TABULKA (kompletní přehled)
| TYP | TABULKA | Počet | Popis |
|---|---|---|---|
| 1 | DEKURS | 174 927 | Záznamy z návštěv |
| 1 | FILES | 11 715 | Přílohy a soubory |
| 3 | HISTDOC | 32 940 | Poukazy, posudky, žádanky |
| 3 | HISTDOC_REP | 3 | Repliky histdoc (neznámé, 3 záznamy) |
| 6 | LABVH | 20 249 | Laboratorní výsledky – záhlaví |
| 7 | RECEPT | 191 137 | E-recepty |
| 8 | OCKZAZ | 7 911 | Očkování |
| 9 | PREH | 12 027 | Preventivní prohlídky a měření |
| 10 | NES | 3 744 | Neschopenky |
| 17 | SPECVYS | 746 | Specializované výsledky (tabulka zatím neprozkoumaná) |
| 24 | FILES | 227 | Přílohy jiného typu |
| 30 | LEKZPRAVY | 13 878 | Lékařské zprávy (tabulka zatím neprozkoumaná) |
Tabulky zatím nepopsané v NOTES.md (zjištěno přes DOCLIST)
- LABVH — laboratorní výsledky záhlaví (LABVD je detail, LABVH záhlaví — viz DOCLIST TYP=6)
- LEKZPRAVY — lékařské zprávy (TYP=30, 13 878 záznamů)
- SPECVYS — specializované výsledky (TYP=17, 746 záznamů)
- HISTDOC_REP — repliky histdoc (TYP=3, pouze 3 záznamy)
- FILES — přílohy/PDF (různé typy — TYP=1 i TYP=24)
Aktivita po měsících (2025–2026)
| Měsíc | Záznamů |
|---|---|
| 2025-01 | 3 117 |
| 2025-02 | 2 812 |
| 2025-03 | 4 433 |
| 2025-04 | 3 881 |
| 2025-05 | 4 097 |
| 2025-06 | 3 320 |
| 2025-07 | 3 644 |
| 2025-08 | 2 801 |
| 2025-09 | 4 053 |
| 2025-10 | 4 506 |
| 2025-11 | 4 023 |
| 2025-12 | 3 619 |
| 2026-01 | 4 133 |
| 2026-02 | 3 473 |
| 2026-03 | 4 438 |
| 2026-04 | 3 770 |
| 2026-05 | 1 001 (do 17.5.) |
OCKZAZ – záznamy podaných vakcín
9 746 záznamů — každá aplikace vakcíny jednomu pacientovi.
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| IDPAC | FK → KAR |
| DATUM | datum aplikace |
| ZKRATKA | kód SÚKL vakcíny (7 znaků) |
| LATKA | obchodní název (např. 'FSME-IMMUN 0,5 ML') |
| NAZEV | název onemocnění/typ (např. 'Klíšťová encefalitida') |
| KODMZ | kód MZ (např. 'KENC', 'TETP', 'HEAB') |
| IDUZI | kdo aplikoval |
| EXPIRE | expirace vakcíny |
| PRISTE | plánovaná příští dávka |
| PRISTE_OD / PRISTE_DO | interval pro příští dávku |
| EOCK | příznak e-očkování |
| CHYBA | chyba při e-podání |
Nejčastější vakcíny (z ukázky): Klíšťová encefalitida (FSME-IMMUN), Tetanus (VACTETA), Hepatitida A+B (TWINRIX).
NES – neschopenky (pracovní neschopnosti)
4 318 záznamů (od 2008-02-02), 4 stornované. Datum KONNES může být NULL (dosud trvá). Výskyt data "2109-01-28" v MAX — patrně technické datum "dosud trvá" = 2109.
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| IDPAC | FK → KAR |
| ZACNES | začátek neschopnosti |
| KONNES | konec neschopnosti (NULL = stále trvá) |
| CISNES | číslo neschopenky |
| DIAGNO | diagnóza |
| IDUZI | který lékař |
| STORNO | 'F' = platná, 'T' = stornovaná |
| STORNO | příznak storna |
| ECN | číslo e-neschopenky |
| EPODANI | stav e-podání |
MEDIKACE – aktuální medikace
252 záznamů — záznamy o lécích předepsaných jako dlouhodobá/trvalá medikace (ne každý recept, jen ty označené jako medikace).
| Sloupec | Popis |
|---|---|
| ID | primární klíč |
| IDPAC | FK → KAR |
| IDUZI | kdo zaznamenal |
| DATUM | datum záznamu |
| PLATI_OD | platnost od |
| PLATI_DO | platnost do (NULL = dosud) |
| KOD | kód SÚKL léku |
| NAZ | název léku |
| UHRADA | způsob úhrady ('C' = plně hrazeno, 'J' = částečně) |
ICP / ICZ – pracoviště a zdravotnické zařízení
11 záznamů v obou tabulkách — identifikátory ordinace pro různé pojišťovny.
ICP (pracoviště)
| Sloupec | Popis |
|---|---|
| IDICP | primární klíč |
| IDICZ | FK → ICZ |
| NAZEV | název ('Ordinace', 'Smluvní pracoviště…') |
| ICP | IČP = 09305001 (naše ordinace) |
| ODB | odbornost = 001 (praktický lékař) |
| DPECE | druh péče |
Poznámka: Všech 11 záznamů má stejný ICP 09305001 a ODB 001 — liší se jen IDICP/IDICZ (pro různé pojišťovny).
Schéma vazeb (rozšířené)
KAR (kartotéka)
├──IDPAC──► DEKURS (záznamy z návštěv, RTF)
├──IDPAC──► RECEPT (e-recepty)
├──IDPAC──► MEDIKACE (trvalá medikace)
├──IDPAC──► NES (neschopenky)
├──IDPAC──► OCKZAZ (podané vakcíny)
├──IDPAC──► OCKPRI (plánovaná očkování)
├──IDPAC──► PREH (měření: tlak, váha, výška…)
├──IDPAC──► FILES (přílohy/PDF, v ext. FDB)
├──IDPAC──► HISTDOC (poukazy, posudky, žádanky)
├──IDPAC──► REGISTR (registrace u pojišťovny)
├──IDPAC──► KARUZIV (ošetřující lékař)
├──RODCIS──► DOKLADH ──► DOKLADD (výkony – záhlaví/detail)
└──RODCIS──► LECH ──► LECD (lékové doklady)
FAK (faktury)
├──IDFAK──► FAKDET (detail per lékař)
├──IDFAK──► FAKDAV (dávky ve faktuře)
└──IDFAK──► PORTAL (e-podání – výkonové dávky DP98)
VZPARC (výkonové dávky – klíčové pro hledání výkonů per pacient)
PREINIH (typy prohlídek: 24=Dekurs, 25=Výška/váha, 26=Tlak/puls…)
Poznámky k průzkumu
RECEPT vs LECD – kdy co použít
- RECEPT = všechny recepty vystavené pacientovi (191 820 záznamů) — pro analýzu předepisování
- LECD = léky vykázané pojišťovně (4 413 záznamů) — pro fakturaci
DOKLADD vs VZPARC – kdy co použít
- DOKLADD = výkony v DB (98 321), vč. nevykázaných — pro analýzu péče
- VZPARC = odeslaná výkonová data pojišťovně (CP852 kódování!) — pro fakturaci, VŽDY používat pro hledání PP
PREH – víc záznamů na jednu návštěvu
Jedna návštěva = typicky 2 záznamy v PREH: IDPREINI=25 (výška+váha) + IDPREINI=26 (tlak+puls).
NES – datum 2109
MAX(KONNES) = 2109-01-28 — Medicus ukládá "dosud trvající" neschopenky s datem daleko v budoucnosti. Při filtrování "aktuálních" NES používat: KONNES IS NULL OR KONNES > dnes.
HISTDOC – nejpoužívanější typy
POUV_1 a POUV_3 dominují (celkem 22 140 = 68 % všech dokumentů) — jsou to poukazy na odborná vyšetření.
ORTOP vs ORTOPE – poukazy na ZP (zdravotnické prostředky)
- ORTOP = papírový ortopedický poukaz — data do konce 2021
- ORTOPE = elektronický poukaz na ZP — od 2022 (891 → 2022: 12, 2023: 220, 2024: 287, 2025: 288, 2026: 113 k 5/2026)
Detaily ZP nejsou v samostatné tabulce — jsou uloženy v HISTDOC.DATA jako blob ve formátu key=value:
ICZ=09305000
ICP=09305001
POJ=I:111
Dgn=N394
Kod=5009790
Nazev=VLOŽKY ABSORPČNÍ MOLICARE LADY 4,5 KAPKY
Pocet=C:4.00
Cena=C:418.40
Dopl=C:73.84
DoplnekNazvu=934ML,14KS
DatPlat=D:17.06.2026
Notifikace=736734018
Stav=PREDEPSANY
Omezeni=GER, GYN, PED, NEF, NEU, PRL, SLO, CHI, URN, SDP
UHS=02.01.01.01
...
Typové prefixy hodnot: C: = decimal, I: = integer, D: = datum (DD.MM.YYYY), $:~\b = prázdné.
Napojení na pacienta a lékaře:
SELECT h.DATUM, k.PRIJMENI, k.JMENO, k.RODCIS, u.PRIJMENI AS LEKAR,
CAST(h.DATA AS VARCHAR(8000)) AS DATA_TEXT
FROM HISTDOC h
JOIN KAR k ON h.IDPACI = k.IDPAC
JOIN UZIVATEL u ON h.IDUZIV = u.IDUZI
WHERE h.TYP = 'ORTOPE'
ORDER BY h.DATUM
Sloupec Doklad (alfanumerický kód v Medicus UI jako "QVNZEGR2B") — je v tabulce HISTDOC_EPOUKAZ.ID_DOKLADU. JOIN přes IDHISTDOC = HISTDOC.ID.
HISTDOC_EPOUKAZ — e-podání poukazu pojišťovně
Vznikne až při odeslání poukazu elektronicky. Analogie k RECEPT_EPODANI.
| Sloupec | Popis |
|---|---|
| IDHISTDOC | FK → HISTDOC.ID |
| ID_DOKLADU | kód Dokladu z Medicus UI (9 znaků, např. MGAS9PQWS) |
| ID_ZP | UUID přidělený pojišťovnou |
| ODESLANO | datetime odeslání |
| VYDANO | datetime vydání pojišťovnou (NULL = zatím čeká) |
| CHYBA | T = chyba při podání, F = OK |
| SCHVALENI | N = neschváleno, A = schváleno |
| ID_DOKLADU_VYDEJ | kód při vydání (NULL dokud nevydáno) |
Pozor: LEFT JOIN — poukaz může existovat bez záznamu v HISTDOC_EPOUKAZ (neodeslané).
Tabulka EPOUKAZ (bez prefixu HISTDOC) — prázdná, nepoužívaná.
Skript pro export: Medicus/MedicusWithClaudeZP/prehled_zp.py → výstup Přehled_ZP.xlsx
- List 1 „Všechny záznamy" — vše včetně Doklad, Odesláno, Vydáno, Chyba, ID ZP
- List 2 „Přehled Medicus" — sloupce shodné s Medicus UI (Datum, Kód, Název, Počet, Cena, Pojišťovna, IČZ, RC, Příjmení, Jméno, Vystavil, Doklad)
HISTDOC + HISTDOCVYK – předepsané PZT (zdravotnické prostředky)
Dvojice tabulek pro poukazy na ZP (analogie DOKLADH/DOKLADD):
- HISTDOC = záhlaví poukazu (IDPACI, DATUM, TYP)
- HISTDOCVYK = detail položky (KOD → PZT.KOD, POCET, CENA, FK přes
ID)
Typy poukazů v HISTDOC: POUV_1, POUV_3, ORTOP (papírový), ORTOPE (e-poukaz). Od roku 2026 se ORTOP nepoužívá — vše přes ORTOPE. E-podání sleduje HISTDOC_EPOUKAZ (obsahuje ID_ZP = UUID z pojišťovny, ODESLANO, VYDANO).
Kategorie předepisovaného ZP (zjištěno z dat 2026): inkontinenční pomůcky (Tena, Molicare, Depend), kompresní punčochy (Maxis, Avicenum), stomické pomůcky (Aurum, Comfeel, Welland), mobilní pomůcky (chodítka, nástavce WC).
JOIN pro report: HISTDOC h JOIN HISTDOCVYK v ON v.ID = h.ID JOIN PZT p ON p.KOD = v.KOD WHERE h.TYP IN ('POUV_1','POUV_3','ORTOP','ORTOPE')
Poznámka: PZT číselník má historické záznamy — při joinu bez filtru platnosti může vrátit více názvů pro jeden kód (použít MAX(p.NAZ) nebo filtrovat p.PLATIDO >= aktuální_datum).
TODO pro Claude Code
1. Report předepsaných poukazů a ZP
Naprogramovat periodický report (Python skript nebo HTML) předepsaných zdravotnických prostředků a poukazů z Medicus DB.
Zdroj dat:
SELECT h.DATUM, k.JMENO || ' ' || k.PRIJMENI AS PACIENT, h.TYP AS TYP_POUKAZU,
v.KOD, MAX(p.NAZ) AS NAZEV_ZP, v.POCET, v.CENA
FROM HISTDOC h
JOIN KAR k ON k.IDKAR = h.IDPACI
JOIN HISTDOCVYK v ON v.ID = h.ID
JOIN PZT p ON p.KOD = v.KOD
WHERE h.TYP IN ('POUV_1', 'POUV_3', 'ORTOP', 'ORTOPE')
AND h.DATUM BETWEEN :datum_od AND :datum_do
GROUP BY h.DATUM, k.JMENO, k.PRIJMENI, h.TYP, v.KOD, v.POCET, v.CENA
ORDER BY h.DATUM DESC
Požadavky na report:
- Parametry: datum od/do (default = aktuální měsíc)
- Seskupení: volitelně podle typu poukazu nebo kategorie ZP
- Součty: celková cena za období, počet poukazů per pacient
- Formát výstupu: Excel (.xlsx) nebo HTML s tiskem
- Volitelně: srovnání s předchozím obdobím (měsíc/rok)
- Připojení k DB přes MCP medicus-firebird nebo přímý Firebird driver (fdb / firebird-driver)
Kontext:
- Tabulka KAR: IDKAR = primární klíč, JMENO + PRIJMENI = jméno pacienta
- PZT číselník má historické záznamy — JOIN bezpečně přes
MAX(p.NAZ)neboGROUP BY - Sloupec HISTDOC.IDPACI = FK → KAR.IDKAR
MCP nástroje — přehled (stav 2026-05-19)
Původní nástroje
| Nástroj | Popis |
|---|---|
execute_query(sql, params?) |
Libovolný SQL dotaz (SELECT/INSERT/UPDATE/DELETE) |
list_tables() |
Seznam všech 993 tabulek |
get_table_columns(table) |
Seznam sloupců tabulky (jen názvy) |
get_schema() |
Kompletní schéma — všechny tabulky + sloupce |
Nové nástroje (přidáno 2026-05-19)
| Nástroj | Popis |
|---|---|
get_patient(idpac) |
Základní info o pacientovi z KAR — jmeno, prijmeni, rc, datnar, pojistovna |
search_patients(query, datum_narozeni?) |
Hledání pacienta podle jména/RC, max 50 výsledků |
get_patient_timeline(idpac, datum_od?, datum_do?) |
Chronologický přehled z DOCLIST — všechny záznamy pacienta |
parse_histdoc_data(idhistdoc) |
Dekóduje DATA blob z HISTDOC — vrátí dict {Kod, Nazev, Pocet, Cena, Stav, Doklad…} |
get_table_info(table) |
Rozšířené info o tabulce — typy sloupců, nullable, PK, počet záznamů |
safe_query(sql, params?) |
SELECT s ochranou — varuje pro velké tabulky bez WHERE, limit 500 řádků |
Nové nástroje (přidáno 2026-06-12)
| Nástroj | Popis |
|---|---|
search_patients(query, datum_narozeni?) — rozšířeno |
Jméno nyní bez ohledu na diakritiku a pořadí slov („mateju petr" najde „Petr Matějů"); RC podle číslic; volitelný filtr data narození; nově vrací i datnar a vyrazen |
search_patient_by_contact(kontakt) |
Pacient podle e-mailu/telefonu z KARKONTAKT (TYP: 1=pevná, 2=mobil, 3=e-mail); telefony porovnává jen po číslicích, ignoruje +420 a mezery |
get_columns_overview(table, sample_rows?) |
Sémantika sloupců — ze vzorku N řádků (výchozí 1000) top 5 hodnot + četnosti per sloupec (např. zjistí, že RECEPT.STORNO je 'T'/'F') |
Velké tabulky vyžadující WHERE (safe_query varuje automaticky)
LOG, ZURNAL, LABVD, DOCLIST, PZT, LEKY, DEKLINK
Ještě neimplementováno
decode_blob(RTF → čistý text) pro DEKURS, ANAMNEZA- CP852 dekódování pro VZPARC