Patients should get a comprehensive visit summary soon after an online consultation, without waiting on a slow API call. We need a flow where the request is accepted quickly, a task ID is returned, and the report is built in the background. Please outline a Spring Boot approach that publishes a "GenerateReport" job to RabbitMQ and exposes REST endpoints to create the task, check its status, and download the final report. Background workers will pull jobs, gather data from MySQL (historical EMR, recent notes, medications, billing), compile a PDF, store it, and update the job status (completed/failed). The system must stay responsive, be event-driven, and scale reliably to avoid timeouts.