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

2.3 KiB

download_lab_reports_v1.0.py

Verze: 1.0  |  Datum: 2026-06-16

Stahuje PDF Lab Reports ze xsp.labcorp.com pro studii 77242113UCO3001 (interní číslo 36940), filtrovaně na 10 českých center.

Princip

Stejný jako download_test_results — Playwright + perzistentní profil (browser_profile/), jednorázový login (email → Next → heslo → Verify, jinak se přeskočí), stahování přes UI: klik na odkaz „English" ve sloupci Download → POST /api/download/documentFileexpect_download.

Lab Reports je AG Grid s virtuálním renderem (~50 z 298 řádků v DOM). Skript proto scrolluje viewport po indexech (row-index), u každého řádku přečte metadata z buněk (col-id: subjectId, accessionNumber, visit, visitCollectionDate, siteNum, postedDateTime; zdvojený text se odstraní) a klikne na „English".

Název PDF

Mezery místo podtržítek; první datum = odběr (visitCollectionDate), posted = datum vystavení (postedDateTime, jen datum) — odliší reissue stejného reportu (stejný accession, různé Posted):

77242113UCO3001 {odběr} {Site} {Subject} {Visit} {Accession} posted {posted}.pdf

Příklad: 77242113UCO3001 2026-06-11 CZ10009 CZ100092003 Screening 6227323331 posted 2026-06-15.pdf

Při zbylé kolizi názvu se přidá (2), (3), …

Spuštění

python download_lab_reports_v1.0.py --dry-run          # jen vypíše názvy, nestahuje
python download_lab_reports_v1.0.py --limit 5          # stáhne jen prvních 5 (test)
python download_lab_reports_v1.0.py                     # stáhne vše (~298)

Výstup: U:\PythonProject\Janssen\Covance\LabReports\

Konfigurace (v hlavičce skriptu)

  • SITES — 10 interních ID center (z „GO TO LINK" URL).
  • STUDY = 36940, STUDY_CODE = 77242113UCO3001.
  • OUT_DIR, LOGIN_URL, PROFILE_DIR.

TODO / k doladění

  • Cílový adresář (možná Dropbox / per-studie podsložka).
  • Případně přeskakovat už stažené (teď se přidává (2)).

Pozn. ke spuštění

Skript otevírá viditelné GUI Chrome (Playwright) — musí běžet z terminálu uživatele s desktop session (PowerShell / dvojklik), ne z headless/agent prostředí (tam Chromium spadne s exitCode 2147483651).