57 lines
2.8 KiB
Markdown
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`
|