# create_report_v1.0.py — IWRS report (pacienti + léky v jednom Excelu) **Verze:** 1.0 | **Datum:** 2026-06-10 Sjednocuje bývalé `Patients/create_subject_report.py` a `Drugs/create_report.py` (oba přesunuty do `Trash/`). Postaveno na drugs verzi, která už pacientské listy obsahovala — pacientský report z XLSX byl její překonaná podmnožina (četl mrtvý adresář `IncomingSourceReports/`, neměl UCO flag sloupce ani I-0 dopočet). ## Zdroj a výstup - **Zdroj:** výhradně MongoDB `studie` — kolekce `iwrs_subject_summary`, `iwrs_visits`, `iwrs_inventory`, `iwrs_destruction`, `iwrs_shipments`, `iwrs_shipment_items`. Žádné čtení XLSX → nezávisí na adresářích `Patients/` a `Drugs/`. Data plní `run_all_v1.1.py`. - **Výstup:** `IWRS/Reports/YYYY-MM-DD {study} IWRS report.xlsx` — kolize ve stejný den → ` HHMM` před příponou (konvence `common.paths.unique_path`, nahrazuje dřívější číslování ` v{n}`). ## Listy (v pořadí) | # | List | Obsah | |---|---|---| | 1 | Přehled | stav pacientů; škrtnutí Screen Failed/Discontinued, bold Randomized + Adolescent; UCO3001 navíc flagy Rescreened / ADT-IR / ≥3 Adv.Th. / 5-ASA only / Uste. / Isol.Proct. | | 2 | Next Visits | očekávané visity aktivních subjektů, řazeno podle data; visit I-0 = screening + 42 dní | | 3 | Patient Visits | proběhlé visity s medikací (group by visit, Med IDs + Qty) | | 4 | CountryMedicationOverview | sklad per kit, zeleně Destroyed + Basket No. | | 5 | Expired as of … | expirované nepřiřazené kity na centrech (červená hlavička) | | 6 | Assigned not dispensed | přiřazené, nevydané | | 7 | Not returned | nevrácené kity z minulých visit (vs. Max Visit Date) | | 8 | Kits for destruction | vrácené/nevydané kity čekající na destrukci | | 9 | Shipments | zásilky + položky, dvoubarevná hlavička (zásilka modrá / detail zelená) | | 10 | Site Summary | počty kitů per centrum a status (Available/Assigned/Dispensed/Returned/Total) | Formátování beze změny převzato z obou původních skriptů (pruhované řádky, autofit, autofilter, freeze panes, data DD-MMM-YYYY). ## Použití ``` python create_report_v1.0.py # obě studie (2 soubory) python create_report_v1.0.py --study 42847922MDD3003 ``` Typický postup: `python run_all_v1.1.py` (stáhne+naimportuje čerstvá data) → `python create_report_v1.0.py`. ## Změny proti původním skriptům - jméno výstupu `… IWRS report.xlsx` (dříve `… CZ IWRS overview v{n}.xlsx`, resp. `… Subject Summary.xlsx`) - výstupní adresář `IWRS/Reports/` (dříve `Drugs/output/`, resp. `Patients/CreatedReports/`) - pořadí listů: Přehled první (dříve Patient Visits první) - list ZDROJ ze starého subject reportu vypuštěn (surová data jsou v Mongu vč. snapshot historie) - přidán přepínač `--study`