Skip to main content
This guide starts from a referral you already created. If you do not have a referral_id yet, follow Submit a medical referral first. Do not create the patient or the referral again here. For who owns checkout, scheduling, and the member experience, start with Is this API right for you?. Before using this guide you need a sandbox and an access token. Request keys from Get API keys. How to send Authorization is in Authentication. Use synthetic data only on the initial sandbox. Listing imaging centers, searching or creating practices or law firms, and submitting an order-form-only referral may be off until Scan enables them for your account. What you will build. Safety answers on that existing referral. You do not send a new patient, a new order, or preferred times in this flow. What Scan does after. We use the answers when ranking centers and booking, and reach out for anything still missing, then file the radiology report back to you. Do this before you list centers or send preferred times. The answers change which centers can take the patient: claustrophobia points to open scanners, and a yes on a blocking question rules some equipment out entirely. If you already have safety answers and the times that work, use Submit for scheduling instead. Preferred times on this referral belong to Submit preferred times.

Terms you will see

  • Referral — the request for imaging. Holds one or more visits. You already have its id from the previous guide.
  • Visit — one trip to an imaging center, carrying the orders for that trip (modality, body part).
  • Medical safety questions — the intake questionnaire. A yes on a blocking question, metal implants for example, rules some scanners out.

1. Fetch the questions

These are the screening questions an imaging center asks before an MRI — claustrophobia, metal implants, and similar. Ask them however suits your product, then send the answers in the next step. Fetch the questions, which come back with any answers already on file: GET /api/v2/referrals/{referral_id}/medical_questionnaire
Full payload: Returns medical safety questions.

2. Send the answers

Send the answers back, using each question’s id. PUT /api/v2/referrals/{referral_id}/medical_questionnaire
What you get back. The question set with your answers applied, so you can show the patient what is on file. Full payload: Submits medical safety answers.

3. Follow the referral to the report

You have two ways to stay current. Subscribe to the status changed webhook and we push each change to you, or poll the referral when you need a snapshot. GET /api/v2/referrals/{referral_id}
What you get back. Once we book, visits[].location and visits[].start_time tell you where and when the patient is going. The snapshot also carries answered_medical_questionnaire, so you can confirm the answers landed. When the scan is read, pull the radiology report PDF with GET /api/v2/order_documents/report. Full payload: Returns a referral by ID.