Send the hospital report

Record your radiologist's own report of a study, so it sits beside the AI read on your dashboard and the two are compared.

Once your radiologist has reported a study you submitted, send their report with PUT /studies/{study_id}/hospital-report. It appears on your VitalView dashboard beside the AI read, and the two reports are compared there once the read is complete. You can send it at any time after the submit, before or after the read finishes.

This is separate from report on the study object, which is always the AI read.

Send

curl -s -X PUT "https://api.vitalview.ai/v1/studies/a1b2c3d4/hospital-report" \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "CT brain. Acute left subdural haematoma, 8 mm, with 3 mm midline shift."}'

Response (202):

{
  "study_id": "a1b2c3d4",
  "status": "processing",
  "error": null,
  "submitted_at": "2026-10-26T09:12:44Z",
  "updated_at": "2026-10-26T09:12:44Z"
}
FieldRequiredNotes
textyesThe report as plain text or markdown, up to 30,000 characters

Patient identifiers are removed from the text before it is stored, and only that text is kept. Send the report as your radiologist signed it; there is no need to strip names first.

Sending again replaces the report, and the comparison is redone against the new text.

Check that it was accepted

curl -s "https://api.vitalview.ai/v1/studies/a1b2c3d4/hospital-report" -H "X-API-Key: $KEY"

The response has the same shape as the PUT. status is one of:

StatusMeaning
processingReceived; not yet on the dashboard
acceptedOn your dashboard beside the AI read
refusedNot stored. error says what to do; send the report again

The response never contains the report text. A study you have not sent a report for answers 404 hospital_report_not_found.

Errors

HTTPCodeWhenWhat to do
404study_not_foundUnknown study id for your orgCheck the study_id from the submit response
409hospital_report_processingThe previous report for this study is still processingWait until the GET is no longer processing, then send again
422validation_errortext is missing, empty or longer than 30,000 charactersSee details
503hospital_report_unavailableReports cannot be accepted right nowRetry with backoff

Sending a report counts towards the same hourly write limit as submitting a study.

Deleting the study with DELETE /studies/{study_id} deletes its hospital report and the comparison too.

Next: Errors & status codes