159 lines
5.0 KiB
Markdown
159 lines
5.0 KiB
Markdown
# 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` |
|