Files
janssen/IWRS/create_report_v1.0.md
T
2026-06-10 11:59:19 +02:00

57 lines
2.8 KiB
Markdown

# 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`