Initial commit — clean history (removed large test files, browser profiles, Medidata/Clario downloads)

This commit is contained in:
2026-06-01 15:36:31 +02:00
commit bb604e593e
1304 changed files with 116480 additions and 0 deletions
+158
View File
@@ -0,0 +1,158 @@
# 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` |