2.6 KiB
download_lab_reports_v1.4.py
Verze: 1.4 | Datum: 2026-06-16
Stahuje PDF Lab Reports ze xsp.labcorp.com do MongoDB (covance.labreports)
— metadata + skutečné PDF (inline Binary). Na disk neukládá.
Více studií — seznam STUDIES nahoře
STUDIES = [
{"enabled": True, "note": "77242113UCO3001 (UC)", "link": "…/study/36940/lab-reports?site=[…]"},
{"enabled": True, "note": "42847922MDD3003 (MDD)", "link": "…/study/35472/lab-reports?site=[…]"},
]
Skript zpracuje všechny enabled=True. Z každého linku odvodí:
- interní číslo studie z
/study/{N}/, - množinu center z
site=[…].
Kód studie (např. 77242113UCO3001) se čte z hlavičky portálu → do Monga
se píše study (interní) + studyCode (z hlavičky). Přidání další studie =
další řádek do STUDIES. Vypnutí = enabled: False.
Klíč record_id = reportId
Stabilní 32-hex ID dokumentu z dat AG Gridu, globálně unikátní a perzistentní.
Jedna kolekce pro všechny studie; delta filtruje per study.
Pojistka center
Zpracují se jen řádky, jejichž siteId je v množině center z linku
(study/země-agnostické — nahradilo dřívější „siteNum začíná CZ").
HEADLESS (proměnná nahoře)
HEADLESS = False → viditelné okno; True → bez okna (headless). Pozn.:
session/login běží přes perzistentní profil; v headlessu ověř, že login projde.
Režim SYNC_MODE (proměnná nahoře)
- delta — jen nové přes
reportId(stop-at-known; list Posted DESC). - fullsync — projít vše, doplnit chybějící/změněné.
CLI přepíše:
--delta/--fullsync. Dále--dry-run,--limit N(na studii).
MongoDB dokument
record_id(=reportId), study, studyCode, type, site, subject,
accession (doslova), visit, collected, posted, postedIso, fileId,
serverFileName, fields, fileName, pdf (Binary), pdfSize,
pdfSha256, firstSeen, lastSeen, history[].
Spuštění (z terminálu uživatele — GUI Chrome)
python download_lab_reports_v1.4.py # všechny enabled, dle SYNC_MODE
python download_lab_reports_v1.4.py --fullsync
python download_lab_reports_v1.4.py --dry-run
python download_lab_reports_v1.4.py --limit 5
Zmeny v1.4
- Seznam
STUDIES(link + enabled) místo pevnéhoSTUDY/SITES/STUDY_CODE. studyCodez hlavičky portálu; site-pojistka přessiteIdz linku.- Přidána studie 42847922MDD3003 (interní 35472, 5 center).
Nahrazuje
download_lab_reports_v1.3.py → Trash/.