# create_lab_results_report_v1.0 **Verze:** 1.0 — 2026-06-09 **Skript:** `U:\PythonProject\Janssen\Covance\create_lab_results_report_v1.0.py` **Stav:** samostatný (standalone) — později se sloučí do hlavního `create_report_v2.0.py`. ## Účel Generuje „pěkný" Excel report laboratorních výsledků obou studií Covance/Labcorp (36940 = UCO3001, 35472 = MDD3003) ze zdroje **MongoDB `covance.results`** (standard + microbiology). Styl odpovídá hlavnímu reportu (modré hlavičky 4472C4, rámečky, freeze panes, autofiltr, skutečné Excel datumy `DD-MMM-YYYY`, hyperlinky mezi listy, barevné souhrny). ## Vstup / výstup - **Vstup:** `mongodb://192.168.1.76:27017`, db `covance`, kolekce `results`. - **Výstup:** `U:/Dropbox/!!!Days/Downloads Z230/{YYYY-MM-DD_HHMMSS} Covance lab results report.xlsx` (verzovaný timestampem; starší výstupy ručně do `TRASH/`). ## Listy (10) 1. **PREHLED** — KPI dashboard; každé číslo je hyperlink do detailu. Bezpečnostní dlaždice (Hyův zákon, mikrobiologie) se přebarvují zeleně (0) / červeně (>0). 2. **SOUHRN CENTER** — rollup per (studie, centrum, pacient): počty výsledků, abnormálních, kritických, mezer, zrušených, revizí + první/poslední sběr. Mezisoučty per centrum + CELKEM. Pacient → odkaz do Abnormality. 3. **DILI Hyuv zakon** — verdikt (zelený/červený) + výpis všech 5 DILI kritérií. „Criteria Met" na ALT/AST≥3xULN (a kombo s TBIL) = červeně; `ALP<2XULN` „Criteria Met" jen žlutě (samo o sobě NENÍ pozitivní). Pozitivní = konjunkce transamináza ∧ TBIL kombo. 4. **Abnormality** — pracovní seznam všech výsledků mimo rozmezí (705), řazeno nejhorší první (závažnost → „Mimo o %"). Kritická = červený řádek, Vysoká = žlutý, Mírná = červené písmo hodnoty. Accession → Zdroj, Pacient → Souhrn. 5. **Matice pokryti** — pacient × návštěva, buňka = počet výsledků + stav barvou (kritická/abnormální/zrušená/ok). **Prázdná buňka je neutrální** (bez plánu návštěv per pacient nelze rozlišit „chybí" od „neočekáváno"). 6. **Zrusene testy** — pivot důvodů + výpis (292+ zrušených); ztracený vzorek (no specimen/QNS/…) červeně. 7. **Mikrobiologie** — kultivace; verdikt + auto-flag první pozitivní. 8. **Datove mezery** — „Required testing unavailable" / „Unable to calc due to LOQ" + prázdné hodnoty v klíčových panelech. 9. **Zdroj** — plochý výpis všech standardních výsledků (kotva pro hyperlinky), abnormální Příznak zvýrazněn. 10. **LEGENDA** — vysvětlení flagů, závažnosti, barev, Hyova zákona, studií. ## Klíčová logika (helpers) - `parse_flags` — H/L směr + kvalifikátory (T = panic, SF, RX). - `out_by_pct` — % za hranicí rozmezí (normalizováno šířkou rozmezí). - `severity` — 3 Kritická (T / ≥100 % / jaterní H / cytopenie L), 2 Vysoká (≥50 %), 1 Mírná. - `hys_positive` — Hyův zákon jako konjunkce (transamináza ∧ TBIL kombo); `ALP<2XULN` nikdy netriggeruje. - `micro_positive` — Organism/Growth nebo Test Result ≠ negativní fráze (future-proof, aktuálně 0). - `rev_flags` — Subject/Visit/Result Data Revision == „R". ## Aktuální čísla (běh 2026-06-09) - 11 849 výsledků (standard 11 823, micro 26), 15 center, 58 pacientů. - Abnormálních 705 (kritických 122), zrušených 292, mezer 15, revizí 767. - Hyův zákon pozitivních **0**, mikrobiologie pozitivních **0**. ## TODO / nápady na iteraci - Plná česká diakritika v názvech listů a popiscích (teď ASCII kvůli jistotě). - List **Revize dat** (history[] je zatím prázdná, jen Data Revision flagy). - Sloučit do hlavního `create_report.py` (sdílet styly + helpers). - Volitelně filtr na jednu studii / parametr CLI.