Files
ordinaceprojekt/Medicus/PrůzkumDatabáze/NOTES.md
T
2026-06-12 15:32:22 +02:00

26 KiB
Raw Blame History

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

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ů, ~600800 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
RP1RP5 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
VDGN16 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 (20252026)

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) nebo GROUP 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