# import_to_mongo_v1.5.py **Verze:** 1.5 **Datum:** 2026-06-16 **DB:** `covance` (MongoDB 192.168.1.76:27017) ## Popis Import CSV reportů z `Source/` do MongoDB, upsert s historií změn, zpracovaný soubor se přesune do `Zpracovano/`. Přepínač `--dry-run` nic nezapisuje ani nepřesouvá. ## Pipeline | # | Kolekce | Klíč (record_id) | Zdroj / soubory | study tag | |---|---------|------------------|-----------------|-----------| | 1 | `allsamples` | Container Barcode No. | `*-allSamples.csv` | ❌ (jeden soubor = obě studie, rozlišuje `fields."Protocol Code"`) | | 2 | `kits` | Accession | `*-kit-inventory-on-hand-expiration.csv` | ✅ z názvu `study-XXXXX` | | 3 | `results` | STD/MIC\|… | `*test-results-{SITE}-{std/micro}.csv` (header_skip=1) | ✅ | | 4 | `equeries` | eQueryId | `*-activity-reports-documents-equery.csv` (FULL) | ✅ | | – | move-only | – | `*-equery_unresponded_only.csv` (jen přesun) | – | ## Změny ve v1.5 - **kits nově tagovány polem `study`** odvozeným z názvu souboru (`kit_file_meta`, regex `study-(\d+)-kit-inventory`). Dříve `file_meta=None` → nové kity neměly `study`. - `make_keyed_record` nyní přidá hodnoty z `file_meta` do `extra` (předtím vracel vždy prázdné `{}` a `fmeta` zahazoval). Pro `allsamples` zůstává `file_meta=None`, takže se chování nemění. - Přidán index `study` na kolekci `kits`. - Stávající kity v DB doplněny jednorázově (277× `35472` = MDD3003, 556× `36940` = UCO3001). ## Mapování studií - `35472` = **42847922MDD3003** - `36940` = **77242113UCO3001** ## Předchozí verze `Trash/import_to_mongo_v1.4.py`