Initial commit — clean history (removed large test files, browser profiles, Medidata/Clario downloads)
This commit is contained in:
@@ -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` |
|
||||
Reference in New Issue
Block a user