8c01fd6e1a
- EmailsImport: jnj_mailbox_sync_v1.0 (sync JNJ schranky) - Covance: create_lab_results_report_v1.0 + zpracovane CSV (samples/kits/equeries/test-results), browser profily - Feasibility UCO2001: store_cda_*, store_sipiq_links, classify_krok, mark_sipiq_sent, report v1.1 (stary report do TRASH) - IWRS/Drugs: pregenerovane onsite inventory / shipment reporty - TrilliumMCP server + trilium upload/diacritics skripty - .mcp.json Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
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ů.