Files
2026-03-20 18:03:44 +01:00

2.2 KiB
Raw Permalink Blame History

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éky
  • r.datum <= dnes registrace již začala
  • r.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ší ordinace
  • i.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.