Pridani novych skriptu, reportu a zpracovanych dat

- 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>
This commit is contained in:
2026-06-09 15:10:21 +02:00
parent f8f5d3b15d
commit 8c01fd6e1a
251 changed files with 18880 additions and 6 deletions
+64
View File
@@ -0,0 +1,64 @@
# 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.