# Clario Report — 77242113UCO3001

| | |
|---|---|
| Verze | 1.2 |
| Datum | 2026-05-27 |

Sada skriptů pro import Clario CSV exportů (MayoScore, MayoDiary) do MongoDB a generování interaktivního Excel reportu pro studii 77242113UCO3001.

---

## Přehled

Skript `create_report.py` generuje Excel report ze dvou MongoDB kolekcí (databáze `Clario`) do adresáře `U:\Dropbox\!!!Days\Downloads Z230\`.

Název výstupního souboru: `YYYY-MM-DD 77242113UCO3001 Clario Reports.xlsm`

Soubor je ve formátu `.xlsm` (Excel s makry). Při otevření je nutné **povolit makra**.

---

## Spuštění

```bash
python create_report.py
```

---

## Listy

### MayoScore

Jeden řádek = jeden záznam (pacient × visit).  
Zdroj: `Clario.MayoScore` — 37 záznamů, 14 pacientů, 8 center.  
Řazení: Site → Subject ID → Visit (I-0, I-2, I-4, I-8, I-12, Unscheduled).

Řádky s Visit = `I-0` a Modified Mayo Score < 5 jsou zobrazeny **červeně tučně**.

**Interaktivita:** Klik na libovolný řádek automaticky přepne na list EligibleDays a vyfiltruje záznamy pro daného pacienta a visit.

| Sloupec | Popis |
|---|---|
| Site | Kód centra |
| Subject ID | Číslo pacienta |
| Visit | Kód návštěvy |
| Visit Date | Datum návštěvy |
| Baseline Stool Frequency | Výchozí frekvence stolic |
| Central Endoscopy Score | Centrální endoskopické skóre |
| PGA Score | Celkové hodnocení lékaře |
| Stool Frequency Sub-score | Subscore frekvence stolic |
| Rectal Bleeding Sub-score | Subscore rektálního krvácení |
| Partial Mayo Score | Parciální Mayo skóre |
| Modified Mayo Score | Modifikované Mayo skóre |
| Full Mayo Score | Úplné Mayo skóre |

### MayoDiary

Jeden řádek = jeden denní záznam deníku pacienta.  
Zdroj: `Clario.MayoDiary` — 1 098 záznamů, 20 pacientů, 10 center.  
Řazení: Subject ID → Report Date.

| Sloupec | Popis |
|---|---|
| Subject ID | Číslo pacienta |
| Report Date | Datum záznamu |
| Baseline Stool Count | Výchozí počet stolic |
| Stool Frequency | Frekvence stolic daný den |
| MAYO050 | Popis rektálního krvácení |
| Not Applicable | Záznam nepřipadá v úvahu |
| Constipation | Zácpa |
| Diarrhea | Průjem |
| Irregularity | Nepravidelnost |

### EligibleDays

Jeden řádek = jeden eligible day (-1 až -10) z MayoScore, obohacený o data z MayoDiary pro stejného pacienta a datum.  
Řazení: Subject ID → Visit → Den (-1 první).

Dny **nezahrnuté** do výpočtu skóre (Included = No): žluté pozadí, šedý font.

| Sloupec | Popis |
|---|---|
| Included | Byl den zahrnut do výpočtu Mayo skóre? (Yes/No) |
| Subject ID | Číslo pacienta |
| Visit | Kód návštěvy |
| Visit Date | Datum návštěvy |
| Day | Číslo dne (-1 až -10) |
| Report Date | Datum daného dne |
| Baseline Stool Count | Výchozí počet stolic |
| Stool Frequency | Frekvence stolic daný den (z MayoDiary) |
| MAYO050 | Popis rektálního krvácení (z MayoDiary) |
| Not Applicable | Záznam nepřipadá v úvahu (z MayoDiary) |
| Constipation | Zácpa (z MayoDiary) |
| Diarrhea | Průjem (z MayoDiary) |
| Irregularity | Nepravidelnost (z MayoDiary) |

---

## Import dat do MongoDB

Skript `import_to_mongo.py` načte CSV soubory z adresáře `downloads/` a zapíše je do MongoDB.

```bash
python import_to_mongo.py                        # všechny CSV z downloads/
python import_to_mongo.py downloads/soubor.csv  # jeden soubor
```

### Mapování souborů na kolekce

| Vzor v názvu souboru | Kolekce | Klíč záznamu |
|---|---|---|
| `MayoDiary` | `Clario.MayoDiary` | Subject ID + Form Number |
| `MayoScore` | `Clario.MayoScore` | Participant ID + Visit |

### Filtr

Importují se pouze řádky s `Country == "Czech Republic"`.

### Historie změn

Při změně datových polí se předchozí verze uloží do pole `history[]` dokumentu spolu s datem změny. Záznamy se nikdy nemažou.

Po zpracování se soubor přesune do `downloads/Zpracovano/`.

---

## MongoDB

| Parametr | Hodnota |
|---|---|
| URI | `mongodb://192.168.1.76:27017` |
| Databáze | `Clario` |
| Kolekce | `Clario.MayoScore`, `Clario.MayoDiary` |
