Files
medicus/MedicusWithClaudePosudek/CLAUDE_NOTES.md
T
2026-03-31 14:08:53 +02:00

144 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MedicusWithClaudePosudek poznámky pro Clauda
## O co jde
Lékařské posudky vystavované MUDr. Buzalkovou. Prozatím řešíme posudky k řízení motorových vozidel.
Nový zákon ukládá povinnost odesílat posudky k řízení do **centrálního registru** tuto funkci Medicus přidal v aktualizaci z konce března 2026.
---
## Tabulky
### HISTDOC hlavní tabulka pro všechny posudky
Všechny posudky jsou záznamy v `HISTDOC`, lišící se hodnotou sloupce `TYP`.
Klíčové sloupce:
| Sloupec | Popis |
|---|---|
| `ID` | primární klíč |
| `TYP` | typ dokumentu (viz níže) |
| `DATUM` | datum vystavení posudku |
| `IDPACI` | FK → KAR.IDPAC (pacient) |
| `DATA` | obsah posudku text ve formátu key=value (viz níže) |
| `PORCISLO` | pořadové číslo posudku (= PorCislo v DATA) |
| `STAV` | stav záznamu (Z = zavřeno) |
| `PRINTED` | T/F byl vytištěn |
| `IDUZIV` | FK → UZIVATEL.IDUZI kdo vystavil (4 = MUDr. Buzalková) |
| `CREATED` | timestamp vytvoření záznamu |
**Vazba:** žádná přímá vazba na jiné tabulky (vyšetření, dekurz apod.) posudek je svébytný dokument.
### TYP hodnoty relevantní pro posudky řidičů
| TYP | Popis | Počet (k 2026-03-31) |
|---|---|---|
| `MOTORVO` | ruční posudek k řízení motorových vozidel | 1530 |
| `EPOSMRO` | elektronické podání posudku do centrálního registru | 2 |
Ostatní typy posudků v HISTDOC (pro referenci):
- `ZBROJPR`, `ZBROJP2` zbrojní průkaz
- `ZPUPRN` způsobilost pro práci
- `ZDRSTA3``ZDRSTA5`, `ZDRSTAV`, `ZDRINF` zdravotní stav (různé varianty)
- ... (celkem desítky typů)
### HISTDOC_EPOSUDEK evidence odeslání do registru
Doplňková tabulka k EPOSMRO záznamům v HISTDOC.
| Sloupec | Popis |
|---|---|
| `ID_HISTDOC` | FK → HISTDOC.ID (záznam EPOSMRO) |
| `ID_PODANI` | UUID přidělené centrálním registrem |
| `ODESLANO` | timestamp odeslání |
| `STATUS` | O = odesláno |
| `VERZE` | verze záznamu (base64 interní hodnota) |
### VS_POSUDKY prázdná, zatím nepoužívaná
Sloupce: ID, IDPAC, DATA (BLOB), DATUM, POSTYPE. Pravděpodobně připravena pro budoucí využití.
---
## Workflow: ruční posudek → elektronické podání
1. Lékař v Medicusu vyplní posudek → vznikne `HISTDOC` TYP=`MOTORVO`
2. Medicus automaticky odešle do centrálního registru → vznikne `HISTDOC` TYP=`EPOSMRO` + záznam v `HISTDOC_EPOSUDEK`
3. Oba záznamy mají stejné `IDPACI` + `DATUM` → podle toho je párujeme
Příklad (pacient Vráček, 30.3.2026):
- HISTDOC ID=34743, TYP=MOTORVO, CREATED=13:12
- HISTDOC ID=34746, TYP=EPOSMRO, CREATED=13:21
- HISTDOC_EPOSUDEK: STATUS=O, ODESLANO=13:21
---
## Formát DATA (key=value) MOTORVO
```
JmenoPac=Radomil Vráček
DatNar=D:27.03.1956
Prukaz=207069669 ← číslo řidičského průkazu
DatKonec=D:30.03.2028 ← platnost posudku do
DatumVyd=D:30.03.2026 ← datum vydání
Bydliste=K Šafránce 507/16, 19000 Praha 9-Střížkov
DruhProh=periodická ← druh prohlídky
Posouzeni=T ← T = způsobilý (F = nezpůsobilý?)
Posouzeni2=F ← T = nezpůsobilý (druhá volba)
ZpusobJe=B:0 ← skupiny bez podmínky
ZpusobPodminka=B:1 ← B:1 = má podmínku
SkupinaPodminka=sk. B brýle
PorCislo=2600037
KonecDleZakona=D
DatumPrevzeti=D:30.03.2026
```
**Výsledek posouzení** (kombinace Posouzeni + Posouzeni2 + ZpusobPodminka):
- `Posouzeni=T` + `Posouzeni2=F` + `ZpusobPodminka=B:0` → způsobilý
- `Posouzeni=T` + `Posouzeni2=F` + `ZpusobPodminka=B:1` → způsobilý s podmínkou
- `Posouzeni=T` + `Posouzeni2=T` → nezpůsobilý
## Formát DATA (key=value) EPOSMRO
```
Lekar=MUDr. Michaela Buzalková
KRZPID=130153584 ← ID lékaře v registru
ICO=68366370
ICP=09305001
Pacient=Radomil Vráček
RID=8705636888 ← číslo řidičáku
DatumNarozeni=D:27.03.1956
StavPosudkuKodVerze=zneplatneny|1.0.0
StavPosudkuNazev=Zneplatněný ← stav posudku v registru
TypAkceNazev=vytvoření
TypAkceKodVerze=akce_ro_1|1.0.0
DruhProhlidkyNazev=pravidelná
DruhProhlidkyKodVerze=Pravidelna|1.0.0
DruhPosudkuNazev=řidičské oprávnění pro seniory
DruhPosudkuKodVerze=SenioriRo|1.0.0
SkupinaZadatelRidicNazev=skupina 1
SkupinyRidicskehoOpravneniSeznam=B
HarmonizovaneNarodniKody=$:~HNK1:011:01.01 Brýle5:01.012:HK1:B0: ← kódy omezení (brýle)
VysledekKodVerze=ZpusobilySPodminkou|1.0.0
VysledekNazev=způsobilý s podmínkou
DatumVystaveni=D:30.03.2026
PlatnostDo=D:30.03.2028
```
**StavPosudku = "Zneplatněný"** neznamená chybu jde o akci, kdy lékař odvolá způsobilost pacienta (např. po mrtvici, epileptickém záchvatu apod.). Medicus pak odešle do registru zneplatnění existujícího posudku.
---
## Soubory v projektu
- `posudky_report.py` generuje Excel s listy MOTORVO a EPOSMRO
- `CLAUDE_NOTES.md` tento soubor
## Report (posudky_report.py)
- Výstup: `u:\Dropbox\!!!Days\Downloads Z230\YYYY-MM-DD_HH-MM-SS_Přehled posudků řidičák.xlsx`
- Maže předchozí verzi před zápisem nové
- List MOTORVO: 1530 záznamů, sloupec `ePosudek` = ANO (zeleně) / NE podle toho, zda byl odeslán ePosudek (párování IDPACI + DATUM)
- List EPOSMRO: 2 záznamy, detail elektronického podání