# classify_krok_v1.0.py **Verze:** 1.0 · **Datum:** 2026-06-09 Odvozuje pole **`KROK`** (krok feasibility workflow) ze `STATUS` u každého investigatora v Mongo `feasibility.investigators` a zapíše jej. Znovu-spustitelné. ## Kroky workflow (DAWN / 77242113UCO3002) | KROK | Význam | |------|--------| | `0 - mimo (nedoruceno/neplatny kontakt)` | bounce, špatný kontakt | | `0 - nechceme (nase rozhodnuti)` | naše rozhodnutí na začátku, centrum se NEoslovovalo (STATUS „Nechceme"/„Rejected"). POZOR: ≠ „Nezájem" (to je odpověď lékaře = 3.2) | | `1 - nabidka odeslana` | odesláno, bez připomínky/odpovědi | | `2 - nabidka pripomenuta` | 1. připomínka odeslaná, bez odpovědi | | `3.1 - odpovedel: ma zajem` | zájem, CDA zatím nevyžádáno | | `3.2 - odpovedel: nema zajem` | nezájem / Nechceme / Rejected | | `4 - zajem, CDA vyzadano` | CDA u CTA, nepodepsáno (root „vyžád" + cda / „čekáme na cda") | | `5 - CDA podepsano` | fully signed / máme CDA / podepsáno | | `6 - SIPIQ odeslan` | (zatím 0) | | `7 - SIPIQ vyplneny` | (zatím 0) | ## Logika - Priorita pravidel (shora): 0 → 7 → 6 → 5 → 4 → 3.2 → 3.1 → 2 → 1. - KROK = nejvyšší dosažený stav. „Nutno poslat SIPIQ" = krok 5 (CDA máme, SIPIQ ještě neodeslán). - `OVERRIDES` (STATUS bez jednoznačného klíč. slova): - Dzuriková → 3.1 (odpověděla, chce telefonát k domluvě o účasti; slovo „zájem" chybí) - Reif → 1 (právě odeslána 1. oficiální nabídka; čeká se na přímou odpověď) - Košková → 3.2 (decline: „nemá kapacitu, nezapojí se") - `EXPECTED` = kontrolní počty (09JUN2026, po odeslání SIPIQ): 0-mimo:4, 0-nechceme:36, 1:25, 2:25, 3.1:3, 3.2:12, 4:11, 5:0, 6:14, 7:0. - **Rozdíl Nechceme vs Nezájem:** „Nechceme"/„Rejected" = naše rozhodnutí (krok 0, bez oslovení); „Nezájem"/„NEMÁ zájem" = lékař odpověděl záporně (krok 3.2). ## Spuštění ``` python classify_krok_v1.0.py # dry-run (výpis + kontrola počtů) python classify_krok_v1.0.py --apply # zápis KROK do Mongo ``` venv: `U:\PythonProject\Janssen\.venv\Scripts\python.exe` ## Historie - v1.0 — první verze; aplikováno 09JUN2026 na 130 záznamů.