31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
# 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`
|