Skip to content

Admin — Review cases

Sets the case status to rejected and stores reject_reason. Only rows currently draft or review are updated. JWT audience snr_adm.

FieldTypeRequiredNotes
case_idstringyesreview_cases.case_id
reject_reasonstringyesNon-empty after trim
{
"status": 1000,
"message": "Review case rejected",
"data": { "case_id": "uuid" }
}

404 if no row exists for case_id. 409 if the case is already rejected.

Requires D1 migration 0007_review_cases_reject.sql.


Assigns a coordinator (doctor_id) to a review case: updates review_cases.case_coordinator_id and inserts a row in second_opinions with requested_documents. Both steps run in one D1 batch. JWT audience snr_adm.

FieldTypeRequiredNotes
case_idstringyesreview_cases.case_id
doctor_idstringyesCoordinator provider / employee id
requested_documentsstring[]noDocument labels to request; omit or [] for none; each item non-empty after trim
{
"status": 1000,
"message": "Coordinator assigned",
"data": {
"case_id": "uuid",
"doctor_id": "EMP1",
"sop_id": "uuid"
}
}

404 if case_id does not exist.

Requires D1 migrations 0008, 0009, and 0010_second_opinions_is_coordinator.sql.