Files

159 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Clario Report — 77242113UCO3001
| | |
|---|---|
| Verze | 1.5 |
| Datum | 2026-06-01 |
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`
Pokud soubor se stejným názvem již existuje, přidá se suffix `(2)`, `(3)` atd.
Soubor je ve formátu `.xlsm` (Excel s makry). Při otevření je nutné **povolit makra**.
---
## Spuštění
```bash
python create_report_v1.5.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 |
| Site Action | Akce centra |
| Last Mayo Score Submission | Datum posledního odeslání Mayo skóre |
| Wk I-12 Responder | Klinický respondér ve Wk I-12 |
| Wk I-12 Remission | Klinická remise ve Wk I-12 |
| Clinical Flare | Klinický vzplanutí |
| Loss of Response | Ztráta odpovědi |
| Partial Mayo Post LoR | Parciální Mayo odpověď po ztrátě odpovědi |
| Partial Mayo Non-Resp | Parciální Mayo odpověď u klinických non-respondérů |
### 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"`.
### Struktura dokumentu MayoScore
Outcome sloupce jsou uloženy jako **top-level pole** dokumentu (ne uvnitř `fields{}`), pro snadné MongoDB dotazy:
- `Site Action`
- `Last Mayo Score Submission`
- `Week I-12 Clinical Responder`
- `Week I-12 Clinical Remission`
- `Clinical Flare`
- `Loss of Response`
- `Partial Mayo Response Post Loss of Response`
- `Partial Mayo Response for Clinical Non-Responders`
Ostatní datové sloupce jsou v `fields{}`.
### 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` |