2.2 KiB
2.2 KiB
MedicusWithClaudeSelects – SQL dotazy
Registrovaní pacienti
Přesný select který Medicus používá pro záložku Registrovaní (zachycen přes FBScanner, dotaz č. 143).
Počet registrovaných pacientů
SELECT COUNT(*) FROM KAR
WHERE (vyrazen = 'N')
AND EXISTS (
SELECT id FROM registr r
JOIN icp i ON r.idicp = i.idicp
WHERE r.idpac = kar.idpac
AND (r.datum <= '2026-03-20')
AND (r.datum_zruseni IS NULL OR r.datum_zruseni >= '2026-03-20')
AND (r.priznak IN ('V','D','A'))
AND (i.icp = '09305001')
AND (i.odb = '001')
)
Vrátí: 1618 pacientů (ověřit na Windows).
Podmínky registrace – vysvětlení
vyrazen = 'N'– pacient není vyřazen z kartotékyr.datum <= dnes– registrace již začalar.datum_zruseni IS NULL OR r.datum_zruseni >= dnes– registrace dosud platír.priznak IN ('V','D','A')– aktivní příznak (ne 'Z' = zrušen, ne 'N')i.icp = '09305001'– IČP naší ordinacei.odb = '001'– odbornost praktický lékař
Skript pro Python
Viz count_registrovani.py v této složce – spustit na Windows.
Plný select Medicusu (seznam pacientů s metadaty)
SELECT
KAR.DATNAR,
KAR.IDPAC,
KAR.INFORMACE,
KAR.INFORMACE_COL,
KAR.JMENO,
KAR.POHLAVI,
GPP.POJ,
KAR.POZNAMKA,
KAR.PRIJMENI,
KAR.PRIJMENI_UP,
(SELECT DATUM_REGISTRACE FROM SP_GETREGDAT(kar.IDPAC)) AS REGDATUM,
KAR.REGISTROVAL,
(SELECT PRIZNAK FROM SP_GETREGDAT(kar.IDPAC)) AS REGPRIZNAK,
KAR.RODCIS,
KAR.ROZENA,
KAR.TITUL,
KAR.TITULZA,
KAR.TRVOBEC,
KAR.TRVPSC,
KAR.TRVULICE,
KAR.VYRAZEN
FROM KAR
LEFT JOIN GETPACPOJ(KAR.IDPAC, '2026-03-20') GPP ON GPP.IDPAC = KAR.IDPAC
WHERE (vyrazen = 'N')
AND EXISTS (
SELECT id FROM registr r
JOIN icp i ON r.idicp = i.idicp
WHERE r.idpac = kar.idpac
AND (r.datum <= '2026-03-20')
AND (r.datum_zruseni IS NULL OR r.datum_zruseni >= '2026-03-20')
AND (r.priznak IN ('V','D','A'))
AND (i.icp = '09305001')
AND (i.odb = '001')
)
ORDER BY KAR.PRIJMENI_UP ASC, KAR.RODCIS ASC
Poznámka: GETPACPOJ a SP_GETREGDAT jsou uložené procedury Medicusu –
fungují v kontextu Firebird připojení přes SYSDBA/masterkey.