We’re onboarding partner laboratories that need to drop off bulk test results and get a clear import report. Labs will upload a CSV or JSON containing many patients to a secure endpoint; the system should accept the file, kick off an asynchronous import job, validate each row, match it to the correct patient, update the EMR, and continue even when some rows are invalid. The uploader should receive a jobId immediately and be able to poll a status endpoint showing progress and counts of outcomes (e.g., SUCCESS, INVALID_VALUE, PATIENT_NOT_FOUND). Build this in Spring Boot, protect the API with a lab-specific API key/secret, and process files via a background worker triggered by a RabbitMQ message (jobId + file location). Expose POST /v1/lab-results/uploads for the upload and GET /v1/lab-results/uploads/{jobId} for status. Prioritize fault tolerance and horizontal scalability so uploads don’t block and partial failures are reported cleanly.