Files
janssen/Covance/download_lab_reports_v1.4.md
2026-06-16 14:32:28 +02:00

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ého STUDY/SITES/STUDY_CODE.
  • studyCode z hlavičky portálu; site-pojistka přes siteId z linku.
  • Přidána studie 42847922MDD3003 (interní 35472, 5 center).

Nahrazuje

download_lab_reports_v1.3.pyTrash/.