731 lines
26 KiB
Markdown
731 lines
26 KiB
Markdown
# 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`](../MedicusWithClaude/CLAUDE_NOTES.md)
|
||
- SQL dotazy a schéma fakturace viz [`MedicusWithClaudeSelects/`](../MedicusWithClaudeSelects/)
|
||
|
||
### Správné připojení (MCP server `U:\OrdinaceProjekt\mcp_firebird.py`)
|
||
|
||
```python
|
||
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:**
|
||
```sql
|
||
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:**
|
||
```sql
|
||
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
|